Краткое руководство. Настройка и получение сертификата из Azure Key Vault с помощью Azure PowerShell
Из этого краткого руководства вы узнаете, как создать хранилище ключей в Azure Key Vault с помощью Azure PowerShell. Azure Key Vault — это облачная служба, которая работает как защищенное хранилище секретов. Вы можете безопасно хранить ключи, пароли, сертификаты и другие секреты. См. дополнительные сведения о Key Vault. Azure PowerShell используется для создания ресурсов Azure и управления ими с помощью скриптов и команд. После этого вы сохраняете сертификат.
Необходимые компоненты
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
- Если вы решили использовать Azure PowerShell локально:
- Установите последнюю версию модуля Az PowerShell.
- Подключитесь к учетной записи Azure с помощью командлета Connect-AzAccount.
- Если вы решили использовать Azure Cloud Shell:
- Дополнительные сведения см. в статье Общие сведения об Azure Cloud Shell.
Создание или изменение группы ресурсов
Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов 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 Certificate 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
Теперь можно добавить сертификат в хранилище. Этот сертификат может использоваться приложением.
Используйте эти команды для создания самозаверяющего сертификата с политикой с именем ExampleCertificate :
$Policy = New-AzKeyVaultCertificatePolicy -SecretContentType "application/x-pkcs12" -SubjectName "CN=contoso.com" -IssuerName "Self" -ValidityInMonths 6 -ReuseKeyOnRenewal
Add-AzKeyVaultCertificate -VaultName "<your-unique-keyvault-name>" -Name "ExampleCertificate" -CertificatePolicy $Policy
Теперь сертификат, добавленный в Azure Key Vault, можно вызвать, используя его URI. Используйте https://<your-unique-keyvault-name>.vault.azure.net/certificates/ExampleCertificate
, чтобы получить текущую версию.
Чтобы просмотреть ранее сохраненный сертификат, выполните следующие действия:
Get-AzKeyVaultCertificate -VaultName "<your-unique-keyvault-name>" -Name "ExampleCertificate"
Устранение неполадок:
Операция вернула недопустимый код статуса 'Запрещено'
При возникновении этой ошибки учетная запись, обращающаяся к службе Azure Key Vault, не обладает необходимыми разрешениями для создания сертификатов.
Для назначения соответствующих разрешений выполните следующую команду Azure PowerShell:
Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> -ObjectId <AzureObjectID> -PermissionsToCertificates get,list,update,create
Очистка ресурсов
Другие руководства в этой серии созданы на основе этого документа. Если вы планируете продолжить работу с другими краткими руководствами и статьями, эти ресурсы можно не удалять.
Чтобы удалить группу ресурсов и все связанные с ней ресурсы, выполните командлет Remove-AzResourceGroup в Azure PowerShell.
Remove-AzResourceGroup -Name "myResourceGroup"
Следующие шаги
Из этого краткого руководства вы узнали, как создать Key Vault и сохранить в нем сертификат. Дополнительные сведения о Key Vault и его интеграции в приложения см. в следующих статьях.