【问题标题】:How to give permission to applications running on GCP cloud run to access gcp services如何授予在 GCP cloud run 上运行的应用程序访问 gcp 服务的权限
【发布时间】:2022-02-14 17:33:27
【问题描述】:

我正在开发一个 nodejs 应用程序,它可以从 gcp 秘密管理器访问秘密。我使用 GOOGLE_APPLICATION_CREDENTIALS 变量通过定向凭据在本地运行它。

然后我尝试将此服务部署到谷歌云运行,现在它抛出错误

 Error: 7 PERMISSION_DENIED: Permission 'secretmanager.versions.access' denied

我想知道如何将凭据添加到云运行容器。我看到了一些实现,其中凭据文件包含在代码中。从云运行容器访问 gcp 资源的最佳做法是什么?

【问题讨论】:

    标签: node.js docker google-cloud-platform google-cloud-run google-secret-manager


    【解决方案1】:

    您可能希望找到 a service account used by your Cloud Run,并根据所需的秘密授予该服务帐户 a relevant IAM role - 很可能是 Secret Manager Secret Accessor 角色 (角色/secretmanager.secretAccessor)。

    您不需要任何凭据文件。在任何情况下,请不要在代码存储库中保留任何凭据。

    ======

    @kolban 评论后更新

    【讨论】:

    猜你喜欢
    • 2022-01-16
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2021-04-14
    • 2021-08-02
    • 2019-03-16
    • 2021-04-07
    相关资源
    最近更新 更多