Краткое руководство. Настройка и получение секрета из Azure Key Vault с помощью PowerShell

Azure Key Vault — это облачная служба, которая работает как защищенное хранилище секретов. Вы можете безопасно хранить ключи, пароли, сертификаты и другие секреты. Дополнительные сведения о хранилище ключей см. в статье обзора. В этом кратком руководстве для создания хранилища ключей вы используете PowerShell. Затем вы сохраните секрет в только что созданном хранилище.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.

Использование Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Параметр Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока с кодом. При нажатии кнопки Попробовать код не копируется в Cloud Shell автоматически. Открытие Azure Cloud Shell с помощью кнопки
Перейдите по адресу https://shell.azure.com или нажмите кнопку https://shell.azure.com, чтобы открыть Cloud Shell в браузере. Запуск Cloud Shell в новом окне
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Кнопка Cloud Shell на портале Azure

Чтобы выполнить код из этой статьи в Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. В блоке кода нажмите кнопку Копировать, чтобы скопировать код.

  3. Вставьте код в окно сеанса Cloud Shell, нажав клавиши CTRLSHIFTV в Windows и Linux или CMDSHIFTV в macOS.

  4. Нажмите клавишу ВВОД, чтобы выполнить код.

Чтобы установить и использовать PowerShell локально для работы с этим руководством, понадобится модуль Azure PowerShell 5.0.0 или более поздней версии. Чтобы узнать версию, введите $PSVersionTable.PSVersion. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. Если модуль PowerShell запущен локально, необходимо также выполнить командлет Connect-AzAccount, чтобы создать подключение к Azure.

Connect-AzAccount

Создание группы ресурсов

Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure и управление ими. С помощью командлета New-AzResourceGroup Azure PowerShell создайте группу ресурсов с именем myResourceGroup в регионе eastus.

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

Создайте хранилище ключей.

Чтобы создать хранилище ключей в группе ресурсов из предыдущего шага, используйте командлет New-AzKeyVault в Azure PowerShell. Необходимо будет указать следующие сведения:

  • Имя хранилища ключей. Строка длиной от 3 до 24 символов, которая может содержать только цифры (0–9), буквы (a–z, A–Z) и дефисы (-).

    Важно!

    Каждое хранилище ключей должно иметь уникальное имя. В следующих примерах замените <your-unique-keyvault-name> именем своего хранилища ключей.

  • Имя группы ресурсов: myResourceGroup.

  • Расположение: EastUS.

New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "East US"

В выходных данных командлета будут показаны свойства созданного Key Vault. Запишите значения двух указанных ниже свойств.

  • Имя хранилища. Имя, которое вы указали в параметре --name выше.
  • URI хранилища. В нашем примере это https://your-unique-keyvault-name>.vault.vault.azure.net. Необходимо, чтобы приложения, использующие ваше хранилище через REST API, использовали этот URI.

На этом этапе любые операции в этом хранилище ключей может выполнять только учетная запись Azure.

Предоставление учетной записи пользователя разрешений на управление секретами в Key Vault

Используйте командлет Azure PowerShell Set-AzKeyVaultAccessPolicy, чтобы обновить политику доступа Key Vault и предоставить разрешения секретов учетной записи пользователя.

Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -UserPrincipalName "user@domain.com" -PermissionsToSecrets get,set,delete

Добавление секрета в Key Vault

Чтобы добавить секрет в хранилище, вам просто нужно выполнить несколько шагов. В этом случае вы добавите пароль, который может быть использован приложением. Пароль называется ExamplePassword, и в нем хранится значение hVFkk965BuUv.

Сначала преобразуйте значение hVFkk965BuUv в безопасную строку, выполнив следующую команду:

$secretvalue = ConvertTo-SecureString "hVFkk965BuUv" -AsPlainText -Force

Затем используйте командлет Azure PowerShell Set-AzKeyVaultSecret, чтобы создать в Key Vault секрет с именем ExamplePassword и значением hVFkk965BuUv:

$secret = Set-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "ExamplePassword" -SecretValue $secretvalue

получение секрета из Key Vault.

Чтобы просмотреть значение, содержащееся в секрете, в виде обычного текста, используйте командлет Get-AzKeyVaultSecret Azure PowerShell:

$secret = Get-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "ExamplePassword" -AsPlainText

Вы создали Key Vault, сохранили в нем секрет и извлекли его.

Очистка ресурсов

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

Вы можете удалить ставшие ненужными группу ресурсов, хранилище ключей и все связанные с ним ресурсы, выполнив команду Remove-AzResourceGroup.

Remove-AzResourceGroup -Name ContosoResourceGroup

Дальнейшие действия

С помощью этого краткого руководства вы создали Key Vault и сохранили в нем секрет. Дополнительные сведения о Key Vault и его интеграции в приложения см. в следующих статьях.