使用 Microsoft Graph Data Connect (Data Connect) 时,可以使用以下两种类型的加密:
静态数据加密:客户在设置其 Azure 存储帐户时,可以使用 Azure 静态数据 加密功能和客户管理的密钥,以确保数据传送正确锁定且安全。
传输中数据加密:数据连接使用客户拥有的密钥功能通过自定义加密为传输中的数据提供加密。 它还通过使用 SOC 批准的服务标准,确保客户Microsoft 365 和 Azure 资源之间的所有数据请求都是安全的。
建议使用 Azure 密钥保管库 (AKV) 生成和存储公钥或私钥,并在需要时刷新它们。 本文介绍可应用于应用程序中请求的数据集的自定义加密功能,以便安全传递数据。
使用客户拥有的密钥为传输中数据启用自定义加密
客户 (开发人员) 可以在其 Data Connect 应用程序中使用自定义加密,实现更安全的数据集传送。 若要启用该功能,请创建并设置 AKV 以生成 RSA 密钥,或确保现有 AKV 具有正确的 RSA 密钥设置。 然后,在设置新的 Data Connect 应用程序时启用加密,或编辑现有应用程序以打开加密并链接当前 AKV。 Data Connect 使用 AKV 的授权公钥加密数据集,并将它们与解密密钥一起提供加密。 解密密钥将由 Data Connect 加密,可以使用客户的私钥进行解密。
注意
自定义加密不适用于仍在使用 PAM 同意流程或托管数据流 (MDF) 的客户。
为 Data Connect 应用程序启用自定义加密
如果已有 Data Connect 应用程序,请使用以下步骤启用自定义加密:
登录到 Azure 门户。
- 选择 “Microsoft Graph Data Connect ”,然后选择当前应用程序。
- 选择“单租户属性>”并切换“加密”。
- 如果没有 AKV,请打开新选项卡,并按照设置 Azure 密钥保管库中的说明进行作。
- 按照使用 Azure 密钥保管库和使用 Azure 密钥保管库生成 RSA 密钥中的步骤作,确保 AKV 具有正确的角色权限并使用 RSA 密钥填充。
- 在 Data Connect 应用程序的下拉菜单中,选择 Azure 密钥保管库 URI (AKV) 的名称。
- 选择要保存的 “更新属性 ”。 当管理员批准对应用属性的更改时,将应用加密。
注意
加密将仅应用于符合条件的数据集。 必须正确设置 AKV 才能加密数据集。
如果没有现有的 Data Connect 应用程序,请使用以下步骤创建一个:
按照 入门 指南生成 Data Connect 应用程序。
执行“使用 Microsoft Graph 数据连接注册 Microsoft Entra 应用程序”步骤时,请执行以下作:
- 在 “注册信息 ”页上填写应用程序详细信息。
- 选择 “为数据集启用加密”。
- 对于密钥保管库,从下拉菜单中选择 AKV URI (AKV) 的名称。
- 如果 AKV 不存在,请打开一个新选项卡,并按照设置 Azure 密钥保管库中的步骤作。
- 返回 Data Connect 应用程序选项卡,并在下拉列表中查找 AKV 以将其选中。 可能需要刷新页面,使 AKV 在下拉列表中填充。
注意
加密将应用于应用程序中请求的所有符合条件的数据集。 选择加密旁边的工具提示,了解哪些数据集符合条件。
填写其余必需的应用程序详细信息,并提交应用程序,供 Microsoft 365 管理员查看。
注意
记下现有服务主体;稍后会用到此。
提交应用后,请按照使用 Azure 密钥保管库和使用 Azure 密钥保管库生成 RSA 密钥中的步骤作,确保 AKV 具有正确的角色权限并使用 RSA 密钥填充。
管理员批准应用后,加密将应用于应用程序中的所有符合条件的数据集。 如果在未设置正确的角色权限并在 AKV 中生成 RSA 密钥的情况下运行管道,则请求的数据不会加密。
数据传递后的数据集解密
传递加密数据后,客户负责数据解密。 数据连接在传递后不会解密数据。 本部分介绍如何在传递后解密数据。
先决条件
确保正确设置 Azure 密钥保管库;有关详细信息,请参阅使用 Azure 密钥保管库进行自定义加密。
元数据和加密
RSA 密钥对的公共部分用于加密解密密钥。 在数据传输后,可以使用其相应的专用部分来解密密钥。 Microsoft存储解密密钥;只有应用程序可以使用私钥解密密钥。 只有你有权访问私钥。 解密密钥是用于加密文件的 AES 256 位对称密钥。
应用程序需要反向加密和压缩过程才能访问原始数据。 若要从数据删除访问客户数据::
从提取元数据中获取文件解密密钥。
使用 Azure 密钥保管库) 中提供的客户私钥 (解密加密密钥。 有关详细信息,请参阅 Azure 密钥保管库解密 API。
使用文件加密密钥解密文件。 有关 C# 示例,请参阅 加密数据。
元数据文件
提取后,将收到数据删除。 每个数据删除都包含一个encryptionKeyDetails.json文件,其中包含根目录中的元数据/MoreMetadata/EncryptedDatasets 路径。 此 JSON 文件包含有关复制活动的详细信息。 下表描述了架构。
| 字段 | 说明 |
|---|---|
| DecryptionKeyDetails | 有关解密密钥的详细信息。 |
| PublicKeyVersion | 公钥的版本。 合作伙伴需要这一点,以确定他们应使用哪个版本的相应私钥进行解密。 |
| DecryptionKeyValue | 解密密钥值的 Base64 表示形式。 |
| DecryptionKeyIV | 用于创建解密密钥的初始化向量的 Base64 表示形式。 |
解密密钥
解密密钥使用 Azure 密钥保管库中提供的按客户租户公钥加密为 Base64 字符串。 解密密钥包含以下组件:
- value – 解密密钥值的 Base64 表示形式。 例如:
oF8xFGjrhxC2LsrsrUA3eTCWDl2fYlBkUe886jRLnKFwdbH/9SRA+55ekL42JCcL+iXsQNZdMWmy3LnLgk2nSfZ96ecU/++sOM7QB/6kWrS2Wmg+5XCW5FErodnyBZKCbOo1RETgrxTH8YlcoLX5319VCmBleSMxgitn0Jl+VCM+NjfE87oPWyLo+vifaBtFnIgSOkzKh20dZm/Ue1AxXQlYQ/WptHBRa4Lmza/oXgbTpqk9Y+Mw+4IhVtHbCdcEt0DqQ0FRb/qjlwMPaYqOlZ5GxFTiQFsAtYVTpnvcffkDBp1gzlOL2iLhudc66PP4h6v4cBxHx6RTz8bO4KiaQg== - iv – 用于创建解密密钥的初始化向量的 Base64 表示形式。 例如:
vLvaqqAN8GaYI9gGuX1bsQ==
Encoding
在解密过程中,需要注意一些编码详细信息。 以下数据包含以下编码类型:
- 解密密钥:UTF-8
- 解密密钥 IV:UTF-8
- AES 的填充 – C# 中的 CBC/PKCS5 PKCS7 与 Java 中的 PKCS5 相同
此外,Azure 密钥保管库解密 REST API 的输出是 Base64 URL 编码的。 需要将值从 Base64 URL 解码为字节,然后将结果编码为 Base64。
解密数据时,请务必考虑这些编码差异。 如果编码数据被错误地解密,则可能会收到如下错误: Invalid AES key length: 88 bytes。
数据集加密资格
以下 数据集 符合数据连接加密的条件:
- Azure Active Directory 的所有数据集
- Outlook 和 Exchange Online 的所有数据集
- Microsoft Teams 的所有数据集
- Microsoft组的所有数据集
- OneDrive 和 SharePoint 的所有数据集
以下数据集尚不符合加密条件:
- Viva Insights的所有数据集
注意
如果应用程序已启用加密,并且混合包含符合条件的数据集和不合格数据集,则仅对符合条件的数据集进行加密。
管理员应用审批
管理员使用以下过程批准 Data Connect 应用:
使用管理员凭据登录到 Microsoft 365 管理员授权门户 。
在“组织设置”中选择“安全 & 隐私”选项卡,然后选择“Microsoft Graph Data Connect 应用程序”,如下图所示。
选择可供审阅的应用程序。 在应用程序详细信息的 “概述 ”部分中,确保已启用加密。
在应用程序详细信息的“ 审阅 ”部分中,确保已选择加密并查看数据集。
注意
如果在应用注册期间启用了加密,则加密将应用于应用中的所有符合条件的数据集。
查看应用程序后,选择“ 批准”、“拒绝”或“取消”。 必须执行作,并且只有在应用获得批准后,数据连接才会应用加密。 有关详细信息,请参阅 应用授权。
使用 Azure 密钥保管库 进行自定义加密
如果没有设置 AKV,请按照“设置 Azure 密钥保管库”选项卡中的步骤作,然后继续下一个选项卡。
拥有现有 AKV 后,请转到“使用 Azure 密钥保管库”选项卡,启用所需的角色权限。 然后转到“使用 Azure 密钥保管库生成 RSA 密钥”选项卡,在 AKV 中创建自定义加密所需的 RSA 密钥。
Microsoft 365 管理员无需执行任何作即可启用自定义加密。
1.使用开发人员凭据登录到Azure 门户,然后选择“Azure 密钥保管库”图标。
如果没有现有的 AKV,请选择“ 创建”。 有关详细信息,请参阅使用 Azure 门户创建密钥保管库。
在“权限模型”下, (“建议) ”选择“Azure 基于角色的访问控制”。
在“ 网络 ”选项卡上,选择 “启用公共访问 ”以允许数据连接访问生成和存储的任何公钥。 Data Connect 仅有权访问选择的公钥。
按照步骤作,完成后选择“ 查看 + 创建 ”。