始める前に
GKE RBAC ガイドに従って操作した後、次の手順に進んでください。
Identity and Access Management(IAM)を構成する
プロジェクト レベルで GKE クラスタを確認するには、Kf RBAC で付与される権限に加えて、ユーザー、グループ、サービス アカウントも認証する必要があります。この要件は、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 として Space のメンバーシップを管理する
クラスタ管理者ロール、すなわち SpaceManager ロールを持つメンバーは、ユーザー、グループ、サービス アカウントにロールを割り当てることができます。
kf set-space-role MEMBER -t [Group|ServiceAccount|User]クラスタ管理者ロール、すなわち SpaceManager ロールを持つメンバーは、ロールからメンバーを削除できます。
kf unset-space-role MEMBER -t [Group|ServiceAccount|User]Space 内のメンバーとそのロールを確認できます。
kf space-users例
SpaceDeveloper ロールをユーザーに割り当てます。
kf set-space-role alice@example.com SpaceDeveloperSpaceDeveloper ロールをグループに割り当てます。
kf set-space-role devs@example.com SpaceDeveloper -t GroupSpaceDeveloper ロールをサービス アカウントに割り当てます。
kf set-space-role sa-dev@example.domain.com SpaceDeveloper -t ServiceAccountSpaceDeveloper としてのアプリ開発
SpaceDeveloper ロールを持つメンバーは、Space 内で Kf アプリ開発オペレーションを実行できます。
アプリを push するには:
kf push app_name -p [PATH_TO_APP_ROOT_DIRECTORY]アプリのログを表示するには、posix-terminal
kf logs app_name を使用します。
アプリを実行している Kubernetes Pod に SSH 接続するには、posix-terminal
kf ssh app_name を使用します。
使用可能なサービス ブローカーを表示するには、次のコマンドを使用します。
kf marketplaceSpaceManager または SpaceAuditor としてアプリを表示する
SpaceManager または SpaceAuditor のロールを持つメンバーは、Space 内の利用可能なアプリを表示できます。
kf appsクラスタ内の Kf Spaces を表示する
すべてのロール(SpaceManager、SpaceDeveloper、SpaceAuditor)は、クラスタ内の利用可能な Kf Space を表示できます。
kf spacesSpace 内の Space メンバーとそのロールを表示します。
kf space-users権限借用フラグ
メンバーの権限を確認するには、より高い権限を与えられたメンバーが権限借用フラグ --as と --as-group を使用して別のメンバーの権限をテストします。
たとえば、クラスタ管理者は、ユーザー(ユーザー名: bob)がアプリの push 権限を持っているかどうかを確認できます。
kf push APP_NAME --as bob他のメンバーに権限を割り当てる権限がグループ(manager-group@example.com)にあることを確認します。
kf set-space-role bob SpaceDeveloper --as-group manager-group@example.com