説明
Master Authorized Networks は、GKE コントロールプレーンの IP エンドポイントに接続できる送信元アドレスを制限します。管理に不要なネットワークも許可すると、API へのアクセス試行の機会が増えます。DNS エンドポイントの IAM アクセス制御は別途確認する必要があります。
想定される影響
公開エンドポイントと接続経路がある場合、外部クライアントのスキャンや認証試行が API サーバーに届くおそれがあります。ネットワーク接続だけで認証や権限の検査を回避できるわけではありません。
対処方法
IP エンドポイントを使用する場合は master_authorized_networks_config.enabled: yes を設定し、cidr_blocks を承認された管理元に限定してください。内部 IP エンドポイントへの制限には、別の適用設定を確認してください。必要な VPN や踏み台ホストの経路を事前に確認し、一時的な例外を削除してください。IAM と RBAC の権限も別途制限してください。
例
アクセス制限の設定抜粋です。192.0.2.0/24 は文書用アドレスなので、管理クライアントが実際に使用する承認済みの送信元範囲に置き換えてください。
変更前
yaml
- name: create a cluster
google.cloud.gcp_container_cluster:
name: my-cluster
location: us-central1-a
auth_kind: serviceaccount
master_authorized_networks_config:
cidr_blocks:
- cidr_block: 192.0.2.0/24
enabled: no
state: present
- name: create a third cluster
google.cloud.gcp_container_cluster:
name: my-third-cluster
location: us-central1-a
auth_kind: serviceaccount
state: present
最初のタスクはアドレスを指定していますが、機能を無効にしています。2 番目の設定省略だけでは、実際のエンドポイントが公開されているとは判断できません。
変更後
yaml
- name: create a cluster
google.cloud.gcp_container_cluster:
name: my-cluster
initial_node_count: 2
location: us-central1-a
auth_kind: serviceaccount
master_authorized_networks_config:
cidr_blocks:
- cidr_block: 192.0.2.0/24
enabled: yes
state: present
管理用 CIDR の許可リストを有効にしています。内部 IP エンドポイントへの適用設定と、必要な運用アクセスの許可は別途確認してください。