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 プロバイダのクライアント アプリケーションとして登録され、クラスタ管理者がクラスタごとに設定します。
ユーザーがコマンドラインからクラスタにログインする際は、まず 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 をクラスタごとに設定します。
ユーザーがコマンドラインからクラスタにログインする際は、まず 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 の設定
- Anthos Identity Service 用の OIDC プロバイダの構成
- OIDC で Anthos Identity Service のクラスタを設定する
- Anthos Identity Service のユーザー アクセスを設定する
LDAP の設定
- Anthos Identity Service の LDAP プロバイダの構成
- LDAP で Anthos Identity Service 用のクラスタを設定する
- Anthos Identity Service のユーザー アクセスを設定する
フリートレベルの設定
Google Cloud のフリートは、機能を有効にし、それらのクラスタ全体の構成を更新できるようにするクラスタの論理グループです。サポートされているクラスタタイプでは、プロジェクト フリート内のクラスタに Anthos Identity Service を設定できます。フリートレベルの設定では、認証構成を複数のクラスタに一元的に適用できます。構成は、Google Cloud によって維持されます。
フリートレベルの設定でサポートされるクラスタタイプは次のとおりです。
- Anthos clusters on VMware、バージョン 1.8.2 以降
- ベアメタル版 Anthos クラスタ、バージョン 1.8.3 以降
- Azure 版 Anthos クラスタ
- Kubernetes 1.21 以降を実行している AWS 版 Anthos クラスタ。
- GKE 用 Identity Service が有効になっている Google Cloud 上の GKE クラスタ。
フリートレベルの設定では、一般提供前機能として次のクラスタタイプと環境がサポートされています。
- Amazon Elastic Kubernetes Service(Amazon EKS)アタッチ クラスタ
設定の詳細については、以下をご覧ください。
次のステップ
- プラットフォーム管理者またはクラスタ管理者であり、Anthos Identity Service を使用するようにクラスタを構成することを必要とされる場合は、上に示した該当する設定ガイドに沿って操作してください。
- デベロッパーまたはその他のクラスタ ユーザーであり、既存の ID を使用して Anthos クラスタにアクセスすることを必要とされる場合は、Anthos Identity Service を使用してクラスタにアクセスするをご覧ください。