Microsoft Purview コンプライアンス ポータル で機密情報の種類を「正規表現」で作成する

# 0. 背景
お世話になっているお客さんが、少し前から困っていらっしゃることがありました。
それは、旧 Microsoft 365 コンプライアンスで設定できていたデータ損失防止ポリシーを設定するときのルールの登録時に「正規表現」を用いて登録する方法が、Microsoft Purview コンプライアンス ポータルに変わってから見つからないとのこと。以前は、正規表現で指定して登録して、正常に登録できているかファイルをドラッグアンドドロップでアップロードして、すぐにテストすることができたのがとても重宝していたのに、残念と。
いろいろと調べていて、それと思われる設定方法が見つかったので、記録します。

:::note info
この記事は 2023/2/7 時点での情報です。
:::

# 1. Microsoft Purview コンプライアンス ポータル とは？
Microsoft Purview コンプライアンス ポータルについて、引用を交えてお伝えします。

>　Microsoftは2021年9月、データガバナンスプラットフォーム「Azure Purview」の一般提供開始を発表した。同社は米国時間4月19日、このプラットフォームをリブランドするとともに、「Microsoft 365」のコンプライアンスおよびガバナンス製品を「[Microsoft Purview](https://www.microsoft.com/en-us/security/blog/2022/04/19/the-future-of-compliance-and-data-governance-is-here-introducing-microsoft-purview/)」のブランドに加わえることを発表した。この新しいブランドファミリーは、これまでの「Azure Purview」と「Microsoft 365 Compliance」（Microsoft 365コンプライアンス）ポートフォリオの機能を組み合わせたものとなる。
> （[マイクロソフト、コンプライアンスとデータガバナンス製品を新「Microsoft Purview」に](https://japan.zdnet.com/article/35186548/) より引用）

この記事は 2022-04-20 付けなので、Microsoft 社が Microsoft Purview ブランドの発表したのは2022年4月19日（米国時間）です。発表後、徐々にポータルも統合が進み、今は Microsoft 365 管理センターから「コンプライアンス」をクリックすると、Microsoft Purview コンプライアンス ポータルにアクセスします。

Microsoft Purview コンプライアンス ポータルについての情報は上記の記事のほか、次の記事を参考にしてください。
- [【第1回】Microsoft Purviewって何？](https://blog.jbs.co.jp/entry/2022/09/30/171513) （JBS Tech Blog）
- [Microsoft Purview とは? を解説](https://www.avepoint.com/blog/ja/office-365-ja/what-is-microsoft-purview) （AvePoint ブログ）

# 2. データ損失防止でポリシーを作成してみる
Microsoft Purview コンプライアンス ポータルにて、データ損失防止メニューからポリシーを作成するウィザードを進めていくと、『ポリシーの設定』で『詳細なDLPルール』が設定できます。
ルールの作成の条件で、『〇〇がパターンと一致する』を選択すると、正規表現を入力して登録することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/d941f1ff-1949-a3b3-2cee-f2f90f30bd63.png)

しかしながら、ここの設定では正常に登録できているかファイルをドラッグアンドドロップでアップロードして、すぐにテストできるような手順は現れません。そこでいろいろと調査していたところ、次の公式ドキュメントがみつかり、お客さんの要望の機能だったので、実際に設定して確認をしてみました。

# 3. コンプライアンス センターでカスタム機密情報の種類を作成する
- Microsoft 公式ドキュメント「[コンプライアンス センターでカスタム機密情報の種類を作成する](https://learn.microsoft.com/ja-jp/microsoft-365/compliance/create-a-custom-sensitive-information-type?view=o365-worldwide)」に記載通りの手順で設定してみました。
- 「正規表現」のテストには、日本の郵便番号 [数字3桁-（ハイフン）数字4桁] を利用しました。

:::note warn
この検証は開発者プログラムの環境で実施しています。
:::

1. Microsoft Purview コンプライアンス ポータルの [データ分類] を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/dbe730ed-adb0-42d3-8ffb-2cd3930046df.png)

1. [機密情報の種類]を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/6d7ad2b9-6fa1-4f2a-ee66-a397218695bc.png)

1. [機密情報の種類の作成] を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/b3880d26-1d66-c5f0-59e9-5571809babe6.png)

1. [名前] および [説明] の値を入力し、[次へ] を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/8f8864ee-b2a8-5e71-1814-b0c488d2bfa4.png)

1. 「この機密情報の種類のパターンを定義する」画面にて[ + パターンの作成] を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/6cda35c3-1a07-078a-d25c-a07e4eb1ce90.png)

1. [新しいパターン]を設定する右ペインが表示されます。今回、[信頼度]は[信頼度低]に設定しました。
1. [主要要素を追加する]を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/f1e9af77-9144-a840-c6c1-6e47872f1ba6.png)

1. [正規表現]を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/2d929ae3-ac07-0601-ae40-13edda134263.png)

1. 「正規表現を追加する」画面で検出したい正規表現を入力して、[完了]して [正規表現を追加する]画面を閉じて、[次へ]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/8d88e196-2d75-7688-1452-568d1fcef51b.png)
＊正規表現の記述方法については、[正規表現](https://learn.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expressions)などをご参照ください。

1. 「コンプライアンス ポリシーに表示する推奨の信頼度レベルを選択する」画面にて[信頼度]を選択して[次へ]
1. 「設定を確認して完了する」画面にて設定を確認して[保存]。これで設定は完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/3b23bc22-6025-8b42-2ec9-eaff3c52363d.png)

# 4. テストを実行
作成した「機密情報の種類」の検出が、登録した正規表現の通りに実行されるかテストします。

## 4.1 ＜テストケース1＞正規表現とすべて一致するデータ5件

1. 作成した「機密情報の種類」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/89129f81-f356-a324-ab76-220b9e5c21f9.png)

1. [テスト]を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/7bcc6269-f0ae-38fe-b181-d84296a219fa.png)

1. テストに利用するファイルをアップロード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/8433d755-487d-d45c-e6cf-e3a9b1f1fca7.png)
＜アップロード完了＞
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/b87456e1-9b4b-0425-f48d-5a97becba934.png)
＜Word ファイルの中身＞
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/b9c948f2-a8dc-8719-812a-48f3da9f43fe.png)

1. テスト結果が『照合結果』として表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/fc3f1787-9124-87fe-8041-589ed3609cd3.png)

無事に **5件検出** されたようです。 

## 4.2 ＜テストケース2＞正規表現と一致するのはデータ3件のみ　【2023/2/12 追記】

次に Word ファイルに正規表現と一致しないデータも含むファイルのテストも実施してみます。

＜Word ファイルの中身＞
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/a1c32ba9-e2d2-60b3-ce7c-61b4b512fdf6.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/6c3eb19f-2963-e911-2a66-ae44e02bd1f4.png)

ちゃんと **正規表現と一致する3件のみ検出** されたようです。 



これでデータ損失防止ポリシーのルール作成時に **[機密情報の種類]から正規表現より作成した「機密情報の種類」を選択** することができるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/02204fb8-3fe1-81bf-caf4-258080fe414c.png)

# 5. まだよくわからないこと
データ損失ポリシーを作成する際、『〇〇がパターンと一致する』のコンテキストは公式ドキュメントの[データ損失防止ポリシー リファレンス](https://learn.microsoft.com/ja-jp/microsoft-365/compliance/dlp-policy-reference?view=o365-worldwide) によると「ポリシーを適用する場所」が下記の場所ではサポートされているはずなのです。
 - [Exchange](https://learn.microsoft.com/ja-jp/microsoft-365/compliance/dlp-policy-reference?view=o365-worldwide#conditions-exchange-supports)
 - [SharePoint](https://learn.microsoft.com/ja-jp/microsoft-365/compliance/dlp-policy-reference?view=o365-worldwide#conditions-sharepoint-supports)
 - [OneDrive アカウント](https://learn.microsoft.com/ja-jp/microsoft-365/compliance/dlp-policy-reference?view=o365-worldwide#conditions-onedrive-accounts-supports)

ですが、私の開発者プログラム環境では表示されません。
＜SharePoint のみを選択＞
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/5ba9ad1a-a12a-ecec-bb32-6f6f93df9156.png)

開発者プログラム環境だからなのか、不明ですが、また調査していきたいと思います。

# まとめ 【2023/2/12 追記】

カスタムの正規表現で登録した[機密情報の種類]が利用できると、何か利点あるかと考えてみると、この設定を利用できる場所が増えることです。
[データ損失防止ポリシー リファレンス](https://learn.microsoft.com/ja-jp/microsoft-365/compliance/dlp-policy-reference?view=o365-worldwide)にあるように、『〇〇がパターンと一致する』のコンテキストは利用できる場所が上記の3か所に限られています。
しかし、[機密情報の種類]は、「Power BI (プレビュー)」以外のすべての場所で適用できます。ここが大きなポイントだと感じました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1206908/d7864462-7752-5620-a597-2a178102bd0e.png)


```
この記事の内容について、もし誤り等ございましたらご指摘いただけるますと幸いです。
```