Azure Powershell - Оставаясь в системе

Мне нужно иметь возможность хранить много лазурных подписок и загружать их при необходимости.

Я сохранил профиль с помощью ...

Save-AzureRmProfile -Path 'C:\Temp\profile.json'

Затем я могу загрузить его с помощью

Select-AzureRmProfile -Path 'C:\Temp\profile.json'

Через несколько дней токен истекает, и я больше не могу загружать подписку

Ваши учетные данные Azure не настроены или истекли

Как лучше всего хранить подписки для Resource Manager?

0
задан 27 March 2016 в 13:24
3 ответа

Используйте метод сертификата: - Для этого метода требуется создать файл publishSettingFile на портале управления Azure (с помощью PowerShell), а затем импортировать этот файл в PowerShell.

Войдите в учетную запись на портале управления Azure. Откройте консоль Azure PowerShell с повышенными привилегиями. Введите следующую команду: Get-AzurePublishSettingsFile. Если вы вошли в свою учетную запись azure, загрузка начнется в вашем веб-браузере. [Примечание] Во избежание проблем при установке нескольких браузеров. убедитесь, что вы вошли на портал Azure с помощью веб-браузера «по умолчанию» [/ note] Сохраните файл профиля публикации. Введите следующую команду, подставив путь к месту, где вы сохранили файл профиля публикации: Import-AzurePublishSettingsFile C: \ Users \\ Downloads \ -credentials.publishsettings

0
ответ дан 24 November 2019 в 06:55

По сути, этого нельзя избежать, срок действия токена истекает из соображений безопасности, и это сделано намеренно.

Вам нужно будет обновлять свой токен каждые несколько дней или посмотреть на делать что-то вроде этого сообщения .

0
ответ дан 24 November 2019 в 06:55

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

Самый простой способ - использовать ConvertTo-SecureString для создания защищенной строки, которую можно сохранить локально на диск. Таким образом, вместо того, чтобы входить в Azure с токеном, полученным из ваших учетных данных, вы просто каждый раз входите в систему со своими учетными данными. Обратной стороной является то, что он будет работать только на том же компьютере, вы не можете перенести файл учетных данных на другой компьютер. Вам нужно будет создать новый файл учетных данных на каждой машине.

#Write password out to disk 
"password" | ConvertTo-SecureString -AsPlainText -Force |
             ConvertFrom-SecureString |
             Out-File E:\ps\tmp\test.txt 

#Read Password from disk, convert to securestring, store in variable. 
$secureStringPassword = Get-Content E:\ps\tmp\test.txt |
             ConvertTo-SecureString

#Create credential with secure string, 
$cred = new-object -typename System.Management.Automation.PSCredential `
             -argumentlist "user@example.com", $secureStringPassword

#login with those credentials
Add-AzureRmAccount -Credential $cred 

Это значительно упрощенная версия распределенной версии, которую я создал здесь

. Можно создать учетную запись сертификата для Azure, но это гораздо более сложный процесс для реализации, и его намного сложнее отозвать . С помощью этого решения смена пароля остановит работу всего этого.

0
ответ дан 24 November 2019 в 06:55

Теги

Похожие вопросы