Поделиться через


Быстрый старт: Хранение и получение секрета из Azure Key Vault с помощью PowerShell

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

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

Azure Cloud Shell

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

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

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

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

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

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

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

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

Чтобы установить и использовать PowerShell локально для работы с этим руководством, понадобится модуль Azure PowerShell 5.0.0 или более поздней версии. Чтобы узнать версию, введите Get-InstalledModule -Name Az. Если вам нужно обновить, см. инструкции по установке 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) и дефисы (-)

    Внимание

    Каждое хранилище ключей должно иметь уникальное имя. Замените <vault-name> именем хранилища ключей в следующих примерах.

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

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

New-AzKeyVault -Name "<vault-name>" -ResourceGroupName "myResourceGroup" -Location "EastUS" -EnableRbacAuthorization $true

Выходные данные этого командлета показывают свойства нового хранилища ключей. Обратите внимание на эти два свойства.

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

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

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

Чтобы получить доступ к вашему хранилищу ключей с помощью Контроля доступа на основе ролей (RBAC), назначьте роль вашему "основному имени пользователя" (UPN) используя командлет Azure PowerShell New-AzRoleAssignment.

New-AzRoleAssignment -SignInName "<upn>" -RoleDefinitionName "Key Vault Secrets Officer" -Scope "/subscriptions/<subscription-id>/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/<vault-name>"

Замените <upn>, <subscription-id>а <vault-name> также фактическими значениями. Если вы использовали другое имя группы ресурсов, замените myResourceGroup. Ваше имя пользователя (UPN) обычно имеет формат адреса электронной почты, например username@domain.com.

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

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

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

$secretvalue = Read-Host -Prompt 'Enter the example password' -AsSecureString

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

$secret = Set-AzKeyVaultSecret -VaultName "<vault-name>" -Name "ExamplePassword" -SecretValue $secretvalue

Получение секрета из хранилища ключей.

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

$secret = Get-AzKeyVaultSecret -VaultName "<vault-name>" -Name "ExamplePassword" -AsPlainText

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

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

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

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

Remove-AzResourceGroup -Name "myResourceGroup"

Следующие шаги

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