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