3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GCSのオブジェクトストレージ管理者でバケットが参照できない

Posted at

事象

Rails_admin 上から carriewaveを経由してGCSにアップロードする際に以下のエラーが発生しました。

forbidden: hogehoge@hogehoge.iam.gserviceaccount.com(opens in new tab) does not have storage.buckets.get access to the Google Cloud Storage bucket.

今までは、オブジェクトストレージ管理者権限のサービスアカウントで問題なく動作していたのですが、同じようにサービスアカウントを作成してもうまくいきませんでした。

原因

どこかのタイミングで、オブジェクトストレージの権限周りが変わったっぽいです。
https://cloud.google.com/storage/docs/access-control/iam-roles?hl=ja#legacy-roles

権限周りのドキュメントを見ていると 以前の権限(legacy-roles) とあるので、おそらくどこかのタイミングで オブジェクトストレージ管理者 では storage.buckets 周りの権限はセットでつかなくなったみたいですね。

なので、上記のサービスアカウントに ストレージバケット閲覧者 の権限をつけてあげることで動作ができるようになりました。
※実際に権限を付けるときは、 必要以上に権限を付けないように注意していただければと思います。

最後に

GCPの設定周りの変更って、既存サービスに影響ないように作ってくれることが多いので(それはかなりありがたいことなのだが)、新しく構築するときに今までと同じように作ってうまく行かないことが多々ありますよね。

コピペじゃなくて、ちゃんと根本を理解して環境構築することの重要性を再認識しました。

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?