配置密钥轮换

已完成

Key Vault 中的加密密钥自动轮换使客户可将 Key Vault 配置为按指定频率自动生成新的密钥版本。 若要配置轮换,可以使用密钥轮换策略,该策略可在每个单个密钥上定义。

建议至少每两年轮换一次加密密钥,以满足加密最佳做法的要求。

有关如何对 Key Vault 中的对象进行版本控制的更多信息,请参见 Key Vault 对象、标识符和版本控制

与 Azure 服务集成

利用此功能,客户管理的密钥 (CMK) 存储在 Azure Key Vault 中的 Azure 服务可以对静态加密进行端到端的零接触轮换。 请参阅特定的 Azure 服务文档,了解该服务是否涵盖端到端轮换。

有关 Azure 中数据加密的详细信息,请参阅:

定价

每个计划的密钥轮换都会产生额外的费用。

所需权限

Key Vault 的密钥轮换功能需要密钥管理权限。 可以分配“Key Vault 加密管理人员”角色来管理轮换策略和按需轮换。

密钥轮换策略

密钥轮换策略使用户可为即将到期通知配置轮换和事件网格通知。

密钥轮换策略设置:

  • 到期时间:密钥的过期时间间隔。 它用于设置新轮换密钥的到期日期。 它不会影响当前密钥。

  • 已启用/已禁用:用于启用或禁用密钥轮换的标志

  • 轮换类型:

    • 创建后,在给定时间自动续订(默认)
    • 在到期前在给定时间自动续订。 它需要对轮换策略设置“到期时间”,并对密钥设置“到期日期”。
  • 轮换时间:密钥轮换间隔,最小值为创建前七天和过期后七天

  • 通知时间:事件网格通知的密钥即将到期事件间隔。 它需要对轮换策略设置“到期时间”,并对密钥设置“到期日期”。

密钥轮换使用新密钥材料生成现有密钥的新密钥版本。 目标服务应使用无版本密钥 URI 自动刷新到最新版本的密钥。 确保数据加密解决方案将存储版本控制密钥 URI,以及指向用于解密/解包的密钥材料(此密钥材料应与加密/包装操作所用的密钥材料相同)的数据,以避免服务中断。 所有 Azure 服务当前都遵循该模式进行数据加密。

屏幕截图显示密钥轮换策略配置页面示例。

配置密钥轮换策略

在密钥创建过程中配置密钥轮换策略。

配置密钥即将到期的通知

为事件网格密钥即将到期事件配置到期通知。 如果无法使用自动轮换(例如从本地 HSM 导入密钥时),可以将即将过期的通知配置为手动轮换提醒或通过与事件网格集成来触发自定义自动轮换。 可以将通知配置为在到期前几天、数月和数年触发即将到期的事件。

配置密钥轮换策略

使用 Azure Policy 服务,可以控制密钥生命周期,并确保将所有密钥配置为在指定的天数内轮换。

创建并分配策略定义

  1. 导航到策略资源

  2. 在“Azure Policy”页左侧的“创作”下选择“分配”。

  3. 选择页面顶部的“分配策略”。 此按钮会打开“策略分配”页面。

  4. 输入以下信息:

    • 通过选择要对其强制实施策略的订阅和资源组来定义策略的范围。 单击“范围”字段中的三点按钮进行选择。

    • 选择策略定义的名称:“密钥应具有轮换策略,确保在创建后的指定天数内安排其轮换。 "

    • 转到页面顶部的“参数”选项卡。

      • 将“最长轮换天数”参数设置为所需的天数,例如 730。
      • 定义策略的预期效果(“审核”或“已禁用”)。
  5. 填写任何其他字段。 单击页面底部的“上一步”和“下一步”按钮导航选项卡。

  6. 选择“查看 + 创建”。

  7. 选择“创建”。

分配内置策略后,可能需要 24 小时才能完成扫描。 扫描完成后,可以看到如下所示的符合性结果。

针对现有密钥配置轮换策略。

屏幕截图显示一个有关如何在现有密钥上配置密钥轮换策略的示例。

Azure CLI

将密钥轮换策略保存到文件。

使用 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)}

按需轮换

密钥轮换可以手动调用。

门户

单击“立即轮换”以调用轮换。

屏幕截图显示如何调用密钥轮换策略。

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 作为事件网格源