Anthos Identity Service の導入

Anthos Identity Service は、認証を目的とする既存の ID ソリューションを複数の Anthos 環境で利用できるようにする認証サービスです。ユーザーは、コマンドラインまたはコンソールからログインして Anthos クラスタを使用できます。その際、すべてのクラスタでは、既存の ID プロバイダが使用されます。

OIDC または LDAP プロバイダではなく Google ID をすでに使用しているか、使用して Anthos クラスタにログインする必要がある場合は、Connect ゲートウェイを使用した登録済みクラスタへの接続をご覧ください。

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

Anthos Identity Service では、次のプロトコルを使用する ID プロバイダをサポートします。

  • OpenID Connect(OIDC)。ここでは、Microsoft を含む一部の一般的な OpenID プロバイダに関する特定の設定手順を説明しますが、OIDC を実装する任意のプロバイダを使用できます。
  • Lightweight Directory Access Protocol(LDAP)Anthos Identity Service では、Active Directory または LDAP サーバーで LDAP を使用して認証を行うことができます。

サポートされるクラスタの種類

プロトコル Anthos clusters on VMware ベアメタル版 Anthos クラスタ AWS 上の Anthos クラスタ Azure 版 Anthos クラスタ EKS アタッチ クラスタ GKE
OIDC
LDAP

このリリースでは、他の接続されたクラスタタイプは Anthos Identity Service での使用がサポートされていません。

仕組み

Anthos Identity Service を使用すると、ユーザーは通常の組織ユーザー名とパスワードを使用して、構成済みのクラスタにログインできます。この具体的な仕組みは、使用する ID プロバイダの種類によって異なります。

OIDC

OIDC プロバイダを使用する場合は、Anthos Identity Service 自体が ID プロバイダのクライアント アプリケーションとして登録され、クラスタ管理者がクラスタごとに設定します。

基本的な AIS フローを示す図

ユーザーがコマンドラインからクラスタにログインする際は、まず gcloud anthos auth login コマンドを実行して、ID プロバイダ用のログイン情報を入力する必要があります。これによって、プロバイダから ID トークンを取得します。このトークンは、ユーザーの kubeconfig ファイルに追加され、kubectl でクラスタにリクエストを行うときに使用されます。次に、Kubernetes API サーバーが Anthos Identity Service を使用して ID トークンを検証し、クラスタへのアクセスを許可(または拒否)します。必要に応じて、Anthos Identity Service では、ID プロバイダからセキュリティ グループ メンバーシップ情報を取得することもできます。

クラスタ管理者は、必要に応じて Kubernetes ロールベースのアクセス制御(RBAC)を使用して、詳細なアクセス制御を追加できます。

ユーザーは、コンソールから OIDC でログインすることもできます。この場合は、ログイン情報を入力しするために ID プロバイダの UI にリダイレクトされた後、再びコンソールに戻されてクラスタのリソースを引き続き表示、管理できます。

LDAP

LDAP プロバイダでは、Anthos Identity Service の LDAP クライアント認証情報の提供を含め、クラスタ管理者が Anthos Identity Service をクラスタごとに設定します。

LDAP AIS フローを示す図

ユーザーがコマンドラインからクラスタにログインする際は、まず gcloud anthos auth login コマンドを実行して、ID プロバイダ用のログイン情報を入力する必要があります。リクエストは Anthos Identity Service に送信され、Anthos Identity Service によって LDAP サーバーにクエリが行われて、ユーザー属性が有効期間の短いトークン(STS)で返されます。これにより、ユーザーの LDAP 認証情報を平文でローカルに保存する必要がありません。このトークンは、ユーザーの kubeconfig ファイルに追加され、kubectl でクラスタにリクエストを行うときに使用されます。次に、Kubernetes API サーバーが Anthos Identity Service を使用してトークンからユーザーとグループの情報を取得して、クラスタへのアクセスを許可(または拒否)します。デフォルトで、トークンは 1 時間持続します。その後は、ユーザーは再度ログインする必要があります。

クラスタ管理者は、必要に応じて Kubernetes ロールベースのアクセス制御(RBAC)を使用して、詳細なアクセス制御を追加できます。

設定方法

クラスタの種類と環境に応じて、クラスタ管理者は Anthos Identity Service を各クラスタで個別に、またはプロジェクト フリート レベルで設定できます。

クラスタごとの設定

クラスタ上の Anthos Identity Service は、オンプレミスの Anthos クラスタ(VMware とベアメタルの両方)と、Anthos clusters on AWS、または on Azure のクラスタ単位で設定できます。詳細については、次のガイドをご覧ください。

OIDC の設定

LDAP の設定

フリートレベルの設定

Google Cloud のフリートは、機能を有効にし、それらのクラスタ全体の構成を更新できるようにするクラスタの論理グループです。サポートされているクラスタタイプでは、プロジェクト フリート内のクラスタに Anthos Identity Service を設定できます。フリートレベルの設定では、認証構成を複数のクラスタに一元的に適用できます。構成は、Google Cloud によって維持されます。

フリートレベルの設定でサポートされるクラスタタイプは次のとおりです。

フリートレベルの設定では、一般提供前機能として次のクラスタタイプと環境がサポートされています。

設定の詳細については、以下をご覧ください。

次のステップ

  • プラットフォーム管理者またはクラスタ管理者であり、Anthos Identity Service を使用するようにクラスタを構成することを必要とされる場合は、上に示した該当する設定ガイドに沿って操作してください。
  • デベロッパーまたはその他のクラスタ ユーザーであり、既存の ID を使用して Anthos クラスタにアクセスすることを必要とされる場合は、Anthos Identity Service を使用してクラスタにアクセスするをご覧ください。