我可以对来自多个 Google 云项目 Vault 的 auth/gcp 的用户进行身份验证吗

问题描述 投票:0回答:2

我想使用 Vault 来存储/检索 Google Cloud 上不同项目的机密。 Vault 本身位于其自己的 gcp 项目中。我可以使用 Vault 对多个不同项目的服务帐户进行身份验证吗?

我尝试这样做会因缺少权限而产生错误。

我已检查 Vault 正在使用的服务帐户是否具有

iam.serviceAccountKeys.get
权限。尝试进行身份验证的服务帐户没有成功。

我猜测权限错误是关于尝试查找检查外国项目的服务帐户密钥。

* could not find service account key 'projects/-/serviceAccounts/[email protected]/keys/xxxxxxxxxxxx': googleapi: 

Error 403: Permission iam.serviceAccountKeys.get is required to perform this operation on service account key projects/-/serviceAccounts/[email protected]/keys/xxxxxxxxxxxxxxx., forbidden or could not find Google Oauth cert with given 'kid' id xxxxxxxxxxxxxxxxxxx: could not find public key with kid 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

iam.serviceAccountKeys.get
只允许对项目内的id进行身份验证吗?

google-cloud-platform hashicorp-vault
2个回答
4
投票

是的,您需要确保

bound_projects
为空或包含您要绑定的所有项目的列表:

$ vault write auth/gcp/config /
    bound_projects=p1,p2,p3...

您还需要确保正在运行 Vault 的服务帐户具有以下角色

roles/iam.serviceAccountKeyAdmin roles/browser

您需要为正在

向 Vault 进行身份验证的服务帐户授予以下角色:

roles/iam.serviceAccountTokenCreator
    

0
投票
谈论Vault,Vault中是否有任何bound_roles,以便我可以在GCP中创建一个角色,并且Vault假设它 因为向更广泛的受众提供服务帐户是安全的

© www.soinside.com 2019 - 2024. All rights reserved.