我正在尝试应用下面的角色绑定,以将存储管理员角色授予Vault中的GCP角色集。
resource "//cloudresourcemanager.googleapis.com/projects/{project_id_number}" {
roles = [
"roles/storage.admin"
]
}
我想授予对项目级别的访问权限,而不是特定的存储桶,以便GCP角色集可以访问和读取/写入Google容器注册表。
当我尝试在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正在使用的服务帐户具有以下权限:
我试过给服务帐户编辑和所有者角色,我仍然得到相同的错误。
首先,我是否使用正确的资源在项目级别为存储管理员角色创建角色集?
其次,如果是这样,可能导致此权限错误的原因是什么?
我以前重新创建了群集并跳过了这一步:
vault write gcp/config [email protected]
添加修复此密钥文件。
还有可能按照创建自定义角色here的步骤并添加该自定义角色起了作用。