Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
通过在 Key Vault 中自动轮换加密密钥,可以设置 Key Vault 以按所选频率自动创建新的密钥版本。 若要设置轮换,请使用密钥轮换策略,可以为每个单独的密钥定义该策略。
若要遵循加密最佳做法,请至少每两年轮换加密密钥。
有关 Key Vault 如何版本对象的详细信息,请参阅 Key Vault 对象、标识符和版本控制。 若要全面了解 Azure Key Vault 中不同资产类型的自动轮次概念,请参阅 了解 Azure Key Vault 中的自动轮次。
与 Azure 服务集成
利用此功能,客户管理的密钥 (CMK) 存储在 Azure Key Vault 中的 Azure 服务可以对静态加密进行端到端的零接触轮换。 检查特定的 Azure 服务文档,查看该服务是否支持端到端轮换。
注意
轮换 Azure 服务使用的客户管理的密钥时,每个服务检测并应用新密钥版本所需的时间各不相同(从一小时到 24 小时或更多)。 有关轮换后何时可以安全地禁用旧密钥版本的指南,请参阅特定的 Azure 服务文档。
有关 Azure 中数据加密的详细信息,请参阅:
定价
每个计划的密钥轮换都会产生额外的费用。 有关详细信息,请参阅 Azure Key Vault 定价页。
所需的权限
Key Vault 密钥轮换功能需要密钥管理权限。 分配 Key Vault Crypto Officer 角色来管理轮换策略和按需轮换。
有关如何对 Key Vault 使用 Azure RBAC 和分配 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"
}
}
使用 Azure CLI az keyvault key rotation-policy update 命令对传递以前保存的文件的密钥设置轮换策略。
az keyvault key rotation-policy update --vault-name <vault-name> --name <key-name> --value </path/to/policy.json>
Azure PowerShell
使用 Azure PowerShell Set-AzKeyVaultKeyRotationPolicy cmdlet 设置轮换策略。
Set-AzKeyVaultKeyRotationPolicy -VaultName <vault-name> -KeyName <key-name> -ExpiresIn (New-TimeSpan -Days 720) -KeyRotationLifetimeAction @{Action="Rotate";TimeAfterCreate= (New-TimeSpan -Days 540)}
按需轮换
可以手动调用密钥轮换。
Portal
选择“ 立即旋转 ”以启动旋转过程。
Azure CLI
使用 Azure CLI az keyvault key rotate 命令轮换密钥。
az keyvault key rotate --vault-name <vault-name> --name <key-name>
Azure PowerShell
使用 Azure PowerShell Invoke-AzKeyVaultKeyRotation cmdlet 轮换密钥。
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."
}
},
"rotationTimeAfterCreate": {
"defaultValue": "P18M",
"type": "String",
"metadata": {
"description": "Time duration to trigger key rotation, for example, P30D, P1M, P2Y."
}
},
"expiryTime": {
"defaultValue": "P2Y",
"type": "String",
"metadata": {
"description": "The expiry time for new key version, for example, P90D, P2M, P3Y."
}
},
"notifyTime": {
"defaultValue": "P30D",
"type": "String",
"metadata": {
"description": "Near expiry Event Grid notification, for example, 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('rotationTimeAfterCreate')]",
"timeBeforeExpiry": ""
},
"action": {
"type": "Rotate"
}
},
{
"trigger": {
"timeBeforeExpiry": "[parameters('notifyTime')]"
},
"action": {
"type": "Notify"
}
}
],
"attributes": {
"expiryTime": "[parameters('expiryTime')]"
}
}
}
}
]
}
配置密钥轮换策略
通过使用 Azure Policy 服务,可以控制密钥生命周期,并确保所有密钥都配置为在指定的天数内轮换。
创建并分配策略定义
- 转到策略资源。
- 在“Azure Policy”页左侧的“创作”下选择“分配”。
- 选择页面顶部的“分配策略”。 此按钮会打开“策略分配”页面。
- 输入以下信息:
- 填写任何其他字段。 单击页面底部的 “上一 步”和“ 下一步 ”按钮,导航选项卡。
- 选择“查看 + 创建”。
- 选择 创建。
分配内置策略后,最长可能需要 24 小时才能完成扫描。 扫描完成后,可以看到如下所示的符合性结果。