Microsoft信息保护 SDK - 诊断配置

诊断数据

默认情况下,Microsoft信息保护 SDK 将诊断数据发送到Microsoft。 此数据可用于排查 SDK 安装库中可能无法在内部测试中捕获的 bug、质量和性能问题。 使用 SDK 实现应用程序时,请务必让用户和管理员在需要时选择退出发送诊断数据。

诊断配置

MIP SDK 中的诊断选项可以通过 DiagnosticConfiguration 进行控制。 创建此类的实例,然后将 isMinimalTelemetryEnabled 设置为 true。 向用于创建 MipContext 的函数提供 DiagnosticConfiguration 类的对象。

最小诊断事件

当诊断配置设置为最小值时,会向Microsoft发送一组最小数据。 此信息中所有个人身份信息都已去除。 此数据包括心跳信息以确认 SDK 正在被使用,以及系统元数据。 未将用户同意或最终用户身份信息设置为服务。

查看下表以了解在已启用最小诊断的情况下具体发送哪些事件和数据。

事件:检测信号

名字 说明 已清理
App.ApplicationId 通过 mip::ApplicationInfo 提供的应用程序标识符。
App.ApplicationName 通过 mip::ApplicationInfo 提供的应用程序名称。
App.ApplicationVersion 通过 mip::ApplicationInfo 提供的应用程序版本。
ApplicationId 通过 mip::ApplicationInfo 提供的应用程序版本。
应用程序名称 通过 mip::ApplicationInfo 提供的应用程序名称。
CreationTime 生成事件的时间。
DefaultLabel.Id 租户默认标签 ID。
Engine.TenantId 已通过身份验证的用户的主租户 GUID。
Engine.UserObjectId Microsoft Entra ID 中的用户对象 ID。
Event.CorrelationId 生成与触发事件的对象关联的唯一标识 ID。
Event.CorrelationIdDescription C++触发事件的对象的类名。
Event.ParentCorrelationId 父事件相关 ID。
Event.ParentCorrelationIdDescription 生成的唯一 ID 与触发事件对象的父对象相关联。
Event.UniqueId 已生成分配给事件的唯一 ID。
机器名称 生成事件的系统的名称。
MIP.Version MIP SDK 的版本。
操作 心跳
OrganizationId 已通过身份验证的用户的主租户 GUID。
平台 操作系统版本。
ProcessName 使用 SDK 的进程的名称。
ProductVersion 与“App.ApplicationVersion”相同。
SDKVersion 与 MIP.Version 相同。
UserId 用户的电子邮件地址
用户对象ID 用户的 Microsoft Entra 对象 ID。
版本 审核版本架构(“1.1”)。

事件:发现

名字 说明 已清理
ActionId 此事件的唯一的操作ID,用于事件关联。
App.ApplicationId 通过 mip::ApplicationInfo 提供的应用程序标识符。
App.ApplicationName 通过 mip::ApplicationInfo 提供的应用程序名称。
App.ApplicationVersion 通过 mip::ApplicationInfo 提供的应用程序版本。
ApplicationId 通过 mip::ApplicationInfo 提供的应用程序版本。
应用程序名称 通过 mip::ApplicationInfo 提供的应用程序名称。
CreationTime 生成事件的时间。
DataState 应用程序作用于“REST”、“MOTION”、“USE”时的数据状态。
DefaultLabel.Id 租户默认标签标识符。
Engine.TenantId 已通过身份验证的用户的主租户 GUID。
Engine.UserObjectId Microsoft Entra ID 中的用户对象标识符。
Event.CorrelationId 生成的与触发事件的对象相关联的唯一 ID。
Event.CorrelationIdDescription C++触发事件的对象的类名。
Event.ParentCorrelationId 父事件相关 ID。
Event.ParentCorrelationIdDescription 已生成与触发事件的对象的父对象关联的唯一 ID。
Event.UniqueId 已生成分配给事件的唯一 ID。
LabelId 打开的文件或数据上的内容标签标识符。
机器名称 生成事件的系统的名称。
MIP.Version MIP SDK 的版本。
ObjectId 文件路径/文件或数据的说明。
操作 “发现”。
OrganizationId 已通过身份验证的用户的主租户 GUID。
平台 操作系统版本。
ProcessName 使用 SDK 的进程的名称。
受保护 指示文件是否受保护的布尔值。
保护 保护模板标识符。
ProtectionOwner 保护所有者的电子邮件地址。
SDKVersion 与 MIP.Version 相同。
UserId 用户的电子邮件地址。
用户对象ID 用户的 Microsoft Entra 对象 ID。
版本 审核版本架构(“1.1”)。

事件:标签更改

名字 说明 已清理
ActionId 此事件的唯一操作 ID,用于事件相关。
ActionIdBefore 上一操作 ID。 用于链接到新的操作 ID。
ActionSource MIP::ActionSource 的值。
App.ApplicationId 通过 mip::ApplicationInfo 提供的应用程序 ID。
App.ApplicationName 通过 mip::ApplicationInfo 提供的应用程序名称。
App.ApplicationVersion 通过 mip::ApplicationInfo 提供的应用程序版本。
ApplicationId 通过 mip::ApplicationInfo 提供的应用 ID。
应用程序名称 通过 mip::ApplicationInfo 提供的应用程序名称。
CreationTime 生成事件的时间。
DataState 在应用程序对其进行操作时,数据的状态为“静止”、“运动”、“使用”。
DefaultLabel.Id 租户默认标签标识符。
Engine.TenantId 已通过身份验证的用户的主租户 GUID。
Engine.UserObjectId Microsoft Entra ID 中的用户对象标识符。
Event.CorrelationId 已生成与触发事件的对象关联的唯一 ID。
Event.CorrelationIdDescription C++触发事件的对象的类名。
Event.ParentCorrelationId 父事件相关 ID。
Event.ParentCorrelationIdDescription 已生成与触发事件的对象的父对象关联的唯一 ID。
Event.UniqueId 已生成分配给事件的唯一 ID。
IsLabelChanged 指示标签是否更改的布尔值。
IsProtectionChanged 指示保护是否更改的布尔值。
LabelId 将应用于文件或数据的标签 ID。
LabelIdBefore 在文件或数据上的原有标签 ID。
MachineName 生成事件的系统的名称。
MIP.Version MIP SDK 的版本。
ObjectId 文件路径/文件或数据的说明。
操作 “Change”。
OrganizationId 已通过身份验证的用户的主租户 GUID。
平台 操作系统版本。
ProcessName 使用 SDK 的进程的名称。
产品版本
受保护 指示文件是否受保护的布尔值。
先前受保护 指示文件是否先前受保护的布尔值。
保护 保护模板标识符。
先前的保护 以前的保护模板标识符。
ProtectionContentId 新的内容标识符(GUID)。
ProtectionContentIdBefore 先前的内容标识符 (GUID)。
ProtectionOwner 保护所有者的电子邮件地址。
ProtectionOwnerBefore 保护所有者的以前电子邮件地址。
SDKVersion 与 MIP.Version 相同。
UserId 用户的电子邮件地址
UserObjectId 用户的 Microsoft Entra 对象 ID。
版本 审核版本架构(“1.1”)。

在 C++ 中选择退出

若要将诊断设置为最小值,请创建 mip::DiagnosticConfiguration() 的共享指针,并将 isMinimalTelemetryEnabled 设置为 true。 将对象传递给 MipConfiguration::SetDiagnosticConfiguration(),然后使用 MipConfiguration 生成 MipContext

auto diagnosticConfig = std::make_shared<mip::DiagnosticConfiguration>();
diagnosticConfig->isMinimalTelemetryEnabled = true;
					   
// Create MipConfiguration. 
// Initialize MipConfiguration.
std::shared_ptr<mip::MipConfiguration> mipConfiguration = std::make_shared<mip::MipConfiguration>(mAppInfo,
                                                                                                 "file_sample",
				                                                                                 mip::LogLevel::Trace,
				                                                                                 false);

// Set DiagnosticConfig
mipConfiguration->SetDiagnosticConfiguration(diagnosticConfig);

mMipContext = mip::MipContext::Create(mipConfiguration);

在 .NET 中选择退出

若要将诊断数据设置为最小值,请创建 DiagnosticConfiguration() 对象并将 isMinimalTelemetryEnabled 设置为 true。 在 MipConfiguration 上设置 DiagnosticOverride 属性,然后创建 MipContext

DiagnosticConfiguration diagnosticConfiguration = new DiagnosticConfiguration();
diagnosticConfiguration.IsMinimalTelemetryEnabled = true;

// Create MipConfiguration.
MipConfiguration mipConfiguration = new MipConfiguration(appInfo, "mip_data", LogLevel.Trace, false);

// Set Diagnostic Override.
mipConfiguration.DiagnosticOverride = diagnosticConfiguration;

// Create MipContext.
MipContext mipContext = MIP.CreateMipContext(mipConfiguration);