设置Cloud Volumes ONTAP以在 Azure 中使用客户管理的密钥
使用带有 Microsoft 管理密钥的 Azure 存储服务加密,数据在 Azure 中的Cloud Volumes ONTAP上自动加密。但是您可以按照本页上的步骤使用您自己的加密密钥。
数据加密概述
Cloud Volumes ONTAP数据在 Azure 中自动使用 "Azure 存储服务加密"。默认实现使用 Microsoft 管理的密钥。无需设置。
如果您想将客户管理的密钥与Cloud Volumes ONTAP一起使用,则需要完成以下步骤:
-
从 Azure 创建一个密钥保管库,然后在该保管库中生成一个密钥。
-
从NetApp控制台,使用 API 创建使用密钥的Cloud Volumes ONTAP系统。
数据如何加密
控制台使用磁盘加密集,从而可以通过托管磁盘而不是页面 blob 来管理加密密钥。任何新的数据磁盘也使用相同的磁盘加密集。较低版本将使用 Microsoft 管理的密钥,而不是客户管理的密钥。
创建配置为使用客户管理密钥的Cloud Volumes ONTAP系统后, Cloud Volumes ONTAP数据将按如下方式加密。
Cloud Volumes ONTAP配置 | 用于密钥加密的系统磁盘 | 用于密钥加密的数据磁盘 |
---|---|---|
单节点 |
|
|
具有页 Blob 的 Azure HA 单可用性区域 |
|
无 |
具有共享托管磁盘的 Azure HA 单可用性区域 |
|
|
具有共享托管磁盘的 Azure HA 多个可用性区域 |
|
|
Cloud Volumes ONTAP的所有 Azure 存储帐户均使用客户管理的密钥加密。如果您想在创建存储帐户期间对其进行加密,则必须在Cloud Volumes ONTAP创建请求中创建并提供资源的 ID。这适用于所有类型的部署。如果您不提供,存储帐户仍将被加密,但控制台首先使用 Microsoft 管理的密钥加密创建存储帐户,然后更新存储帐户以使用客户管理的密钥。
Cloud Volumes ONTAP中的密钥轮换
配置加密密钥时,必须使用 Azure 门户来设置并启用自动密钥轮换。创建并启用新版本的加密密钥可确保Cloud Volumes ONTAP可以自动检测并使用最新的密钥版本进行加密,从而确保您的数据保持安全而无需人工干预。
有关配置密钥和设置密钥轮换的信息,请参阅以下 Microsoft Azure 文档主题:
|
配置密钥后,请确保已选择 "启用自动旋转",以便Cloud Volumes ONTAP可以在之前的密钥过期时使用新的密钥。如果您未在 Azure 门户上启用此选项, Cloud Volumes ONTAP将无法自动检测新密钥,这可能会导致存储配置问题。 |
创建用户分配的托管标识
您可以选择创建称为用户分配的托管标识的资源。这样做可以让您在创建Cloud Volumes ONTAP系统时加密您的存储帐户。我们建议在创建密钥保管库和生成密钥之前创建此资源。
该资源具有以下 ID: userassignedidentity
。
-
在 Azure 中,转到 Azure 服务并选择 托管标识。
-
单击“创建”。
-
提供以下详细信息:
-
订阅:选择订阅。我们建议选择与控制台代理的订阅相同的订阅。
-
资源组:使用现有资源组或创建一个新的资源组。
-
区域:可选,选择与控制台代理相同的区域。
-
名称:输入资源的名称。
-
-
(可选)添加标签。
-
单击“创建”。
创建密钥保管库并生成密钥
密钥保管库必须位于您计划创建Cloud Volumes ONTAP系统的同一 Azure 订阅和区域中。
如果你创建了用户分配的托管标识,在创建密钥保管库时,还应该为密钥保管库创建访问策略。
-
请注意密钥保管库的以下要求:
-
密钥保管库必须与Cloud Volumes ONTAP系统位于同一区域。
-
应启用以下选项:
-
软删除(此选项默认启用,但不能禁用)
-
清除保护
-
用于卷加密的 Azure 磁盘加密(适用于单节点系统、多个区域中的 HA 对以及 HA 单 AZ 部署)
使用 Azure 客户管理加密密钥的前提是为密钥保管库启用 Azure 磁盘加密。
-
-
如果创建了用户分配的托管标识,则应启用以下选项:
-
保险库访问政策
-
-
-
如果选择了“保管库访问策略”,请单击“创建”为密钥保管库创建访问策略。如果没有,请跳至步骤 3。
-
选择以下权限:
-
得到
-
列表
-
解密
-
加密
-
解开密钥
-
包装键
-
核实
-
符号
-
-
选择用户分配的托管标识(资源)作为主体。
-
审查并创建访问策略。
-
-
请注意密钥的以下要求:
-
密钥类型必须是*RSA*。
-
建议的 RSA 密钥大小为 2048,但也支持其他大小。
-
创建使用加密密钥的系统
创建密钥保管库并生成加密密钥后,您可以创建配置为使用该密钥的新Cloud Volumes ONTAP系统。这些步骤通过使用 API 来支持。
如果要在单节点Cloud Volumes ONTAP系统中使用客户管理密钥,请确保控制台代理具有以下权限:
"Microsoft.Compute/diskEncryptionSets/read",
"Microsoft.Compute/diskEncryptionSets/write",
"Microsoft.Compute/diskEncryptionSets/delete"
"Microsoft.KeyVault/vaults/deploy/action",
"Microsoft.KeyVault/vaults/read",
"Microsoft.KeyVault/vaults/accessPolicies/write",
"Microsoft.ManagedIdentity/userAssignedIdentities/assign/action"
-
使用以下 API 调用获取 Azure 订阅中的密钥保管库列表。
对于 HA 对:
GET /azure/ha/metadata/vaults
对于单节点:
GET /azure/vsa/metadata/vaults
记下*名称*和*资源组*。您需要在下一步中指定这些值。
-
使用以下 API 调用获取保管库中的密钥列表。
对于 HA 对:
GET /azure/ha/metadata/keys-vault
对于单节点:
GET /azure/vsa/metadata/keys-vault
记下*keyName*。您需要在下一步中指定该值(以及保险库名称)。
-
使用以下 API 调用创建Cloud Volumes ONTAP系统。
-
对于 HA 对:
POST /azure/ha/working-environments
请求主体必须包含以下字段:
"azureEncryptionParameters": { "key": "keyName", "vaultName": "vaultName" }
包括 `"userAssignedIdentity": " userAssignedIdentityId"`如果您创建此资源是为了用于存储帐户加密,则字段。 -
对于单节点系统:
POST /azure/vsa/working-environments
请求主体必须包含以下字段:
"azureEncryptionParameters": { "key": "keyName", "vaultName": "vaultName" }
包括 `"userAssignedIdentity": " userAssignedIdentityId"`如果您创建此资源是为了用于存储帐户加密,则字段。
-
您有一个新的Cloud Volumes ONTAP系统,该系统配置为使用客户管理的密钥进行数据加密。