LoginSignup
6
6

More than 5 years have passed since last update.

Google Cloud Container Builderで他ProjectのGCRからPull/Pushする

Posted at

やりたいこと

GCP上でGCRは環境毎にProjectを分けている(project-stgとproject-pro)とする。
生成するDockerImageはSTG/PRO共通のためどちらのGCRにもPUSHしたい。またはproject-proのImageを作成するときにproject-stgのImageをPullしてきたいとする。
要は、Container Builder上でProject跨ぎでGCRからpull / pushしたい時にどうすれば解決できるか。ということ。
また、Projectは同一組織配下にあるとする。

対応策

1.IAMの確認

Container Builderの設定をしているProject(今回はproject-proとする)で、Cloud Container BuilderのCloud COntainer Builder権限(ビルドを実行できる権限)のIAMがあることを確認する。

Cloud Builder を使用していれば。RoleがCloud Container Builderのサービスアカウントがあるはず。
[ID]@cloudbuild.gserviceaccount.comというIAMがあるはずなのでコピーしておく。

なければ Cloud Container Builderの権限を持っているサービスアカウントを使えばOKなはず(未検証)

2. project-stgでIAM追加

1で確認したIAMをproject-stgのIAMに追加する。
GCRの権限は以下を参考にする。
https://cloud.google.com/container-registry/docs/access-control?hl=ja

pushが必要であれば storage.adminが必要なのでストレージ管理者をIAMに割り振っておく。
pullだけで良ければオブジェクト閲覧者をつけておけば良さそう。

上記でContainre Builder上から別ProjectのImageをPull/Push出来るようになる。
各環境で共通のイメージの場合は1回で出来るようになるので便利

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6