Защита секретов в Azure PowerShell
При управлении ресурсами Azure с помощью Azure PowerShell выходные данные команд могут предоставлять конфиденциальную информацию, которую необходимо защитить. Например, Azure PowerShell может отображать пароли, маркеры или ключи в выходных данных при их создании. Некоторые команды также могут хранить выходные данные в файлах журнала. Этот сценарий часто возникает при работе с GitHub Actions или Azure DevOps.
Общие сведения о риске
Важно защитить секреты и конфиденциальную информацию. При неправильном использовании они могут стать доступными для несанкционированных пользователей. Ошибки пользователей, такие как неправильно настроенные скрипты или ввод секретов в виде значений параметров, могут обнажить конфиденциальные сведения в логах, истории команд или системах управления версиями.
Предупреждение
Azure PowerShell отображает предупреждающее сообщение по умолчанию, начиная с версии 12.0.0, чтобы защитить конфиденциальную информацию при определении потенциального секрета в выходных данных команды.
Отключение предупреждения
В следующем примере командлет Update-AzConfig
используется для отключения предупреждения.
Update-AzConfig -DisplaySecretsWarning $false
Можно также использовать переменную среды $Env:AZURE_CLIENTS_SHOW_SECRETS_WARNING
для отключения предупреждения.
Set-Item -Path Env:\AZURE_CLIENTS_SHOW_SECRETS_WARNING -Value $false
Переход с строк на SecureStrings
В целях безопасности тип выходных данных по умолчанию командлета Get-AzAccessToken
планируется изменить с обычного текстового String
на SecureString
. Чтобы подготовиться к этому обновлению, используйте параметр AsSecureString перед критическим изменением.
Это изменение предназначено для предотвращения непреднамеренного разглашения конфиденциальных токенов в виде обычного текста. Чтобы обеспечить плавный переход, обновите скрипты, чтобы использовать параметр AsSecureString, как показано в следующем примере:
$token = Get-AzAccessToken -AsSecureString
Azure PowerShell