Defender for Cloud と Microsoft Purview (Datamap / Data Catalog) を連携させて実現する Azure のデータセキュリティ

:::note info
本記事は2021年のものですが、一部2023年の情報に更新しています。
:::

# 本記事について

2021年の [Microsoft Ignite](https://news.microsoft.com/ignite-march-2021-book-of-news/) で、Azure Defender / Security Center の Microsoft Defender for Cloud （以下、Defender for Cloud）へのリブランドが発表されました。そのリブランド発表にて[新たな機能としてアナウンス](https://techcommunity.microsoft.com/t5/azure-purview/what-s-new-in-azure-purview-at-microsoft-ignite-2021/ba-p/2915954)されたのが、[Defender for Cloud と Microsoft Purview (Data Map / Data Catalog) の連携機能](https://docs.microsoft.com/ja-jp/azure/defender-for-cloud/information-protection)です。本記事では、この発表内容を見ながら、Azure のデータセキュリティについて考えていきます。

## (追記) 2023年時点での注意点 - Defender for Cloud (Defender CSPM / Defender for Storage) の Sensitive data discovery との兼ね合いについて

:::note warn
2023年現在、Defender CSPM や Defender for Storage の中で、Sensitive data discovery 機能がプレビューで提供されています。もしこちらの機能を有効化されている場合は、本記事の Purview 連携が無効化され、Purview Data Map 上のスキャン結果が、Defender for Cloud 側には反映されなくなります。
:::

https://learn.microsoft.com/ja-jp/azure/defender-for-cloud/concept-data-security-posture

https://learn.microsoft.com/ja-jp/azure/defender-for-cloud/information-protection

> Purview カタログでは、機密データ検出機能にオンボードされていないサブスクリプション内のリソースまたはこの機能でサポートされていないリソースの種類に対してのみ、データ コンテキストが提供されます。

# Azure のデータセキュリティって何をすればよいの？

実際に、Defender for Cloud や Purview を見ていく前に、Azure のデータセキュリティでは何をすれば良いのかを考えてみたいと思います。Azure のセキュリティの実装については、[Azure Well-architected Framework](https://docs.microsoft.com/ja-jp/azure/architecture/framework/security/design-storage) と [Microsoft Cloud Security Benchmark (MCSB) ](https://learn.microsoft.com/ja-jp/security/benchmark/azure/), またマイクロソフト社のゼロトラスト成熟度モデルを参照していくのがおすすめですので、本稿でもその３つの内容を見ていきます。

## Well-architected Framework (W-AF)

[W-AF のセキュリティ - データ保護セクションの考慮事項](https://docs.microsoft.com/ja-jp/azure/architecture/framework/security/design-storage)には、下記の項目が挙げられています。

https://docs.microsoft.com/ja-jp/azure/architecture/framework/security/design-storage

* ID ベースのストレージ アクセス制御を使用します。
* Azure サービスのデータ暗号化には組み込み機能を使用します。
* 保存されているすべてのデータを分類して暗号化します。
* ネットワーク上で転送されるデータをすべてのポイントで暗号化し、承認されていないユーザーがアクセスしないようにします。
* ID ベースのアクセス制御と監査ポリシーを備えたマネージド キー コンテナー サービスにキーを格納します。
* キーや他のシークレットを頻繁にローテーションします。

クラウドや Azure に限った話ではありませんが、アクセス管理・データの分類・暗号化・暗号化鍵の管理をしていく必要があるということが分かります。

## Microsoft Cloud Security Benchmark v1

Azure でセキュリティ実装をしていくにあたり、満たしていくべきベンチマークとして定義されているのが [Microsoft Cloud Security Benchmark (MCSB) ](https://learn.microsoft.com/ja-jp/security/benchmark/azure/) です。

https://learn.microsoft.com/ja-jp/security/benchmark/azure/

そのコントロールの一つに挙げられているのが、[データ保護（DP）](https://docs.microsoft.com/ja-jp/security/benchmark/azure/security-controls-v3-data-protection)です。このコントロールの中には、8個のベンチマーク項目が入っています。

https://docs.microsoft.com/ja-jp/security/benchmark/azure/security-controls-v3-data-protection

* DP-1:機密データを検出、分類、ラベル付けする
* DP-2: 機密データをターゲットにした異常と脅威を監視する
* DP-3: 転送中の機密データの暗号化
* DP-4: 保存データ暗号化を既定で有効にする
* DP-5: 必要に応じて保存データ暗号化でカスタマー マネージド キー オプションを使用する
* DP-6: セキュア キー管理プロセスの使用
* DP-7: セキュリティで保護された証明書管理プロセスを使用する
* DP-8: キーおよび証明書リポジトリーのセキュリティを確保する

個人的には、W-AF以上に明確に何をすべきかをまとめているように思え、データ保護に限らず Azure セキュリティの実装内容を考えるときは MCSB をまず見てみるのが良い気がしています。データ保護について、まず発見・分類・ラベル付けを行う必要があり、次に機微なデータに関する脅威の監視、暗号化、鍵管理が必要ということが分かります。

## マイクロソフト社のゼロトラスト成熟度モデル

マイクロソフト社が作成したゼロトラスト成熟度モデルのドキュメントが、[こちら](https://download.microsoft.com/download/f/9/2/f92129bc-0d6e-4b8e-a47b-288432bae68e/Zero_Trust_Vision_Paper_Final%2010.28.pdf)からダウンロードできます。

ID, デバイス、アプリケーション、インフラストラクチャー、ネットワーク、データの６分野にわたって、ゼロトラスト型のアプローチの実装状態を評価しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/0015746c-1bea-8041-8b8e-7894818000a4.png)

特にデータに関しては、

* データ分類は手動だけでなく、高度な機械学習モデルによって強化されていること
* 中央的なひとつのクラウド・セキュリティ・ポリシー・エンジンによってアクセス決定が制御されていること
* 暗号化と追跡機能を持つ、DLPポリシーによりデータの共有のセキュリティが確保されること

が挙げられています。

Azure やクラウドに限らないより一般的なセキュリティ実装になりますが、Azure を活用するにあたっても無視できない指摘かと思います。

これら３つの文章の指摘を総合して考えると、まずは何より暗号化によるデータの保護が挙げられます。ただし、加えてそれだけではなく、データを常にポリシーに基づいて分類し、監視・可視化しておくことの重要性が書き方は違えど語られていることが分かるかと思います。

# Microsoft Purview (Data Map / Data Catalog) と Microsoft Defender for Cloud が担うデータ保護

では、Microsoft Purview (Data Map / Data Catalog)  と Microsoft Defender for Cloud は、Azure 上のデータを保護していくにあたり、どの分野を担ってくれるのでしょうか？端的に言うと、データの状態の可視化・分類とデータへの不正アクセス・脅威を検知する部分がこれら２つのサービスの主領域になります。また後程しっかり見ていきますが、Purview と Defender for Cloud が組み合わさることで、データセキュリティに関してかなり一元化されたビューを獲得することができます。

# Microsoft Defender for Cloud と Microsoft Purview (Data Map / Data Catalog) の連携

では、ここから実際の機能を見ていきます。

## 全体像の俯瞰

Defender for Cloud と Microsoft Purview (Data Map / Data Catalog) を中心にデータセキュリティを眺めてみると、下記のようになるかと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/26f05a1a-e104-222b-03d2-b998b194d5ed.png)


Defender for Cloud と Microsoft Purview (Data Map / Data Catalog) の関係性を見ると、基本的には Microsoft Purview (Data Map / Data Catalog) から Defender for Cloud に情報が流れる形です。Microsoft Purview (Data Map / Data Catalog) に対して、Microsoft Purview Compliance Portal (Microsoft Purview Information Protecion のポータル) で秘密度ラベルを利用できるように設定しておくと、その情報も Defender for Cloud に流れていきます。 Microsoft Purview (Data Map / Data Catalog) から流れてきた各 Azure サービス（ストレージ、データベースなど）の情報（分類・ラベルなど）は、Defender for Cloudにあるインベントリページ（リソースページ）に集約されて表示されます。

また、Microsoft Sentinel をさらなる全体管理に利用すると、出てくるすべての要素から情報を集約できることが分かります。

### (追記) Defender for Cloud (Defender CSPM / Defender for Storage) の Sensitive data discovery のアーキテクチャについて

比較のために、Defender for Cloud (Defender CSPM / Defender for Storage) の Sensitive data discovery におけるアーキテクチャ図を載せてみます。こちらは、Purview Data Map を経由せず、Defender for Cloud 側でスキャンまで行っています。現時点では、スキャン対象はストレージサービスに限られるため、より網羅的なデータセキュリティのためには、Purview Data Map と組み合わせて利用するアーキテクチャを採用する必要があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/07c07dff-361b-bb55-7537-cecaa72fd769.png)


ではここから、ひとつひとつの詳細を見ていきます。

## 1. Microsoft Purview Compliance Portal (Microsoft Purview Information Protecion のポータル)  での秘密度ラベルの設定（Mustではないが、Microsoft Purview  Information Protection を使っている場合は推奨）

Purview で利用される秘密度ラベルは、[Microsoft Purview Compliance Portal](https://compliance.microsoft.com) で定義し、Microsoft Purview (Data Map / Data Catalog) への利用許可を設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/b0be7034-556b-d53c-37af-03730fb0bcdc.png)

## 2. Microsoft Purview (Data Map / Data Catalog)  によるデータのスキャン

Microsoft Purview (Data Map / Data Catalog)  では、データソース（Azure SQL Database, Azure Blob Storage など）を登録し、Managed ID などを利用してスキャンをしてメタデータを収集します。そして、分類エンジンでどのような種類のデータ（クレジットカード番号、メールアドレス、マイナンバーなど）が含まれているかを調べてくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/0b6519ae-5c35-cca1-c8b5-fafc54fa9eed.png)

たとえば、下記の例だと、Credit Card Number に分類されたデータベースやストレージ上のファイルが複数見つかっていることが分かります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/9dd12b8a-fef1-0b0f-a35a-b66f3169d918.png)

分類エンジンはスキャンの実行時に Microsoft Purview (Data Map / Data Catalog)  側で設定していますが、秘密度ラベルはさきほど Compliance Portal で定義したものが使われています。黄色で見にくいですが、Confidential と書かれています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/43e161e7-b47e-d83e-c647-8fa65ee17935.png)

また、キーワードや正規表現を利用して、自社に必要な分類ルールを作ってあげることもできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/71c6772b-cb6a-fde6-bcd6-944af3f0a97a.png)

## 3. Microsoft Defender for Cloud でのデータの表示

Microsoft Defender for Cloud では、Defender for Cloud 自身が態勢評価をした結果や不正アクセスアラートなどの検知の結果と、Microsoft Purview (Data Map / Data Catalog)  による分析結果を合わせて表示してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/4494f4e3-4edb-0578-0ee9-5248577bdbc3.png)

ストレージやデータベースのセキュリティ構成の問題は、Defender for Cloud の側で常に分析されています。内部に含まれるデータが重要であれば、そのストレージやデータベースの構成には細心の注意を払う必要があります。ここの情報が一元化されることで、システム担当もセキュリティ担当もいち早くアクションを取ることができるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/9176f421-9db0-0eb1-14ae-3e3f261a2818.png)

また、セキュリティアラートの画面にもアクセスを受けたソースの分類・ラベル情報が表示されるので、自社にとって重要なデータが侵害を受けた可能性があるかをいち早く把握することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/6c898b58-8a8d-3f24-916d-2d96aa2d86a7.png)


Defender for Cloud を常に確認することによって、自社の Azure 環境にセキュリティの問題が無いかをチェックすることができます。それに加えて Microsoft Purview (Data Map / Data Catalog) を有効化し、そのデータを Defender for Cloud で取り込むことによってデータの保護状況を一元的に見れることが分かりました。

# 最後に

本稿では、Microsoft Purview (Data Map / Data Catalog) がどのように Defender for Cloud と連携し、どう Azure のデータセキュリティに寄与できるか見てきました。本記事が Defender for Cloud と Microsoft Purview (Data Map / Data Catalog)  を利用するきっかけとなれば幸いです。

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