使用此信息可帮助你了解如何从 Microsoft Purview 信息保护 使用加密服务(Azure Rights Management)的使用日志记录。 此加密服务为组织的项目(如文档和电子邮件)提供额外的数据保护,并且可以记录每个请求。 这些请求包括:
- 当用户加密项目以保护它们时,并解密以读取或删除加密。
- 管理员为管理 Azure Rights Management 服务而执行的作,以及Microsoft操作员为支持该服务而执行的作。
然后,可以使用这些使用情况日志来支持以下业务方案:
分析业务见解
Azure Rights Management 生成的日志可以导入到所选存储库中, (例如数据库、联机分析处理 (OLAP) 系统,或用于分析信息并生成报告的映射化简系统) 。 例如,可以确定谁正在访问加密数据。 可以确定用户正在访问哪些加密数据,以及从哪些设备和位置访问。 可以了解用户是否可以成功读取加密内容。 还可以确定哪些人员已阅读已加密的重要文档。
监视滥用情况
近实时提供有关如何使用 Azure Rights Management 服务的日志记录信息,以便持续监视公司对服务的使用情况。 99.9% 的日志在对服务发起作后的 15 分钟内可用。
例如,如果在标准工作时间外读取加密数据的人员突然增加,这可能表明恶意用户正在收集信息以向竞争对手销售,则可能需要收到警报。 或者,如果同一用户显然在短时间内从两个不同的 IP 地址访问数据,这可能指示用户帐户已泄露。
执行鉴定分析
如果信息泄露,系统可能会询问你最近访问过特定文档的人员以及可疑人员最近访问了哪些信息。 使用 Azure Rights Management 使用情况日志记录时,可以回答这些类型的问题,因为使用加密内容的用户必须始终获得权限管理使用许可证才能打开 Azure Rights Management 加密的项目,即使这些项目通过电子邮件移动或复制到 USB 驱动器或其他存储设备也是如此。 这意味着,在使用 Azure Rights Management 服务保护数据时,可以将这些日志用作取证分析的权威信息源。
Azure Rights Management 服务的其他日志记录选项:
| 日志记录选项 | 说明 |
|---|---|
| 管理员日志 | 记录 Azure Rights Management 服务的管理任务。 例如,如果服务已停用,则启用超级用户功能,以及向用户委派对服务的管理员权限时。 有关详细信息,请参阅 PowerShell cmdlet Get-AipServiceAdminLog。 |
| 文档跟踪 | 允许用户跟踪和撤销使用 Microsoft Purview 信息保护 客户端加密的文档。 全局管理员还可以代表用户跟踪这些文档。 有关详细信息,请参阅 跟踪和撤销文档访问权限。 |
有关 Azure Rights Management 服务的使用情况日志记录的详细信息,请参阅以下部分。
如何访问和使用 Azure Rights Management 使用情况日志
默认情况下,为所有客户启用 Azure Rights Management 使用情况日志记录。 日志存储或日志记录功能无需额外付费。
Azure Rights Management 服务将日志作为一系列 Blob 写入到它自动为租户创建的 Azure 存储帐户。 每个 Blob 包含一个或多个日志记录,采用 W3C 扩展日志格式。 Blob 名称是数字,按创建顺序排列。 本文档后面的 如何解释 Azure Rights Management 使用情况日志 部分包含有关日志内容及其创建的详细信息。
执行 Azure Rights Management作后,日志可能需要一段时间才会显示在存储帐户中。 大多数日志会在 15 分钟内显示。 仅当“日期”字段名称包含 UTC 时间) 上一日期 (的值时,使用情况日志才可用。 当前日期的使用情况日志不可用。 建议将日志下载到本地存储,例如本地文件夹、数据库或 map-reduce 存储库。
若要下载使用情况日志,请使用用于Microsoft Purview 信息保护的 AIPService PowerShell 模块。 有关安装说明,请参阅 安装 Azure Right Management 服务的 AIPService PowerShell 模块。
使用 PowerShell 下载使用情况日志
使用“以管理员身份运行”选项启动Windows PowerShell,并使用 Connect-AipService cmdlet 连接到 Azure Rights Management 服务:
Connect-AipService运行以下命令,下载特定日期的日志:
Get-AipServiceUserLog -Path <location> -fordate <date>例如,在 E: 驱动器上创建名为 Logs 的文件夹后:
若要下载特定日期 ((例如 2025 年 2 月 1 日) )的日志,请运行以下命令:
Get-AipServiceUserLog -Path E:\Logs -fordate 2/1/2025若要下载日期范围 (的日志,例如从 2025 年 2 月 1 日到 2025 年 2 月 14 日) ,请运行以下命令:
Get-AipServiceUserLog -Path E:\Logs -fromdate 2/1/2025 –todate 2/14/2025
仅指定日期时(如示例中所示),假定时间在本地时间为 00:00:00,然后转换为 UTC。 使用 -fromdate 或 -todate 参数指定时间 (例如 -fordate“2/1/2025 15:00:00”) ,该日期和时间将转换为 UTC。 然后,Get-AipServiceUserLog 命令获取该 UTC 时间段的日志。
不能指定少于一整天的下载。
默认情况下,此 cmdlet 使用三个线程来下载日志。 如果有足够的网络带宽并想要减少下载日志所需的时间,请使用 -NumberOfThreads 参数,该参数支持从 1 到 32 的值。 例如,如果运行以下命令,cmdlet 会生成 10 个线程来下载日志: Get-AipServiceUserLog -Path E:\Logs -fromdate 2/1/2025 –todate 2/14/2025 -numberofthreads 10
提示
可以使用 Microsoft 的日志分析器将所有下载的日志文件聚合为 CSV 格式,这是一种在各种已知日志格式之间转换的工具。 还可以使用此工具将数据转换为 SYSLOG 格式,或将其导入数据库。 安装该工具后,请运行 LogParser.exe /? 以获取使用此工具的帮助和信息。
例如,可以运行以下命令,将所有信息导入.log文件格式: logparser –i:w3c –o:csv "SELECT * INTO AllLogs.csv FROM *.log"
如何解释使用情况日志
使用以下信息来帮助解释 Azure Rights Management 使用情况日志。
日志序列
Azure Rights Management 服务将日志写入为一系列 Blob。
日志中的每个条目都有 UTC 时间戳。 由于该服务在跨多个数据中心的多个服务器上运行,因此有时日志似乎顺序不一致,即使按时间戳排序也是如此。 但是,差异很小,通常在一分钟内。 在大多数情况下,这不是日志分析的问题。
Blob 格式
每个 Blob 采用 W3C 扩展日志格式。 它以以下两行开头:
#Software:RMS
#Version:1.1
第一行标识这些日志是 Azure Rights Management 中的使用情况日志。 第二行标识 Blob 的其余部分遵循版本 1.1 规范。 建议分析这些日志的任何应用程序先验证这两行,然后再继续分析 Blob 的其余部分。
第三行枚举由选项卡分隔的字段名称列表:
#Fields:日期时间行 id request-type user-id result correlation-id content-id owner-email issuer template-id file-name date-published c-info c-ip admin-action acting-as-user
后续的每一行都是日志记录。 字段的值与上一行的顺序相同,并且由制表符分隔。 使用下表解释字段。
| 字段名 | W3C 数据类型 | 说明 | 示例值 |
|---|---|---|---|
| date | 日期 | 请求送达的 UTC 日期。 源是服务器上为请求提供服务的本地时钟。 |
2013-06-25 |
| time | 时间 | 提供请求时采用 24 小时格式的 UTC 时间。 源是服务器上为请求提供服务的本地时钟。 |
21:59:28 |
| row-id | Text | 此日志记录的唯一 GUID。 如果不存在值,请使用 correlation-id 值来标识条目。 将日志聚合或将日志复制到其他格式时,此值非常有用。 |
1c3fe7a9-d9e0-4654-97b7-14fafa72ea63 |
| request-type | 名称 | 请求的 RMS API 的名称。 | AcquireLicense |
| user-id | String | 发出请求的用户。 该值用单引号引起来。 从由你管理的 Azure Rights Management 租户密钥 (BYOK) 的调用具有 值“,当请求类型为匿名时,该值同样适用。 |
‘joe@contoso.com’ |
| result | String | 如果请求已成功送达,则为“成功”。 如果请求失败,则单引号中的错误类型。 |
“成功” |
| correlation-id | Text | 给定请求的相应客户端日志和服务器日志之间通用的 GUID。 此值可用于帮助排查客户端问题。 |
cab52088-8925-4371-be34-4b71a3112356 |
| content-id | Text | GUID,括在大括号中,用于标识加密内容 (例如文档) 。 仅当请求类型为 AcquireLicense 且对于所有其他请求类型为空时,此字段才具有值。 |
{bb4af47b-cfed-4719-831d-71b98191a4f2} |
| owner-email | String | 文档所有者Email地址。 如果请求类型为 RevokeAccess,则此字段为空。 |
alice@contoso.com |
| 发行 | String | Email文档颁发者的地址。 如果请求类型为 RevokeAccess,则此字段为空。 |
alice@contoso.com (或) FederatedEmail.4c1f4d-93bf-00a95fa1e042@contoso.onmicrosoft.com' |
| template-id | String | 用于加密文档的权限管理模板的 ID。 如果请求类型为 RevokeAccess,则此字段为空。 |
{6d9371a6-4e2d-4e97-9a38-202233fed26e} |
| file-name | String | 使用 Microsoft Purview 信息保护 客户端跟踪的加密文档的文件名。 目前,某些文件 ((如 Office 文档)) 显示为 GUID,而不是实际文件名。 如果请求类型为 RevokeAccess,则此字段为空。 |
TopSecretDocument.docx |
| date-published | 日期 | 加密文档的日期。 如果请求类型为 RevokeAccess,则此字段为空。 |
2015-10-15T21:37:00 |
| c-info | String | 有关发出请求的客户端平台的信息。 具体字符串因应用程序 ((例如作系统或浏览器) )而异。 |
'MSIPC;version=1.0.623.47;AppName=WINWORD.EXE;AppVersion=15.0.4753.1000;AppArch=x86;OSName=Windows;OSVersion=6.1.7601;OSArch=amd64' |
| c-ip | 地址 | 发出请求的客户端的 IP 地址。 | 64.51.202.144 |
| admin-action | Bool | 管理员是否已在管理员模式下访问文档跟踪站点。 | True |
| acting-as-user | String | 管理员访问其文档跟踪站点的用户的电子邮件地址。 | 'joe@contoso.com' |
user-id 字段的异常
尽管 user-id 字段通常指示发出请求的用户,但存在两个例外,即该值不会映射到真实用户:
值 'microsoftrmsonline@<YourTenantID.rms>。<region.aadrm.com>'.
这表示Microsoft 365 服务(如 Exchange 或 SharePoint)正在发出请求。 在字符串中, <YourTenantID> 是租户的 GUID, <区域> 是注册租户的区域。 例如,na 表示北美,eu 表示欧洲,ap 表示亚洲。
如果使用 Rights Management 连接器。
来自此连接器的请求使用服务主体名称 Aadrm_S-1-7-0 记录,该名称在安装 Rights Management 连接器时自动生成。
典型请求类型
Azure Rights Management 服务有许多请求类型,但下表标识了一些最常用的请求类型。
| 请求类型 | 说明 |
|---|---|
| AcquireLicense | 基于 Windows 的计算机的客户端正在请求加密内容的使用许可证。 |
| AcquirePreLicense | 客户端代表用户请求加密内容的使用许可证。 |
| AcquireTemplates | 调用基于模板 ID 获取权限管理模板 |
| AcquireTemplateInformation | 调用后,从服务获取权限管理模板的 ID。 |
| AddTemplate | 从管理门户发出调用以添加权限管理模板。 |
| AllDocsCsv | 从文档跟踪站点发出调用,以从 “所有文档” 页下载 CSV 文件。 |
| BECreateEndUserLicenseV1 | 从移动设备进行调用以创建最终用户许可证。 |
| BEGetAllTemplatesV1 | 从移动设备 (后端) 进行调用,以获取所有权限管理模板。 |
| 证明 | 客户端正在认证用户是否使用和创建加密内容。 |
| FECreateEndUserLicenseV1 | 类似于 AcquireLicense 请求,但来自移动设备。 |
| FECreatePublishingLicenseV1 | 与来自移动客户端的 Certify 和 GetClientLicensorCert 的组合相同。 |
| FEGetAllTemplates | 从移动设备 (前端) 进行调用,以获取权限管理模板。 |
| FindServiceLocationsForUser | 调用以查询 URL,该 URL 用于调用 Certify 或 AcquireLicense。 |
| GetClientLicensorCert | 客户端请求发布证书 (,该证书稍后用于加密基于 Windows 的计算机) 的内容。 |
| GetConfiguration | 调用 PowerShell cmdlet 以获取 Azure Rights Management 服务的租户配置。 |
| GetConnectorAuthorizations | 从 Rights Management 连接器发出调用,以从云获取其配置。 |
| GetRecipients | 从文档跟踪站点发出调用,以导航到单个文档的列表视图。 |
| GetTenantFunctionalState | 管理门户正在检查 Azure Rights Management 服务是否已激活。 |
| KeyVaultDecryptRequest | 客户端正在尝试解密 Rights Management 加密的内容。 仅适用于 Azure 密钥保管库 中客户管理的租户密钥 (BYOK) 。 |
| KeyVaultGetKeyInfoRequest | 调用 以验证指定用于 Azure 密钥保管库 Azure Rights Management 租户密钥的密钥是否可访问且尚未使用。 |
| KeyVaultSignDigest | 当 Azure 密钥保管库中客户管理的密钥 (BYOK) 用于签名时,将发出调用。 这通常根据 AcquireLicence (或 FECreateEndUserLicenseV1) 、Certify 和 GetClientLicensorCert (或 FECreatePublishingLicenseV1) 调用一次。 |
| KMSPDecrypt | 客户端正在尝试解密 Rights Management 加密的内容。 仅适用于旧版客户管理的租户密钥 (BYOK) 。 |
| KMSPSignDigest | 将旧版客户管理的密钥 (BYOK) 用于签名时,将发出调用。 这通常根据 AcquireLicence (或 FECreateEndUserLicenseV1) 、Certify 和 GetClientLicensorCert (或 FECreatePublishingLicenseV1) 调用一次。 |
| ServerCertify | 从启用 Rights Management 的客户端 ((如 SharePoint) )进行调用,以验证服务器。 |
| SetUsageLogFeatureState | 调用 以启用使用情况日志记录。 |
| SetUsageLogStorageAccount | 调用 以指定 Azure Rights Management 服务日志的位置。 |
| UpdateTemplate | 从管理门户发出调用,以更新现有权限管理模板。 |
Azure Rights Management 使用情况日志和 Microsoft Purview 审核
文件访问和拒绝事件不包括文件名,并且无法在 purview 统一审核日志中Microsoft访问。
PowerShell 参考
连接到 Azure Rights Management 服务后,访问 Azure Rights Management 使用情况日志记录所需的唯一 PowerShell cmdlet 是 Get-AipServiceUserLog。
有关将 PowerShell 用于 Azure Rights Management 服务的详细信息,请参阅 使用 PowerShell 管理 Azure Rights Management 服务。