管理客户密钥

设置客户密钥后, (DEP) 创建并分配一个或多个数据加密策略。 分配 DEP 后,按本文所述管理密钥。 在相关文章中详细了解客户密钥。

提示

如果你不是 E5 客户,请使用为期 90 天的 Microsoft Purview 解决方案试用版来探索其他 Purview 功能如何帮助组织管理数据安全性和合规性需求。 立即从Microsoft Purview 合规门户试用中心开始。 了解有关 注册和试用条款的详细信息。

Windows 365对 Microsoft Purview 客户密钥的支持以公共预览版提供,随时可能更改。 有关信息,请参阅适用于 Windows 365 云电脑的 Microsoft Purview 客户密钥

为所有租户用户创建用于多个工作负荷的 DEP

在开始之前,请确保已完成设置客户密钥所需的任务。 有关信息,请参阅 设置客户密钥。 若要创建 DEP,需要安装过程中获取的密钥保管库 URI。 有关信息,请参阅获取每个 Azure 密钥保管库密钥的 URI

若要创建多工作负载 DEP,请执行以下步骤:

  1. 在本地计算机上,使用组织中具有全局管理员或合规性管理员权限的工作或学校帐户连接到 Exchange Online PowerShell

  2. 若要创建 DEP,请使用 New-M365DataAtRestEncryptionPolicy cmdlet。

    New-M365DataAtRestEncryptionPolicy -Name <PolicyName> -AzureKeyIDs <KeyVaultURI1, KeyVaultURI2> [-Description <String>]
    

    其中:

    • “PolicyName” 是要用于策略的名称。 名称不能包含空格。 例如,Contoso_Global。

    • “KeyVaultURI1” 是策略中第一个密钥的 URI。 例如,"https://contosoWestUSvault1.vault.azure.net/keys/Key_01"

    • “KeyVaultURI2” 是策略中第二个密钥的 URI。 例如,"https://contosoCentralUSvault1.vault.azure.net/keys/Key_02"。 用逗号和空格分隔两个 URI。

    • “策略说明” 是策略的用户友好说明,可帮助你记住策略的用途。 可以在说明中包含空格。 例如,“租户中所有用户的多个工作负载的根策略”。

    示例:

    New-M365DataAtRestEncryptionPolicy -Name "Contoso_Global" -AzureKeyIDs "https://contosoWestUSvault1.vault.azure.net/keys/Key_01","https://contosoCentralUSvault1.vault.azure.net/keys/Key_02" -Description "Policy for multiple workloads for all users in the tenant."
    

分配多工作负载策略

使用 Set-M365DataAtRestEncryptionPolicyAssignment cmdlet 分配 DEP。 分配策略后,Microsoft 365 将使用 DEP 中标识的密钥加密数据。

Set-M365DataAtRestEncryptionPolicyAssignment -DataEncryptionPolicy <PolicyName or ID>

其中 PolicyName 是策略的名称,例如 Contoso_Global

示例:

Set-M365DataAtRestEncryptionPolicyAssignment -DataEncryptionPolicy "Contoso_Global"

对于Windows 365,在完成此步骤后的 3 到 4 小时内,Intune管理中心会更新。 在管理中心完成加密现有云电脑的步骤。 有关信息,请参阅为 Windows 365 云电脑设置客户密钥

创建用于Exchange Online邮箱的 DEP

在开始之前,请确保已完成设置 Azure 密钥保管库所需的任务。 有关信息,请参阅 设置客户密钥。 在 Exchange Online PowerShell 中完成这些步骤。

DEP 与存储在 Azure 密钥保管库 中的一组密钥相关联。 你将 DEP 分配给 Microsoft 365 中的邮箱。 Microsoft 365 使用策略中标识的密钥来加密邮箱。 若要创建 DEP,需要安装过程中获取的密钥保管库 URI。 有关信息,请参阅获取每个 Azure 密钥保管库密钥的 URI

记得! 创建 DEP 时,可以在两个不同的 Azure Key Vault 中指定两个密钥。 若要避免异地冗余,请在两个单独的 Azure 区域中创建这些密钥。

若要创建用于邮箱的 DEP,请执行以下步骤:

  1. 在本地计算机上,使用在组织中具有全局管理员或Exchange Online管理员权限的工作或学校帐户连接到 Exchange Online PowerShell

  2. 若要创建 DEP,请键入以下命令,使用 New-DataEncryptionPolicy cmdlet。

    New-DataEncryptionPolicy -Name <PolicyName> -Description "Policy Description" -AzureKeyIDs <KeyVaultURI1>, <KeyVaultURI2>
    

    其中:

    • PolicyName 是要用于策略的名称。 名称不能包含空格。 例如,USA_mailboxes。

    • 策略说明 是策略的用户友好说明,可帮助你记住策略的用途。 可以在说明中包含空格。 例如,“美国及其地区邮箱的根密钥”。

    • KeyVaultURI1 是策略中第一个密钥的 URI。 例如,https://contoso_EastUSvault01.vault.azure.net/keys/USA_key_01

    • KeyVaultURI2 是策略中第二个密钥的 URI。 例如,https://contoso_EastUS2vault01.vault.azure.net/keys/USA_Key_02。 用逗号和空格分隔两个 URI。

    示例:

    New-DataEncryptionPolicy -Name USA_mailboxes -Description "Root key for mailboxes in USA and its territories" -AzureKeyIDs https://contoso_EastUSvault02.vault.azure.net/keys/USA_key_01, https://contoso_CentralUSvault02.vault.azure.net/keys/USA_Key_02
    

有关详细语法和参数信息,请参阅 New-DataEncryptionPolicy

将 DEP 分配给邮箱

使用 Set-Mailbox cmdlet 将 DEP 分配到邮箱。 分配策略后,Microsoft 365 可以使用 DEP 中标识的密钥加密邮箱。

Set-Mailbox -Identity <MailboxIdParameter> -DataEncryptionPolicy <PolicyName>

其中 MailboxIdParameter 指定用户邮箱。 有关 Set-Mailbox cmdlet 的信息,请参阅 Set-Mailbox

在混合环境中,可以将 DEP 分配给同步到Exchange Online租户的本地邮箱数据。 若要为此同步邮箱数据分配 DEP,请使用 Set-MailUser cmdlet。 有关混合环境中的邮箱数据的详细信息,请参阅 使用具有混合新式身份验证的 Outlook for iOS 和 Android 的本地邮箱

Set-MailUser -Identity <MailUserIdParameter> -DataEncryptionPolicy <PolicyName>

其中 MailUserIdParameter 指定邮件用户 (也称为启用邮件的用户) 。 有关 Set-MailUser cmdlet 的详细信息,请参阅 Set-MailUser

创建 DEP 以用于 SharePoint、OneDrive for Work 或 School 以及 Teams 文件

在开始之前,请确保已完成设置 Azure 密钥保管库所需的任务。 有关信息,请参阅 设置客户密钥

若要设置 SharePoint 的客户密钥、适用于工作或学校的 OneDrive 以及 Teams 文件,请在 SharePoint PowerShell 中完成这些步骤。

将 DEP 与 Azure 密钥保管库中存储的一组密钥相关联。 将 DEP 应用于一个地理位置(也称为地理位置)中的所有数据。 如果使用 Microsoft 365 的多地理位置功能,则可以为每个地理位置创建一个 DEP,并能够为每个地理位置使用不同的密钥。 如果不使用多地理位置,则可以在组织中创建一个 DEP 以用于 SharePoint、OneDrive for work 或 school 以及 Teams 文件。 Microsoft 365 使用 DEP 中标识的密钥来加密该地理位置中的数据。 若要创建 DEP,需要安装过程中获取的密钥保管库 URI。 有关信息,请参阅获取每个 Azure 密钥保管库密钥的 URI

记得! 创建 DEP 时,可以在两个不同的 Azure Key Vault 中指定两个密钥。 若要避免异地冗余,请在两个单独的 Azure 区域中创建这些密钥。

若要创建 DEP,需要使用 SharePoint PowerShell。

  1. 在本地计算机上,使用组织中具有全局管理员权限的工作或学校帐户 连接到 SharePoint PowerShell

  2. 在 Microsoft SharePoint 命令行管理程序中,按如下所示运行 Register-SPODataEncryptionPolicy cmdlet:

    Register-SPODataEncryptionPolicy -PrimaryKeyVaultName <PrimaryKeyVaultName> -PrimaryKeyName <PrimaryKeyName> -PrimaryKeyVersion <PrimaryKeyVersion> -SecondaryKeyVaultName <SecondaryKeyVaultName> -SecondaryKeyName <SecondaryKeyName> -SecondaryKeyVersion <SecondaryKeyVersion>
    

    示例:

    Register-SPODataEncryptionPolicy -PrimaryKeyVaultName 'stageRG3vault' -PrimaryKeyName 'SPKey3' -PrimaryKeyVersion 'f635a23bd4a44b9996ff6aadd88d42ba' -SecondaryKeyVaultName 'stageRG5vault' -SecondaryKeyName 'SPKey5' -SecondaryKeyVersion '2b3e8f1d754f438dacdec1f0945f251a'
    

    注册 DEP 时,对异地中的数据进行加密。 加密可能需要一些时间。 有关使用此参数的详细信息,请参阅 Register-SPODataEncryptionPolicy

查看为Exchange Online邮箱创建的 DEP

若要查看为邮箱创建的所有 DEP 的列表,请使用 powerShell cmdlet Get-DataEncryptionPolicy。

  1. 使用组织中具有全局管理员权限的工作或学校帐户,连接到 Exchange Online PowerShell

  2. 若要返回组织中的所有 DEP,请运行不带任何参数的 Get-DataEncryptionPolicy cmdlet。

    Get-DataEncryptionPolicy
    

    有关 Get-DataEncryptionPolicy cmdlet 的详细信息,请参阅 Get-DataEncryptionPolicy

在将邮箱迁移到云之前分配 DEP

分配 DEP 时,Microsoft 365 会在迁移期间使用分配的 DEP 加密邮箱的内容。 此过程比迁移邮箱、分配 DEP,然后等待加密进行(可能需要数小时或可能数天)更高效。

若要在将邮箱迁移到 Microsoft 365 之前将 DEP 分配给邮箱,请在 PowerShell Exchange Online 中运行 Set-MailUser cmdlet:

  1. 使用组织中具有全局管理员权限的工作或学校帐户,连接到 Exchange Online PowerShell

  2. 运行 Set-MailUser cmdlet。

    Set-MailUser -Identity <GeneralMailboxOrMailUserIdParameter> -DataEncryptionPolicy <DataEncryptionPolicyIdParameter>
    

    其中 ,GeneralMailboxOrMailUserIdParameter 指定邮箱, DataEncryptionPolicyIdParameter 是 DEP 的 ID。 有关 Set-MailUser cmdlet 的详细信息,请参阅 Set-MailUser

确定分配给邮箱的 DEP

若要确定分配给邮箱的 DEP,请使用 Get-MailboxStatistics cmdlet。 cmdlet (GUID) 返回唯一标识符。

  1. 使用组织中具有全局管理员权限的工作或学校帐户,连接到 Exchange Online PowerShell

    Get-MailboxStatistics -Identity <GeneralMailboxOrMailUserIdParameter> | fl DataEncryptionPolicyID
    

    其中 ,GeneralMailboxOrMailUserIdParameter 指定邮箱,DataEncryptionPolicyID 返回 DEP 的 GUID。 有关 Get-MailboxStatistics cmdlet 的详细信息,请参阅 Get-MailboxStatistics

  2. 运行 Get-DataEncryptionPolicy cmdlet,找出邮箱分配到的 DEP 的友好名称。

    Get-DataEncryptionPolicy <GUID>
    

    其中 GUID 是由 Get-MailboxStatistics cmdlet 在上一步中返回的 GUID。

验证客户密钥是否已完成加密

无论你是滚动生成客户密钥、分配了新的 DEP 还是迁移了邮箱,都请使用本部分中的步骤来确保加密完成。

验证Exchange Online邮箱的加密完成

加密邮箱可能需要一些时间。 对于首次加密,邮箱还必须从一个数据库完全移动到另一个数据库,然后服务才能加密邮箱。

使用 Get-MailboxStatistics cmdlet 确定邮箱是否已加密。

Get-MailboxStatistics -Identity <GeneralMailboxOrMailUserIdParameter> | fl IsEncrypted

如果邮箱已加密,则 IsEncrypted 属性返回值 true ;如果邮箱未加密,则返回值为 false 。 完成邮箱移动的时间取决于首次向其分配 DEP 的邮箱数以及邮箱的大小。 如果在分配 DEP 一周后邮箱未加密,请与 Microsoft 联系。

New-MoveRequest cmdlet 不再可用于本地邮箱移动。 有关详细信息,请参阅 此公告

验证 SharePoint、适用于工作或学校的 OneDrive 以及 Teams 文件的加密完成

通过运行 Get-SPODataEncryptionPolicy cmdlet 检查加密状态,如下所示:

   Get-SPODataEncryptionPolicy <SPOAdminSiteUrl>

此 cmdlet 的输出包括:

  • 主键的 URI。

  • 辅助密钥的 URI。

  • 地理位置的加密状态。 可能的状态包括:

    • 注册: 未应用客户密钥加密。

    • 注册: 客户密钥加密已应用,并且文件正在加密中。 如果正在注册异地的密钥,则会显示有关地理区域中哪些站点已完成百分比的信息,以便可以监视加密进度。

    • 注册: 应用客户密钥加密,并且对所有站点中的所有文件进行加密。

    • 滚动: 密钥滚动正在进行中。 如果异地键正在滚动,则会显示有关完成的站点百分比的信息,以便监视进度。

  • 输出包括已载入站点的百分比。

获取有关用于多个工作负载的 DEP 的详细信息

若要获取有关创建用于多个工作负载的所有 DEP 的详细信息,请完成以下步骤:

  1. 在本地计算机上,使用组织中具有全局管理员或合规性管理员权限的工作或学校帐户连接到 Exchange Online PowerShell

    • 若要返回组织中所有多工作负载 DEP 的列表,请运行以下命令。

      Get-M365DataAtRestEncryptionPolicy
      
    • 若要返回有关特定 DEP 的详细信息,请运行此命令。 此示例返回名为“Contoso_Global”的 DEP 的详细信息

      Get-M365DataAtRestEncryptionPolicy -Identity "Contoso_Global"
      

获取多工作负载 DEP 分配信息

若要了解当前分配给租户的 DEP,请执行以下步骤。

  1. 在本地计算机上,使用组织中具有全局管理员或合规性管理员权限的工作或学校帐户连接到 Exchange Online PowerShell

  2. 键入此命令。

    Get-M365DataAtRestEncryptionPolicyAssignment
    

禁用多工作负载 DEP

在禁用多工作负载 DEP 之前,请从租户中的工作负载取消分配 DEP。 若要禁用用于多个工作负荷的 DEP,请完成以下步骤:

  1. 在本地计算机上,使用组织中具有全局管理员或合规性管理员权限的工作或学校帐户连接到 Exchange Online PowerShell

  2. 运行 Set-M365DataAtRestEncryptionPolicy cmdlet。

    Set-M365DataAtRestEncryptionPolicy -[Identity] "PolicyName" -Enabled $false
    

其中 ,“PolicyName” 是策略的名称或唯一 ID。 例如,Contoso_Global。

示例:

Set-M365DataAtRestEncryptionPolicy -Identity "Contoso_Global" -Enabled $false

还原 Azure 密钥保管库密钥

在执行还原之前,请使用软删除提供的恢复功能。 与客户密钥一起使用的所有密钥都需要启用软删除。 软删除类似于回收站,允许恢复长达 90 天,无需还原。 仅在极端或异常情况下(例如密钥或密钥保管库丢失时)才需要还原。 如果必须还原用于客户密钥的密钥,请在 Azure PowerShell 中运行 Restore-AzureKeyVaultKey cmdlet,如下所示:

Restore-AzKeyVaultKey -VaultName <vault name> -InputFile <filename>

例如:

Restore-AzKeyVaultKey -VaultName Contoso-O365EX-NA-VaultA1 -InputFile Contoso-O365EX-NA-VaultA1-Key001-Backup-20170802.backup

如果密钥保管库已包含同名的密钥,还原操作将失败。 Restore-AzKeyVaultKey 还原密钥的所有密钥版本和所有元数据,包括密钥名称。

管理密钥保管库权限

可以使用多个 cmdlet 查看密钥保管库权限,并在必要时删除密钥保管库权限。 可能需要删除权限,例如,当员工离开团队时。 对于其中每个任务,请使用 Azure PowerShell。 有关Azure PowerShell的信息,请参阅Azure PowerShell概述

若要查看密钥保管库权限,请运行 Get-AzKeyVault cmdlet。

Get-AzKeyVault -VaultName <vault name>

例如:

Get-AzKeyVault -VaultName Contoso-O365EX-NA-VaultA1

若要删除管理员的权限,请运行 Remove-AzKeyVaultAccessPolicy cmdlet:

Remove-AzKeyVaultAccessPolicy -VaultName <vault name> -UserPrincipalName <UPN of user>

例如:

Remove-AzKeyVaultAccessPolicy -VaultName Contoso-O365EX-NA-VaultA1 -UserPrincipalName alice@contoso.com

从客户密钥回滚到 Microsoft 托管密钥

如果需要向 Microsoft 管理的密钥还原,可以。 回滚时,将使用每个工作负载支持的默认加密重新加密数据。 例如,Exchange Online和Windows 365云电脑支持使用 Microsoft 托管密钥进行默认加密。

重要

回滚与数据清除不同。 数据清除永久加密-从 Microsoft 365 删除组织的数据,回滚不会。 无法对多个工作负荷策略执行数据清除。

从多个工作负载的客户密钥回滚

如果决定不再使用客户密钥分配多工作负载 DEP,请使用 Microsoft 365 管理门户提交支持票证,并在请求中提供以下详细信息:

  • 租户 FQDN
  • 回滚请求的租户联系人
  • 离开原因
  • 在服务票证中包含应将请求定向到 m365-ck@service.microsoft.com 并包含事件的注释#

你仍必须保留客户密钥 AKV 和加密密钥,才能使用 Microsoft 托管密钥重新包装数据。 如有任何问题,请发送电子邮件至 m365-ck@service.microsoft.com

从客户密钥回滚Exchange Online

如果不想再使用邮箱级别 DEP 加密单个邮箱,则可以从所有邮箱中取消分配邮箱级别 DEP。

若要取消分配邮箱 DEP,请使用 powerShell cmdlet Set-Mailbox。

  1. 使用组织中具有全局管理员权限的工作或学校帐户,连接到 Exchange Online PowerShell

  2. 运行 Set-Mailbox cmdlet。

    Set-Mailbox -Identity <mailbox> -DataEncryptionPolicy $null
    

运行此 cmdlet 会取消分配当前分配的 DEP,并使用与默认 Microsoft 托管密钥关联的 DEP 重新加密邮箱。 无法取消分配 Microsoft 托管密钥使用的 DEP。 如果不想使用 Microsoft 管理的密钥,可以将另一个客户密钥 DEP 分配给邮箱。

从适用于 SharePoint 的客户密钥和适用于工作或学校的 Microsoft OneDrive 回退

SharePoint、适用于工作或学校的 OneDrive 以及 Teams 文件不支持从客户密钥回滚到 Microsoft 托管密钥。 有关详细信息,请联系 spock@microsoft.com

撤销密钥并启动数据清除路径过程

可以控制所有根密钥(包括可用性密钥)的吊销。 客户密钥提供对法规要求的退出计划方面的控制。 如果决定撤销密钥以清除数据并退出服务,则数据清除过程完成后,服务将删除可用性密钥。 分配给单个邮箱的客户密钥 DEP 支持此功能。

Microsoft 365 审核并验证数据清除路径。 有关详细信息,请参阅 服务信任门户上提供的 SSAE 18 SOC 2 报告。 此外,Microsoft 建议使用以下文档:

客户密钥不支持清除多工作负载 DEP。 多工作负载 DEP 用于加密跨所有租户用户的多个工作负荷的数据。 清除此 DEP 会导致多个工作负载中的数据无法访问。 如果决定完全退出 Microsoft 365 服务,请参阅如何在 Microsoft Entra ID 中删除租户

撤销客户密钥和Exchange Online的可用性密钥

启动Exchange Online的数据清除路径时,会在 DEP 上设置永久数据清除请求。 这样做会永久删除分配给该 DEP 的邮箱中的加密数据。

由于一次只能针对一个 DEP 运行 PowerShell cmdlet,因此在启动数据清除路径之前,请考虑将单个 DEP 重新分配给所有邮箱。

警告

请勿使用数据清除路径删除邮箱的子集。 此过程仅适用于正在退出服务的客户。

若要启动数据清除路径,请完成以下步骤:

  1. 从 Azure Key Vault 中删除“O365 Exchange Online”的包装和解包权限。

  2. 使用组织中具有全局管理员权限的工作或学校帐户,连接到 Exchange Online PowerShell

  3. 对于包含要删除的邮箱的每个 DEP,请运行 Set-DataEncryptionPolicy cmdlet,如下所示。

    Set-DataEncryptionPolicy <Policy ID> -PermanentDataPurgeRequested -PermanentDataPurgeReason <Reason> -PermanentDataPurgeContact <ContactName>
    

    如果命令失败,请确保从 Azure 密钥保管库的两个密钥中删除Exchange Online权限,如此任务前面所述。 使用 Set-DataEncryptionPolicy cmdlet 设置“PermanentDataPurgeRequested”开关后,不再支持将此 DEP 分配给邮箱。

  4. 请联系 Microsoft 支持部门并请求数据清除 eDocument。

    应你的请求,Microsoft 会向你发送一份法律文档来确认和授权删除数据。 在加入期间,组织中注册为 FastTrack 产品/服务的审批者的人员需要签署此文档。 通常,此人是贵公司的高管或其他指定人员,经法律授权代表组织签署文件。

  5. 代表签署法律文档后,通常通过 eDoc 签名) 将其返回到 Microsoft (。

    Microsoft 收到法律文档后,Microsoft 会运行 cmdlet 来触发数据清除,该清除首先删除策略,标记要永久删除的邮箱,然后删除可用性密钥。 数据清除过程完成后,数据将清除,Exchange Online无法访问,并且无法恢复。

撤销 SharePoint 的客户密钥和可用性密钥、适用于工作或学校的 OneDrive 以及 Teams 文件

客户密钥不支持清除 SharePoint、适用于工作或学校的 OneDrive 以及 Teams 文件 DEP。 如果决定完全退出 Microsoft 365 服务,则可以按照记录的过程执行租户删除路径。 请参阅如何在 Microsoft Entra ID 中删除租户

将 Key Vault 从使用旧版访问策略模型迁移到使用 RBAC

如果使用旧版访问策略方法载入到客户密钥,请按照说明迁移所有 Azure Key Vault 以使用 RBAC 方法。 若要比较差异并了解 Microsoft 为何建议使用 Azure 基于角色的访问控制,请参阅 Azure 基于角色的访问控制 (Azure RBAC) 与旧) (访问策略

删除现有访问策略

若要从 Key Vault 中删除现有访问策略,请使用“Remove-AzKeyVaultAccessPolicy”cmdlet。

  1. 若要删除权限,请使用 Azure PowerShell 登录到 Azure 订阅。 有关说明,请参阅使用 Azure PowerShell 登录

  2. 使用以下语法运行 Remove-AzKeyVaultAccessPolicy cmdlet 以删除对 Microsoft 365 服务 主体的权限:

    Remove-AzKeyVaultAccessPolicy -VaultName <VaultName> -ServicePrincipalName c066d759-24ae-40e7-a56f-027002b5d3e4
    
  3. 使用以下语法运行 Remove-AzKeyVaultAccessPolicy cmdlet 以删除Exchange Online主体的权限:

    Remove-AzKeyVaultAccessPolicy -VaultName <VaultName> -ServicePrincipalName 00000002-0000-0ff1-ce00-000000000000
    
  4. 使用以下语法运行 Remove-AzKeyVaultAccessPolicy cmdlet,以删除 对工作或学校服务主体的 SharePoint 和 OneDrive 的权限:

    Remove-AzKeyVaultAccessPolicy -VaultName <VaultName> -ServicePrincipalName 00000003-0000-0ff1-ce00-000000000000
    

更改访问配置权限模型

删除现有保管库访问策略后,导航到Azure 门户中的密钥保管库。 在每个保管库上,转到左侧 “设置” 下拉列表下的“访问配置 选项卡。

密钥保管库主页

“权限模型”下,选择“Azure 基于角色的访问控制”,然后选择屏幕底部的“应用”。

Azure 基于角色的访问控制应用

分配 RBAC 权限

最后,若要向 Azure Key Vault 分配 RBAC 权限,请参阅向每个密钥保管库分配权限