第5回EMS勉強会の発表内容（DLP）のフォローアップ

皆さんこんにちは。国井です。
Microsoft Security Advent Calendar 2022の5日目に参加しています。
この投稿では2022年11月22日に開催した「第5回EMS勉強会の発表内容（DLP）のフォローアップ」をしていきたいと思います。
当日のスライドはSpeakerdeckでも載せておきましたが、
> Microsoft 365 による情報保護 ～ DLP 編
> https://speakerdeck.com/sophiakunii/microsoft-365-niyoruqing-bao-bao-hu-dlp-bian 

これを使いながらDLP（Data Loss Prevention）についてみていきましょう。

## DLPとは
DLPはあらかじめ決められたルールに基づいて保護対象となるコンテンツを見つけてきてくれるサービスです。
お客様からお預かりしたクレジットカード番号が会社で決められた場所で管理をしなければならないのに、なぜかOneDrive for Businessの中に保存されていたりすると、それが情報漏えいにつながったりする可能性があります。ですので、DLPではクレジットカード番号に代表されるような情報が含まれるコンテンツを見つける、ファイルの送信・共有を禁止する、MPIP（Microsoft Purview Information Protection）で暗号化する、などの処理を通じて情報漏えいを防ぐサポートをしてくれるサービスです。
コンテンツの保護というと暗号化！っていう人がいますが、その暗号化をユーザーが手動で行っているのだとすると抜け・漏れが発生する可能性があります。だからこそDLPで会社のルールに沿った運用がされていないコンテンツがあった時にそれを見つけられるような仕組みが必要ってことになるのです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/5d5a4e45-b3ae-608d-08eb-d59f5c65f98e.png)

## DLPの構成要素
DLPは[Microsoft Purview管理センター](https://compliance.microsoft.com)から[データ損失防止]メニューを使ってポリシーを作成します。ポリシーでは主に次の3つを設定します。

>**・データの分類**
>**・ルール**
>**・適用先**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/8d30e399-26c1-1ba5-4607-76d0f43820ac.png)

## データの分類
先ほどの例でDLPではコンテンツの中からクレジットカード番号を見つけるという話をしましたが、「クレジットカード番号」に当たる部分を定義しているのがデータの分類です。データの分類ではクレジットカード番号だけでなく、様々な文字列を定義することができます。どのような文字列が定義できるかというと次の3種類があります。

>**・機密情報の種類**
>**・完全なデータ一致**
>**・トレーニング可能な分類子**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/144bdefc-4e22-70af-abac-b0ba878cc70e.png)

機密情報の種類は単純な文字列をワードリストで登録しておいたり、または特定のアルゴリズムを登録しておいたりすることができます。特定のアルゴリズムというのは同じ16桁の数字でもクレジットカード番号なのか、それともマイナンバーの番号なのかを判断できるような情報って意味です。
完全なデータ一致はCSV形式で保有しているデータをあらかじめ登録しておき、CSVファイル内の特定の列の情報がコンテンツに含まれていたら、、という検出方法を採ることができるものです。
最後にトレーニング可能な分類子ですが会社にとっての重要なドキュメントとはどういうドキュメントなのかを学習させる方法で、あらかじめSharePointサイトの中に会社の機密情報を含むドキュメントを登録し、学習させるというものです。
ものすごくざっくり説明すると、こういう分類方法がDLPで利用できるようになっています。
設定は[Microsoft Purview管理センター](https://compliance.microsoft.com)の[データの分類]メニューから行うことができます。

## 実際にポリシーを作ってみる
データの分類が確認できたら、実際にポリシーを作ってみましょう。
先ほど紹介した[Microsoft Purview管理センター](https://compliance.microsoft.com)の[データ損失防止]メニューからポリシーを新規作成して、わかりやすくTeamsのチャットだけを適用先に設定してみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/48c2eef8-6f43-3ac4-c73d-1664ea1c369a.png)
次にルールとしてクレジットカード番号を条件にしてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/fc08260e-9742-d43e-4c96-9de665e91f69.png)
さらにルールでは条件に合致したときのアクションとして書き込みのブロックとユーザー通知（ユーザー通知とはユーザーが実際の書き込みをする前にクレジットカード番号が含まれているとわかったら書き込みできないことを通知する機能）を設定しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/a50cffa7-a4c7-0382-9765-44df010f317e.png)
ここまでできたらポリシーの作成は完了です。実際にTeamsに書き込んでみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/2a374e1b-098f-42da-5f09-0ff119add4e4.png)

そうすると、こんな感じでブロックできたことがわかります。

## まとめ
DLPではMicrosoft 365をはじめとする、様々な領域に対して機密情報を含むコンテンツが存在する場合、それを自動的に見つけて通知する、ブロックする、暗号化するなどのアクションを行ってくれるサービスであることを紹介しました。本来であれば、ご自身で暗号化する、アクセス許可を割り当てるなどの設定でセキュリティを担保していくべきものですが、人間のやることなのでどうしても抜け漏れが生じてしまうもの。だからこそDLPの存在価値があるんだという話をしました。
私の[ブログ](https://azuread.net)でも今後、活用パターンを機会があれば紹介させていただきますので、そちらもどうぞよろしくお願いいたします。