我们在本地服务器中有一个正在运行的应用程序。我想创建一个从 GCP 读取 BigQuery 表的应用程序。
我被限制使用服务帐户密钥,这也不是验证我的应用程序的最佳方式,对吧?
因此在谷歌上搜索并了解了这个“Google Workload Federation Identity”。
但我不知道它要求提供在创建时已填写的发行者 URL 和提供者属性。
任何人都可以帮助我,这个发行者(URL)是什么以及如何获取它?
到目前为止,我已经创建了一个工作负载身份池。
您好,据我了解,工作负载身份联合只是公钥/私钥身份验证/授权的另一个抽象。
现在假设您拥有想要将资源部署到的目标平台(虚拟机、存储等),例如GCP。
您有一个源平台,您可以在其中部署这些资源,例如Github 操作。
Github 在公共端点上公开公钥https://token.actions.githubusercontent.com/.well-known/jwks,主机基本上就是发行者 URL。
在 GCP 端,您必须配置服务帐户以信任 Github 操作,有两个主要组件
当配置完毕并且 github 操作想要执行部署时,它将向 GCP 请求此特定服务帐户的授权令牌来完成这项工作。
请求包含主题以及其他信息,并由 Github private 密钥签名。这意味着
这基本上就是将处理秘密(私钥)的委托委托给其他服务(Github),并且作为该服务的用户,您可以无需密码。
如果您有一些,例如本地应用程序,并且您想要使用此方法向 GCP 授权,您必须自行处理。
我想有一些软件可以简化这个过程。但它仍然比使用一些为您执行此操作的云本机解决方案付出更多努力。