Краткое руководство. Настройка и получение секрета из 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 автоматически. | |
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. | |
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. |
Чтобы использовать Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.
Нажмите клавишу ВВОД, чтобы запустить код или команду.
Чтобы установить и использовать 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) и дефисы (-)
Внимание
Каждое хранилище ключей должно иметь уникальное имя. В следующих примерах замените <your-unique-keyvault-name> именем своего хранилища ключей.
Имя группы ресурсов: myResourceGroup.
Расположение: EastUS.
New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "EastUS"
В выходных данных командлета будут показаны свойства созданного Key Vault. Зафиксируйте два его свойства.
- Имя хранилища: имя, предоставленное параметру -Name.
- Универсальный код ресурса (URI) хранилища. В этом примере этот универсальный код ресурса (URI) — https://< your-unique-keyvault-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/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"
Замените upn>, subscription-id>, <<resource-group-name и <your-unique-keyvault-name>> фактическими значениями.< Имя участника-участника обычно будет иметь формат адреса электронной почты (например, 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 "<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 myResourceGroup
Следующие шаги
С помощью этого краткого руководства вы создали Key Vault и сохранили в нем секрет. Дополнительные сведения о Key Vault и его интеграции в приложения см. в следующих статьях.
- Обзор Azure Key Vault
- Узнайте, как хранить многострочные секреты в Key Vault.
- Справочник по командлетам Azure PowerShell для Azure Key Vault
- Статья Обзор системы безопасности Key Vault