Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Key Vault — это облачная служба, которая предоставляет безопасное хранилище секретов, таких как ключи, пароли и сертификаты. В этом кратком руководстве рассматривается процесс развертывания шаблона Azure Resource Manager (шаблона ARM) для создания хранилища ключей.
Шаблон Azure Resource Manager — это файл нотации объектов JavaScript (JSON), который определяет инфраструктуру и конфигурацию проекта. В шаблоне используется декларативный синтаксис. Вы описываете предполагаемое развертывание без написания последовательности команд программирования для создания развертывания.
Если ваша среда соответствует предварительным требованиям и вы знакомы с использованием шаблонов ARM, нажмите кнопку Deploy to Azure. Шаблон откроется на портале Azure.
Необходимые условия
Чтобы завершить эту статью, выполните указанные ниже действия.
- Если у вас нет подписки на Azure, создайте бесплатную учетную запись перед началом.
Проверьте шаблон
Шаблон, используемый в этом кратком руководстве, взят из шаблонов быстрого запуска Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.42.1.51946",
"templateHash": "5424899472990749957"
}
},
"parameters": {
"keyVaultName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the key vault."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specifies the Azure location where the key vault should be created."
}
},
"enabledForDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault."
}
},
"enabledForDiskEncryption": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys."
}
},
"enabledForTemplateDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Resource Manager is permitted to retrieve secrets from the key vault."
}
},
"tenantId": {
"type": "string",
"defaultValue": "[subscription().tenantId]",
"metadata": {
"description": "Specifies the Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Get it by using Get-AzSubscription cmdlet."
}
},
"skuName": {
"type": "string",
"defaultValue": "standard",
"allowedValues": [
"standard",
"premium"
],
"metadata": {
"description": "Specifies whether the key vault is a standard vault or a premium vault."
}
},
"secretName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the secret that you want to create."
}
},
"secretValue": {
"type": "securestring",
"metadata": {
"description": "Specifies the value of the secret that you want to create."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2023-07-01",
"name": "[parameters('keyVaultName')]",
"location": "[parameters('location')]",
"properties": {
"enabledForDeployment": "[parameters('enabledForDeployment')]",
"enabledForDiskEncryption": "[parameters('enabledForDiskEncryption')]",
"enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]",
"enableRbacAuthorization": true,
"tenantId": "[parameters('tenantId')]",
"enableSoftDelete": true,
"softDeleteRetentionInDays": 90,
"enablePurgeProtection": true,
"sku": {
"name": "[parameters('skuName')]",
"family": "A"
},
"networkAcls": {
"defaultAction": "Allow",
"bypass": "AzureServices"
}
}
},
{
"type": "Microsoft.KeyVault/vaults/secrets",
"apiVersion": "2023-07-01",
"name": "[format('{0}/{1}', parameters('keyVaultName'), parameters('secretName'))]",
"properties": {
"value": "[parameters('secretValue')]"
},
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
]
}
],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
},
"name": {
"type": "string",
"value": "[parameters('keyVaultName')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
}
}
}
В этом шаблоне определяется один ресурс Azure.
-
Microsoft.KeyVault/vaults: создайте хранилище ключей Azure. Шаблон включает поддержку авторизации Azure RBAC (
enableRbacAuthorization: true), обратимого удаления и защиты от очистки.
Дополнительные примеры шаблонов Azure Key Vault можно найти в Azure Quickstart Templates.
Развертывание шаблона
Выберите следующее изображение, чтобы войти в Azure и открыть шаблон. Шаблон создает хранилище ключей.
Введите или выберите следующие значения. Если оно не указано, используйте значение по умолчанию.
- Subscription: выберите подписку Azure.
- Группа ресурсов. Щелкните Создать, введите уникальное имя новой группы ресурсов и щелкните ОК.
- Регион: выберите расположение. Например, центральная часть США.
-
Имя хранилища: введите имя хранилища ключей, которое должно быть глобально уникальным в
vault.azure.netпространстве имен. - Имя SKU: выберите "Стандартный " или "Премиум". Значение по умолчанию является стандартным.
Выберите Проверить и создать, а затем выберите Создать. После успешного развертывания хранилища ключей вы получите уведомление.
Вы также можете использовать Azure PowerShell, Azure CLI или REST API для развертывания шаблона. Сведения о других методах развертывания см. в статье Deploy templates.
Назначьте роль RBAC для Key Vault
Хранилище ключей, созданное этим шаблоном, использует Azure RBAC для авторизации. Чтобы создать или прочитать ключи, секреты или сертификаты с помощью плоскости данных, необходимо назначить себе соответствующую роль. Например, чтобы управлять секретами, назначьте себе роль Key Vault Secrets Officer:
echo "Enter your key vault name:" &&
read keyVaultName &&
az role assignment create --role "Key Vault Secrets Officer" \
--assignee-object-id $(az ad signed-in-user show --query id -o tsv) \
--scope $(az keyvault show --name $keyVaultName --query id -o tsv)
Note
Сведения о других встроенных ролях см. в разделе встроенные роли Azure для операций плоскости данных Key Vault. Изменения в назначении ролей могут вступить в силу через одну-две минуты.
Проверка развернутых ресурсов
Вы можете использовать портал Azure для проверки хранилища ключей или использовать следующий скрипт Azure CLI или Azure PowerShell:
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault show --name $keyVaultName
Очистите ресурсы
Другие краткие руководства и учебные материалы по Key Vault основаны на этом кратком руководстве. Если вы планируете продолжить работу с последующими быстрыми стартовыми руководствами и обучающими материалами, можете оставить эти ресурсы без изменений. При отсутствии необходимости удалите группу ресурсов, которая удаляет хранилище ключей и связанные ресурсы.
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName
Note
При удалении группы ресурсов также удаляется хранилище ключей, но затем оно переходит в состояние обратимого удаления и может быть восстановлено в течение срока хранения (по умолчанию 90 дней). Имя хранилища остается зарезервированным глобально в течение этого периода, и поскольку защита очистки включена, хранилище не может быть удалено рано. Для стандартных хранилищ ключей плата за хранилища, помеченные как обратимо удаленные, не взимается. Дополнительные сведения см. в разделе Обзор обратимого удаления в Key Vault.
Дополнительные шаблоны Resource Manager для Key Vault
В других кратких руководствах пошагово описывается, как заполнить хранилище ключей секретами, ключами или сертификатами:
| Secrets | Keys | Сертификаты |
|---|---|---|
|
Дополнительные шаблоны для Key Vault можно найти здесь: Справочник по Resource Manager для Key Vault.
Дальнейшие действия
- См. Обзор Azure Key Vault.
- Просмотрите обзор безопасности Azure Key Vault.
- Узнайте о Azure RBAC для Key Vault.
- Проверка подлинности в хранилище ключей.
- руководство разработчика Azure Key Vault.