步骤 2:受 HSM 保护的密钥到受 HSM 保护的密钥的迁移

这些说明是从 AD RMS 到 Azure 信息保护的迁移路径的一部分,仅当 AD RMS 密钥受 HSM 保护,并且希望使用 Azure Key Vault 中受 HSM 保护的租户密钥迁移到 Azure 信息保护时才适用。

如果这不是你选择的配置方案,请返回到步骤 4. 从 AD RMS 中导出配置数据并将其导入到 Azure RMS,然后选择不同的配置。

注意

这些说明假定 AD RMS 密钥受模块保护。 这是最典型的情况。

这是将 HSM 密钥和 AD RMS 配置导入 Azure 信息保护的两部分过程,以生成由你托管的 Azure 信息保护租户密钥 (BYOK)。

由于 Azure 信息保护租户密钥将由 Azure Key Vault 存储和托管,因此除了 Azure 信息保护,这部分迁移还需要在 Azure Key Vault 中进行管理。 如果 Azure Key Vault 由与你不同的组织管理员托管,则必须协调并与该管理员协作以完成这些过程。

在开始之前,确保组织具有已在 Azure Key Vault 中创建的密钥保管库,并支持受 HSM 保护的密钥。 尽管这不是必需的,但建议为 Azure 信息保护提供专用密钥保管库。 此密钥保管库将配置为允许 Azure Rights Management Service 访问它,因此此密钥保管库存储的密钥应仅限于 Azure 信息保护密钥。

提示

如果要为 Azure Key Vault 执行配置步骤,并且不熟悉此 Azure 服务,则先查看 Azure Key Vault 入门可能会很有用。

第 1 部分:将 HSM 密钥传输到 Azure Key Vault

这些过程由 Azure Key Vault 管理员完成。

  1. 对于要存储在 Azure Key Vault 中的每个导出 SLC 密钥,按照 Azure Key Vault 文档中的说明操作,使用为 Azure Key Vault 实施“创建自己的密钥”(BYOK),但以下情况例外:

    • 请勿执行“生成租户密钥”的步骤,因为 AD RMS 部署中已有等效项。 转为从 nCipher 安装中识别 AD RMS 服务器使用的密钥,并准备这些密钥以进行传输,然后将其传输到 Azure Key Vault。

      适用于 nCipher 的加密密钥文件在服务器本地的名称为 key_<keyAppName>_<keyIdentifier>。 例如 C:\Users\All Users\nCipher\Key Management Data\local\key_mscapi_f829e3d888f6908521fe3d91de51c25d27116a54。 运行 KeyTransferRemote 命令以创建具有缩减权限的密钥副本时,需要将 mscapi 值作为 keyAppName,并使用你自己的值作为密钥标识符。

      将密钥上传到 Azure Key Vault 时,会看到显示的密钥属性,其中包括密钥 ID。 该 URL 将类似于 https://contosorms-kv.vault.azure.net/keys/contosorms-byok/aaaabbbbcccc111122223333. 记下此 URL,因为 Azure 信息保护管理员需要它告知 Azure Rights Management Service 将此密钥用于其租户密钥。

  2. 在连接了 Internet 的工作站上,在 PowerShell 会话中,请使用 Set-AzKeyVaultAccessPolicy cmdlet 授权 Azure Rights Management 服务主体访问将存储 Azure 信息保护租户密钥的密钥保管库。 所需的权限为解密、加密、解包密钥、包装密钥、验证和签名。

    例如,如果为 Azure 信息保护创建的密钥保管库名为 contoso-byok-ky,并且资源组名为 contoso-byok-rg,运行以下命令:

    Set-AzKeyVaultAccessPolicy -VaultName "contoso-byok-kv" -ResourceGroupName "contoso-byok-rg" -ServicePrincipalName 00000012-0000-0000-c000-000000000000 -PermissionsToKeys decrypt,sign,get
    

现在,你已在 Azure Key Vault 中为 Azure 信息保护中的 Azure Rights Management Service 准备好了 HSM 密钥,接下来可以导入 AD RMS 配置数据。

第 2 部分:将配置数据导入 Azure 信息保护

这些过程由 Azure 信息保护管理员完成。

  1. 在连接了 Internet 的工作站上,在 PowerShell 会话中通过使用 Connect-AipService cmdlet 连接到 Azure Rights Management 服务。

    然后,通过使用 Import-AipServiceTpd cmdlet 上传每个受信任的发布域 (.xml) 文件。 例如,如果为加密模式 2 升级了 AD RMS 群集,则至少应该导入一个附加文件。

    如果要运行此 cmdlet,则需要为每个配置数据文件指定的密码以及在上一步中标识的密钥 URL。

    例如,使用 C:\contoso-tpd1.xml 的配置数据文件和上一步中的密钥 URL 值,首先运行以下命令来存储密码:

     $TPD_Password = Read-Host -AsSecureString
    

    输入指定用于导出配置数据文件的密码。 然后运行以下命令,并确认要执行此操作:

    Import-AipServiceTpd -TpdFile "C:\contoso-tpd1.xml" -ProtectionPassword $TPD_Password –KeyVaultKeyUrl https://contoso-byok-kv.vault.azure.net/keys/contosorms-byok/aaaabbbbcccc111122223333 -Verbose
    

    作为此导入的一部分,SLC 密钥将导入并自动设置为已存档。

  2. 上传每个文件后,运行 Set-AipServiceKeyProperties 以指定哪个导入的密钥与 AD RMS 群集中当前活动的 SLC 密钥匹配。 此密钥将成为 Azure Rights Management Service 的活动租户密钥。

  3. 使用 Disconnect-AipServiceService cmdlet 断开与 Azure Rights Management 服务的连接:

    Disconnect-AipServiceService
    

如果你稍后需要确认 Azure 信息保护租户密钥在 Azure Key Vault 中使用的密钥,请使用 Get-AipServiceKeys Azure RMS cmdlet。

现在,可以转至步骤 5. 激活 Azure Rights Management 服务