步驟 2:受軟體保護的金鑰移轉至受 HSM 保護的金鑰移轉

這些指示是從 AD RMS 移轉到 Azure 資訊保護路徑的一部分,而且只有在 AD RMS 金鑰受到軟體保護且您想要使用 Azure 金鑰保存庫中受 HSM 保護的租使用者金鑰移轉至 Azure 資訊保護時才適用。

如果這不是您選擇的設定案例,請返回 步驟 4。從 AD RMS 匯出組態資料並匯入至 Azure RMS ,然後選擇不同的設定。

將 AD RMS 設定匯入至 Azure 資訊保護需要四個部分的程式,以產生由您在 Azure 金鑰保存庫 中 (BYOK) 所管理的 Azure 資訊保護租使用者金鑰。

您必須先從 AD RMS 組態資料 (SLC) 金鑰擷取伺服器授權憑證,然後將金鑰傳輸到內部部署的 nCipher HSM,然後將 HSM 金鑰傳輸到 Azure 金鑰保存庫,然後從 Azure 資訊保護授權 Azure 版權管理服務以存取您的金鑰保存庫,然後匯入組態資料。

由於您的 Azure 資訊保護租使用者金鑰將由 Azure 金鑰保存庫儲存和管理,因此此部分移轉需要 Azure 金鑰保存庫 中的系統管理,以及 Azure 資訊保護。 如果 Azure 金鑰保存庫是由與貴組織不同的系統管理員管理,您必須與該管理員協調並共同完成這些程式。

開始之前,請確定貴組織有在 Azure 金鑰保存庫中建立的重要保存庫,而且它支援受 HSM 保護的金鑰。 雖然並非必要,但建議您擁有 Azure 資訊保護專用的索引鍵庫。 此索引鍵庫將設定為允許 Azure 資訊保護的 Azure 版權管理服務存取,因此此索引鍵庫儲存的金鑰應僅限於 Azure 資訊保護金鑰。

提示

如果您正在執行 Azure 金鑰保存庫設定步驟,而您不熟悉此 Azure 服務,建議您先檢閱Azure 金鑰保存庫開始

第 1 部分:從組態資料擷取 SLC 金鑰,並將金鑰匯入到內部部署的 HSM

  1. Azure 金鑰保存庫系統管理員:針對您要儲存在 Azure 金鑰保存庫中的每一個匯出 SLC 金鑰,請使用 Azure 金鑰保存庫檔的實作為Azure 金鑰保存庫) 自帶金鑰 (BYOK) 一節中的下列步驟:

    請勿依照步驟產生您的租使用者金鑰,因為匯出的組態資料 (.xml) 檔案中已經有對等的值。 相反地,您會執行工具,從檔案中擷取此金鑰,並將它匯入到內部部署的 HSM。 工具會在您執行時建立兩個檔案:

    • 不含金鑰的新組態資料檔,隨即準備要匯入到您的 Azure 資訊保護租使用者。

    • PEM 檔案 (金鑰容器) ,然後即可匯入至內部部署的 HSM。

  2. Azure 資訊保護系統管理員或 Azure 金鑰保存庫系統管理員:在中斷連線的工作站上,從Azure RMS 移轉工具組執行 TpdUtil 工具。 例如,如果工具已安裝在 E 磁片磁碟機上,而您在此複製名為 ContosoTPD.xml 的組態資料檔案:

    E:\TpdUtil.exe /tpd:ContosoTPD.xml /otpd:ContosoTPD.xml /opem:ContosoTPD.pem
    

    如果您有多個 RMS 設定資料檔,請針對這些檔案的其餘部分執行此工具。

    若要查看此工具的說明,其中包含描述、使用方式和範例,請執行TpdUtil.exe但不含參數

    此命令的其他資訊:

    • /tpd:指定匯出的 AD RMS 組態資料檔的完整路徑和名稱。 完整參數名稱是 TpdFilePath

    • /otpd:指定組態資料檔的輸出檔案名,不含金鑰。 完整參數名稱是 OutPfxFile。 如果您未指定此參數,輸出檔案會預設為具有尾碼 _keyless的原始檔案名,而且會儲存在目前的資料夾中。

    • /opem:指定 PEM 檔案的輸出檔案名,其中包含解壓縮的金鑰。 完整參數名稱是 OutPemFile。 如果您未指定此參數,輸出檔案會預設為含有尾碼 _key的原始檔案名,而且會儲存在目前的資料夾中。

    • 如果您在執行此命令時未指定密碼, (使用 TpdPassword 完整參數名稱或 pwd 簡短參數名稱) ,系統會提示您指定密碼。

  3. 在相同的中斷連線工作站上,根據您的 nCipher 檔附加和設定您的 nCipher HSM。 您現在可以使用下列命令,將金鑰匯入附加的 nCipher HSM,其中需要用您自己的檔案名來取代 ContosoTPD.pem:

    generatekey --import simple pemreadfile=e:\ContosoTPD.pem plainname=ContosoBYOK protect=module ident=contosobyok type=RSA
    

    注意

    如果您有多個檔案,請選擇對應至您要在 Azure RMS 中使用之 HSM 金鑰的檔案,以保護移轉後的內容。

    這會產生類似下列的輸出顯示器:

    關鍵世代參數:

    執行匯入作業

    應用程式簡單

    確認確認組態金鑰的安全性是否為

    類型按鍵類型 RSA

    pemreadfile PEM 檔案包含 RSA 金鑰 e:\ContosoTPD.pem

    識別碼 contosobyok

    純名金鑰名稱 ContosoBYOK

    金鑰已成功匯入。

    機碼路徑:C:\ProgramData\nCipher\Key Management Data\local\key_simple_contosobyok

此輸出結果確認私密金鑰現在已移轉到內部部署 nCipher HSM 裝置,其中包含一份加密複本,並儲存到我們範例中的金鑰 (「key_simple_contosobyok」) 。

現在已擷取 SLC 金鑰並匯入到內部部署的 HSM,您已準備好封裝受 HSM 保護的金鑰,並將它傳輸到 Azure 金鑰保存庫。

重要

當您完成此步驟時,請安全地從中斷連線的工作站清除這些 PEM 檔案,以確保他們無法被未經授權的人員存取。 例如,執行"cipher /w: E" 可安全地刪除 E: 磁片磁碟機中的所有檔案。

第 2 部分:將 HSM 金鑰封裝並傳輸到 Azure 金鑰保存庫

Azure 金鑰保存庫系統管理員:針對您要儲存在 Azure 金鑰庫中的每一個匯出 SLC 金鑰,請使用 A 金鑰保存庫zure 金鑰保存庫檔的實作自帶金鑰 (BYOK) 一節中的下列步驟:

由於您已經有金鑰,因此請勿依照步驟來產生金鑰配對。 相反地,您會執行一個命令來傳輸此金鑰 (在我們的範例中,我們的 KeyIdentifier 參數使用從您內部部署 HSM 的 "contosobyok") 。

將金鑰移轉至 Azure 金鑰保存庫 之前,請確定KeyTransferRemote.exe公用程式會傳回結果:當您在步驟 4.1) 建立許可權 (降低許可權的金鑰複本,以及當您加密金鑰 (步驟 4.3) 時,成功。

當金鑰上傳到 Azure 金鑰保存庫時,您會看到顯示按鍵的內容,其中包括金鑰識別碼。 看起來會很類似 https://contosorms-kv.vault.azure.net/keys/contosorms-byok/aaaabbbbcccc111122223333 。 請記下此 URL,因為 Azure 資訊保護系統管理員將需要它告知 Azure 資訊保護的 Azure 版權管理服務使用此金鑰做為其租使用者金鑰。

然後使用 Set-AzKeyVaultAccessPolicy Cmdlet 授權 Azure 版權管理服務主體存取金鑰庫。 所需的許可權為解密、加密、取消金鑰、自動換列、驗證和簽署。

例如,如果您為 Azure 建立資訊保護索引鍵庫名稱為 contosorms-byok-kv,而您的資源群組名為contosorms-byok-rg,請執行下列命令:

Set-AzKeyVaultAccessPolicy -VaultName "contosorms-byok-kv" -ResourceGroupName "contosorms-byok-rg" -ServicePrincipalName 00000012-0000-0000-c000-000000000000 -PermissionsToKeys decrypt,encrypt,unwrapkey,wrapkey,verify,sign,get

現在您已將 HSM 金鑰移轉到 Azure 金鑰保存庫,您已準備好匯入 AD RMS 設定資料。

第 3 部分:將組態資料匯入 Azure 資訊保護

  1. Azure 資訊保護系統管理員:在連線網際網路的工作站和 PowerShell 會話中,透過執行 TpdUtil 工具後移除 SLC 金鑰的新組態資料檔 (.xml) 進行複製。

  2. Upload每個.xml檔案,請使用Import-AipServiceTpd Cmdlet。 例如,如果您將 AD RMS 叢集升級為加密編譯模式 2,您至少應該要另外匯入一個檔案。

    若要執行此 Cmdlet,您需要您先前為組態資料檔指定的密碼,以及上一個步驟中識別之金鑰的 URL。

    例如,使用 C:\contoso_keyless.xml 的組態資料檔,以及前一個步驟的關鍵 URL 值,首先執行下列動作以儲存密碼:

     $TPD_Password = Read-Host -AsSecureString
    

    輸入您指定的密碼以匯出組態資料檔案。 然後,執行下列命令,並確認您要執行此動作:

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

    在此匯入作業中,系統會匯入 SLC 金鑰,並自動設定為封存。

  3. 當您上傳每個檔案時,請執行 Set-AipServiceKeyProperties 來指定哪些匯入的金鑰符合 AD RMS 叢集中目前作用中的 SLC 金鑰。

  4. 使用 Disconnect-AipServiceService Cmdlet 與 Azure 版權管理服務中斷連線:

    Disconnect-AipServiceService
    

如果您稍後需要確認 Azure 資訊保護租使用者金鑰在 Azure 金鑰保存庫中使用的金鑰,請使用Get-AipServiceKeys Azure RMS Cmdlet。

您現在可以開始進行 步驟 5 了。啟用 Azure 版權管理服務