設定角色型存取權控管

請按照下列步驟在 Kf Space 中設定角色式存取權控管 (RBAC)。

事前準備

請先按照 GKE RBAC 指南操作,再繼續執行下列步驟。

設定身分與存取權管理 (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 角色的成員,可以將角色指派給使用者、群組或服務帳戶。

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

查看可用的服務代理程式:

kf marketplace

以聊天室管理員或聊天室審查員身分查看應用程式

擁有聊天室管理員聊天室審查員角色的成員,可以在聊天室中查看可用的應用程式:

kf apps

查看叢集中的 Kf 聊天室

所有角色 (SpaceManagerSpaceDeveloperSpaceAuditor) 都可以查看叢集中的可用 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