我可以同时使用同一台计算机上的azure-cli访问多个azure帐户吗?

时间:2015-10-14 23:04:41

标签: azure azure-cli

我们实际上有多个azure帐户(出于某些正当理由),我希望能够在同一台机器上同时为不同的帐户运行azure-cli命令。

问题是,一旦我使用azure login登录到一个azure帐户,令牌将存储在〜/ .azure目录中,因此我不确定是否可以同时登录到另一个帐户在那台机器上。

有没有办法告诉azure-cli不要在本地配置文件中存储令牌,以便我可以使用azure-cli同时从同一台机器连接到多个帐户?

2 个答案:

答案 0 :(得分:3)

如果您使用的是Windows或Mac计算机,则令牌分别存储在Windows令牌管理器或OSx密钥链中。仅在Linux系统上,令牌存储在〜/ .azure / azureProfile.json

但是,您仍然可以在Win / Mac或Linux计算机上使用多个帐户登录。

azure帐户集“subscription-name”会将订阅设置为您的默认订阅,并且您执行的所有命令都将针对该订阅运行。

每个命令都有一个-s或--subscription开关,您可以在其中显式指定订阅ID。即使订阅属于其他帐户,如果您已使用该帐户进行身份验证,它仍应有效。

对于Linux系统,我建议创建多个用户帐户,然后从这些帐户运行CLI。我认为当来自不同帐户的两个命令试图访问〜/ .azure / azureProfile.json时,可能存在竞争条件。

答案 1 :(得分:0)

最新更新是引入了环境变量 AZURE_CONFIG_DIR ,可以在调用az login之前为每个环境进行不同的设置。

  

导出AZURE_CONFIG_DIR = / tmp1

     

az登录

和其他窗口

  

导出AZURE_CONFIG_DIR = / tmp2

     

az登录

参考:configure the AZURE_CONFIG_DIR for fixing concurrency issue