GKE での OS Login の有効化と構成


このページでは、OS Login を有効にし、限定公開の GKE Standard クラスタとノードに OS Login を適用する組織のポリシーを構成する方法について説明します。GKE がノードを管理するので、GKE Autopilot モードのクラスタで OS Login は使用できません。

OS Login サービスの詳細については、OS Login に関する Compute Engine のドキュメントをご覧ください。

概要

組織で OS Login の制約を設定して、新しいすべてのプロジェクトとそれらの新しいプロジェクトで作成した VM インスタンスに対して OS Login を有効にすることが可能です。OS Login はすぐに Google Cloud のセキュリティのベスト プラクティスとなりました。組織のポリシーを通じて OS Login を適用することをおすすめします。

次の手順では、GKE で組織のポリシーを使用して OS Login を有効にする方法について説明します。

始める前に

作業を始める前に、次のことを確認してください。

  • Google Kubernetes Engine API を有効にします。
  • Google Kubernetes Engine API の有効化
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化します。すでに gcloud CLI をインストールしている場合は、gcloud components update を実行して最新のバージョンを取得します。

OS Login を使用するように既存のプロジェクトを更新する

組織のポリシーを設定する前に、OS Login を使用するように既存の限定公開クラスタを移行します。

  1. プロジェクト内のすべてのノードプールに含まれるバージョンをサポート対象バージョンに更新します。

    gcloud container clusters upgrade CLUSTER_NAME \
        --node-pool=NODE_POOL_NAME \
        --cluster-version VERSION
    

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

    • CLUSTER_NAME: 既存のクラスタの名前。
    • NODE_POOL_NAME: ノードプールの名前。
    • VERSION: OS Login と互換性のあるバージョン(バージョン 1.20.5 以降)。
  2. enable-oslogin フラグを TRUE に設定すると、既存の VM インスタンスと新規 VM インスタンスのすべてで OS Login がデフォルトで有効になります。ノードを再起動する必要はありません。

    gcloud compute project-info add-metadata --metadata enable-oslogin=TRUE
    

OS Login の組織のポリシーを設定する

組織レベルで OS Login の制約を設定するには、次の手順を行います。

  1. 次のコマンドを実行して、組織 ID を検索します。

    gcloud organizations list
    
  2. OS Login の組織のポリシーを設定します。ORGANIZATION_ID は実際の組織 ID に置き換えます。

    gcloud resource-manager org-policies enable-enforce \
        compute.requireOsLogin \
        --organization=ORGANIZATION_ID
    

組織のポリシーを設定すると、次の条件が適用されます。

  • 新しいすべてのプロジェクトのプロジェクト メタデータで enable-oslogintrue に設定される。
  • インスタンスまたはプロジェクトのメタデータで enable-osloginfalse に設定する更新リクエストは拒否される。

ノードアクセスの管理

OS Login の組織のポリシーを有効にすると、認証に使用する SSH 認証鍵を管理する必要がなくなります。OS Login を使用すると、認証管理が Identity and Access Management に移行されます。ノードへの SSH アクセスを管理するには、OS Login を使用します。詳細については、OS Login の設定をご覧ください。

次のステップ