你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何与 Microsoft Teams 数据丢失防护策略集成

重要

本文中所述的功能目前以公共预览版提供。 此预览版在提供时没有附带服务级别协议,我们不建议将其用于生产工作负荷。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

Microsoft Teams 管理员可以配置数据丢失防护 (DLP) 策略,以防止在 Teams 会议期间泄露 Teams 用户的敏感信息。 开发人员可以选择将 Teams 会议中的聊天功能与 Azure 通信服务集成。 这可以通过 Azure 通信服务 UI 库或通过自定义集成来完成。 本文介绍了如何在不使用 UI 库的情况下纳入数据丢失防护。

需要设置应用程序以在消息编辑时侦听实时更新。 如果 Teams 用户发送包含敏感内容的消息,该消息将自动替换为空白消息,并标记为“policyViolation”结果。 应用程序应更新其用户界面,以反映该消息已被阻止。 例如,显示一条消息,例如“消息已被阻止,因为它包含敏感信息。”请注意,在发送消息时和检测到并应用策略冲突之间,可能会出现短暂的延迟(通常是几秒钟)。 可以在下面找到此类代码的示例。

请务必注意,DLP 策略仅适用于由 Teams 用户发送的消息,并且不会阻止 Azure 通信用户发送敏感信息。

通过订阅实时聊天通知来防止数据丢失

let endpointUrl = '<replace with your resource endpoint>'; 

// The user access token generated as part of the pre-requisites 
let userAccessToken = '<USER_ACCESS_TOKEN>'; 

let chatClient = new ChatClient(endpointUrl, new AzureCommunicationTokenCredential(userAccessToken)); 

await chatClient.startRealtimeNotifications(); 
chatClient.on("chatMessageEdited", (e) => { 
    if (e.policyViolation?.result == "contentBlocked") {
        // Show UI message blocked
    }
});

通过检索以前的聊天消息来防止数据丢失

const messages = chatThreadClient.listMessages();
for await (const message of messages) {
    if (message.policyViolation?.result == "contentBlocked") {
        // Show UI message blocked 
    }
}

后续步骤