我们实际上有多个azure帐户(出于某些正当理由),我希望能够在同一台机器上同时为不同的帐户运行azure-cli命令。
问题是,一旦我使用azure login
登录到一个azure帐户,令牌将存储在〜/ .azure目录中,因此我不确定是否可以同时登录到另一个帐户在那台机器上。
有没有办法告诉azure-cli不要在本地配置文件中存储令牌,以便我可以使用azure-cli同时从同一台机器连接到多个帐户?
答案 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