説明
GKE の masterAuth.username と masterAuth.password は、過去の HTTP 基本認証設定です。基本認証は GKE 1.19 で削除されており、この設定がなくてもクラスター認証が無効になるわけではありません。
推奨される Google Cloud OAuth 認証と、必要な IAM・RBAC 権限を使用してください。認証の成功と許可する操作の範囲は、別々に管理する必要があります。
想定される影響
- 不要な従来の認証情報が残ると、漏えいや悪用のリスクが増える場合があります。
- 過剰な IAM・RBAC 権限により、認証された利用者が必要な範囲を超える操作を行える場合があります。
対処方法
- 運用者と自動化でサポートされている認証を使うように構成し、必要なアクセスをテストしてください。
- テンプレートに静的な管理者パスワードを追加しないでください。従来の認証情報に依存するクライアントは、サポートされている方式に移行してください。
- 不要な権限バインドを削除し、意図したアクセス許可と制限が適用されることを確認してください。
例
Deployment Manager はサポートが終了したツールです。以下はクラスター要求本文の認証関連の抜粋です。実際のクライアント認証・認可と他のクラスター設定は、サポートされているツールで別途用意してください。
変更前
yaml
name: cluster
description: cluster
変更後
yaml
name: cluster
masterAuth:
clientCertificateConfig:
issueClientCertificate: false
補足:
- 変更前:
masterAuthを省略しています。それだけで認証が無効なクラスターになるわけではありません。 - 変更後: 静的パスワードを追加せず、従来のクライアント証明書の発行も要求しません。OAuth や IAM・RBAC の設定ではなく、発行済み証明書を失効させるものでもありません。