GKE Identity Service を使用して ID を管理する

GKE on AWS は、GKE Identity Service を使用してクラスタの Kubernetes API サーバーとやり取りする認証メカニズムとして OpenID Connect(OIDC)AWS IAM をサポートしています。GKE Identity Service は、認証を目的とする既存の ID ソリューションを複数の環境で利用できるようにする認証サービスです。ユーザーは、コマンドラインまたは Google Cloud コンソールからログインして GKE クラスタを使用できます。その際にすべての操作を既存の ID プロバイダを使用して行うことができます。

GKE Identity Service の仕組みの概要については、GKE Identity Service の概要をご覧ください。

Google ID を使用して GKE クラスタにログインしている場合や、Google ID を使用してログインする必要がある場合は、認証に gcloud containers aws clusters get-credentials コマンドを使用することをおすすめします。詳細については、クラスタに接続して認証するをご覧ください。

OpenID Connect 認証

始める前に

  1. OIDC 認証を使用するには、ユーザーがクラスタのコントロール プレーンに接続できる必要があります。クラスタのコントロール プレーンに接続するをご覧ください。

  2. Google Cloud コンソールを使用して認証するには、プロジェクト フリートに、構成する各クラスタを登録する必要があります。GKE on AWS の場合、ノードプールを作成すると、これは自動で行われます。

  3. ユーザーが Google Cloud コンソールを使用して認証できるようにするには、構成するすべてのクラスタがプロジェクト フリートに登録されている必要があります。GKE on AWS の場合、ノードプールを作成すると、これは自動で行われます。

設定手順とオプション

  1. GKE Identity Service のプロバイダの構成の手順に沿って、GKE Identity Service をクライアントとして OIDC プロバイダに登録します。

  2. 次のクラスタ構成オプションから選択します。

  3. GKE Identity Service のユーザー アクセスを設定するの手順に沿って、ロールベース アクセス制御(RBAC)を含むクラスタへのユーザー アクセスを設定します。

クラスタへのアクセス

クラスタに GKE Identity Service を設定すると、コマンドラインまたは Google Cloud コンソールを使用してクラスタにログインできるようになります。

AWS IAM 認証

GKE on AWS に対する AWS IAM サポートでは、GKE Identity Service を使用します。

始める前に

AWS IAM 認証を使用するには、ユーザーがクラスタのコントロール プレーンに接続できる必要があります。クラスタのコントロール プレーンに接続するをご覧ください。

設定手順とオプション

特定の AWS リージョンで AWS IAM 認証を許可するようにクラスタを構成するには、次の手順を行います。

  1. クラスタの ClientConfig リソースを編集します。

    kubectl --kubeconfig=KUBECONFIG_PATH edit ClientConfigs default -n kube-public
    

    KUBECONFIG_PATH は、クラスタの kubeconfig ファイルへのパス(例: $HOME/.kube/config)に置き換えます。

    テキスト エディタにクラスタの ClientConfig リソースが読み込まれます。下に示すように、spec.authentication.aws オブジェクトを追加します。すでに書き込まれているデフォルトのデータは変更しないでください。

    apiVersion: authentication.gke.io/v2alpha1
    kind: ClientConfig
    metadata:
      name: default
      namespace: kube-public
    spec:
      authentication:
      - name: NAME
        aws:
          region: AWS_REGION
    

    次のように置き換えます。

    • NAME: この認証方法の任意の名前(例: aws-iam)。
    • AWS_REGION: ユーザー情報を取得する AWS リージョン。ユーザーの AWS CLI に構成されているリージョンと一致する必要があります。
  2. クラスタ ユーザーが AWS IAM を使用できるようにするには、GKE Identity Service のユーザー アクセスを設定するの手順を実施します。

クラスタへのアクセス

クラスタに GKE Identity Service を設定すると、コマンドラインまたは Google Cloud コンソールを使用してクラスタにログインできるようになります。

AWS IAM ID を使用して登録済みクラスタにログインする方法については、GKE Identity Service を使用したクラスタへのアクセスをご覧ください。