hene

hene.dev

Error: googleapi: Error 403: Request had insufficient authentication scopes. の対応

Error: googleapi: Error 403: Request had insufficient authentication scopes. の対応

Terraform で、GCP のリソースを管理しようとしたときに発生したエラーの対応方法。

エラー

認証スコープが足りない。

$ terraform apply

# 略

╷
│ Error: googleapi: Error 403: Request had insufficient authentication scopes.
│ Details:
│ [
│   {
│     "@type": "type.googleapis.com/google.rpc.ErrorInfo",
│     "metadata": {
│       "method": "google.iam.credentials.v1.IAMCredentials.GenerateAccessToken",
│       "service": "iamcredentials.googleapis.com"
│     },
│     "reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT"
│   }
│ ]
│
│ More details:
│ Reason: insufficientPermissions, Message: Insufficient Permission
│
│
│   with data.google_service_account_access_token.default,
│   on data_google_cloud_platform.tf line 1, in data "google_service_account_access_token" "default":
│    1: data "google_service_account_access_token" "default" {
│
╵

対応

  • スコープ
    • https://www.googleapis.com/auth/cloud-platform
  • 意味
    • Google Cloud Platform サービス全体のデータを表示、管理するためにアクセスします。これは、すべての Cloud Billing API メソッドを呼び出すのに十分な、最も範囲の広いスコープです。このスコープには cloud-billing と cloud-billing.readonly が含まれるため、このスコープがある場合はどちらも必要ありません。

API リクエストの承認 | Cloud Billing | Google Cloud

https://www.googleapis.com/auth/cloud-platform--scopes で指定することで解決しました。

$ gcloud auth application-default login --scopes "https://www.googleapis.com/auth/cloud-platform"

BigQuery で、スプレッドシートのデータを参照する場合

Access Denied: BigQuery BigQuery: Permission denied while getting Drive credentials. の対応 - hene.dev を参考に、 スプレッドシートの権限も付与する必要がある。

参考

関連記事