【问题标题】:Access service account ID at runtime of google cloud run servicegoogle cloud run service运行时访问service account ID
【发布时间】:2021-05-14 08:19:16
【问题描述】:

有人知道如何在运行时访问运行我的云运行服务的服务帐户的电子邮件地址吗?

将服务部署到 gcloud 时,我使用特定的服务帐户来运行服务。 在运行时,我需要此服务帐户的电子邮件/ID,以便使用 IAMCredentialsService 进行 blob 签名。

是否有可能以某种方式获取服务帐户 ID?我手头的 ComputeCredential 对象不提供此信息。现在我必须设置一个包含服务帐户电子邮件地址的环境变量,我可以在运行时在服务中使用它。

【问题讨论】:

    标签: google-cloud-platform google-compute-engine google-cloud-run


    【解决方案1】:

    在您的云运行容器中,您需要访问此 URL(一个 GET)

    http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/email
    

    有了这个标题

    Metadata-Flavor: Google
    

    如果您难以获得价值,请提供您的语言,我会看看是否可以为您提供代码示例。

    【讨论】:

      【解决方案2】:

      在文档https://cloud.google.com/run/docs/reference/container-contract#metadata-server中查看更多信息

      容器实例元数据服务器

      Cloud Run 容器实例公开了一个元数据服务器,您可以使用它来检索有关容器实例的详细信息,例如项目 ID、区域、实例 ID 或服务帐号。它还可用于为运行时服务帐户生成令牌。

      您可以使用对带有Metadata-Flavor: Google 标头的http://metadata.google.internal/ 端点的简单HTTP 请求从元数据服务器访问此数据:不需要客户端库。有关详细信息,请参阅获取元数据。

      【讨论】:

        猜你喜欢
        • 2020-04-29
        • 1970-01-01
        • 1970-01-01
        • 2021-04-24
        • 2020-03-04
        • 2021-04-28
        • 2021-07-22
        • 1970-01-01
        • 2015-11-09
        相关资源
        最近更新 更多