Cloud Build で CI/CD パイプラインを実装しています。ビルド中に Artifact Registry への Docker イメージプッシュが必要ですが、認証情報の管理を最もセキュアに行う方法はどれですか?
- A. Docker Hub の認証情報を Cloud Build のビルドステップの環境変数に設定する
- B. cloudbuild.yaml 内に docker login コマンドとパスワードを記述する
- C. Secret Manager に認証情報を保存して Cloud Build からアクセスする
- D. Cloud Build のサービスアカウントに roles/artifactregistry.writer を付与する
解答と解説を見る
正解: D
Cloud Build はデフォルトのサービスアカウント([PROJECT_NUMBER]@cloudbuild.gserviceaccount.com)を使用します。このサービスアカウントに roles/artifactregistry.writer を付与することで、docker login なしに Artifact Registry へのプッシュが可能です。Cloud Build のビルドステップは自動的に gcloud の認証を引き継ぐため、明示的な認証情報の管理が不要です。Docker Hub の認証情報を環境変数に設定すると、ログに漏洩するリスクがあります。cloudbuild.yaml にパスワードを記述するのは最悪のセキュリティプラクティスです。Secret Manager の使用は有効ですが、サービスアカウントへのロール付与の方がより簡潔でセキュアです。
📚 関連サービスの解説: Cloud Build