サードパーティの ID を使用した認証について

既存のサードパーティ ID プロバイダを使用して、フリートに登録されている Kubernetes クラスタに対する認証を行うことができます。このドキュメントでは、サポートされている認証プロトコルと、各プロトコルをサポートするクラスタのタイプについて説明します。ユーザーは、ID プロバイダを変更することなく、コマンドラインまたは Google Cloud コンソールからクラスタにアクセスして管理できます。

ID プロバイダではなく Google ID を使用してクラスタにログインする場合は、Connect Gateway を使用して登録済みクラスタに接続するをご覧ください。

サポートされる ID プロバイダ

サードパーティの ID プロバイダがある場合、次のプロトコルを使用してクラスタに対する認証を行うことができます。

  • OpenID Connect(OIDC): OIDC は、OAuth 2.0 認可フレームワーク上に構築された最新かつ軽量な認証プロトコルです。ここでは、Microsoft を含む一部の一般的な OpenID Connect プロバイダに関する特定の設定手順を説明しますが、OIDC を実装する任意のプロバイダを使用できます。
  • Security Assertion Markup Language(SAML): SAML は、当事者間(主に ID プロバイダ(IdP)とサービス プロバイダ(SP))の間で認証と認可のデータを交換するための XML ベースの標準です。
  • Lightweight Directory Access Protocol(LDAP): LDAP は、ディレクトリ情報サービスへのアクセスと管理のための成熟した標準プロトコルです。ユーザー名、パスワード、グループ メンバーシップなどのユーザー情報を保存および取得するためによく使用されます。Active Directory または LDAP サーバーで LDAP を使用して認証できます。

サポートされるクラスタタイプ

この認証サービスは、フリートに登録されているクラスタにのみインストールできます。ほとんどのクラスタタイプは常にフリートに登録されます。 Google Cloud上の GKE クラスタの場合、このサービスを使用するには、クラスタをフリートに明示的に登録する必要があります。

次の表に、サードパーティ認証をサポートするクラスタタイプと、各タイプで使用できる特定のプロトコルを示します。

サポートされているクラスタタイプとプロトコル
GDC(VMware)

次のプロトコルをサポート:

  • OIDC
  • LDAP(ユーザー クラスタの場合)
  • SAML
GDC(ベアメタル)

次のプロトコルをサポート:

  • OIDC
  • LDAP
  • SAML
GKE on Google Cloud (フリート メンバーのみ) OIDC をサポート
GKE on AWS

OIDC をサポート

GKE on Azure

OIDC をサポート

次の構成はサポートされていません。

  • GKE 接続クラスタ: EKS、AKS、その他の Kubernetes インストールはサポートされていません。これらの GKE 接続クラスタに接続するには、Connect Gateway を使用します。
  • Google Distributed Cloud の VMware デプロイでは、LDAP プロトコルを使用した認証はユーザー クラスタに対してのみ可能です。VMware 上の管理クラスタは、LDAP による認証をサポートしていません。
  • Google Cloud上の GKE クラスタ: GKE クラスタがフリートに登録されている必要があります。 フリートにない GKE クラスタに接続するには、Workforce Identity 連携を使用します。

設定プロセス

サードパーティの ID プロバイダからの認証を設定するには、次のユーザーと手順が必要です。

  1. プロバイダを構成する: プラットフォーム管理者がクライアント アプリケーションを ID プロバイダに登録します。このクライアント アプリケーションには、Kubernetes のプロトコル固有の構成があります。プラットフォーム管理者が ID プロバイダからクライアント ID とシークレットを取得します。
  2. クラスタを設定する: クラスタ管理者が Identity Service のクラスタを設定します。クラスタ管理者は、次のようにクラスタを設定できます。

  3. ユーザー アクセスを設定する: クラスタ管理者が FQDN アクセス(推奨)またはファイルベースのアクセスのアプローチを使用してクラスタの認証を行うユーザー ログイン アクセスを設定し、必要に応じて、これらのクラスタのユーザーに対する Kubernetes ロールベース アクセス制御(RBAC)を構成します。