Cloud SDK 中的配置对于用户来说是全局的,但您可以指定在每个命令的基础上使用该配置的哪些方面。为了完成您正在尝试做的事情,您可以:
gcloud auth activate-service-account [email protected] /cdn-cgi/l/email-protection --key-file ...
gcloud auth activate-service-account [email protected] /cdn-cgi/l/email-protection --key-file ...
此时,两组凭据都位于您的全局凭据存储中。
现在你可以运行:
gcloud --account [email protected] /cdn-cgi/l/email-protection some-command
gcloud --account [email protected] /cdn-cgi/l/email-protection some-command
并行地,每个人都将使用给定的帐户而不会干扰。
其更大的扩展是“配置”,它执行相同的操作,但针对您的整套配置(包括帐户和项目等设置)。
# Create first configuration
gcloud config configurations create myconfig
gcloud config configurations activate myconfig
gcloud config set account [email protected] /cdn-cgi/l/email-protection
gcloud config set project foo
# Create second configuration
gcloud config configurations create anotherconfig
gcloud config configurations activate anotherconfig
gcloud config set account [email protected] /cdn-cgi/l/email-protection
gcloud config set project bar
您可以根据每个命令指定要使用的配置。
gcloud --configuration myconfig some-command
gcloud --configuration anotherconfig some-command
您可以通过运行以下命令来阅读有关配置的更多信息:gcloud topic configurations
所有属性都有相应的环境变量,允许您为单个命令调用或终端会话设置特定属性。它们的形式如下:
CLOUDSDK_<SECTION>_<PROPERTY>
例如:CLOUDSDK_CORE_ACCOUNT
您可以通过运行以下命令查看所有可用的配置设置:gcloud help config
--configuration 标志的等效项是:CLOUDSDK_ACTIVE_CONFIG_NAME
如果您确实想要完全隔离,您还可以通过设置更改Cloud SDK的config目录CLOUDSDK_CONFIG
到您选择的目录。请注意,如果您这样做,配置将完全独立,包括凭证存储、所有配置、日志等。