ACEクラウドソリューションのデプロイと実装HARD単一選択

GKE クラスターで動作するアプリケーションが Cloud SQL に接続する必要があります。最も安全にデータベース認証情報を提供する方法はどれですか?

  1. A. データベースの認証情報をコンテナイメージに埋め込む
  2. B. データベースの認証情報を ConfigMap に保存して Pod からマウントする
  3. C. データベースのパスワードを環境変数として Pod の spec に直接記述する
  4. D. Cloud SQL Auth Proxy をサイドカーコンテナとして使用し、Workload Identity でサービスアカウントを紐付ける
解答と解説を見る

正解: D

Cloud SQL Auth Proxy を Pod のサイドカーコンテナとして実行し、Workload Identity を使って GKE の Kubernetes Service Account と Google Cloud の Service Account を紐付ける方法が最もセキュアです。アプリはサイドカー経由でデータベースに接続し、パスワード不要で IAM 認証が使用されます。秘密情報がコードやマニフェストに残りません。環境変数への直接記述は Kubernetes API を読める人が全員パスワードを確認できてしまいます。ConfigMap は暗号化されておらず認証情報の保存に不適切です(Secret を使うべきですが、それでも Workload Identity の方が安全です)。コンテナイメージへの埋め込みはセキュリティ上の最悪の選択です。

▸ この試験を本気で演習する(全150問・無料)