我们能否将多个 GSA 注释到 Kuberntes 服务帐户 (GCP)

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

伙计们,我对云和 GCP 还很陌生。 因此,我们有一个使用 pub sun、云存储、云 sql 和秘密管理器的应用程序。这是使用 helm chart 部署的。 所有服务都使用不同的服务帐户。 因此,为了避免为这些服务保留 json 密钥,我尝试使用工作负载身份。因此,我创建了一个 KSA 并将其绑定到 cloud sql sa。而且我能够在 helm ServiceAccountName 字段中提供该 KSA 名称,并且在不提供云 sql 服务帐户密钥的情况下工作正常。但对于其余服务,我仍在使用密钥。 所以我的问题是,我们能否将相同的 KSA 注释/绑定到其他服务帐户。或者有什么办法让服务知道他们需要使用哪个 SA 进行身份验证?对所有服务使用默认凭据不是此处的选项。 我无法获得关于多个 GSA 的一个 ksa 的太多信息。感谢您对上述内容的澄清。 应用程序是建立在 springboot 上的。

我有点无能为力,因为我如何在工作负载身份 terraform 脚本中为同一个 KSA 提供两个服务帐户。

spring-boot google-cloud-platform google-kubernetes-engine kubernetes-helm k8s-serviceaccount
1个回答
0
投票

这是一个 1-m 到 1 的关系:1 到多个 KSA 对应 1 GSA。

事实上,一个好的做法是每项服务有 1 个 KSA。然后根据自己服务需要的权限在KSA上绑定GSA

如果 2 个服务具有相同的权限(并且您想重用现有的 GSA(因为每个项目限制为 100 个 GSA)),您可以将 2 个 KSA(每个服务一个)指向同一个 GSA。

一个 K8S 服务只能定义一个 KSA。

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