0

我有一些问题,找不到任何文档,也许我遗漏了一些东西。

我们将使用这种方法。我在一个项目中在 GKE 中部署了一些服务和 Vault,它运行良好。我使用这篇文章进行配置。因此,我在 Vault 中为每个项目创建了单独的角色,并将其绑定到每个应用程序的工作负载身份服务。另一个项目中的服务角色具有带有项目名称的 bound_projects 变量。

当我尝试登录或尝试在另一个项目中运行应用程序时,它在控制台中显示此类错误: [RequestedSecret [path='secret/ secret_path ', mode=ROTATE]] Lease [leaseId='null', leaseDuration=PT0S,renewable =false] 无法使用 GCP-IAM 登录:找不到服务帐户 'projects/-/serviceAccounts/< service_name >':googleapi:错误 403:需要权限 iam.serviceAccounts.get 才能对服务帐户项目执行此操作/- /serviceAccounts/< service_name >.,禁止;嵌套异常是 org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 Internal Server Error: [{"errors":["could not find service account 'projects/-/serviceAccounts/< service_name>': googleapi: Error 403: Permission iam.serviceAccounts.get is required to perform this operation on service account projects/-/serviceAccounts/< service_name >., disabled"]} ]

当我尝试通过这个 sa 登录控制台时,我得到了这个。我有这个用户和角色附加了这个权限:

$ vault login -method=gcp role="my-iam-role-preprod" service_account="sa_name" project="project_id" jwt_exp="15m" credentials=@cred.json 验证错误:发出 API 请求时出错。

URL:PUT <vault_addr>/v1/auth/gcp/login 代码:500。错误:

  • 找不到服务帐户“项目/-/serviceAccounts/sa_name”:googleapi:错误 403:需要权限 iam.serviceAccounts.get 才能对服务帐户项目/-/serviceAccounts/sa_name 执行此操作,禁止

我在另一个项目中将服务帐户令牌创建者角色分配给 SA,并在部署 Vault 的项目中将浏览器//服务帐户密钥管理员角色分配给 Vault 服务帐户。

保险柜版本是保险柜 v1.7.3。GKE 是 1.19.10-gke.1600。

4

0 回答 0