在同一租户中为新存储帐户配置客户管理的密钥

Azure 存储对静态存储帐户中的所有数据进行加密。 默认情况下,数据使用 Microsoft 管理的密钥进行加密。 为了更进一步控制加密密钥,你可以管理自己的密钥。 客户管理的密钥必须存储在 Azure密钥保管库中。

本文介绍如何在创建新存储帐户时使用客户管理的密钥来配置加密。 客户管理的密钥存储在密钥保管库中。

若要了解如何为现有存储帐户配置客户管理的密钥,请参阅在 Azure 密钥保管库中为现有存储帐户配置客户管理的密钥

配置密钥保管库

你可以使用新的或现有的密钥保管库来存储客户管理的密钥。 存储帐户和密钥保管库可能在同一租户的不同区域或订阅中。 若要了解有关 Azure Key Vault 的详细信息,请参阅 Azure Key Vault 概述什么是 Azure Key Vault?

使用带有 Azure 存储加密的客户管理的密钥需要为密钥保管库启用软删除和清除保护。 创建新密钥保管库时,默认会启用软删除,并且无法禁用。 你可以在创建密钥保管库时或创建后启用清除保护。

Azure Key Vault 支持通过 Azure RBAC 权限模型使用 Azure RBAC 进行授权。 Azure 建议对密钥保管库访问策略使用 Azure RBAC 权限模型。 有关详细信息,请参阅使用 Azure RBAC 授予应用程序访问 Azure 密钥保管库的权限

若要了解如何使用 Azure 门户创建密钥保管库,请参阅快速入门:使用 Azure 门户创建密钥保管库。 创建密钥保管库时,选择“启用清除保护”,如下图所示。

显示如何在创建密钥保管库时启用清除保护的屏幕截图。

若要在现有密钥保管库上启用清除保护,请执行以下步骤:

  1. 在 Azure 门户中导航到密钥保管库。
  2. 在“设置”下面,选择“属性”。
  3. 在“清除保护”部分,选择“启用清除保护” 。

添加密钥

接下来,在密钥保管库中添加密钥。 在添加密钥之前,请确保已将“密钥保管库加密管理人员”角色分配给自己。

Azure 存储加密支持 2048、3072 和 4096 大小的 RSA 密钥。 有关支持的密钥类型详细信息,请参阅关于密钥

若要了解如何使用 Azure 门户添加密钥,请参阅快速入门:使用 Azure 门户在 Azure Key Vault 中设置和检索密钥中的说明创建密钥保管库。

使用用户分配的托管标识授予对密钥保管库的访问权限

为新存储帐户启用客户管理的密钥时,必须指定用户分配的托管标识。 现有存储帐户支持使用用户分配的托管标识或系统分配的托管标识来配置客户管理的密钥。

使用用户分配的托管标识配置客户管理的密钥时,用户分配的托管标识用来授予对包含密钥的密钥保管库的访问权限。 在配置客户管理的密钥之前,必须创建用户分配的标识。

用户分配的托管标识是独立的 Azure 资源。 若要详细了解用户分配的托管标识,请参阅托管标识类型。 若要了解如何创建和管理用户分配的托管标识,请参阅管理用户分配的托管标识

用户分配的托管标识必须具有访问密钥保管库中的此密钥的权限。 将“密钥保管库加密服务加密用户”角色分配给用户分配的托管标识(范围是密钥保管库),以授予这些权限。

必须先将“密钥保管库加密服务加密用户”角色分配给用户分配的托管标识(范围是密钥保管库),然后才能使用用户分配的托管标识配置客户管理的密钥。 此角色授予用户分配的托管标识访问密钥保管库中的密钥的权限。 若要详细了解如何使用 Azure 门户分配 Azure RBAC 角色,请参阅使用 Azure 门户分配 Azure 角色

使用 Azure 门户配置客户管理的密钥时,可以通过门户用户界面选择现有的用户分配的标识。

为新存储帐户配置客户管理的密钥

使用客户管理的密钥为新存储帐户配置加密时,只要关联的密钥保管库中有新版本可用,就可以选择自动更新用于 Azure 存储加密的密钥版本。 也可显式指定在手动更新密钥版本之前用于加密的密钥版本。

如果在创建存储帐户时配置客户管理的密钥,必须使用现有用户分配的托管标识来授权访问密钥保管库。 用户分配的托管标识必须具有访问密钥保管库的相应权限。 有关详细信息,请参阅向 Azure Key Vault 进行身份验证

配置加密以自动更新密钥版本

Azure 存储可以自动更新客户管理的密钥(用于加密),以使用密钥库中的最新密钥版本。 Azure 存储每天都会在密钥保管库中检查是否有密钥的新版本。 新版本可用时,Azure 存储会自动开始使用最新版本的密钥进行加密。

重要

Azure 存储每天只会在密钥保管库中检查一次是否存在密钥的新版本。 轮换密钥时,请务必等待 24 小时,然后再禁用旧版本。

若要通过自动更新密钥版本为新存储帐户配置客户管理的密钥,请执行以下步骤:

  1. 在 Azure 门户中,导航到“存储帐户”页,然后选择“创建”按钮以创建新帐户。

  2. 按照创建存储帐户中概述的步骤填写“基本信息”、“高级”、“网络”和“数据保护”选项卡上的字段。

  3. 在“加密”选项卡上的“启用对客户管理的密钥的支持”字段中,指示要为哪些服务启用对客户管理的密钥的支持。

  4. 在“加密类型”字段中,选择“客户管理的密钥(CMK)”。

  5. 在“加密密钥”字段中,选择“选择密钥保管库和密钥”,并指定密钥保管库和密钥。

  6. 对于“用户分配的标识”字段,选择现有用户分配的托管标识。

    屏幕截图显示如何在 Azure 门户中为新存储帐户配置客户管理的密钥。

  7. 选择“查看”按钮以验证并创建帐户。

在创建新的存储帐户时,还可以通过手动更新密钥版本配置客户管理的密钥。 请按照配置加密以手动更新密钥版本中的所述步骤进行操作。

为手动更新密钥版本配置加密

如果首选手动更新密钥版本,请在创建存储帐户的过程中在使用客户管理的密钥配置加密时显式指定该版本。 在这种情况下,在密钥保管库中创建新版本时,Azure 存储不会自动更新密钥版本。 若要使用新的密钥版本,必须手动更新用于 Azure 存储加密的版本。

如果在创建存储帐户时配置客户管理的密钥,必须使用现有用户分配的托管标识来授权访问密钥保管库。 用户分配的托管标识必须具有访问密钥保管库的相应权限。 有关详细信息,请参阅向 Azure Key Vault 进行身份验证

若要在 Azure 门户中配置客户管理的密钥并手动更新密钥版本,请在创建存储帐户时指定密钥 URI(包括版本)。 若要将某个密钥指定为 URI,请执行下列步骤:

  1. 在 Azure 门户中,导航到“存储帐户”页,然后选择“创建”按钮以创建新帐户。

  2. 按照创建存储帐户中概述的步骤填写“基本信息”、“高级”、“网络”和“数据保护”选项卡上的字段。

  3. 在“加密”选项卡上的“启用对客户管理的密钥的支持”字段中,指示要为哪些服务启用对客户管理的密钥的支持。

  4. 在“加密类型”字段中,选择“客户管理的密钥(CMK)”。

  5. 若要在 Azure 门户中查找密钥 URI,请导航到 Key Vault,然后选择“密钥”设置。 选择所需的密钥,然后选择该密钥以查看其版本。 选择一个密钥版本,查看该版本的设置。

  6. 复制“密钥标识符”字段的值(提供 URI)。

    显示 Azure 门户中密钥保管库密钥 URI 的屏幕截图。

  7. 在存储帐户的“加密密钥”设置中,选择“输入密钥 URI”选项。

  8. 将复制的 URI 粘贴到“密钥 URI”字段中。 在 URI 上包括密钥版本,以配置密钥版本的手动更新。

  9. 通过选择“选择标识”链接来指定用户分配的托管标识。

    屏幕截图显示如何在 Azure 门户中输入密钥 URI。

  10. 选择“查看”按钮以验证并创建帐户。

更改密钥

你可以在任何时候更改用于 Azure 存储加密的密钥。

注意

更改密钥或密钥版本时,根加密密钥的保护会更改,但是 Azure 存储帐户中的数据将始终保持加密状态。 无需执行其他操作即可确保数据受到保护。 更改密钥或轮换密钥版本不会影响性能。 更改密钥或轮换密钥版本不会造成关联性故障时间。

若要使用 Azure 门户更改密钥,请执行以下步骤:

  1. 导航到你的存储帐户,并显示“加密”设置。
  2. 选择密钥保管库并选择一个新密钥。
  3. 保存更改。

如果新密钥位于其他密钥保管库中,则必须向托管标识授予对新保管库中密钥的访问权限。 如果选择手动更新密钥版本,则还需要更新密钥保管库 URI

撤销对使用客户管理的密钥的存储帐户的访问权限

若要暂时撤销对使用客户管理的密钥的存储帐户的访问权限,请禁用密钥保管库中当前使用的密钥。 禁用和重新启用密钥不会对性能造成影响或导致停机。

在禁用密钥之后,客户端将无法调用在 Blob 或其元数据中进行读取或写入的操作。 有关哪些操作将会失败的信息,请参阅撤销对使用客户管理的密钥的存储帐户的访问权限

注意

禁用密钥保管库中的密钥时,Azure 存储帐户中的数据将保持加密状态,但在重新启用密钥之前,这些数据将无法访问。

若要使用 Azure 门户禁用客户管理的密钥,请执行以下步骤:

  1. 导航到包含该密钥的密钥保管库。

  2. 选择“对象”下的“密钥”。

  3. 右键单击密钥并选择“禁用”。

    屏幕截图显示如何在密钥保管库中禁用客户管理的密钥。

禁用密钥会导致访问存储帐户中数据的尝试失败,错误代码为 403(禁止)。 有关将受禁用密钥影响的存储帐户操作的列表,请参阅撤销对使用客户管理的密钥的存储帐户的访问权限

切换回 Microsoft 托管密钥

可以使用 Azure 门户、PowerShell 或 Azure CLI 随时从客户管理的密钥切换回 Microsoft 管理的密钥。

若要在 Azure 门户中从客户管理的密钥切换回 Microsoft 管理的密钥,请执行以下步骤:

  1. 导航到存储帐户。

  2. 在“安全 + 网络”下,选择“加密”。

  3. 将“加密类型”更改为“Microsoft 管理的密钥”。

    屏幕截图显示如何为存储帐户切换到 Microsoft 管理的密钥。

后续步骤