准备工作
在继续执行以下步骤之前,请先按照 GKE RBAC 指南操作。
配置 Identity and Access Management (IAM)
除了通过 Kf RBAC 授予的权限外,用户、群组或服务账号还必须经过身份验证,才能在项目级层查看 GKE 集群。此要求与配置 GKE RBAC 的要求相同,这意味着用户/群组必须至少具有集群所属的项目的 container.clusters.get
IAM 权限。container.clusterViewer
角色和其他权限更高的角色都拥有此权限。如需了解详情,请参阅与 Identity and Access Management 的交互。
为用户或群组分配 container.clusterViewer
。
gcloud projects add-iam-policy-binding ${CLUSTER_PROJECT_ID} \
--role="container.clusterViewer" \
--member="${MEMBER}"
成员值示例包括:
- user:test-user@gmail.com
- group:admins@example.com
- serviceAccount:test123@example.domain.com
以 SpaceManager 身份管理空间会员
集群管理员角色或具有 SpaceManager 角色的成员可以为用户、群组或服务账号分配角色。
kf set-space-role MEMBER -t [Group|ServiceAccount|User]
集群管理员角色或具有 SpaceManager 角色的成员可以从角色中移除成员。
kf unset-space-role MEMBER -t [Group|ServiceAccount|User]
您可以查看空间中的成员及其角色。
kf space-users
示例
为用户分配 SpaceDeveloper 角色。
kf set-space-role alice@example.com SpaceDeveloper
为群组分配 SpaceDeveloper 角色。
kf set-space-role devs@example.com SpaceDeveloper -t Group
为服务账号分配 SpaceDeveloper 角色。
kf set-space-role sa-dev@example.domain.com SpaceDeveloper -t ServiceAccount
以 SpaceDeveloper 身份开发应用
具有 SpaceDeveloper 角色的成员可以在空间中执行 Kf 应用开发操作。
如需推送应用,请运行以下命令:
kf push app_name -p [PATH_TO_APP_ROOT_DIRECTORY]
如需查看应用的日志,请运行以下命令:posix-terminal
kf logs app_name
通过 SSH 连接到运行应用的 Kubernetes Pod:posix-terminal
kf ssh app_name
查看可用的 service broker:
kf marketplace
以 SpaceManager 或 SpaceAuditor 身份查看应用
具有 SpaceManager 或 SpaceAuditor 角色的成员可以查看空间中可用的应用:
kf apps
查看集群中的 Kf 空间
所有角色(SpaceManager、SpaceDeveloper 和 SpaceAuditor)均可查看集群中可用的 Kf 空间:
kf spaces
查看空间中的空间成员及其角色。
kf space-users
模拟标志
如需验证成员的权限,权限更高的成员可以使用以下模拟标志测试其他成员的权限:--as
和 --as-group
。
例如,作为集群管理员,您可以验证用户(用户名:bob)是否有权推送应用。
kf push APP_NAME --as bob
验证群组 (manager-group@example.com) 是否有权向其他成员分配权限。
kf set-space-role bob SpaceDeveloper --as-group manager-group@example.com