このページでは、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 を使用するように既存のクラスタを移行します。
プロジェクト内のすべてのノードプールに含まれるバージョンをサポート対象バージョンに更新します。
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 以降)。
enable-oslogin
フラグをTRUE
に設定すると、既存の VM インスタンスと新規 VM インスタンスのすべてで OS Login がデフォルトで有効になります。ノードを再起動する必要はありません。gcloud compute project-info add-metadata --metadata enable-oslogin=TRUE
OS Login の組織のポリシーを設定する
組織レベルで OS Login の制約を設定するには、次の手順を行います。
次のコマンドを実行して、組織 ID を検索します。
gcloud organizations list
OS Login の組織のポリシーを設定します。
ORGANIZATION_ID
は実際の組織 ID に置き換えます。gcloud resource-manager org-policies enable-enforce \ compute.requireOsLogin \ --organization=ORGANIZATION_ID
組織のポリシーを設定すると、次の条件が適用されます。
- 新しいすべてのプロジェクトのプロジェクト メタデータで
enable-oslogin
がtrue
に設定される。 - インスタンスまたはプロジェクトのメタデータで
enable-oslogin
をfalse
に設定する更新リクエストは拒否される。
ノードアクセスの管理
OS Login の組織のポリシーを有効にすると、認証に使用する SSH 認証鍵を管理する必要がなくなります。OS Login を使用すると、認証管理が Identity and Access Management に移行されます。ノードへの SSH アクセスを管理するには、OS Login を使用します。詳細については、OS Login の設定をご覧ください。
次のステップ
- OS Login サービスについて学習する。
- OS Login のトラブルシューティングの方法を確認する。