我正在尝试应用以下角色绑定以将存储管理员角色授予 Vault 中的 GCP 角色集。
resource "//cloudresourcemanager.googleapis.com/projects/{project_id_number}" {
roles = [
"roles/storage.admin"
]
}
我想授予对项目级别的访问权限,而不是特定存储桶,以便 GCP 角色集可以访问和读取/写入 Google Container Registry。
当我尝试在 Vault 中创建此角色集时,我收到此错误:
Error writing data to gcp/roleset/my-roleset: Error making API request.
URL: PUT http://127.0.0.1:8200/v1/gcp/roleset/my-roleset
Code: 400. Errors:
* unable to set policy: googleapi: Error 403: The caller does not have permission
我的 Vault 集群在 GKE 集群中运行,该集群具有适用于所有 Cloud API 的 OAuth 范围,我是项目所有者,并且 Vault 使用的服务帐户具有以下权限:
- Cloud KMS CryptoKey 加密器/解密器
- 服务帐户参与者
- 服务帐号管理员
- 服务帐号密钥管理员
- 服务帐户令牌创建者
- 日志编写器
- 存储管理员
- 存储对象管理员
我尝试为服务帐户提供编辑者和所有者角色,但我仍然遇到同样的错误。
首先,我是否使用正确的资源在项目级别为存储管理员角色创建角色集?
其次,如果是这样,什么可能导致此权限错误?