開発者ユーザーと開発グループは、TKG サービス クラスタのターゲット ユーザーです。TKG サービス クラスタがプロビジョニングされると、vCenter Single Sign-On 認証を使用して、またはサポートされている外部 ID プロバイダを使用して、開発者にアクセス権を付与できます。

開発者向けの認証

クラスタ管理者は、開発者などの他のユーザーにクラスタへのアクセス権を付与できます。開発者は、ユーザー アカウントを使用して直接、またはサービス アカウントを使用して間接的に、クラスタにポッドをデプロイできます。
  • ユーザー アカウント認証の場合、TKG サービス クラスタは vCenter Single Sign-On のユーザーとグループをサポートします。ユーザーまたはグループは、vCenter Server のローカルであるか、サポートされているディレクトリ サーバから同期されます。
  • 外部 OIDC のユーザーおよびグループは、vSphere 名前空間 ロールに直接マッピングされます。
  • サービス アカウント認証の場合は、サービス トークンを使用できます。詳細については、Kubernetes のドキュメントを参照してください。

クラスタへの開発者ユーザーの追加

開発者にクラスタ アクセスを許可するには:
  1. ユーザーまたはグループの Role または ClusterRole を定義し、クラスタに適用します。詳細については、Kubernetes のドキュメントを参照してください。
  2. ユーザーまたはグループの RoleBinding または ClusterRoleBinding を作成し、クラスタに適用します。次の例を参照してください。

RoleBinding の例

vCenter Single Sign-On のユーザーまたはグループにアクセス権を付与するには、RoleBinding のサブジェクトに name パラメータの値として次のいずれかを含める必要があります。
表 1. サポートされているユーザーおよびグループのフィールド
フィールド 説明
sso:USER-NAME@DOMAIN たとえば、sso:[email protected] などのローカル ユーザー名です。
sso:GROUP-NAME@DOMAIN たとえば、sso:[email protected] などの vCenter Server と統合されたディレクトリ サーバのグループ名です。

次の RoleBinding の例では、Joe という vCenter Single Sign-On ローカル ユーザーが、edit というデフォルトの ClusterRole にバインドされます。このロールにより、名前空間(この例では default 名前空間)内のほとんどのオブジェクトに対する読み取り/書き込みアクセスが許可されます。

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: rolebinding-cluster-user-joe
  namespace: default
roleRef:
  kind: ClusterRole
  name: edit                             #Default ClusterRole
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: User
  name: sso:[email protected]            #sso:<username>@<domain>
  apiGroup: rbac.authorization.k8s.io