Microsoft Teams データ損失防止ポリシーと統合する方法
重要
この記事で説明されている機能は、現在パブリック プレビュー段階にあります。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されており、運用環境のワークロードに使用することは推奨されません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
Microsoft Teams 管理者は、Teams 会議中に Teams ユーザーから機密情報が漏洩することを防ぐために、データ損失防止 (DLP) のためのポリシーを構成できます。 開発者には、Teams 会議のチャット機能を Azure Communication Services と統合するオプションがあります。 これは、Azure Communication Services UI ライブラリまたはカスタム統合を通して行うことができます。 この記事では、UI ライブラリを使用せずにデータ損失防止を組み込む方法について説明します。
メッセージの編集時にリアルタイムの更新をリッスンするようにアプリケーションを設定する必要があります。 Teams ユーザーが機密性の高い内容を含むメッセージを送信すると、メッセージは自動的に空白メッセージに置き換えられ、"policyViolation" という結果のフラグが設定されます。 アプリケーションは、メッセージがブロックされたことを反映するようにユーザー インターフェイスを更新する必要があります。 たとえば、"メッセージは機密情報を含んでいるためブロックされました" などのメッセージを表示します。メッセージが送信されてからポリシー違反が検出されて適用されるまで、短い遅延 (通常は数秒) が発生する可能性があることに注意してください。 そのようなコードの例を次に示します。
DLP ポリシーは、Teams ユーザーによって送信されたメッセージにしか適用されず、Azure Communications ユーザーが機密情報を送信するのを防ぐことはできない点に注意することが重要です。
リアルタイム チャット通知のサブスクライブによるデータ損失防止
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
}
}