Могу ли я получить доступ к нескольким учетным записям Azure с помощью Azure-Cli с одного компьютера одновременно?

На самом деле у нас есть несколько учетных записей Azure (по какой-то уважительной причине), и я хочу иметь возможность запускать команды azure-cli для разных учетных записей одновременно с одной и той же машины.

Проблема в том, что, как только я войду в одну учетную запись Azure с azure loginтокен будет храниться в каталоге ~/.azure, поэтому я не уверен, смогу ли я одновременно войти в другую учетную запись на этом компьютере.

Есть ли какой-нибудь способ сказать Azure-Cli не хранить токен в локальном профиле, чтобы я мог использовать Azure-Cli для одновременного подключения к нескольким учетным записям с одного компьютера?

3 ответа

Решение

Если вы используете компьютер с Windows или Mac, токены сохраняются в диспетчере токенов Windows или цепочке ключей OSx соответственно. Только в системах Linux токены хранятся в ~/.azure/azureProfile.json

Тем не менее, вы все равно должны иметь возможность войти в систему с несколькими учетными записями на машинах Win/Mac или Linux.

Azure account set "subscription-name" установит подписку в качестве вашей подписки по умолчанию, и все выполняемые вами команды будут выполняться с этой подпиской.

Каждая команда имеет ключ -s или --subscription, где вы можете явно указать идентификатор подписки. Даже если подписка принадлежит другой учетной записи, она все равно должна работать, если вы прошли аутентификацию с этой учетной записью.

Для системы Linux я бы предложил создать несколько учетных записей пользователей, а затем запустить CLI из этих учетных записей. Я думаю, что может быть условие гонки, когда две команды из разных учетных записей пытаются получить доступ к ~/.azure/azureProfile.json.

Последнее обновление состоит в том, что была введена переменная среды AZURE_CONFIG_DIR, которая может быть установлена ​​по-разному для каждой среды передaz login называется.

экспорт AZURE_CONFIG_DIR= / tmp1

az войти

и в другом окне

экспорт AZURE_CONFIG_DIR= / tmp2

az войти

Ссылка: настройте AZURE_CONFIG_DIR для устранения проблемы параллелизма

Для Windows , вот шаги

  1. Перейдите к переменным env и добавьте AZURE_CONFIG_DIRсо значением новой папки конфигурации (например, C:\Users\YourUser\.azure-personal)
  2. перезапустите ваш кли, затем запустите это az login --use-device-code
  3. используйте код, указанный на шаге 2, и используйте его в любом браузере для входа в новую учетную запись Azure.

Теперь конфигурация одной из ваших учетных записей находится в конфигурации папки Azure по умолчанию ( C:\Users\YourUser\.azure), а новый живет в том месте, которое вы указали на шаге 1.

если вы хотите переключаться между ними , вам нужно перевернуть эту переменную env, чтобы указать на любую конфигурацию, которую вы хотите

Другие вопросы по тегам