使用 Cloud Build 服务帐户的编程身份验证

Programmatic authentication using Cloud Build service account

Cloud Build I need to authenticate my custom Java code to use Google Cloud Storage API. The code uses Cloud Storage JSON API client 执行的构建期间。

我想使用 Cloud Build 服务帐户进行身份验证,但不清楚如何在 Java 代码中实现这一点而不传递服务帐户密钥文件作为 encrypted resource

是否可以通过在 Cloud Build docker 容器中执行的 Java 代码使用 Cloud Build 服务帐户进行身份验证?

默认情况下,CloudBuild 容器使用分配给 CloudBuild 服务帐户的权限执行。

有一些关于它的更多信息 here,但您不需要明确 "use" 权限,您的代码所在的环境 运行 应该已经分配了权限,如果您的服务帐户具有正确的角色。

例如,您可以将 GCS 角色 roles/storage.objectCreator & roles/storage.objectViewer 分配给您的 CloudBuild 服务帐户,然后它应该能够 read/write 到所选 [=21] 中的 GCS =]