高度なデータガバナンスを実現するMicrosoft Purviewを徹底解説

こんにちは。今日は兼ねてから気になっていたAzure Purview改めMicrosoft Purviewを触ってみましたので、調べて分かったことなどを記事に残しておこうと思います。

それではまいります。

Contents

Microsoft Purviewとは?

Microsoft Purviewは「データのビジネス価値を最大化する、統合データ ガバナンス ソリューション」と位置付けられています。

https://azure.microsoft.com/ja-jp/services/purview/

具体的には、自動化されたデータ検出、機密データ分類などによって、データ環境全体の最新のマップを簡単に作成でき、またデータの利用者はこれを参照して信頼できるデータを見つけることが出きるようになります。これを実現する具体的な機能は後程ハンズオン含めて確認していますので、後半を参照ください。

以下のような経緯を持つサービスです。

Microsoft Purviewが必要となる背景

以下のMicrosoft Learnコンテンツを読むとPurview登場の背景を理解できます。

参考:https://docs.microsoft.com/ja-jp/learn/modules/intro-to-microsoft-purview/1-introduction

  • 昨今のデジタル変革でデータソースの種類やデータ量は爆発的に増加している
  • そうした状況でも企業では以下の疑問に答えられる必要がある(データガバナンス)
    • どのような種類のデータが存在していて、それがどこに格納されているのか
    • どのデータに機密情報や個人情報が含まれているかどうか
    • ユーザはどのようなデータにアクセスできるのか
  • Purviewは、こうした疑問に常に答えられるようにするために登場した。
参考文献のMS Learnより
参考文献のMS Learnより

こちらにもわかりやすくまとめられています。

https://it.impress.co.jp/articles/-/23019

Microsoft Purviewの機能

Microsoft Purviewは、上の図の通り以下の3つの要素から構成されています。

  • Data Map
  • Data Catalog
  • Data Estate Insights

以下、もう少し各要素の理解を深めます。

Data Map

https://docs.microsoft.com/ja-jp/azure/purview/overview#data-map

  • オンプレ・クラウド上に存在するデータのメタデータを収集してData Mapを構成できる
  • 自動化されたスキャンと分類の機能によってData Mapは自動的に最新の状態に維持される
  • Apache Atlas 2.2 API を使用して、Data Map をプログラムで操作することができる
  • Data Mapで収集されるのはあくまでメタデータで、実際のデータが収集されるわけではない

Data Catalog

https://docs.microsoft.com/ja-jp/azure/purview/overview#data-catalog

  • データを素早く見つけるための機能を提供
  • 具体的には用語集、データの分類、秘密度ラベルなどでフィルターしてデータを探索できる
  • 用語集を管理したり、データキュレーション、データへのタグ付けを自動化する機能もある

Data Estate Insights

https://docs.microsoft.com/ja-jp/azure/purview/overview#data-estate-insights

  • 2022年6月現在プレビュー
  • 組織のデータ資産、カタログの使用状況、導入、およびプロセスに関する実用的な分析情報を提供
  • 具体的にはデータ資産の正常性や所有権などに関するダッシュボードなどが提供されています
公式ドキュメント

Microsoft Purviewの価格

https://azure.microsoft.com/ja-jp/pricing/details/purview/

TBU

Microsoft Purviewの導入事例

こちらから確認できます。公開されている事例としてはまだそこまで多くないようですが、

https://customers.microsoft.com/ja-jp/search?sq=%22Purview%22&ff=&p=0&so=story_publish_date%20desc

Microsoft Purviewを利用したサービスアーキテクチャ例

Azureのアーキテクチャセンターにいくつかではじめているので、参考になるものがあるかもです。

Azure Purview による Azure Data Lake 全体のデータ管理

https://docs.microsoft.com/ja-jp/azure/architecture/solution-ideas/articles/azure-purview-data-lake-estate-architecture

Microsoft Purviewを使ってみる

それではMicrosoft Purviewを実際に使ってみようと思います。

Purviewアカウントの作成

Data Map – データソースの登録

今回は、Azure SQL Databaseと連携してみました。

データマップ>ソース>登録から、Azure SQL Databaseを指定します。

データソースの登録で指定する情報はプルダウンで選択するだけで非常にシンプルです。

Data Map – データコレクションの作成

次にデータコレクションの機能を触ってみます。Purviewを利用する上で必須の手順ではないですが、データの可視化に便利な機能だと思いましたので手順に加えています。

データマップ>コレクションから作成でき、階層化もできます。今回は以下のような階層でコレクションを作成してみました。

この状態でデータマップ>ソースを開いてみると・・・こんな感じでコレクションが階層構造で確認できます。

この後のステップで追加するデータソースをコレクションに含めた状態だとこんな感じです。データ管理者が、企業が持つデータの種類や場所を把握するのに役立ちそうです。

Data Map – メタデータスキャンの構成と実行

データソースの登録が完了したら、実際にデータソースのメタデータを収集するためのスキャンの実行を構成します。

今回はお試しなので、基本的にすべて規定値で進めます。

なお、Azure SQL DatabaseをPurviewに接続するには、SQL Database側に認証の設定が必要だったりしますが、そちらはこの記事の本題ではないので、以下の記事にまかせることとします。

接続のテストが成功したら、スキャンスコープの設定。SQL Database内のユーザテーブルを選択できます。

次に、スキャンルールセット。今回は規定のルールを使いますが・・・

ルールの中身を見てみるとこんな感じで、個人情報などを検出して分類するためのルールが規定で用意されています。これはとても便利そうな予感。結果を見てみるのが楽しみです。

とおもったら、2022年6月時点では、テーブル資産については分類は自動適用されないようです。(ドキュメント資産は自動分類できる)このため、メタデータスキャン後に列毎に分類を手動で適用してく必要があるようです。

きっと今後のアップデートで改善される気がしますが、これはなるはやで実装されると助かりそうですね・・・
https://docs.microsoft.com/ja-jp/azure/purview/apply-classifications#apply-classification-to-a-table-asset

最後にスキャントリガーの設定。

SQL Databaseの場合(他も同じかもですが)、繰り返し頻度は週次または月次が指定できるようでした。

ここで必要な設定は完了で、スキャンの実行が開始されます。

対したデータの入っていないデータベースでしたので、スキャンは10分以内に完了しました。

Data Catalog – スキャンした資産の確認

次に、先ほどスキャンしたデータベースが、データカタログにどのように反映されているのかを見てみます。

アセットの参照にすすみ・・・

すると、こんな感じで、取り込んだデータの一覧が確認できます。(さっきテーブル名全部マスクしたけど、全部テストデータなのでやっぱいいや・・笑)

オブジェクトの種類や、データ分類、コレクションなどいろいろなフィルターが用意されているので、データ検索を効率的に行えそうです。ためしにTitanicテーブルを開いてみます。

概要~関連まで5つのタブがあります。なるほど、ここに管理者がデータの説明を加えていくことで、誰がみてもどこにどんなデータがあるかわかるカタログができあがっていくわけですね。

スキーマ構造と、その説明も確認・編集できます。

連絡先とか面白いですね。もちろんAzure ADと統合されています。

Data Catalog – 分類の追加

次に、データの分類を試してみます。公式ドキュメントのガイドはこちら。

https://docs.microsoft.com/ja-jp/azure/purview/apply-classifications

今回は、AgeとNameに以下のように分類を追加してみます。分類のカテゴリは、規定でもかなり豊富に用意されていますが、カスタムの分類を追加することもできます。

すると、アセットを検索する際に、この分類で検索することができるようになりました。例えば「個人情報(氏名)を含んだデータを全部抽出したい」などといった場合に便利な機能ですね。

Data Catalog – 用語集の登録

続けて用語の登録も試してみます。

データを検索する際に、ユーザが検索に使う用語が、データの列名などと一致していることは、開発者でデータソースの仕様を把握しているユーザでもないかぎり少ないと思います。(列名はNameだけど、ユーザは”氏名”と検索したり)この機能を使うと、そうした単語を紐づけることができます。

なお、用語集機能の詳細については、こちらに説明があります。

用語集では、ビジネス ユーザーのためのボキャブラリが提供されます。  相互に関連付けることができるビジネス用語で構成され、さまざまなコンテキストで理解できるように分類することができます。 その後、これらの用語をデータベース、テーブル、列などの資産にマップできます。これにより、データ リポジトリに関連付けられている技術的な専門用語を抽象化でき、ビジネス ユーザーがより身近なボキャブラリのデータを見つけて使用できるようになります。

https://docs.microsoft.com/ja-jp/azure/purview/concept-business-glossary

それではさっそく試しています。上の例の通り、TitanicテーブルのName列を、ユーザが「氏名」と検索した際にヒットさせることができるようにしたいと思います。

データカタログ>用語集の管理へ進み・・・

新しい用語の追加へ進みます。

「氏名」という用語を追加します。ユーザが参考にできるリソースへのリンクも貼れるようだったので、適当にWikipediaの氏名の定義ページへのリンクを設定してみました。

登録完了。(検索に反映させるためには、ステータスを”承認済”にしておく必要があります。)

次に、この用語と、データを紐づけます。Titanicテーブルカタログの編集から、Name列に用語を関連付けます。

なお、先ほど用語に設定したリソースリンクは、カタログ参照時に、以下のような感じでリンクとして反映されていました。

では、データの検索を試してみます。

Before

・当然ながら、「氏名」といれてもName列はひっかかりません。

After

・おお!ちゃんとヒットするようになりました。

Data Estate Insights – データスチュワードシップ(プレビュー)

次はData Estate Insightsの機能もみてみます。

2022年6月時点では、正常性についてはデータスチュワードシップのダッシュボードがプレビュー公開されています。

https://docs.microsoft.com/ja-jp/azure/purview/concept-insights#data-stewardship

なるほど、

データのキュレーション状況(説明や、分類、所有者の設定)が確認できたり

データスチュワードシップ ダッシュボード1

コレクションや時系列の軸で見れたり

データスチュワードシップ ダッシュボード2

あとはアセットの利用状況が見れたりするようですね。

データスチュワードシップ ダッシュボード3

Data Estate Insights – アセット(プレビュー)

https://docs.microsoft.com/ja-jp/azure/purview/concept-insights#assets

次にアセットのダッシュボードをみてみます。登録したデータが一目でわかることを目指しているように見えますね。

Data Estate Insights – 用語集(プレビュー)

https://docs.microsoft.com/ja-jp/azure/purview/concept-insights#glossary

次に用語集のダッシュボード。用語の更新状況が一目でわかるようになっています。

Data Estate Insights – 分類(プレビュー)

https://docs.microsoft.com/ja-jp/azure/purview/concept-insights#classifications

分類のダッシュボード。データに付与した分類の分布状況が確認できます。

他にももうちょっと機能はありますが、メインどころはカバーしたということで、ここでいったん終了したいと思います。

最後までご覧いただきありがとうございます。この記事が少しでも役に立った、という方は下のいいねをポチって頂けると励みになります!

おしまい

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。