プロファイル適用性: レベル2
コントロールプレーン承認ネットワークを有効にして、クラスターのコントロールプレーンへのアクセスを許可されたIPの許可リストのみに制限します。
許可されたネットワークは、クラスターのコントロールプレーンにアクセスを許可するIPアドレスの制限範囲を指定する方法です。Kubernetes Engineは、パブリックインターネットからクラスターのコントロールプレーンへの安全なアクセスを提供するために、Transport
Layer Security (TLS) と認証の両方を使用します。
これにより、どこからでもクラスターを管理する柔軟性が提供されます。ただし、制御可能なIPアドレスのセットにアクセスをさらに制限したい場合があります。この制限は、承認されたネットワークを指定することで設定できます。コントロールプレーン承認ネットワークは、信頼されていないIPアドレスをブロックします。
Google Cloud PlatformのIP (Compute EngineのVMからのトラフィックなど) は、必要なKubernetesの認証情報を持っている場合、HTTPSを通じてマスターに到達できます。
許可されたネットワークへのアクセスを制限することで、コンテナクラスターに追加のセキュリティメリットを提供できます。
- 外部からの攻撃に対するより良い保護: 認可されたネットワークは、外部の非GCPアクセスを指定した特定のアドレスに制限することで、追加のセキュリティ層を提供します。これにより、クラスターの認証または認可メカニズムに脆弱性がある場合に、クラスターへのアクセスを保護するのに役立ちます。
- 内部攻撃からのより良い保護: 認可されたネットワークは、会社の施設からのマスター証明書の偶発的な漏洩からクラスターを保護するのに役立ちます。GCP外および認可されたIP範囲外 (例えば、会社外のアドレスから) で使用される漏洩証明書は、依然としてアクセスが拒否されます。
注意デフォルトでは、コントロールプレーンの承認済みネットワークは無効になっています。
|
影響
コントロールプレーン承認ネットワークを実装する際には、意図せずにクラスターのコントロールプレーンへの外部アクセスをブロックしないように、すべての必要なネットワークが許可リストに含まれていることを確認してください。
監査
Google Cloud Consoleを使用する:
- Google CloudコンソールKubernetes EngineページにアクセスしてKubernetes Engineに移動します。
- クラスターの一覧からクラスターをクリックして詳細ページを開き、マスター承認済みネットワークが有効に設定されていることを確認してください。
コマンドラインの使用:
既存のクラスターのマスター認証ネットワークのステータスを確認するには、まずクラスター名、ロケーション、プロジェクトの3つの変数を定義し、次のコマンドを実行します。
gcloud container clusters describe $CLUSTER_NAME --location $LOCATION -- project $PROJECT_ID --format json | jq '.masterAuthorizedNetworksConfig'
Control Plane Authorized Networksが有効になっている場合、出力は
{ "gcpPublicCidrsAccessEnabled": true }を返します。Master Authorized Networksが無効になっている場合、上記のコマンドはnull ({ }) を返します。修復
Google Cloud Consoleを使用する:
- Google CloudコンソールKubernetes EngineページにアクセスしてKubernetes Engineに移動します。
- Control Plane Authorized Networksが無効になっているKubernetesクラスターを選択してください。
- 詳細ペイン内のネットワーキング見出しの下にある、編集コントロールプレーン承認済みネットワークという名前の鉛筆アイコンをクリックします。
- コントロールプレーン承認済みネットワークを有効にするの横のボックスをチェックしてください。
- 変更を保存をクリックします。
コマンドラインの使用:
既存のクラスターでコントロールプレーン認可ネットワークを有効にするには、次のコマンドを実行します。
gcloud container clusters update <cluster_name> --location <location> -- enable-master-authorized-networks
これに加えて、
--master-authorized-networksフラグを使用して、HTTPSを通じてクラスターのコントロールプレーンに接続することが許可されている最大20の外部ネットワークのリストを指定できます。これらのネットワークは、CIDR表記
(例: 90.90.100.0/24) でアドレスをカンマ区切りで指定します。
