1
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 5 years have passed since last update.

DevOpsAdvent Calendar 2018

Day 24

Packer で Error 403: Required 'compute.zones.get' permission for... と出たとき・・・

Posted at

Packer で Error 403: Required 'compute.zones.get' permission for... と出たとき・・・

クリスマスプレゼントが Error 403 だったとかは嫌なんですけど、出たものはしょうがないです。

エラー内容

> ./packer build gcp.json
googlecompute output will be in this color.

==> googlecompute: Checking image does not exist...
==> googlecompute: Creating temporary SSH key for instance...
==> googlecompute: Using image: ubuntu-1804-bionic-v20181222
==> googlecompute: Creating instance...
    googlecompute: Loading zone: asia-northeast1-b
==> googlecompute: Error creating instance: googleapi: Error 403: Required 'compute.zones.get' permission for 'projects/<project name>/zones/asia-northeast1-b', forbidden
Build 'googlecompute' errored: Error creating instance: googleapi: Error 403: Required 'compute.zones.get' permission for 'projects/<project name>/zones/asia-northeast1-b', forbidden

==> Some builds didn't complete successfully and had errors:
--> googlecompute: Error creating instance: googleapi: Error 403: Required 'compute.zones.get' permission for 'projects/<project name>/zones/asia-northeast1-b', forbidden

==> Builds finished but no artifacts were created.

権限?

GCP の コンソール画面で使ってるサービスにはちゃんと権限ついてるのは確認しています。
何せ、権限で オーナー つけてもダメなんですから・・・
ただ、色々とぐぐってみると、結局権限ぽい話に終着するんですよね。

結局南極・・・

大冒険も何もなく、gcloud コマンドでサービスアカウントから権限を一回剥奪して、付け直しただけで解決しました。

  1. gcloud で現状の権限を取得
> gcloud projects get-iam-policy <project name> --format json > iam.json
  1. iam.json の当該サービスアカウントの行を削除(同じ権限がある場合、, に注意)
  2. 編集後の iam.json を使って一度権限を反映
> gcloud projects set-iam-policy <project name> iam.json
  1. もう一度現状の権限を取得
> gcloud projects get-iam-policy <project name> --format json > iam.json
  1. 付与したい権限の場所に使いたいサービスアカウントを入れて保存します
  2. 編集後の iam.json を使って再度権限を反映します
> gcloud projects set-iam-policy <project name> iam.json

うちの環境ではこれで大丈夫になりました。

終わりに

プロジェクト ID がいくつか紐づいてるアカウントで発生したので、何かそのあたりに原因があるんでしょうかね。
プロジェクトが1つしかないアカウントでは何も問題発生しなかったので。
権限周りは、AWS よりも GCP の方が若干くせがあるような気がします。
とりあえず、GUI でダメなときは、CLI 試してみようと思いました。

そういえば、このエラー、Terraformでも出ることあるらしいです。。。

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