如何在IBM Cloud Cloud Foundry中限制应用仅对指定用户开放?
IBM Cloud Cloud Foundry 应用指定用户权限配置方案
一、平台侧应用查看/更新权限管控
你提到已经为部分用户分配了Cloud Foundry角色,Cloud Foundry原生的Org、Space层级权限体系可以直接实现应用操作权限的管控,仅需将允许操作应用的用户加入应用所属的Space,分配对应角色即可:
Space Auditor:仅可查看应用配置、运行状态、日志,无修改权限Space Developer:可查看、更新、重启、重部署应用,也可管理Space下的服务绑定、路由配置Space Manager:可管理Space下的用户角色,同时具备所有应用操作权限
相关操作命令如下:
- 登录IBM Cloud CLI:
ibmcloud login - 切换到应用所属的Org和Space:
ibmcloud target -o <你的Org名称> -s <你的Space名称> - 给用户分配Space角色:
ibmcloud iam space-user-add <用户邮箱> <Space名称> <Org名称> --roles <角色名称> - 如需回收用户权限:
ibmcloud iam space-user-remove <用户邮箱> <Space名称> <Org名称> --roles <角色名称>
配置完成后,仅加入Space的用户可在IBM Cloud控制台或CLI中看到该应用,其余用户完全无法感知应用存在。
二、应用访问权限管控(禁止公网匿名访问)
针对你提到的公网所有用户都可访问应用的问题,IBM Cloud Cloud Foundry提供两种成熟方案实现访问控制:
方案1:绑定身份认证服务(推荐,适配已有的用户权限体系)
无需修改应用代码,直接为应用绑定App ID身份认证服务即可实现用户登录校验:
- 在应用所属的Space下创建App ID服务实例
- 执行绑定命令:
ibmcloud cf bind-service node-hello-world-example <你的App ID实例名称> - 重启应用生效配置:
ibmcloud cf restage node-hello-world-example - 进入App ID控制台的用户管理模块,添加你允许访问应用的用户,可直接导入已分配Cloud Foundry角色的用户列表
配置完成后,所有访问应用URL的请求会先跳转至统一登录页,仅你添加的用户可登录后访问应用,匿名公网用户会被直接拦截。
方案2:切换为私有网络路由(适用于内部场景)
如果仅允许企业内部用户通过私有网络访问应用,可直接删除公网路由,绑定私有网络路由:
- 查看当前应用路由:
ibmcloud cf routes - 删除公网路由:
ibmcloud cf delete-route <路由域名> --hostname <路由前缀> -f - 为应用绑定IBM Cloud私有域名的路由
配置完成后,公网完全无法访问应用,仅连通你账号私有网络(IBM Cloud内部资源、VPN、专线)的用户可正常访问。
内容的提问来源于stack exchange,提问作者Moe
相关产品推荐
相关产品推荐

