ID およびアクセス管理

このセクションのトピックでは、スタンドアローン管理クラスタを使用して、Tanzu Kubernetes Grid (TKG) で ID およびアクセス管理を構成する方法について説明します。

ID およびアクセス管理を有効にして構成するには、次のリンク先のトピックに従います。

  1. ID 管理の構成
  2. RBAC の構成

ID とアクセス管理について

Tanzu Kubernetes Grid (TKG) は Pinniped を使用して、ID およびアクセス管理の認証と認可を実装します。

認証

Tanzu Kubernetes Grid は、Kubernetes クラスタのオープンソース認証サービスである Pinniped を使用してユーザー認証を実装します。Pinniped を使用すると、外部 OpenID Connect (OIDC) または LDAP ID プロバイダ (IdP) をワークロード クラスタに接続して、それらのクラスタへのユーザー アクセスを制御できます。LDAP 認証の場合、Pinniped はエンドポイントとして Dex を使用してアップストリーム LDAP IdP に接続します。OIDC を使用する場合、Pinniped は独自のエンドポイントを提供するため、Dex は必要ありません。ID 管理を有効にすると、Pinniped と Dex は管理クラスタ内のクラスタ内サービスとして自動的に実行されます。Tanzu Kubernetes Grid で ID 管理を有効にする方法については、「ID 管理の構成」を参照してください。

管理クラスタとワークロード クラスタ間の認証フローには、次のことが含まれます。

  • Tanzu Kubernetes Grid 管理者は、外部 LDAP または OIDC IdP を指定して、管理クラスタの ID 管理を有効にして構成します。
  • 認証サービス コンポーネントは、管理者によって指定された LDAP または OIDC IdP の詳細を使用して、管理クラスタに展開されます。
  • 管理者がワークロード クラスタを作成します。ワークロード クラスタは、管理クラスタから認証構成を継承します。
  • 管理者は、特定のユーザーをワークロード クラスタの特定のロールに関連付けるロール バインドを作成します。
  • 管理者は、ワークロード クラスタの kubeconfig をユーザーに提供します。
  • ユーザーは、kubeconfig を使用してワークロード クラスタに接続します。たとえば、kubectl get pods --kubeconfig を実行します。
  • 管理クラスタは、IdP を使用してユーザーを認証します。
  • ワークロード クラスタは、ユーザーのロールの権限に応じて、kubectl get pods 要求を許可または拒否します。

次の図では、青い矢印が、ワークロード クラスタ、管理クラスタ、および外部 IdP 間の認証フローを表しています。緑色の矢印は、ワークロード クラスタ、管理クラスタ、外部 IdP 間での Tanzu CLI と kubectl のトラフィックを表しています。

Tanzu Kubernetes Grid での ID 管理

ID 管理のコンポーネント

次の図は、ID 管理を有効にしたときに、Tanzu Kubernetes Grid によって管理クラスタとワークロード クラスタに展開される ID 管理のコンポーネントを示しています。

Tanzu Kubernetes Grid の ID 管理アーキテクチャ

図について:

  • 紫色の四角形は、ID 管理のコンポーネント(管理クラスタ内の Pinniped、Dex、展開後ジョブ、およびワークロード クラスタ内の Pinniped と展開後ジョブ)を示しています。Tanzu Kubernetes Grid v1.3.0 では、Pinniped は OIDC プロバイダと LDAP プロバイダの両方のエンドポイントとして Dex を使用します。v1.3.1 以降では、Dex は LDAP プロバイダにのみ展開されます。v1.3.1 以降で OIDC プロバイダを構成すると、Pinniped は Dex を経由せずにプロバイダと直接通信します。

  • 灰色の四角形は、Tanzu Kubernetes Grid が ID 管理のコンポーネントのライフサイクルを制御するために使用するコンポーネント(Tanzu CLI、tanzu-addons-manager、および kapp-controller)を示しています。

  • 緑色の四角形は、管理クラスタ用に作成された Pinniped アドオン シークレットを示しています。

  • 管理クラスタ内のオレンジ色の四角形は、ワークロード クラスタ用に作成された Pinniped アドオン シークレットを示しています。シークレットはワークロード クラスタにミラーリングされます。

内部的には、Tanzu Kubernetes Grid は ID 管理のコンポーネントを自動管理パッケージ pinniped として展開します。このパッケージには、pinniped アドオンが含まれています。ID 管理が有効になっている管理クラスタを展開するか、展開後の手順として ID 管理を有効にすると、Tanzu CLI が管理クラスタ内に pinniped アドオンの Kubernetes シークレットを作成します。tanzu-addons-manager は IdP 構成情報を含むシークレットを読み取り、シークレットからの構成情報を使用して pinniped アドオンを構成するように kapp-controller に指示します。

Tanzu CLI は、管理クラスタから展開するワークロード クラスタごとに、個別の pinniped アドオン シークレットを作成します。すべてのシークレットは管理クラスタに保存されます。詳細については、「自動管理パッケージ」を参照してください。

認可

Tanzu Kubernetes Grid は、ロールベースのアクセス制御 (RBAC) 認可を使用します。RBAC の構成方法については、「RBAC の構成」を参照してください。

高度な構成とトラブルシューティング

check-circle-line exclamation-circle-line close-line
Scroll to top icon