jbr*_*own 3 authentication google-cloud-storage google-bigquery google-cloud-platform gcloud
至于谁曾经有过与谷歌CLI二进制编程方式将已经意识到的一整套互动的不幸,与喜欢的人进行身份验证gcloud,gsutil,bq等还远没有直观的或微不足道的,尤其是当你需要在不同的项目工作.
我正在运行与Google Cloud Storage和BigQuery交互的各种cron作业,用于不同的项目.由于cron作业可能会重叠,因此重命名配置文件显然不是一种选择,任何理智的人也不会采用这种方法.
肯定有某种方法可以将服务帐户的密钥对文件的路径传递给这些CLI二进制文件,但bq help不会产生任何结果.
谷歌文档虽然冗长,但在很大程度上是无用的,在探讨OAuth2的工作方式等方面,而不是解释一下非常常见的要求,相对于如何在不运行的情况下实际验证服务帐户修改中央配置文件的命令.
任何开明的人都可以告诉我谷歌的工程师是否决定添加一项功能,就像将路径传递到服务帐户的密钥对文件一样简单,gsutil并且bq?或许我可以简单地导出一些变量,以便他们知道用于身份验证的密钥对文件?
我意识到这些简单化的方法可能是对情报的侮辱,但我们并不关心利用核聚变,所以我们甚至不需要考虑亚马逊如何通过他们的认证方法得到如此正确的...
Cloud SDK中的配置对于用户来说是全局的,但您可以指定要在每个命令的基础上使用该配置的哪些方面.要完成您要做的事情,您可以:
gcloud auth activate-service-account foo@developer.gserviceaccount.com --key-file ...
gcloud auth activate-service-account bar@developer.gserviceaccount.com --key-file ...
Run Code Online (Sandbox Code Playgroud)
此时,两组凭据都在您的全局凭证存储中.现在你可以运行:
gcloud --account foo@developer.gserviceaccount.com some-command
gcloud --account bar@developer.gserviceaccount.com some-command
Run Code Online (Sandbox Code Playgroud)
并行,每个都将使用给定的帐户而不会干扰.
更大的扩展是"配置",它们执行相同的操作,但适用于整个配置集(包括帐户和项目等设置).
# Create first configuration
gcloud config configurations create myconfig
gcloud config configurations activate myconfig
gcloud config set account foo@developer.gserviceaccount.com
gcloud config set project foo
# Create second configuration
gcloud config configurations create anotherconfig
gcloud config configurations activate anotherconfig
gcloud config set account bar@developer.gserviceaccount.com
gcloud config set project bar
Run Code Online (Sandbox Code Playgroud)
您可以根据每个命令说出要使用的配置.
gcloud --configuration myconfig some-command
gcloud --configuration anotherconfig some-command
Run Code Online (Sandbox Code Playgroud)
您可以通过运行来阅读有关配置的更多信 gcloud topic configurations
所有属性都具有相应的环境变量,允许您为单个命令调用或终端会话设置该特定属性.他们采取以下形式:
CLOUDSDK_<SECTION>_<PROPERTY>
例如: CLOUDSDK_CORE_ACCOUNT
您可以通过运行来查看所有可用的配置设置: gcloud help config
--configuration标志的等价物是: CLOUDSDK_ACTIVE_CONFIG_NAME
如果您确实需要完全隔离,还可以通过设置CLOUDSDK_CONFIG为您选择的目录来更改Cloud SDK的config目录.请注意,如果您这样做,配置是完全独立的,包括凭证存储,所有配置,日志等.
| 归档时间: |
|
| 查看次数: |
1222 次 |
| 最近记录: |