我想用Terraform封装Firebase项目。
根据GCP Terraform Provider文档,我创建了一些Terraform模块,但Terraform应用程序调用失败
错误403:调用者没有权限
Terraform服务帐户需要什么权限才能管理Firebase项目?
我想使用Terraform服务帐户创建以下资源:
- google_firebase_project
- 谷歌firebase_project_location
- 谷歌firebase_web_app
- google_firebase_web_app_config
- 谷歌存储库
- 谷歌存储库对象
以下步骤可以帮助您解决错误403:调用者没有权限:
-
您无法向Terraform提供服务帐户授权哪个是错误消息的来源,您需要给出权限:
resourcemanager.projects.getIamPolicy
-
使用下面列出分配给服务帐户的角色:
gcloud projects get-iam-policy <YOUR GCLOUD PROJECT ID> --flatten="bindings[].members" --format='table(bindings.role)' --filter="bindings.members:<YOUR SERVICE ACCOUNT>"
-
使用下面列出角色包含的权限:
gcloud iam roles describe roles/resourcemanager.projectIamAdmin
-
使用以下内容将所需角色添加到服务帐户:
gcloud projects add-iam-policy-binding <YOUR GCLOUD PROJECT ID> --member=serviceAccount:<YOUR SERVICE ACCOUNT> --role=roles/resourcemanager.projectIamAdmin
有关更多信息,请参阅IAM策略服务帐户地形文档。由于您需要创建其他资源,在上面的文档中,单击相应模块的右侧以获取更多信息。