Como integrar com as políticas de Prevenção de Perda de Dados do Microsoft Teams
Importante
A funcionalidade descrita neste artigo está atualmente em visualização pública. Esta versão de pré-visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
O administrador do Microsoft Teams pode configurar políticas de prevenção contra perda de dados (DLP) para evitar o vazamento de informações confidenciais de usuários do Teams durante reuniões do Teams. Os programadores têm a opção de integrar a funcionalidade de chat em reuniões do Teams com os Serviços de Comunicação do Azure. Isso pode ser feito por meio da biblioteca de interface do usuário dos Serviços de Comunicação do Azure ou por meio de uma integração personalizada. Este artigo descreve como incorporar a prevenção contra perda de dados sem usar a biblioteca de interface do usuário.
Você precisa configurar seu aplicativo para ouvir atualizações em tempo real sobre edições de mensagens. Se um usuário do Teams enviar uma mensagem contendo conteúdo confidencial, a mensagem será automaticamente substituída por uma mensagem em branco e sinalizada com um resultado "policyViolation". Seu aplicativo deve atualizar sua interface do usuário para refletir que a mensagem foi bloqueada. Por exemplo, exiba uma mensagem como "A mensagem foi bloqueada, pois contém informações confidenciais". Esteja ciente de que pode haver um breve atraso, geralmente alguns segundos, entre quando uma mensagem é enviada e quando uma violação de política é detetada e aplicada. Você pode encontrar um exemplo desse código abaixo.
É importante observar que as políticas de DLP se aplicam apenas a mensagens enviadas por usuários do Teams e não impedem que os usuários do Azure Communications enviem informações confidenciais.
Prevenção de perda de dados com assinatura de notificações de bate-papo em tempo real
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
}
});
Prevenção contra perda de dados com recuperação de mensagens de bate-papo anteriores
const messages = chatThreadClient.listMessages();
for await (const message of messages) {
if (message.policyViolation?.result == "contentBlocked") {
// Show UI message blocked
}
}