設定客戶金鑰

使用客戶金鑰,您可以控制組織的加密金鑰,然後將 Microsoft 365 設定為使用它們來加密 Microsoft 數據中心中的待用數據。 換句話說,客戶金鑰可讓您使用金鑰來新增屬於您的加密層。

使用客戶金鑰之前,請先設定 Azure。 本文說明建立和設定必要 Azure 資源所需的步驟,然後提供設定客戶密鑰的步驟。 設定 Azure 之後,您會決定要指派哪些原則,以及哪些密鑰來加密組織中各種 Microsoft 365 工作負載的數據。 如需客戶金鑰或一般概觀的詳細資訊,請參閱 客戶密鑰概觀

重要事項

強烈建議您遵循本文中的最佳做法。 這些會標示為 TIPIMPORTANT。 客戶密鑰可讓您控制根加密金鑰,其範圍可以和整個組織一樣大。 這表示使用這些金鑰所犯的錯誤可能會有廣泛的影響,並可能導致服務中斷或無法復原的數據遺失。

提示

如果您不是 E5 客戶,請使用 90 天的 Microsoft Purview 解決方案試用版來探索其他 Purview 功能如何協助貴組織管理數據安全性與合規性需求。 立即從 Microsoft Purview 合規性入口網站 試用中樞開始。 瞭解 有關註冊和試用版條款的詳細數據

Windows 365 Microsoft Purview 客戶金鑰的支持處於公開預覽狀態,而且可能會變更。

設定客戶金鑰之前

開始之前,請確定您擁有適當的 Azure 訂用帳戶和 Microsoft 365、Office 365 和 Windows 365 授權。 您必須使用付費 Azure 訂用帳戶。 您在舊版支援下透過免費、試用、贊助、MSDN 訂用帳戶和訂用帳戶取得的訂用帳戶不符合資格。

重要事項

提供 Microsoft 365 客戶金鑰的有效 Microsoft 365/Office 365 授權包括:

  • Office 365 E5
  • Microsoft 365 E5
  • Microsoft 365 E5 合規性
  • Microsoft 365 E5 資訊保護 & 治理 SKU
  • 適用於 FLW 的 Microsoft 365 安全性與合規性

繼續支持現有的 Office 365 進階合規性 授權。

若要瞭解本文中的概念和程式,請檢閱 Azure 金鑰保存庫 檔。 此外,請熟悉 Azure 中使用的詞彙,例如 Microsoft Entra 租使用者

如果您需要檔以外的更多支援,請連絡 Microsoft 諮詢服務 (MCS) 、Premier Field Engineering (PFE) 或 Microsoft 合作夥伴以取得協助。 若要提供客戶金鑰的意見反應,包括檔,請將您的想法、建議和觀點傳 customerkeyfeedback@microsoft.com送給 。

設定客戶金鑰的步驟概觀

若要設定客戶金鑰,請依列出的順序完成這些工作。 本文的其餘部分會提供每個工作的詳細指示,或連結至程式中每個步驟的詳細資訊。

在 Azure 和 Microsoft FastTrack 中:

這些工作大部分都是透過遠端連線到 Azure PowerShell 來完成。 如需最佳結果,請使用 4.4.0 版或更新版本的 Azure PowerShell。

完成 Azure 金鑰保存庫 和客戶金鑰 Microsoft FastTrack 中的工作

在 Azure 金鑰保存庫 中完成這些工作。 您必須為搭配客戶金鑰使用的所有 DP 完成這些步驟。

建立兩個新的 Azure 訂用帳戶

客戶金鑰需要兩個 Azure 訂用帳戶。 最佳做法是,Microsoft 建議您建立新的 Azure 訂用帳戶,以搭配客戶密鑰使用。 Azure 金鑰保存庫 金鑰只能針對相同 Microsoft Entra 租使用者中的應用程式授權,您必須使用與指派 DEP 的組織一起使用的相同 Microsoft Entra 租使用者來建立新的訂用帳戶。 例如,使用組織中具有全域系統管理員許可權的公司或學校帳戶。 如需詳細步驟,請 參閱以組織身分註冊 Azure

重要事項

客戶金鑰需要每個數據加密原則的兩個金鑰 (DEP) 。 若要達到此目的,您必須建立兩個 Azure 訂用帳戶。 最佳做法是,Microsoft 建議您有個別的組織成員,在每個訂用帳戶中設定一個密鑰。 您應該只使用這些 Azure 訂用帳戶來管理 Microsoft 365 的加密密鑰。 這可保護您的組織,以防您的其中一個操作員不小心、刻意或惡意刪除或管理他們所負責的密鑰不正確。

您可以為組織建立的 Azure 訂用帳戶數目沒有實際限制。 遵循這些最佳做法可將人為錯誤的影響降至最低,同時協助管理客戶密鑰所使用的資源。

提交啟用 Microsoft 365 客戶金鑰的要求

如果您有政府租使用者,請略過「提交啟用 Microsoft 365 客戶密鑰的要求」,然後繼續 註冊 Azure 訂用帳戶以使用強制保留期間

建立兩個新的 Azure 訂用帳戶之後,請在 Microsoft FastTrack 入口網站中提交適當的客戶密鑰供應專案要求。 您在供應專案表單中針對組織內授權指定所做的選擇,對於完成客戶密鑰註冊而言非常重要且必要。 貴組織內這些所選角色的人員,可確保撤銷和終結與客戶密鑰數據加密原則搭配使用之所有密鑰之任何要求的真實性。 針對您想要用於組織的每種客戶金鑰 DEP 類型執行此步驟一次。

FastTrack 小組不會提供客戶密鑰的協助。 Microsoft 365 只會使用 FastTrack 入口網站來讓您提交窗體,並協助我們追蹤客戶密鑰的相關供應專案。 提交FastTrack要求之後,請連絡對應的客戶密鑰上線小組以開始上線程式。

若要提交要啟用客戶金鑰的供應專案,請完成下列步驟:

  1. 使用組織中具有全域系統管理員許可權的公司或學校帳戶,登入 Microsoft FastTrack 入口網站

  2. 登入之後,請選取適當的網域。

  3. 針對選取的網域,從頂端導覽列選擇 [ 部署 ],然後檢閱可用的供應項目清單。

  4. 選擇適用於您之供應項目的資訊卡:

    • 多個 Microsoft 365 工作負載: 選擇 Microsoft 365 供應專案的要求加密金鑰說明

    • Exchange Online:選擇 Exchange 供應專案的要求加密金鑰說明

    • SharePoint Online、OneDrive 和 Teams 檔案:選擇 SharePoint 和 商務用 OneDrive 供應專案的要求加密金鑰說明

  5. 檢閱供應專案詳細數據之後,請選擇 [繼續] 以進行步驟 2

  6. 填寫供應項目表單上所有適用的詳細數據和要求的資訊。 請特別注意您想要授權貴組織的哪些人員核准永久且無法復原的加密密鑰和數據解構的選擇。 完成表單之後,請選擇 [ 提交]

註冊 Azure 訂用帳戶以使用強制保留期間

根加密金鑰的暫時或永久遺失可能會干擾或甚至對服務作業造成重大影響,並可能導致數據遺失。 因此,搭配客戶金鑰使用的資源需要強式保護。 與客戶金鑰搭配使用的所有 Azure 資源都提供預設設定以外的保護機制。 您可以標記或註冊 Azure 訂用帳戶以進行 強制保留期間。 強制保留期間可防止立即和無法撤銷的 Azure 訂用帳戶取消。 在強制保留期間註冊 Azure 訂用帳戶所需的步驟需要與 Microsoft 365 小組共同作業。 先前,強制保留期間有時稱為「不要取消」。此程式需要五個工作天才能完成。

重要事項

連絡 Microsoft 365 小組之前,您必須針對搭配客戶密鑰使用的 每個 Azure 訂用帳戶執行下列步驟。 開始之前,請確定您已安裝 Azure PowerShell Az 模組。

  1. 使用 Azure PowerShell 登入。 如需指示,請參閱使用 Azure PowerShell 登入

  2. 執行 Register-AzProviderFeature Cmdlet 來註冊您的訂用帳戶,以使用強制保留期間。 針對 每個 訂用帳戶完成此動作。

    Set-AzContext -SubscriptionId <SubscriptionId>
    Register-AzProviderFeature -FeatureName mandatoryRetentionPeriodEnabled -ProviderNamespace Microsoft.Resources
    

請連絡對應的 Microsoft 別名以繼續進行此程式

注意事項

連絡對應的 Microsoft 別名之前,請確認您已完成 Microsoft 365 客戶密鑰的 FastTrack 要求。

  • 若要開啟將 DEP 指派給個別 Exchange Online 信箱的客戶金鑰,請連絡 exock@microsoft.com

  • 若要啟用客戶金鑰以指派 DEP 來加密 SharePoint Online,並 商務用 OneDrive 內容 (包括所有租用戶使用者的 Teams 檔案) ,請連絡 spock@microsoft.com

  • 若要啟用客戶金鑰,以指派 DEP 來加密跨多個 Microsoft 365 工作負載 (Exchange Online、Teams、Microsoft Purview 資訊保護 和 Windows 365 雲端電腦的所有租使用者使用者) 的內容,請連絡 m365-ck@service.microsoft.com

  • 在您的電子郵件中包含下列資訊:

    主旨租使用者完整功能變數名稱的客戶金鑰<>

    本文:包含您想要上線之 每個 客戶密鑰服務的 FastTrack 要求標識碼和訂用帳戶標識碼。 這些訂用帳戶標識碼是您想要完成強制保留期間的標識碼,以及每個訂用帳戶的 Get-AzProviderFeature 輸出。

完成此程式的服務等級協定 (SLA) 是 Microsoft 收到通知 (並確認) 您已註冊訂用帳戶以使用強制保留期間的五個工作天。

確認每個 Azure 訂用帳戶的狀態

一旦您收到來自 Microsoft 的註冊已完成的通知,請執行 Get-AzProviderFeature 命令來確認註冊狀態,如下所示。 如果已驗證,Get-AzProviderFeature 命令 會傳回 [註冊狀態] 屬性的 [ 已註冊 ] 值。 針對 每個 訂用帳戶完成此步驟。

Get-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName mandatoryRetentionPeriodEnabled

提示

繼續之前,請確定 'RegistrationState' 已設定為 'Registered'。

強制保留期間

在每個訂用帳戶中建立進階 Azure 金鑰保存庫

建立密鑰保存庫的步驟記載於與 Azure 金鑰保存庫 使用者入門 中,其會引導您安裝和啟動 Azure PowerShell、聯機到您的 Azure 訂用帳戶、建立資源群組,以及在該資源群組中建立密鑰保存庫。

當您建立金鑰保存庫時,您必須選擇 SKU:標準或進階。 標準 SKU 可讓 Azure 金鑰保存庫 金鑰受到軟體保護 - 沒有硬體安全性模組 (HSM) 金鑰保護 - 而進階 SKU 允許使用 HSM 來保護 金鑰保存庫 密鑰。 客戶密鑰接受使用任一 SKU 的金鑰保存庫,但 Microsoft 強烈建議您只使用進階 SKU。 具有任一類型之金鑰的作業成本相同,因此成本的唯一差異是每個受 HSM 保護的金鑰每月成本。 如需詳細資訊,請參閱 金鑰保存庫 定價

重要事項

針對生產數據使用進階 SKU 金鑰保存庫和受 HSM 保護的密鑰,並僅使用標準 SKU 金鑰保存庫和金鑰進行測試和驗證。

針對您使用客戶密鑰的每個 Microsoft 365 服務,在您建立的兩個 Azure 訂用帳戶中各建立一個金鑰保存庫。 例如,若要讓客戶密鑰針對 Exchange Online、SharePoint Online 和多重工作負載案例使用 DEP,請建立三組密鑰保存庫。

針對金鑰保存庫使用命名慣例,以反映您與保存庫建立關聯之 DEP 的預期用法。 如需命名慣例建議,請參閱一節。

為每個數據加密原則建立一組個別配對的保存庫。 針對 Exchange Online,當您將原則指派給信箱時,會選擇數據加密原則的範圍。 信箱只能指派一個原則,而且您最多可以建立 50 個原則。 SharePoint Online 原則的範圍包含組織內地理位置或 地理位置中的所有數據。 多重工作負載原則的範圍包含所有用戶支援工作負載的所有數據。

建立密鑰保存庫也需要建立 Azure 資源群組,因為金鑰保存庫需要記憶體容量 (透過小型) 和 金鑰保存庫 記錄,如果啟用,也會產生儲存的數據。 最佳做法是 Microsoft 建議使用個別的系統管理員來管理每個資源群組,以及與管理所有相關客戶密鑰資源的系統管理員集合一致的系統管理。

將許可權指派給每個金鑰保存庫

根據您的實作,為每個金鑰保存庫定義三組不同的許可權。 Azure 金鑰保存庫 提供兩種授權系統:Azure 角色型訪問控制 (Azure RBAC) 和舊版存取原則模型。 建議的方式是使用 Azure RBAC。 您可以使用 PowerShell Cmdlet 或 Azure 入口網站 來執行 Azure 金鑰保存庫 設定動作。 本節詳細說明如何使用任一方法套用適當的許可權。

為下列各項定義一組許可權:

  • 為組織執行金鑰保存庫日常管理的金鑰保存庫系統管理員。 這些工作包括 備份、建立、取得、匯入、列出還原。

    重要事項

    指派給金鑰保存庫管理員的許可權集合不包含刪除金鑰的許可權。 這是刻意且重要的作法。 刪除加密金鑰通常不會完成,因為這樣做會永久終結數據。 最佳做法是,預設不會將刪除加密密鑰的許可權授與金鑰保存庫管理員。 相反地,請保留密鑰保存庫參與者的此許可權,並且只在了解結果清楚之後,才將它短期指派給系統管理員。

    若要將這些許可權指派給組織中的使用者,請使用具有 金鑰保存庫 系統管理員許可權的工作帳戶 Azure PowerShell 登入您的 Azure 訂用帳戶。 如需指示,請參閱使用 Azure PowerShell 登入

    執行 Set-AzKeyVaultAccessPolicy Cmdlet 來指派必要的許可權。

    Set-AzKeyVaultAccessPolicy -VaultName <vault name> -UserPrincipalName <UPN of user> -PermissionsToKeys create,import,list,get,backup,restore
    

    例如:

    Set-AzKeyVaultAccessPolicy -VaultName Contoso-CK-EX-NA-VaultA1 -UserPrincipalName alice@contoso.com -PermissionsToKeys create,import,list,get,backup,restore
    
  • 可變更 Azure 金鑰保存庫 本身許可權的金鑰保存庫參與者。 當員工離開或加入您的小組時,請變更這些許可權。 在密鑰保存庫系統管理員合法需要刪除或還原金鑰許可權的罕見情況下,您也必須變更許可權。 這組金鑰保存庫參與者必須獲授與金鑰保存庫的 參與者 角色。 您可以使用 Azure Resource Manager 來指派此角色。 建立訂用帳戶的系統管理員會隱含地擁有此存取權,以及將其他系統管理員指派給參與者角色的能力。

  • 您用於客戶金鑰之每個金鑰保存庫的 Microsoft 365 應用程式許可權,您必須授與 wrapKey、unwrapKey,以及取得對應 Microsoft 365 服務主體的許可權。

    使用 RBAC 指派角色和許可權

    若要在 Azure 金鑰保存庫 上指派wrapKeyunwrapkeyget 許可權,您必須將「金鑰保存庫 加密服務加密使用者」角色指派給對應的 Microsoft 365 應用程式。 請參閱 使用 Azure RBAC 授與應用程式存取 Azure 金鑰保存庫的許可權 |Microsoft Learn

    將角色新增至 Azure 金鑰保存庫 時,請搜尋每個 Microsoft 365 應用程式的下列名稱:

    • 針對 Exchange Online:Office 365 Exchange Online

    • 針對 SharePoint Online、商務用 OneDrive 和 Teams 檔案:Office 365 SharePoint Online

    • 針對 Exchange、Teams (多重工作負載原則,Microsoft Purview 資訊保護) :M365DataAtRestEncryption

      如需指派角色和許可權的詳細資訊,請參閱使用 Role-Based 存取控制 來管理 Azure 訂用帳戶資源的存取權。

    使用舊版存取原則模型指派許可權

    針對您用於客戶金鑰的每個金鑰保存庫,您必須將、 unwrapKeyget 權限授wrapKey與對應的 Microsoft 365 服務主體。

    1. 若要指派許可權,請使用 Azure PowerShell 登入您的 Azure 訂用帳戶。 如需指示,請參閱使用 Azure PowerShell 登入

    2. 使用下列語法執行 Set-AzKeyVaultAccessPolicy Cmdlet,以授與 Microsoft 365 服務主體的許可權:

      Set-AzKeyVaultAccessPolicy -VaultName <vault name> -PermissionsToKeys wrapKey,unwrapKey,get -ServicePrincipalName <Microsoft 365 appID>
      

      其中:

      • 保存庫名稱 是您建立的金鑰保存庫名稱。
      • 針對 Exchange Online,請將 Microsoft 365 appID 取代為00000002-0000-0ff1-ce00-000000000000
      • 針對 SharePoint Online、商務用 OneDrive 和 Teams 檔案,將 Microsoft 365 appID 取代為00000003-0000-0ff1-ce00-000000000000
      • 針對適用於所有租用戶使用者的 Exchange、Teams Microsoft Purview 資訊保護) (多重工作負載原則,請將 Microsoft 365 appID 取代為c066d759-24ae-40e7-a56f-027002b5d3e4

      設定 Exchange Online 權限的範例:

      Set-AzKeyVaultAccessPolicy -VaultName Contoso-CK-EX-NA-VaultA1 -PermissionsToKeys wrapKey,unwrapKey,get -ServicePrincipalName 00000002-0000-0ff1-ce00-000000000000
      

    繼續之前,請確定金鑰保存庫的許可權已正確設定,金鑰的權限會傳回 wrapKey、、unwrapKeyget。 請務必將許可權更正為您要上線的正確服務。 這個處列出每個服務的 顯示名稱

    • Exchange Online:Office 365 Exchange Online

    • SharePoint Online、OneDrive 和 Teams 檔案: Office 365 SharePoint Online

    • 多個 Microsoft 365 工作負載: M365DataAtRestEncryption

      執行 Get-AzKeyVault Cmdlet,確認 Get、wrapKey 和 unwrapKey 已授與每個密鑰保存庫。

         Get-AzKeyVault -VaultName <vault name> | fl
      

      例如,下列代碼段是確定已針對 M365DataAtRestEncryption 設定許可權的範例。 下列 Cmdlet 與名為 mmcexchangevault 的保存庫會顯示下列欄位。

         Get-AzKeyVault -VaultName mmcexchangevault | fl
      

      Exchange Online 客戶金鑰的加密加密。

確定已在金鑰保存庫上啟用虛刪除

當您可以快速復原密鑰時,較不可能因為意外或惡意刪除密鑰而發生延伸服務中斷。 請先啟用這項稱為「虛刪除」的設定,才能搭配客戶密鑰使用您的密鑰。 啟用虛刪除可讓您在刪除後的90天內復原密鑰或保存庫,而不需要從備份還原這些密鑰或保存庫。

若要在金鑰保存庫上啟用虛刪除,請完成下列步驟:

  1. 使用 Windows PowerShell 登入您的 Azure 訂用帳戶。 如需指示,請參閱使用 Azure PowerShell 登入

  2. 執行 Get-AzKeyVault Cmdlet。 在這裡範例 中,儲存庫名稱 是您要開啟虛刪除的金鑰儲存函式庫名稱:

    $v = Get-AzKeyVault -VaultName <vault name>
    $r = Get-AzResource -ResourceId $v.ResourceId
    $r.Properties | Add-Member -MemberType NoteProperty -Name enableSoftDelete -Value 'True'
    Set-AzResource -ResourceId $r.ResourceId -Properties $r.Properties
    
  3. 執行 Get-AzKeyVault Cmdlet,確認已針對密鑰保存庫設定虛刪除。 如果金鑰保存庫的虛刪除已正確設定,則 Soft Delete Enabled 屬性會 傳回 True 值:

    Get-AzKeyVault -VaultName <vault name> | fl
    

繼續之前,請確定 [虛刪除已啟用?] 設定為 'True',且 [虛刪除保留期間 (天) ] 設定為 '90'。 SoftDelete

藉由建立或匯入金鑰,將金鑰新增至每個金鑰保存庫

有兩種方式可以將密鑰新增至 Azure 金鑰保存庫;您可以直接在 金鑰保存庫 中建立密鑰,或匯入金鑰。 直接在 金鑰保存庫 中建立密鑰較不複雜,但匯入金鑰可讓您完全控制密鑰的產生方式。 使用 RSA 金鑰。 客戶金鑰支援最多 4096 的 RSA 金鑰長度。 Azure 金鑰保存庫 不支援使用橢圓曲線索引鍵包裝和解除包裝。

如需將密鑰新增至每個保存庫的指示,請參閱 Add-AzKeyVaultKey

如需在內部部署建立金鑰並將它匯入金鑰保存庫的詳細步驟,請參閱如何產生和傳輸受 HSM 保護的 Azure 金鑰保存庫 密鑰。 使用 Azure 指示在每個金鑰保存庫中建立金鑰。

驗證金鑰的到期日

若要確認您的密鑰未設定到期日,請執行 Get-AzKeyVaultKey Cmdlet,如下所示:

Get-AzKeyVaultKey -VaultName <vault name>

客戶金鑰無法使用過期的金鑰。 嘗試使用過期金鑰的作業將會失敗,而且可能會導致服務中斷。 我們強烈建議搭配客戶金鑰使用的金鑰沒有到期日。 設定之後,即無法移除到期日,但可以變更為不同的日期。 如果必須使用已設定過期日期的金鑰,請將到期值變更為 12/31/9999。 到期日設定為 12/31/9999 以外的密鑰將不會通過 Microsoft 365 驗證。

若要變更已設定為 12/31/9999 以外的任何值的到期日,請執行 Update-AzKeyVaultKey Cmdlet,如下所示:

Update-AzKeyVaultKey -VaultName <vault name> -Name <key name> -Expires (Get-Date -Date "12/31/9999")

注意

請勿在您搭配客戶金鑰使用的加密金鑰上設定到期日。

檢查金鑰的復原層級

Microsoft 365 要求 Azure 金鑰保存庫 訂用帳戶設定為 [不要取消],而且客戶密鑰使用的金鑰已啟用虛刪除。 您可以查看金鑰上的復原層級,以確認您的訂用帳戶設定。

若要檢查密鑰的復原層級,請在 Azure PowerShell 中執行 Get-AzKeyVaultKey Cmdlet,如下所示:

(Get-AzKeyVaultKey -VaultName <vault name> -Name <key name>).Attributes

提示

繼續之前,如果 Recovery Level 屬性傳回的值不是 Recoverable+ProtectedSubscription,請確定您已在訂用帳戶上註冊 MandatoryRetentionPeriodEnabled 功能,而且您已在每個密鑰保存庫上啟用虛刪除。

繪圖

備份 Azure 金鑰保存庫

緊接在建立或變更密鑰之後,執行備份並儲存備份的複本,包括在線和離線。 若要建立 Azure 金鑰保存庫 金鑰的備份,請執行 Backup-AzKeyVaultKey Cmdlet。

取得每個 Azure 金鑰保存庫 金鑰的 URI

設定金鑰保存庫並新增金鑰之後,請執行下列命令以取得每個金鑰保存庫中金鑰的 URI。 當您稍後建立並指派每個 DEP 時,請使用這些 URI,因此請將此資訊儲存在安全的地方。 針對每個金鑰保存庫執行此命令一次。

在 Azure PowerShell:

(Get-AzKeyVaultKey -VaultName <vault name>).Id

後續步驟

完成本文中的步驟之後,您就可以建立並指派 DEP。 如需指示,請 參閱管理客戶金鑰