Como integrar-se às políticas de prevenção contra perda de dados do Microsoft Teams
Importante
A funcionalidade descrita neste artigo está atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
O administrador do Microsoft Teams pode configurar políticas de prevenção contra perda de dados (DLP) para evitar vazamento de informações confidenciais de usuários do Teams durante reuniões do Teams. Os desenvolvedores 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 escutar atualizações em tempo real em 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 de "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". Lembre-se de que pode haver um breve atraso, geralmente de alguns segundos, entre quando uma mensagem é enviada e quando uma violação de política é detectada e aplicada. Você pode encontrar um exemplo desse código abaixo.
É importante observar que as políticas DLP se aplicam somente a mensagens enviadas por usuários do Teams e não impedem que os usuários da Comunicações do Azure enviem informações confidenciais.
Prevenção contra perda de dados com assinatura de notificações de chat 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 a recuperação de mensagens de chat anteriores
const messages = chatThreadClient.listMessages();
for await (const message of messages) {
if (message.policyViolation?.result == "contentBlocked") {
// Show UI message blocked
}
}