【问题标题】:Programmatic authentication using Cloud Build service account使用 Cloud Build 服务帐号进行编程式身份验证
【发布时间】:2019-11-05 06:16:07
【问题描述】:

Cloud Build 执行的构建期间,我需要验证我的自定义Java 代码才能使用Google Cloud Storage API。代码使用Cloud Storage JSON API client

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

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

【问题讨论】:

    标签: google-cloud-platform google-api google-api-java-client google-cloud-build google-auth-library


    【解决方案1】:

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

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

    例如,您可以将 GCS 角色 roles/storage.objectCreatorroles/storage.objectViewer 分配给您的 CloudBuild 服务帐户,然后它应该能够读取/写入所选项目/bucket 中的 GCS

    【讨论】:

    • 感谢您的回答,很高兴知道 Cloud Build 容器是使用 Cloud Build 服务帐户执行的。你知道如何在 Java 程序中利用这一点吗? IE。我需要做什么才能使用 Cloud Build 服务帐户在 Java 程序中对 Cloud Storage API 调用进行身份验证?
    • 撇开讽刺言论不谈,您的代码应该继承其运行环境的权限。如果您无法在本地运行它,请调用gcloud auth application-default login,它将设置您的凭据,SDK 将检查。这已经在云构建容器中为您完成了。
    猜你喜欢
    • 2018-05-02
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    相关资源
    最近更新 更多