【问题标题】:Difference between gcloud auth activate-service-account --key-file and GOOGLE_APPLICATION_CREDENTIALSgcloud auth activate-service-account --key-file 和 GOOGLE_APPLICATION_CREDENTIALS 之间的区别
【发布时间】:2019-02-21 21:40:41
【问题描述】:

我正在创建一个 shell 脚本来处理我们的一些工作流程的自动化, 此工作流程包括通过 Apache Beam GCP 访问 Google 存储桶。 我在我的服务帐户中使用 .json 文件,在哪些情况下我需要使用:

 gcloud auth activate-service-account --key-file myfile.json

export GOOGLE_APPLICATION_CREDENTIALS=myfile.json

【问题讨论】:

    标签: google-cloud-platform google-cloud-storage apache-beam


    【解决方案1】:

    取决于你在做什么:

    • 使用他们的第三方 SDK 库之一(例如 Go、Python)与 Google Cloud 服务交互?使用GOOGLE_APPLICATION_CREDENTIALS 环境变量。

    • 调用 Google 提供的工具,例如 gcloudgsutil?使用该工具提供的机制对远程服务进行身份验证。对于gcloud,这是gcloud auth activate-service-account 命令。


    GOOGLE_APPLICATION_CREDENTIALS 环境变量为使用 Google Cloud SDK 的用户编写的应用程序提供了一种机制,以便在其环境中无法访问凭据时轻松导入凭据。这些凭据是根据ADC docs 中定义的优先顺序加载的。

    Google 提供的其他应用程序具有自己完善的机制,用于导入凭据以向 Google 进行身份验证。在使用这些应用程序的地方应该使用这种机制。常用工具:

    • gcloud:使用gcloud auth activate-service-account。请注意,may litter your disk with authentication credentials 会持续存在,因此出于安全原因,您可能希望配置环境以确保在使用后将其删除。
    • gsutil:如果独立运行,请使用gsutil config -e 设置服务帐户。但是,大多数安装都将与 Google Cloud SDK 中的 gcloud 工具一起使用,因此应使用上述针对 gcloud 的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 2019-04-17
      • 2023-03-08
      • 1970-01-01
      • 2020-03-04
      相关资源
      最近更新 更多