kt.log

On the best practice of monitoring or auditing Azure Synapse Analytics

Azure Synapse Analytics の監視または監査のベストプラクティスについて

Azure Synapse Analytics に関する監視や監査のベストプラクティスについて、直接的な解はありません。言い換えれば、どのような状況のユーザーにも適用できるベストプラクティスを指し示す特定のドキュメントはありません。

ただ、Azure や Synapse に関する様々な情報を集約し総合することで、それが見えてくるはずです。
本記事ではそのようなアプローチで、一般適用可能なベストプラクティスを模索していきます。

※結論から知りたい方は、本記事をスクロールして最後にある「まとめ」をご確認ください。

前もって、以下に参考文献を示しておきます。

参考文献


Azure 向けの Microsoft Cloud 導入フレームワーク (CAF)

Microsoft のドキュメントは、クラウド導入以前のフェーズからカバーしています。

CAF がどのようなものであるかは、以下のように説明されています。

Azure 向けの Microsoft クラウド導入フレームワークは、クラウド アーキテクト、IT プロフェッショナル、ビジネスの意思決定者がクラウドの導入目標を達成できるようにする完全なライフサイクル フレームワークです。 これは、クラウド向けのビジネス戦略とテクノロジ戦略の作成と実装に役立つベスト プラクティス、ドキュメント、ツールを提供します。

クラウド導入フレームワークには、Microsoft の従業員、パートナー、顧客からのクラウド導入のベスト プラクティスがまとめられています。

CAF に沿ってクラウドを導入すれば、ベストな状態でスタートできる。言い換えれば、今をスタート地点としたときに、CAF と現状とを照らし合わせることで、ベストな状態とどれくらい乖離があるかが見えてきます。

Azure Synapse Analytics に限らず、Azure サービスの監視・監査を考えたときに、まず根本的に必要なのが、セキュリティ戦略 です。
それに基づき クラウド監視戦略 および クラウド デプロイ モデルの監視戦略 を策定し、それを実現するための クラウド監視プラットフォーム 利用を計画します。
監視プラットフォームの利用計画が具体化したら、必要なスキルを準備します。
プラットフォームとスキルが準備できたら、何をどう監視し、意思決定のためにどのようなログやレポートを出すかを決定します。

上記は CAF のうち、監視・監査に関わる部分の要約です。既にクラウドを利用している企業は、そもそもこのベースができていることを今一度確認しておくべきでしょう。


Azure のセキュリティの基礎に関するドキュメント

クラウドを適用するための条件が揃ってはじめて、言い換えれば土台があってはじめて、Azure のセキュリティに関する基礎知識 が活きると言って過言ではありません。

言うまでもないですが、 Azure Synapse Analytics は Azure のサービスのひとつです。このドキュメントで解説されている知識やベスト プラクティスは、Azure Synapse Analytics のセキュリティについて理解し、正しく運用する上での一助となります。

一通り目を通されることをオススメします。


Microsoft Azure Well-Architected Framework (WAF)

WAF のドキュメント には

Azure Well-Architected Framework は、ワークロードの品質向上に使用できる一連の基本原則です。

とあります。すなわち、WAF はクラウド導入・運用開始後の品質向上に役立つフレームワークです。

本記事では監視・監査がテーマとなっていますので、WAF の 5つの柱のうち、特に セキュリティ に着目したいと思います。

概要 内でセキュリティの柱で説明される領域/トピックが 9項目挙げられています。

  • セキュリティ設計原則
  • ガバナンス、リスク、およびコンプライアンス
  • 規制コンプライアンス
  • 管理
  • アプリケーションとサービス
  • ID 管理とアクセス管理
  • 情報の保護とストレージ
  • ネットワーク セキュリティと封じ込め
  • セキュリティ運用

いずれも、監視・監査の対象となり得るトピックです。内容を把握し、よりベストに近づきたいところです。

WAF におけるセキュリティ監視のチェックリスト

WAF において、セキュリティ監視のチェックリスト が示されています。8項目ありますが、このうち (組織やその活動ではなく) 技術に関する項目は以下の 5項目です。

  1. Azure のネイティブ ツールを使用して、ワークロード リソースと実行インフラストラクチャを監視します。
  2. セグメント間のトラフィック、アクセス要求、アプリケーション通信を監視します。
  3. 一般的なリスクを検出および修復して、Microsoft Defender for Cloud でのセキュリティ スコアを向上させます。
  4. 分析のために中央のセキュリティ ログ管理にログとアラートを送信します。
  5. 実際の攻撃に基づくテスト ケースを使用して、セキュリティ設計と実装を定期的にテストします。

1. Azure のネイティブ ツールを使用して、ワークロード リソースと実行インフラストラクチャを監視します。

ネイティブ ツール に関しては Azure セキュリティ監視ツール のページで列挙されています。

7項目ありますが、 Azure Synapse Analytics の監視に関連するものは以下の 1項目です。

ちなみに、 Microsoft Defender for Cloud は、以前は Microsoft Security Center という名称でした。Web 上の一般記事には旧名称のままとなっているケースもありますので、このことは頭の片隅に置いておいてください。

2. セグメント間のトラフィック、アクセス要求、アプリケーション通信を監視します。

Azure Synapse Analytics におけるネットワークのセキュリティに関しては、ホワイトペーパー を確認してください。

3. 一般的なリスクを検出および修復して、Microsoft Defender for Cloud でのセキュリティ スコアを向上させます。

こちらは前述の Microsoft Defender for Cloud でカバーできています。

4. 分析のために中央のセキュリティ ログ管理にログとアラートを送信します。

WAF における Azure でのセキュリティ アラート において、概要が示されています。

「中央のセキュリティ ログ管理」としては、以下の 4つが示されています。

分析とアラート送信に関しては Azure Monitor を使用しますが、 Azure Monitor で Azure Synapse Analytics を監視する方法が こちら で示されています。

5. 実際の攻撃に基づくテスト ケースを使用して、セキュリティ設計と実装を定期的にテストします。

概要は WAF 内の Azure セキュリティ テストのプラクティス で解説されています。
「重要なポイント」を引用します。

  • 現実的で、実際の攻撃に基づくテスト ケースを定義します。
  • 攻撃を防止および検出するため、コストが最も低い方法を特定してカタログ化します。
  • 侵入テストを 1 回限りの攻撃として使用し、セキュリティ防御を検証します。
  • 長期間続く攻撃については、Red Team を使用して攻撃をシミュレートします。
  • 攻撃者が環境内でリソースの悪用のターゲットとする潜在的な攻撃対象領域を測定し、削減します。
  • 攻撃者が使用する可能性のあるさまざまな手段について、適切なフォローアップを行ってユーザーを教育します。

このドキュメントの中で、侵入テスト関連の情報へのリンクが 2つ示されているので、参考にしてください。

テストの実施方針としては、 Azure Synapse Analytics の各 セキュリティ層 に対して、攻撃をシミュレートしたテストを実行し、セキュリティの設計と実装が正しいことを確認します。

Azure Synapse Analytics におけるセキュリティ層は 5層あります。

  • データ保護

    機密データを識別して分類し、保存データと移動中のデータを暗号化する

  • アクセス制御

    ユーザーがデータを操作する権限を決定する

  • 認証

    ユーザーとアプリケーションの ID を証明する

  • ネットワークのセキュリティ

    プライベート エンドポイントと仮想プライベート ネットワークでネットワーク トラフィックを分離する

  • 脅威の防止

    異常なアクセスの場所、SQL インジェクション攻撃、認証攻撃など、潜在的なセキュリティ上の脅威を識別する

テストのためのツールとしてよく使用されるのは Office 365 攻撃シミュレーター であるとのことです。


Azure アーキテクチャ センター

Azure アーキテクチャ センター は、確立されたパターンと手法を使用して Azure でソリューションを設計するためのガイダンスです。

Azure Synapse Analytics は分析プラットフォームであり、その分析結果を用いるアプリケーションなり BI なりがあるはずです。特にそれらも含めて監視・監査を考えるにあたって、クラウド アプリケーションのベスト プラクティス として解説されている 監視と診断のガイダンス は有用です。


Microsoft クラウド セキュリティ ベンチマーク (MCSB)

MCSB は、セキュリティに関する推奨事項のコレクションです。これには、考え方として CAFWAF も内包しています。

監視・監査のためのログ記録と脅威検出については、こちら で解説されています。
以下に LT-1 から LT-7 まで、項目を引用・列挙します。

  • LT-1: 脅威検出機能を有効にする
  • LT-2: ID およびアクセス管理の脅威検出を有効にする
  • LT-3: セキュリティ調査のためのログを有効にする
  • LT-4: セキュリティ調査のためのネットワーク ログを有効にする
  • LT-5: セキュリティ ログの管理と分析を一元化する
  • LT-6: ログの保持期間を構成する
  • LT-7: 承認された時刻同期ソースを使用する

また、監査の一環としての脆弱性評価に関しては、こちら で解説されています。
Microsoft Defender for Cloud をベースとするのが基本方針になります。

MCSB が示す基本方針を確認したら、Azure Synapse Analytics に関するセキュリティ ベースラインも確認します。
項目を以下に引用・列挙します。

  • ネットワークのセキュリティ
  • ID 管理
  • 特権アクセス
  • データ保護
  • アセット管理
  • ログと脅威検出
  • 体制と脆弱性の管理
  • エンドポイント セキュリティ
  • バックアップと回復

これら Azure Synapse Analytics のサービス ベースラインが推奨する構成に従い、 Azure Synapse Analytics のセキュリティ機能を有効にしていきます。


Azure Synapse Analytics

ここまできてやっと、 Azure Synapse Analytics の監視・監査について、具体的な話ができるようになりました。

Azure Synapse Analytics は、分析に必要なさまざまな機能がひとつになったサービスです。したがって、監視・監査は機能ごとに考えることになります。

ここで扱うトピックは以下の通りです。

  1. 全般
  2. ワークスペース
  3. SQL プール
  4. Data Explorer プール
  5. Apache Spark プール / アプリケーション
  6. パイプライン
  7. Synapse Link
  8. セルフホステッド統合ランタイム

1. 全般の監視・監査

まず、Azure Synapse Analytics の実装を成功させるための記事、それが 設計による Azure Synapse の実装の成功シリーズ です。

ここでは以下のように記述されています。

この手法では、戦略的チェックポイント アプローチを使用して、プロジェクトの進行状況を評価および監視します。 これらのチェックポイントの目標は次のとおりです。

  • 考えられる問題と障害を事前に特定します。
  • ソリューションがユース ケースに適合することを継続的に検証します。
  • 運用環境へのデプロイを成功させます。
  • 運用開始後のスムーズな運用と監視を実現します。

これらは、分析プロジェクト中における以下の各チェックポイントと対応関係にあります。

  1. プロジェクトの計画
  2. ソリューションの開発
  3. 運用開始前
  4. 運用開始後

特に重要なのは、運用開始後チェックポイント における 監視レビュー です。
詳しくはドキュメントを参照してください。

このプロセスを経て、正しく Azure Synapse Analytics の運用を開始することで、適切な監視ができるようになるということです。

2. ワークスペースの監視・監査

続いて、 Azure Synapse Analytics ワークスペース全般の監視・監査について触れていきます。

Azure Synapse Analytics に限らず、Azure における構成や設計に関わるものとしてインパクトが大きいのは、Azure Policy規制コンプライアンス です。システム監査の観点から、どのコンプライアンス標準に対応する必要があるのかは、CAF を適用している時点で既に把握できているはずです。
Azure Synapse Analytics に特化して記述された こちらのドキュメント を参照し、適用するポリシーを確認してください。なお、言及されているコンプライアンス標準は以下の通りです。

  • CMMC レベル 3
  • FedRAMP High
  • FedRAMP Moderate
  • NIST SP 800-53 Rev. 5
  • インド準備銀行 - NBFC 向けの IT フレームワーク

対応するコンプライアンス標準、あるいは CAF で定めたセキュリティ戦略 によっては、例えば プライベート リンク を使用する必要がある場合があります。その場合、Synapse プライベート リンク ハブ を設置して各機能が連携できるようにするのが、Azure Synapse Analytics における プライベート リンク構成の特徴です。

上記を含め、Azure Synapse Analytics で登場するネットワーク セキュリティの概念は、ホワイトペーパーで確認しましょう。
トピックは以下の通りとなっており、網羅的に紹介されています。

  • ネットワーク セキュリティの用語
  • パブリック ネットワーク アクセスとファイアウォール規則
  • プライベート エンドポイント
  • マネージド VNet
  • マネージド プライベート エンドポイント接続
  • 高度な Spark セキュリティ
  • データ流出防止
  • Synapse Studio のプライベート リンク ハブ
  • 専用 SQL プール (旧称 SQL DW)
  • ネットワーク セキュリティ機能のマトリックス

続いて、ワークスペースの監視について言及します。

監視の第一歩は、Synapse Studio から始められます。チュートリアル を参照してください。

ただ、実際の監視には Azure Monitor を用いることを、既に方針として決めているのではないでしょうか。操作方法ガイド にその詳細が解説されていますので、参考にしてください。

3. SQL プールの監視・監査

Azure Synapse SQL プールの監査 に関しては、まずは Azure Synapse Analytics のセキュリティに関するホワイト ペーパー脅威の検出 に関するドキュメント内、監査 のセクションを確認してください。

監査の詳細については こちら で解説されています。
トピックは以下の通りです。

  • 概要
  • サーバーの監査を設定する
  • 監査ログとレポートを分析する
  • 運用方法
  • Manage Azure SQL Database の監査
  • 関連項目

データにフォーカスした監査に関しては、こちら で解説されています。
トピックは以下の通りです。

  • データの検出と分類とは
  • 機密性の高い列の検出、分類、ラベル付け
  • 機密データへのアクセスを監査する
  • アクセス許可
  • 分類の管理
  • SQL ドライバーを使用して分類メタデータを取得する
  • FAQ - 高度な分類機能

SQL プールの監視の第一歩もまた Synapse Studio からになりますが、やはりより高度な監視を行うためには Azure Monitor を使用した監視 を導入することになります。

また、専用 SQL プールのベスト プラクティスサーバーレス SQL プールのベスト プラクティス も紹介しておきます。
特に 専用 SQL プールに関しては、DMV (動的管理ビュー) を使用したワークロード監視 について紹介されていますので、より詳細な監視を行いたい場合は参考にしてください。

4. Data Explorer プールの監視・監査

Azure Synapse Analytics への Azure Data Explorer ネイティブ統合 は Ignite 2022 のタイミングで実現しました。
両者の違いについては こちら から確認してください。

現時点では、Synapse Studio を使用した監視についてのみ解説があります。こちらのクイックスタート を確認してください。

5. Apache Spark プール / アプリケーションの監視・監査

Apache Spark プールの監視については、 Synapse Studio を使用する方法 が案内されています。

ノートブック、ジョブ、その他のアプリケーションの監視については、Synapse Studio を使用する方法Azure Monitor を使用する方法 が案内されています。

また、応用として、Apache Spark アプリケーション メトリック ソリューションを Azure Kubernetes Service (AKS) クラスターにデプロイする方法と、Grafana ダッシュボードを統合する方法 にも触れておきます。これにより、よりリアルタイムでカスタマイズ性の高い監視が実現できます。こちらはベストプラクティスという観点ではオプションになると考えられます。

6. パイプラインの監視・監査

パイプライン の監視については、Synapse Studio を使用する方法 が案内されています。
併せて、監視の一環としての メールの送信Teams 通知 に関するガイドもあります。

パイプラインの使用において、よくあるのは コピー アクティビティ です。このガイド をベースに、他の アクティビティ の監視に応用することが可能です。

パイプライン内でアクティビティとして実行する データ フロー も監視の対象となりえます。こちらもパイプライン同様 Synapse Studio からの監視になりますが、こちらの解説 を参考にしてください。

Azure Synapse Link for SQL の監視については こちらのドキュメント を参照してください。
リンク接続だけでなく、テーブルの状態やイベントなども監視することが
できます。

8. セルフホステッド統合ランタイムの監視・監査

Azure Monitor を使って セルフホステッド統合ランタイム のイベントを監視したり、Azure Monitor の Log Analytics ワークスペースを利用してログの分析をすることができます。詳細については こちら をご確認ください。


Microsoft Sentinel

Microsoft Sentinel はクラウドネイティブのセキュリティ情報管理製品です。
Microsoft Sentinel は WAF の セキュリティ監視のチェックリスト において「中央のセキュリティ ログ管理」の 1つとしても挙げられていました。

Microsoft Sentinel は様々なサービスと接続してセキュリティ情報を管理することができますが、当然 Azure のサービスとも接続できます。詳しくは こちらのドキュメント で解説されています。

WAF 以降で登場した Microsoft Defender for Cloud も、Microsoft Sentinel に接続することができます

いずれにしても、Azure Monitor やその Log Analytics ワークスペースで、セキュリティログの監査をすることができます。

なお、Microsoft Defender for Cloud と Microsoft Sentinel の違いについての解説が必要な場合は こちら を参照してください。


まとめ

Azure Synapse Analytics の監視または監査のベストプラクティスについて、ドキュメントから模索を行いました。その結果、以下のことが言えると考えております。

  1. CAF のプラクティスからはじめる
  2. Azure のセキュリティの基礎 を学ぶ
  3. WAF のプラクティスに沿って高度化する
  4. Azure アーキテクチャ センター における 監視と診断のガイダンス を参考にする
  5. MCSB にある Azure Synapse Analytics に関するセキュリティ ベースライン に沿って Azure Synapse Analytics のセキュリティ機能を有効にする
  6. Azure Synapse Analytics の各機能固有の監視・監査設定を行う
  7. Microsoft Sentinel でセキュリティログ監査を行う

基本的に、Microsoft のドキュメントにベスト でない プラクティスは無い、つまりすべてのドキュメントおよびその推奨事項はベストプラクティスであると考えています。

ただ、それらの「つまみ食い」になると、必ず抜け漏れが出てきます。セキュリティや監視・監査で抜け漏れがあっては意味がありません。
CAF のレベルから初めて WAF や MSCB までを網羅的にこなすことで、監視・監査のための強固な土台が出来上がります。その上で Azure Synapse Analytics の監視・監査設定を行うこと、これがベストプラクティス中のベストプラクティスではないでしょうか。

※本記事は執筆時点の情報に基づいています。今後、サービスや情報ソースのアップデート等は発生しえますので、その辺はご承知おきください。