ビュー:
プロファイル適用範囲:レベル1 - クラスター/コントロールプレーン
Endpoint Private Accessを有効にすることで、クラスタのコントロールプレーンへのアクセスを認可されたIPアドレスのリストに限定することができます。この対策により、トランスポートレイヤーセキュリティ(TLS)と認証との組み合わせにより、パブリックインターネットからのアクセスが保護されます。Kubernetes Engineはどこからでもクラスタを管理できる機能を提供していますが、特定のIPアドレスにアクセスを制限することを選択することができます。認可されたネットワークは、指定されたアドレスへの外部アクセスを制限することにより、クラスタを潜在的な外部攻撃から保護し、内部の脅威からも、マスター証明書が組織外に漏洩した場合でもアクセスを防止します。Endpoint Private Accessを設定する際には、認可リストに必要なすべてのIPアドレスを含め、クラスタのコントロールプレーンへの正当なアクセスを誤ってブロックしないように注意する必要があります。」

影響

エンドポイントプライベートアクセスを実装する際には、クラスターのコントロールプレーンへのアクセスをブロックしないように、必要なすべてのネットワークが許可リストに含まれていることを確認してください。

監査

以下の設定がenabled: trueであることを確認してください
 export CLUSTER_NAME=<your cluster name> aws eks describe-cluster --name ${CLUSTER_NAME} --query "cluster.resourcesVpcConfig.endpointPublicAccess" aws eks describe-cluster --name ${CLUSTER_NAME} --query "cluster.resourcesVpcConfig.endpointPrivateAccess" 
次の項目がnullでないことを確認してください:
 export CLUSTER_NAME=<your cluster name> aws eks describe-cluster --name ${CLUSTER_NAME} --query "cluster.resourcesVpcConfig.publicAccessCidrs" 

修復

プライベートエンドポイントアクセスを有効にして、ノードとAPIサーバー間のすべての通信がVPC内に留まるようにします。これにより、インターネットからAPIサーバーにアクセスできるIPアドレスを制限したり、インターネットアクセスを完全に無効にしたりすることができます。
たとえば、次のコマンドを使用してプライベートアクセスと限定的なパブリックアクセスを有効にします
 aws eks update-cluster-config --region $AWS_REGION --name $CLUSTER_NAME --resources-vpc-config endpointPrivateAccess=true, endpointPublicAccess=true, publicAccessCidrs="203.0.113.5/32" 
注: CIDR ブロックには予約済みアドレスを含めることはできません。詳細については、EKS クラスターエンドポイントのドキュメントを参照してください。