web-dev-qa-db-ja.com

Googleコンテナーレジストリに画像をプッシュできません-呼び出し元には 'storage.buckets.get'権限がありません

画像をgcコンテナーレジストリにプッシュするためのbitbucketパイプラインに取り組んでいます。ストレージ管理者の役割を持つサービスアカウントを作成しました。 ([email protected]

enter image description here

gcloud auth activate-service-account --key-file key.json
gcloud config set project mgcp-xxxx
gcloud auth configure-docker --quiet
docker Push eu.gcr.io/mgcp-xxxx/image-name

ログインは成功しましたが、プロジェクト「mgcp-xxxx」のトークン交換に失敗しました。呼び出し元には 'storage.buckets.get'権限がありません。権限を構成するには、次の手順に従います https://cloud.google.com/container-registry/docs/access-control

誰か私が欠けているものについてアドバイスできますか?

ありがとう!

6
Tania Petsouka

以前は、同じ名前と異なる権限を持つ別のサービスアカウントがありました。サービスアカウント名がキャッシュされていることを発見した後、別の名前で新しいサービスアカウントを作成し、適切にプッシュしています。

1
Tania Petsouka

これに遭遇した他の人にとって、私の問題は、サービスアカウントを付与していなかったことでしたStorage legacy bucket reader。私はそれを認めただけですObject viewer。従来の権限を追加することで修正されました。

Dockerはまだレガシーな方法を使ってGCRにアクセスしているようです

0
Jonas D

ここで将来、レガシーオプションがなくなったことを発見しました。この場合、完全なStorage Adminを付与することを余儀なくされました。これについてGoogleでチケットを開きます。これは、画像をプッシュするのに少し極端です。これは将来の誰かを助けるかもしれません。

0
MXWest

いくつかのことを試しましたが、実行する必要があるようですgcloud auth configure-docker

0
Nebulastic

GCRはGCSを使用して画像を保存するだけで、アーティファクトの権限を確認します。同じプロジェクト内のGCSのフォルダ。

0
Dan