ビュー:
プロファイル適用性: レベル1
プライベートノードは、パブリックIPアドレスを持たないノードです。クラスターノードのパブリックIPアドレスを無効にし、プライベートIPアドレスのみを持つようにしてください。
クラスターのノードでパブリックIPアドレスを無効にすると、アクセスが内部ネットワークのみに制限され、攻撃者は基盤となるKubernetesホストを侵害しようとする前にローカルネットワークへのアクセスを取得する必要があります。
注意
注意
デフォルトでは、プライベートノードは無効になっています。

影響

プライベートノードを有効にするには、クラスターをプライベートマスターIP範囲とIPエイリアスが有効な状態で構成する必要があります。プライベートノードはパブリックインターネットへのアウトバウンドアクセスを持ちません。プライベートノードにアウトバウンドのインターネットアクセスを提供したい場合は、Cloud NATを使用するか、独自のNATゲートウェイを管理することができます。
プライベートノードからGoogle Cloud APIsとサービスにアクセスするには、Kubernetes EngineクラスタサブネットでプライベートGoogleアクセスを設定する必要があります。

監査

Google Cloud Consoleを使用する:
  1. Google CloudコンソールKubernetes EngineページにアクセスしてKubernetes Engineに移動します。
  2. 目的のクラスターを選択し、詳細ペイン内でプライベートクラスターが有効になっていることを確認してください。
コマンドラインの使用:
既存のクラスターのプライベートノードのステータスを確認するには、まず3つの変数、クラスター名、場所、プロジェクトを定義し、次のコマンドを実行します。
gcloud container clusters describe $CLUSTER_NAME --location $LOCATION --
project $PROJECT_ID --format json | jq '.privateClusterConfig.enablePrivateNodes'
上記のコマンドの出力は、プライベートノードが有効になっている場合、{ "enablePrivateNodes": true } を返します。

修復

クラスターがプライベートノードを有効にせずに作成された場合、修正することはできません。代わりにクラスターを再作成する必要があります。
Google Cloud Consoleを使用する:
  1. Google CloudコンソールKubernetes EngineページにアクセスしてKubernetes Engineに移動します。
  2. CREATE CLUSTERをクリックします。
  3. 必要に応じてクラスターを構成し、ナビゲーションペインのCLUSTERの下にあるNetworkingをクリックしてください。
  4. IPv4ネットワークアクセスの下で、プライベートクラスターのラジオボタンをクリックしてください。
  5. 必要に応じて他の設定を構成し、CREATEをクリックしてください。
コマンドラインの使用:
プライベートノードを有効にしたクラスターを作成するには、クラスター作成コマンドに--enable-private-nodesフラグを含めます。
gcloud container clusters create <cluster_name> --enable-private-nodes
このフラグを設定するには、--enable-ip-alias--master-ipv4-cidr=<master_cidr_range>の設定も必要です。