Azure Purview でデータを分析してみよう - 1. Blob のファイルのスキャンをしてみた

# Azure Purview とは？

[Azure Purview](https://docs.microsoft.com/ja-jp/azure/purview/overview)とは、Azure やオンプレミス、他のクラウドサービス上のデータに対して、データマップや検索機能、分類・ラベル付けや Lineage 機能を提供する、統合的なデータガバナンスソリューションです。[2020年12月3日](https://azure.microsoft.com/ja-jp/blog/shape-your-future-with-data-and-analytics/)にパブリックプレビューリリースとなりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/6b1e2631-35ff-19f8-e53a-b008051b1c75.png)

本記事では、Azure Purview の機能を使って、Blob Storage のファイルをスキャンし、情報を Purview 上で可視化するステップを見ていきたいと思います。

# 環境の準備

＊[こちらの記事](https://docs.microsoft.com/ja-jp/azure/purview/register-scan-azure-blob-storage-source)もご参照ください。

## Azure Purview アカウント

ここからは、[こちらの公式ドキュメント](https://docs.microsoft.com/ja-jp/azure/purview/create-catalog-portal)を基に進めていきます。

まず、Azureサブスクリプションの中で、リソースプロバイダーの登録が必要です。サブスクリプションの画面からリソースプロバイダーを選択し、Purview を登録しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/58b5857e-4887-9c29-7e0f-ecfe2363a1c7.png)

次に Purview アカウントを作成します。Portal 上の検索窓で「Purview」と検索すると Azure Purview が出てくるので、クリックして追加からアカウント作成に入ります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/0e8749d5-ed7b-0fcf-c753-f4adebe74735.png)

他の Azure リリースと同じく、リージョンやリソースグループの入力を行い、アカウントを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/47340e9b-d884-3ba2-5bee-d9dac60f5dbb.png)

以上で、アカウント作成は完了です。

## Blob Storage の準備

### Storage アカウントとコンテナーの作成

Storage アカウントが無い場合は、ひとつご作成ください。既存のアカウントを利用することもできます。コンテナーも準備します。

### テストファイルのアップロード

今回はクレジットカード番号のスキャンのテストをするので、下記のようなファイルをローカルで作成し、コンテナーにアップロードします。ファイル名は CreditCard.txtとします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/44a2721e-7a9f-8a6e-1f9e-be485afddd9d.png)

### Purview アカウントへのアクセス権の付与

Purview がスキャンをするときにアクセス権が必要です。今回は一番簡単な Azure AD Managed Identity を利用します。Purviewアカウント作成時に、同名の Managed Identity が作成されます。それに対して、このストレージアカウントに対するストレージ Blob データ閲覧者権限を付与します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/ddcc6a77-594b-d428-6158-71bf6751e41d.png)

これで基本的な準備は完了です。

# スキャンの実行

ここからの作業は [Purview Studio](https://web.purview.azure.com/) で行います。下記の Open Purview Studio から Studio を開けます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/da716c99-9de6-287b-bc1e-d69d282805ae.png)

こちらが [Purview Studio](https://web.purview.azure.com/) です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/6a28a3aa-352b-7530-7cc7-45cac570143d.png)


## Purview コレクションの作成

まず Sources から + New Collection をクリックし、データソースのセットとなるコレクションを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/998fd726-0e2c-94db-4c06-5d4a16391db8.png)

## Register

次にデータソースを登録します。作成したコレクションの中で、Register をクリックします。今回はメニューから Blob Storage を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/a8807ebf-a32a-7c9c-461a-c978c6fe3039.png)

そして、上記のストレージアカウントを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/dff9d939-c510-2b75-d0c1-f06816dc1711.png)

## New Scan

そして、いよいよスキャンを設定します。New Scan をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/92eaa192-25c4-88c0-a912-f492c76a7b80.png)

Credential は MSI にし、ターゲットとなるコンテナーを選択します。ルールセットは今回はデフォルトのままにしますが、ご自身のスキャンルールも作れます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/0606e884-69bb-37f7-b2b2-fb8dae52ef51.png)

実行は Once にしてみますが、スケジュール化も可能です。Once にした場合は、そのまま進み、Save and Run をクリックするとキューに入り、実行に移ります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/2f3c9f46-d690-40fa-9ec0-b45b6edf36ca.png)

# 結果の確認

分析は Insights から可能です。

## スキャンの実行結果

スキャンの結果については、Scan Insights から確認できます。成功・失敗などがまとめて確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/8c4f376a-6bb0-cb8d-2e9c-3c5cc0362870.png)

## アセットの分析

Blob Storage のファイルの分析については、検索窓の Search assets から見れます。試しに Credit と検索します。すると、先ほどのファイルが見つかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/b6e183b2-a819-abb0-ae68-6b26bb802f8c.png)

これをクリックすると、ファイルの詳細情報が出てきます。分類が正しく動いていると、 Classification に Credit Card Number が出てきます。これは、Purview のデフォルトの分類ルールの中に Credit Card Number が入っているため、自動で分類された結果となります。この分類ルールは自分のものを足すことができ、ニーズに合わせた自動分類が可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/34e6c033-d56a-9cbb-f3e0-1cbd6415cd58.png)

### Microsoft 365 Compliance との連携について

上記のファイルでは、CreditCard.txt の横に、Confidential という秘密度ラベルが付いています。Purview では、Microsoft 365 の Compliance Center から秘密度ラベルをインポートし、ラベル付けを行うことができます。ラベル自体の設定は、Microsoft 365 側で行い、Azure Purview への連携を明示的に有効化する必要があります。詳細については、こちらの[ドキュメント](https://docs.microsoft.com/ja-jp/azure/purview/create-sensitivity-label)もご参照ください。

# 最後に

本記事では Blob Storage のファイルに対して、Azure Purview からスキャンを行い、データを可視化するステップを見てきました。Blob ストレージだけではなく、データベースや Azure Synapse Analytics, Azure Data Lake なども対象になるので、今後別のリソースについてもご紹介できればと思います。

＊本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。