Kubernetes のロール

以下のセクションでは、Kf によって作成された Kubernetes ClusterRole について説明し、各 ClusterRole に含まれる権限を一覧表示します。

Space デベロッパー ロール

Space デベロッパー ロールは、アプリケーション デベロッパーが Kf Space 内でアプリケーションをデプロイし、管理する権限をまとめたものです。

次のコマンドを使用して、クラスタ上の Space デベロッパーに付与された権限を取得できます。

kubectl describe clusterrole space-developer

Kf のデフォルト インストールでは、次の権限が付与されます。

PolicyRule:
  Resources                               Non-Resource URLs  Resource Names  Verbs
  ---------                               -----------------  --------------  -----
  events                                  []                 []              [*]
  secrets                                 []                 []              [*]
  *.kf.dev                                []                 []              [*]
  networkpolicies.networking.k8s.io       []                 []              [*]
  pods/exec                               []                 []              [create]
  *.upload.kf.dev                         []                 []              [create]
  pods/log                                []                 []              [get list watch]
  pods                                    []                 []              [get list watch]
  rolebindings.rbac.authorization.k8s.io  []                 []              [get list watch]

Space 監査者ロール

Space 監査者ロールでは、監査者や自動ツールが Kf Space 内のアプリケーションを検証するために使用する読み取り専用権限をまとめたものです。

次のコマンドを使用して、クラスタ上の Space 監査者に付与されている権限を取得できます。

kubectl describe clusterrole space-auditor

Kf のデフォルト インストールでは、次の権限が付与されます。

PolicyRule:
  Resources                               Non-Resource URLs  Resource Names  Verbs
  ---------                               -----------------  --------------  -----
  events                                  []                 []              [*]
  apps.kf.dev                             []                 []              [get list watch]
  rolebindings.rbac.authorization.k8s.io  []                 []              [get list watch]

Space マネージャー ロール

Space マネージャー ロールは、Kf Space 内の他のユーザーに職務を委任できる権限をまとめたものです。

次のコマンドを使用して、クラスタの Space マネージャーに付与されている権限を取得できます。

kubectl describe clusterrole space-manager

Kf のデフォルト インストールでは、次の権限が付与されます。

PolicyRule:
  Resources                               Non-Resource URLs  Resource Names     Verbs
  ---------                               -----------------  --------------     -----
  clusterroles.rbac.authorization.k8s.io  []                 [space-auditor]    [bind]
  clusterroles.rbac.authorization.k8s.io  []                 [space-developer]  [bind]
  clusterroles.rbac.authorization.k8s.io  []                 [space-manager]    [bind]
  rolebindings.rbac.authorization.k8s.io  []                 []                 [get list update patch watch]
  apps.kf.dev                             []                 []                 [get list watch]

Space ダイナミック マネージャー ロール

各 Kf Space は、SPACE_NAME-manager という名前の ClusterRole を作成します。SPACE_NAME-manager は、ダイナミック マネージャー ロールと呼ばれます。

Kf は、Space 内の space-manager ロールを持つすべてのサブジェクトに、クラスタ スコープのダイナミック マネージャー ロールを自動的に付与します。ダイナミック マネージャー ロールの権限により、Space マネージャーが指定した名前で Space の設定を更新できます。

次のコマンドを使用して、クラスタ上の任意の Space ダイナミック マネージャー ロールに付与されている権限を取得できます。

kubectl describe clusterrole SPACE_NAME-manager

Kf のデフォルト インストールでは、次の権限が付与されます。

PolicyRule:
  Resources      Non-Resource URLs  Resource Names  Verbs
  ---------      -----------------  --------------  -----
  spaces.kf.dev  []                 [SPACE_NAME]    [get list watch update patch]

Kf クラスタ閲覧者ロール

Kf は、Space 内で space-developerspace-auditor、または space-manager のロールが割り当てられているクラスタ上のすべてのユーザーに kf-cluster-reader のロールを自動的に付与します。

次のコマンドを使用すると、クラスタの Space Kf クラスタ閲覧者に付与されている権限を取得できます。

kubectl describe clusterrole kf-cluster-reader

Kf のデフォルト インストールでは、次の権限が付与されます。

PolicyRule:
  Resources                     Non-Resource URLs  Resource Names  Verbs
  ---------                     -----------------  --------------  -----
  namespaces                    []                 [kf]            [get list watch]
  clusterservicebrokers.kf.dev  []                 []              [get list watch]
  spaces.kf.dev                 []                 []              [get list watch]