Настройка автоматической смены криптографических ключей в Azure Key Vault
Обзор
Автоматическая смена криптографических ключей в Key Vault позволяет пользователям настроить Key Vault для автоматического создания версии ключа с указанной частотой. Чтобы настроить смену, вы можете использовать политику смены ключей, которую можно определить для каждого отдельного ключа.
Мы рекомендуем менять ключи шифрования по меньшей мере каждые два года в соответствии с криптографическими передовыми практиками.
Дополнительные сведения об управлении версиями объектов в Key Vault см. в разделе Объекты, идентификаторы и управление версиями в Key Vault.
Интеграция со службами Azure
Эта функция позволяет полностью и автоматически менять ключи шифрования хранимых данных для служб Azure с управляемыми клиентами ключами (CMK), хранимыми в Azure Key Vault. См. соответствующую документацию по службе Azure, чтобы узнать, поддерживает ли служба полную смену.
Дополнительные сведения о шифровании данных в Azure см. в следующих статьях:
- Шифрование неактивных данных в Azure
- Таблица со сведениями о поддержке шифрования данных в службах Azure
Цены
За запланированную смену ключей взимается дополнительная плата. Дополнительные сведения см. на странице цен на Azure Key Vault.
Требуемые разрешения
Для использования функции смены ключей Key Vault необходимы права на управление ключами. Вы можете назначить роль "Key Vault Crypto Officer" (Специалист по шифрованию хранилища ключей), чтобы обеспечить управление политикой смены и сменой по запросу.
Дополнительные сведения об использовании модели разрешений RBAC в Key Vault и назначении ролей Azure см. в статье Использование Azure RBAC для управления доступом к ключам, сертификатам и секретам.
Примечание.
Если вы используете модель разрешений с политиками доступа, вам нужно будет задать разрешения "Смена", "Настройка политики смены" и "Получение политики смены" для ключей, чтобы управлять политикой смены ключей.
Политика смены ключей
Политика смены ключей позволяет пользователям настраивать смену ключей, а также уведомления Сетки событий о скором окончании срока действия ключа.
Параметры политики смены ключей:
- Срок действия: интервал окончания срока действия для ключа. Используется, чтобы задать дату окончания срока действия для только что замененного ключа, и не влияет на текущий ключ.
- Включено/отключено: флаг для включения или отключения смены для ключа.
- Типы поворотов:
- Автоматическое продление в указанное время после создания (по умолчанию).
- Автоматическое продление в заданный момент времени перед окончанием срока действия. При этом для политики смены нужно задать значение "Срок действия", а для ключа — "Дата окончания срока действия".
- Время смены: интервал смены ключа, минимальное значение — 7 дней от даты создания и 7 дней до окончания срока действия.
- Время уведомления: интервал времени до наступления скорого окончания срока действия ключа для уведомления Сетки событий. При этом для политики смены нужно задать значение "Срок действия", а для ключа — "Дата окончания срока действия".
Внимание
Смена ключа позволяет создать новую версию существующего ключа с новым материалом ключа. Целевые службы должны использовать универсальный код ресурса (URI) ключа без версий для автоматического обновления до последней версии ключа. Во избежание прерывания работы служб убедитесь, что решение для шифрования данных сохраняет URI с контролем версий с данными, ссылающимися на тот же материал ключа для операций шифрования и расшифровки, что и для упаковки и распаковки. В настоящее время все службы Azure используют этот шаблон для шифрования данных.
Настройка политики смены ключей
Настройте политику смены ключей во время их создания.
Настройте политику смены для существующих ключей.
Azure CLI
Сохраните политику смены ключей в файл. Пример политики смены ключей:
{
"lifetimeActions": [
{
"trigger": {
"timeAfterCreate": "P18M",
"timeBeforeExpiry": null
},
"action": {
"type": "Rotate"
}
},
{
"trigger": {
"timeBeforeExpiry": "P30D"
},
"action": {
"type": "Notify"
}
}
],
"attributes": {
"expiryTime": "P2Y"
}
}
Настройте политику смены ключа, передав ранее сохраненный файл, с помощью команды az keyvault key rotation-policy update в Azure CLI.
az keyvault key rotation-policy update --vault-name <vault-name> --name <key-name> --value </path/to/policy.json>
Azure PowerShell
Настройте политику смены ключа с помощью командлета Set-AzKeyVaultKeyRotationPolicy в Azure PowerShell.
Set-AzKeyVaultKeyRotationPolicy -VaultName <vault-name> -KeyName <key-name> -ExpiresIn (New-TimeSpan -Days 720) -KeyRotationLifetimeAction @{Action="Rotate";TimeAfterCreate= (New-TimeSpan -Days 540)}
Смена по запросу
Смену ключей можно запустить вручную.
Портал
Щелкните "Сменить сейчас", чтобы запустить смену.
Azure CLI
Для смены ключа используйте команду az keyvault key rotate в Azure CLI.
az keyvault key rotate --vault-name <vault-name> --name <key-name>
Azure PowerShell
Используйте командлет Invoke-AzKeyVaultKeyRotation в Azure PowerShell.
Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>
Настройка уведомления о скором окончании срока действия ключа
Настройка уведомления для события скорого окончания срока действия ключа в Сетке событий. Если автоматическая смена не может использоваться, например при импорте ключа из локального устройства HSM, вы можете настроить уведомление о истечении срока действия в качестве напоминания о смене вручную или в качестве триггера для пользовательской автоматической смены с помощью интеграции с Сеткой событий. Вы можете настроить отправку оповещений за несколько дней, месяцев или лет до окончания срока, чтобы запустить событие окончания срока действия.
Дополнительные сведения об уведомлениях Сетки событий в Key Vault см. в статье Azure Key Vault как источник Сетки событий.
Настройка смены ключей с помощью шаблона ARM
Политику смены ключей также можно настроить с помощью шаблонов ARM.
Примечание.
Для развертывания ключа через плоскость управления необходимо с помощью Azure RBAC настроить роль "Участник Key Vault" для Key Vault.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vaultName": {
"type": "String",
"metadata": {
"description": "The name of the key vault to be created."
}
},
"keyName": {
"type": "String",
"metadata": {
"description": "The name of the key to be created."
}
},
"rotatationTimeAfterCreate": {
"defaultValue": "P18M",
"type": "String",
"metadata": {
"description": "Time duration to trigger key rotation. i.e. P30D, P1M, P2Y"
}
},
"expiryTime": {
"defaultValue": "P2Y",
"type": "String",
"metadata": {
"description": "The expiry time for new key version. i.e. P90D, P2M, P3Y"
}
},
"notifyTime": {
"defaultValue": "P30D",
"type": "String",
"metadata": {
"description": "Near expiry Event Grid notification. i.e. P30D"
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults/keys",
"apiVersion": "2021-06-01-preview",
"name": "[concat(parameters('vaultName'), '/', parameters('keyName'))]",
"location": "[resourceGroup().location]",
"properties": {
"vaultName": "[parameters('vaultName')]",
"kty": "RSA",
"rotationPolicy": {
"lifetimeActions": [
{
"trigger": {
"timeAfterCreate": "[parameters('rotatationTimeAfterCreate')]",
"timeBeforeExpiry": ""
},
"action": {
"type": "Rotate"
}
},
{
"trigger": {
"timeBeforeExpiry": "[parameters('notifyTime')]"
},
"action": {
"type": "Notify"
}
}
],
"attributes": {
"expiryTime": "[parameters('expiryTime')]"
}
}
}
}
]
}
Настройка управления политикой смены ключей
Используя службу Политика Azure, вы можете управлять жизненным циклом ключей и убедиться, что все ключи настроены для смены в течение указанного количества дней.
Создание и назначение определения политики
- Перейдите к ресурсу политики.
- Выберите назначения в разделе "Создание" в левой части страницы Политика Azure.
- Выберите " Назначить политику " в верхней части страницы. Эта кнопка откроется на странице назначения политики.
- Введите следующие сведения:
- Определите область политики, выбрав подписку и группу ресурсов, над которой будет применяться политика. Выберите, нажав кнопку с тремя точками в поле "Область ".
- Выберите имя определения политики: "Ключи должны иметь политику смены, гарантируя, что их смена запланирована в течение указанного числа дней после создания".
- Перейдите на вкладку "Параметры" в верхней части страницы.
- Задайте максимальное число дней для смены параметра в нужное число дней, например 730.
- Определите требуемый эффект политики (аудит или отключение).
- Заполните все дополнительные поля. Перейдите на вкладки, нажав кнопки "Назад " и "Далее " в нижней части страницы.
- Нажмите Проверить и создать.
- Нажмите кнопку Создать
После назначения встроенной политики может потребоваться до 24 часов для завершения проверки. После завершения сканирования вы сможете просмотреть результаты соответствия требованиям, как показано ниже.