次の方法で共有


Azure Synapse Analytics を使用してデータ レイクハウスをセキュリティで保護する

Azure Synapse Analytics
Azure Data Lake Storage
Azure Virtual Network
Power BI

この記事では、Azure Synapse を使用して安全なデータ レイクハウス ソリューションをビルドすることに関する設計プロセス、原則、テクノロジの選択について説明します。 セキュリティに関する考慮事項と主要な技術的な決定事項に重点を置きます。

Apache®、 Apache Spark®、および炎のロゴは、米国およびその他の国の Apache Software Foundation の登録商標または商標です。 これらのマークを使用することが、Apache Software Foundation による保証を意味するものではありません。

アーキテクチャ

次の図は、データ レイクハウスのソリューションのアーキテクチャを示します。 このアーキテクチャは、セキュリティ上の脅威を軽減するために、サービス間の相互作用をコントロールするように設計されています。 ソリューションは、機能とセキュリティの要件によって異なります。

詳細なアーキテクチャを示す図。

このアーキテクチャの Visio ファイル をダウンロードします。

データフロー

次の図は、ソリューションのデータフローを示します。

ソリューション内のデータ フローを示す図。

  1. データ ソースからデータ ランディング ゾーン (Azure Blob Storage か、Azure Files により提供されるファイル共有) にデータがアップロードされます。 このデータは、バッチ アップローダー プログラムまたはシステムによってアップロードされます。 Azure Event Hubs の Capture フィーチャーを使用して、ストリーミング データがキャプチャされて Blob Storage に保存されます。 データ ソースは複数の場合もあります。 たとえば、数種類のファクトリから操作データをアップロードできます。 Blob Storage、ファイル共有、およびその他のストレージ リソースへのアクセスをセキュリティで保護する方法については、「Blob Storage と Azure Files デプロイの計画に関するセキュリティに関する推奨事項」を参照してください。
  2. データ ファイルが着信すると、Azure Data Factory がトリガーされて、データが処理され、コア データ ゾーン内のデータ レイクに保存されます。 Azure Data Lake 内のコア データ ゾーンにデータをアップロードすると、データ流出から保護されます。
  3. Azure Data Lake には、さまざまなソースから取得された生データが保存されます。 このデータは、ファイアウォール規則と仮想ネットワークによって保護されます。 パブリック インターネットからの接続の試行がすべてブロックされます。
  4. データ レイクにデータが着信した時点で Azure Synapse パイプラインがトリガーされるか、時間指定トリガーによってデータ処理ジョブが実行されます。 Azure Synapse での Apache Spark がアクティブになり、Spark ジョブまたはノートブックが実行されます。 また、データ レイクハウス内のデータ プロセス フローが調整されます。 Azure Synapse パイプラインは、 ブロンズ ゾーンから Silver ゾーンにデータを変換した後、Gold Zone に変換します
  5. Spark ジョブまたはノートブックで、データ処理ジョブが実行されます。 Spark でデータ キュレーションまたは機械学習トレーニング ジョブも実行できます。 ゴールド ゾーンの構造化データは、 Delta Lake 形式で格納されます。
  6. サーバーレス SQL プールは、Delta Lake に格納されているデータを使用する 外部テーブルを作成 します。 サーバーレス SQL プールは、強力で効率的な SQL クエリ エンジンを提供しており、旧来の SQL ユーザー アカウントまたは Microsoft Entra ユーザー アカウントをサポートできます。
  7. Power BI がサーバーレス SQL プールに接続してデータを視覚化します。 データ レイクハウス内のデータを使用して、レポートまたはダッシュボードが作成されます。
  8. データ アナリストまたはデータ科学者は、Azure Synapse Studio にサインインして、次のことができます。
    • データをさらに補正する。
    • 分析してビジネス分析情報を取得する。
    • 機械学習モデルをトレーニングする。
  9. ビジネス アプリケーションが、サーバーレス SQL プールに接続し、そのデータを使用して他のビジネス操作要件をサポートします。
  10. Azure Pipelines で、ソリューションのビルド、テスト、デプロイが自動的に行われる CI/CD プロセスが実行されます。 これは、デプロイ プロセス中の人の介入を最小限に抑えるように設計されています。

コンポーネント

このデータ レイクハウス ソリューションの主要なコンポーネントは次のとおりです。

  • Azure Synapse - Azure Synapse は、ビッグ データとデータ ウェアハウスを統合して、さまざまなデータ ソース間で強力な分析情報を提供する分析サービスです。 このアーキテクチャでは、Azure Synapse を使用してデータを変換し、medallion アーキテクチャに読み込みます。 その後、Synapse サーバーレス プールを使用してデータのクエリを実行します。
  • Azure Files - Azure Files には、SMB、NFS、REST プロトコルを介してアクセスできるフル マネージドのクラウド ファイル共有が用意されているため、アプリケーション間でファイルを簡単に共有できます。 このアーキテクチャでは、ランディング ゾーン内の生データのデータ ソースの 1 つとして Azure Files が使用されます。
  • Event Hubs - Event Hubs は、待機時間を最小限に抑えて大量のイベントとデータを取り込んで処理するように設計されたスケーラブルなイベント処理サービスです。 このアーキテクチャでは、Event Hubs を使用して、データ ソースからストリーミング データをキャプチャし、Blob Storage に格納します。
  • Blob Storage - Blob Storage は、テキストやバイナリ データなどの大量の非構造化データを格納するために最適化された Microsoft のオブジェクト ストレージ ソリューションです。 このアーキテクチャでは、Blob Storage がランディング ゾーンのデータ ストアとして使用されます。
  • Azure Data Lake Storage - Azure Data Lake Storage は、ビッグ データ分析用に調整された Azure Blob Storage 上に構築されたクラウドベースのデータ レイク ソリューションです。 このアーキテクチャでは、Azure Data Lake Storage を使用して、ファイアウォール規則によって保護され、パブリック インターネットからブロックされる medallion アーキテクチャにデータを格納します。
  • Azure DevOps - Azure DevOps には、計画、開発、テスト、デプロイなど、エンドツーエンドのプロジェクト管理のための一連のサービスが用意されています。 このアーキテクチャでは、Azure DevOps Pipelines を使用して、仮想ネットワーク内のセルフホステッド エージェントを使用して CI/CD プロセスを実行します。
  • Power BI - Power BI は、ユーザーがビジネス分析情報を作成、共有、使用できるようにするソフトウェア サービス、アプリ、コネクタのコレクションです。 このアーキテクチャでは、Power BI を使用して Synapse サーバーレス SQL プールに接続してデータを視覚化します。
  • Data Factory - Data Factory は、データドリブン ワークフローを通じてデータの移動と変換を調整するクラウドベースの ETL およびデータ統合サービスです。 このアーキテクチャでは、Azure Data Factory を使用して、パブリック インターネットからのネットワーク分離のためにランディング ゾーンからコア データ ゾーンへのデータを処理します。
  • Azure Bastion - Azure Bastion は、パブリック インターネットに公開することなく、仮想マシンへの安全な RDP/SSH 接続を提供します。 このアーキテクチャでは、Azure Bastion を使用して、パブリック インターネットからブロックされたコア データ ゾーンにアクセスします。
  • Azure Monitor - Azure Monitor は、クラウドおよびオンプレミス環境のデータを収集、分析、応答する包括的な監視ソリューションです。 このアーキテクチャでは、Azure Monitor を使用してさまざまな Synapse コンポーネントを監視します。
  • Microsoft Defender for Cloud - Microsoft Defender for Cloud は、Azure、ハイブリッド、およびオンプレミス環境全体で堅牢な脅威保護とセキュリティ管理を提供します。 このアーキテクチャでは、Defender for cloud をストレージ アカウントに使用して、データへのアクセスに対する有害な試行を検出し、全体的なセキュリティ スコアを取得します。
  • Azure Key Vault - Azure Key Vault は、キー、シークレット、証明書などの機密情報を安全に格納および管理します。 このアーキテクチャでは、Azure Key Vault を使用して、Azure Data Lake のリンクされたサービスと Azure DevOps セルフホステッド エージェントの資格情報を安全に格納します。

代替

  • リアルタイムのデータ処理が必要な場合は、データ ランディング ゾーン上に個々のファイルを保存する代わりに、Apache 構造化ストリーミングを使用してデータ ストリームを Event Hubs から受信して処理できます。
  • データに複雑な構造体があり、複雑な SQL クエリが必要な場合は、サーバーレス SQL プールではなく専用 SQL プールに保存することを検討してください。
  • データに多数の階層データ構造 (大きな JSON 構造体など) が含まれている場合は、Azure Synapse Data Explorer 内に保存することもできます。

シナリオの詳細

Azure Synapse Analytics は、エンタープライズ データ ウェアハウス、リアルタイム データ分析、パイプライン、時系列データ処理、機械学習、データ ガバナンスをサポートする汎用性の高いデータ プラットフォームです。 これらの機能をサポートするために、次のような数種類のテクノロジが統合されています。

  • エンタープライズ データ ウェアハウス
  • サーバーレス SQL プール
  • Apache Spark
  • パイプライン
  • データエクスプローラ
  • 機械学習機能
  • Microsoft Purview 統合データ ガバナンス

Azure Synapse Analytics とそのコンポーネント、機能、アプリケーションを示す図。

これらの機能により多くの可能性が広がりますが、安全に使用するために、多くの技術的な選択を行って、セキュリティで保護されたインフラストラクチャを構成します。

この記事では、Azure Synapse を使用して安全なデータ レイクハウス ソリューションをビルドすることに関する設計プロセス、原則、テクノロジの選択について説明します。 セキュリティに関する考慮事項と主要な技術的な決定事項に重点を置きます。 このソリューションでは、次の Azure サービスを使用します。

目標は、エンタープライズでの使用向けに安全でコスト効率の高いデータ レイクハウス プラットフォームをビルドし、複数のテクノロジをシームレスかつ安全に連携させるためのガイダンスを提供することです。

考えられるユース ケース

データ レイクハウスは、データ レイクの省コスト、拡大縮小、柔軟性のフィーチャーと、データ ウェアハウスのデータやトランザクションの管理機能を結合した最新のデータ管理アーキテクチャです。 データ レイクハウスは、膨大な量のデータを処理し、ビジネス インテリジェンスと機械学習のシナリオをサポートすることができます。 また、さまざまなデータ構造やデータ ソースからのデータを処理することもできます。 詳細については、「 Databricks Lakehouse とは」を参照してください。

この記事で説明するソリューションの一般的なユース ケースを次に示します。

  • モノのインターネット (IoT) の利用統計情報の解析
  • スマート ファクトリの自動化 (製造業用)
  • 消費者の活動と行動の追跡 (小売業用)
  • セキュリティ インシデントとイベントの管理
  • アプリケーション ログとアプリケーション ビヘイビアーのモニター
  • 半構造化データの処理とビジネス解析

概要設計

このソリューションでは、アーキテクチャでのセキュリティの設計と実装の実践に重点を置いています。 サーバーレス SQL プール、Azure Synapse の Apache Spark、Azure Synapse パイプライン、Data Lake Storage、Power BI は、 Data Lakehouse パターンの実装に使用される主要なサービスです。

ソリューション設計アーキテクチャの概略図を次に示します。

データ レイクハウス ソリューションの設計アーキテクチャの概要を示す図。

セキュリティの焦点の選択

脅威モデリング ツールを使用してセキュリティ設計を開始しました。 このツールは、次の点で役立ちました。

  • 潜在的なリスクについてシステムの利害関係者と通信する。
  • システム内の信頼境界を定義する。

脅威モデリングの結果に基づいて、次のセキュリティの区分が最優先事項にされました。

  • ID およびアクセスの制御
  • ネットワーク保護
  • DevOps セキュリティ

これらの最優先事項により特定された主要なセキュリティ上のリスクを軽減してシステムを保護するように、セキュリティのフィーチャーやインフラストラクチャの変更が設計されました。

検査して考慮する必要があることの詳細については、次を参照してください。

ネットワークと資産の保護計画

クラウド導入フレームワークの主要なセキュリティ原則の 1 つは 、ゼロ トラスト原則です。コンポーネントまたはシステムのセキュリティを設計する場合は、組織内の他のリソースが侵害されていると仮定して、攻撃者がアクセスを拡大するリスクを軽減します。

脅威モデリングの結果に基づいて、ソリューションはゼロ トラストで マイクロセグメント化デプロイ の推奨事項を採用し、いくつかの セキュリティ境界を定義しますAzure Virtual NetworkAzure Synapse データ流出保護 は、データ資産と重要なコンポーネントを保護するためにセキュリティ境界を実装するために使用される主要なテクノロジです。

Azure Synapse は数種類のテクノロジで構成されているため、次のことを行う必要があります。

  • プロジェクトで使用される Synapse および関連サービスのコンポーネントを特定します。

    Azure Synapse は、多種多様なデータ処理のニーズに対応できる汎用性の高いデータ プラットフォームです。 まず、プロジェクトで使用する Azure Synapse 内のコンポーネントを決定して、これらのコンポーネントを保護する方法を計画できるようにする必要があります。 また、これらの Azure Synapse コンポーネントと通信するその他のサービスも決定する必要があります。

    データ レイクハウス アーキテクチャ内の主要なコンポーネントは次のとおりです。

    • Azure Synapse サーバーレス SQL
    • Azure Synapse での Apache Spark
    • Azure Synapse パイプライン
    • データレイクストレージ
    • Azure DevOps
  • コンポーネント間の法的通信動作を定義します

    コンポーネント間で許可される通信ビヘイビアーを定義する必要があります。 たとえば、Spark エンジンと専用の SQL インスタンスとの間で直接通信するか、それとも Azure Synapse Data Integration パイプラインや Data Lake Storage などのプロキシを介して通信するかを定義します。

    ゼロ トラストの原則に基づいて、相互作用の必要がビジネス上ない場合には、通信をブロックします。 たとえば、不明なテナント内の Spark エンジンが直接 Data Lake Storage と通信できないようにブロックします。

  • 定義された通信動作を適用するための適切なセキュリティ ソリューションを選択します

    Azure では、定義したサービス通信ビヘイビアーを実施できるセキュリティ テクノロジが複数あります。 たとえば、Data Lake Storage で、IP アドレス許可リストを使用してデータ レイクへのアクセスをコントロールすることもできますが、どの仮想ネットワーク、Azure サービス、リソース インスタンスを許可するか選択することもできます。 保護方法が異なると、提供されるセキュリティ保護も異なります。 ビジネス上のニーズと環境の制限事項に基づいて選択します。 このソリューションで使用される構成については、次のセクションで説明します。

  • 重要なリソースの脅威検出と高度な防御を実装します

    重要なリソースの場合、脅威の検出と高度な防御を実装することをお勧めします。 このサービスは脅威を特定してアラートをトリガーするのに役立つので、システムからユーザーにセキュリティ違反について通知できます。

ネットワークと資産の保護を向上させるには、次の手法を検討してください。

  • 境界ネットワークをデプロイしてデータ パイプラインのセキュリティ ゾーンを提供する

    データ パイプライン ワークロードで外部データとデータ ランディング ゾーンへのアクセスが必要な場合は、境界ネットワークを実装し、Extract/Transform/Load (ETL) パイプラインで分離することをお勧めします。

  • すべてのストレージ アカウントに対して Defender for Cloud を有効にする

    Defender for Cloud は、ストレージ アカウントへの異常で有害な可能性のあるアクセスまたは悪用の試行を検出すると、セキュリティ アラートをトリガーします。 詳細については、「 Microsoft Defender for Storage の構成」を参照してください。

  • ストレージ アカウントをロックして、悪意のある削除や構成の変更を防ぐ

    詳細については、「 Azure Resource Manager ロックをストレージ アカウントに適用する」を参照してください

ネットワークと資産が保護されるアーキテクチャ

次の表では、このソリューション用に選択された、定義済みの通信ビヘイビアーとセキュリティ テクノロジについて説明します。 選択は 、ネットワークと資産保護計画で説明されている方法に基づいて行われました。

ソース (クライアント) ターゲット (サービス) 動作 構成 注記
インターネット データレイクストレージ すべて拒否する ファイアウォール規則 - 既定値は拒否 既定値: 'Deny' ファイアウォール規則 - 既定値は拒否
Azure Synapse パイプライン/Spark データレイクストレージ 許可 (インスタンス) 仮想ネットワーク - マネージド プライベート エンドポイント (Data Lake Storage)
Synapse SQL(シナプスSQL) データレイクストレージ 許可 (インスタンス) ファイアウォール規則 - リソース インスタンス (Synapse SQL) Synapse SQL がマネージド ID を使用して Data Lake Storage にアクセスする必要があります
Azure Pipelines エージェント データレイクストレージ 許可 (インスタンス) ファイアウォール規則 - 選択した仮想ネットワーク
サービス エンドポイント - Storage
統合テスト用
バイパス: 'AzureServices' (ファイアウォール規則)
インターネット Synapse ワークスペース すべて拒否する ファイアウォール規則
Azure Pipelines エージェント Synapse ワークスペース 許可 (インスタンス) 仮想ネットワーク - プライベート エンドポイント 3 つのプライベート エンドポイント (Dev、サーバーレス SQL、専用 SQL) が必要
Synapse マネージド仮想ネットワーク インターネットまたは未承認の Azure テナント すべて拒否する 仮想ネットワーク - Synapse データ流出防止
Synapse パイプライン/Spark Key Vault (キー・ボールト) 許可 (インスタンス) 仮想ネットワーク - マネージド プライベート エンドポイント (Key Vault) 既定値: 'Deny'
Azure Pipelines エージェント Key Vault (キー・ボールト) 許可 (インスタンス) ファイアウォール規則 - 選択した仮想ネットワーク
* サービス エンドポイント - Key Vault
バイパス: 'AzureServices' (ファイアウォール規則)
Azure Functions (アジュール ファンクションズ) Synapse サーバーレス SQL 許可 (インスタンス) 仮想ネットワーク - プライベート エンドポイント (Synapse サーバーレス SQL)
Synapse パイプライン/Spark Azure Monitor 許可 (インスタンス) 仮想ネットワーク - プライベート エンドポイント (Azure Monitor)

たとえば、このプランでは次の作業を行うこともできます。

  • マネージド仮想ネットワークを使用して Azure Synapse ワークスペースを作成する。
  • Azure Synapse ワークスペースのデータ流出保護を使用して 、Azure Synapse ワークスペースからのデータエグレスをセキュリティで保護します。
  • Azure Synapse ワークスペースに対して承認された Microsoft Entra テナントのリストを管理する。
  • 選択した仮想ネットワークからストレージ アカウントへのトラフィックを許可し、このネットワークのみアクセスし、公衆ネットワーク アクセスを無効にするように、ネットワーク規則を構成する。
  • マネージド プライベート エンドポイントを使用して、Azure Synapse によって管理されている仮想ネットワークをデータ レイクに接続します。
  • Resource Instance を使用して、Azure Synapse SQL をデータ レイクに安全に接続します。

考慮事項

これらの考慮事項は、ワークロードの品質向上に使用できる一連の基本原則である Azure Well-Architected Framework の要素を組み込んでいます。 詳細については、「 Well-Architected Framework」を参照してください。

セキュリティ

セキュリティは、意図的な攻撃や貴重なデータとシステムの誤用に対する保証を提供します。 詳細については、「セキュリティの 設計レビューチェックリスト」を参照してください。

ID とアクセスの制御

システムには複数のコンポーネントがあります。 各コンポーネントに必要な ID およびアクセス管理 (IAM) の構成は異なります。 効率的なユーザー エクスペリエンスを実現するために、これらの構成が共同作業する必要があります。 したがって、ID とアクセスの制御を実装する際に、次の設計ガイダンスが使用されます。

  • さまざまなアクセス制御レイヤーの ID ソリューションを選択する

    • システムには 4 種類の ID ソリューションがあります。
      • SQL アカウント (SQL Server)
      • サービス プリンシパル (Microsoft Entra ID)
      • マネージド ID (Microsoft Entra ID)
      • ユーザー アカウント (Microsoft Entra ID)
    • システムには 4 種類のアクセスの制御レイヤーがあります。
      • アプリケーション アクセス レイヤー: AP の役割に関する ID ソリューションを選択します。
      • Azure Synapse DB/テーブル アクセス レイヤー: データベース内の役割に関する ID ソリューションを選択します。
      • Azure Synapse 外部リソース アクセス レイヤー: 外部リソースにアクセスするための ID ソリューションを選択します。
      • Data Lake Storage アクセス レイヤー: ストレージ内のファイル アクセスをコントロールするための ID ソリューションを選択します。

    Azure Synapse Analytics とその機能を示す図。

    アクセスの制御レイヤーごとに適切な ID ソリューションを選択することは、ID とアクセスの制御の重要な部分です。 Azure Well-Architected Framework の セキュリティ設計原則 では、ネイティブ コントロールを使用し、シンプルさを促進することをお勧めします。 したがって、このソリューションでは、アプリケーションと Azure Synapse DB のアクセス レイヤーでエンド ユーザーの Microsoft Entra ユーザー アカウントを使用します。 ネイティブのファーストパーティ IAM ソリューションの使用により、きめ細かなアクセスの制御が提供されます。 Azure Synapse 外部リソース アクセス レイヤーと Data Lake アクセス レイヤーでは、Azure Synapse のマネージド ID を使用して認可プロセスを簡略化します。

  • 最小特権アクセスを検討する

    ゼロ トラストの基本原則では、重要なリソースへの Just-In-Time で必要最小限なアクセスを提供することが提案されています。 今後のセキュリティ強化については、 Microsoft Entra Privileged Identity Management (PIM) を参照してください。

  • リンクされたサービスを保護する

    リンク サービスは、サービスが外部リソースに接続するのに必要な接続情報を定義します。 リンク サービスの構成をセキュリティで保護することは重要です。

セキュリティ スコアの評価と脅威の検出

このソリューションでは、システムのセキュリティ状態を把握するために、Microsoft Defender for Cloud を使用して、インフラストラクチャのセキュリティを評価してセキュリティの問題を検出します。 Microsoft Defender for Cloud は、セキュリティ体制管理と脅威保護のためのツールです。 Azure やハイブリッドなどのクラウド プラットフォームで実行されているワークロードを保護できます。

Azure Synapse とその機能を示す図。

初めて Azure portal で Defender for Cloud ページにアクセスする際に、すべての Azure サブスクリプションに対して Defender for Cloud の無料プランが自動的に有効になります。 Cloud のセキュリティ態勢の評価と提案を入手するために、このプランを有効にすることを強くお勧めします。 Microsoft Defender for Cloud で、サブスクリプションに関するセキュリティ スコアといくつかのセキュリティ強化のガイダンスが提供されます。

Azure Synapse とその機能を示す図。

ソリューションに高度なセキュリティ管理機能と脅威の検出機能 (不審なアクティビティの検出やアラートなど) が必要な場合は、リソースごとに個別にクラウド ワークロード保護を有効にすることができます。

コストの最適化

コストの最適化では、不要な経費を削減し、運用効率を向上させる方法に重点を置いています。 詳細については、「 コストの最適化」のデザイン レビュー チェックリストを参照してください。

データ レイクハウス ソリューションの主要なベネフィットは、省コストとスケーラブルなアーキテクチャです。 ソリューション内のほとんどのコンポーネントでは、消費ベースの課金が使用され、自動スケーリングが行われます。 このソリューションでは、すべてのデータが Data Lake Storage に保存されます。 クエリを実行したりデータを処理したりしない場合は、データの保存料金のみ発生します。

このソリューションの価格は、次の主要なリソースの使用量に応じて異なります。

  • Azure Synapse サーバーレス SQL: 消費ベースの課金が使用され、使用した分だけお支払いいただけます。
  • Azure Synapse での Apache Spark: 消費ベースの課金が使用され、使用した分だけお支払いいただけます。
  • Azure Synapse パイプライン: 消費ベースの課金が使用され、使用した分だけお支払いいただけます。
  • Azure Data Lake: 消費ベースの課金が使用され、使用した分だけお支払いいただけます。
  • Power BI: コストは、購入したライセンスに基づきます。
  • Private Link: 消費ベースの課金が使用され、使用した分だけお支払いいただけます。

セキュリティ保護のソリューションによって、コスト モードが異なります。 ビジネス上のニーズとソリューションのコストに基づいてセキュリティ ソリューションを選択する必要があります。

Azure 料金計算ツールを使用して、ソリューションのコストを見積もることができます。

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「 オペレーショナル エクセレンスの設計レビュー チェックリスト」を参照してください。

CI/CD サービス用に仮想ネットワーク対応のセルフホステッド パイプライン エージェントを使用する

既定の Azure DevOps パイプライン エージェントは、非常に広い IP アドレスの範囲を使用するため、仮想ネットワーク通信をサポートしていません。 このソリューションは、DevOps プロセスがソリューション内の他のサービスとスムーズに通信できるように、仮想ネットワークに Azure DevOps セルフホステッド エージェント を実装します。 CI/CD サービスを実行するための接続文字列とシークレットは、独立した Key Vault に保存されます。 デプロイ プロセス中に、セルフホステッド エージェントはコア データ ゾーン内のこのキー コンテナーにアクセスして、リソース構成とシークレットを更新します。 詳細については、 別のキー コンテナーの使用に関するドキュメントを参照 してください。 また、このソリューションでは 、VM スケール セット を使用して、DevOps エンジンがワークロードに基づいて自動的にスケールアップおよびスケールダウンできるようにします。

Azure Synapse Analytics とその機能を示す図。

CI/CD パイプライン内にインフラストラクチャ セキュリティ スキャンとセキュリティ スモーク テストを実装する

コードとしてのインフラストラクチャ (IaC) ファイルをスキャンするためのスタティック分析ツールは、セキュリティやコンプライアンスの問題につながる可能性がある構成の誤りを検出して防止するのに役立ちます。 セキュリティ スモーク テストを使用すると、不可欠なシステム セキュリティ対策が正常に有効にされ、デプロイの失敗から保護されます。

  • スタティック分析ツールを使用して、コードとしてのインフラストラクチャ (IaC) テンプレートをスキャンし、セキュリティやコンプライアンスの問題につながる可能性がある構成の誤りを検出して防止してください。 CheckovTerrascan などのツールを使用して、セキュリティ リスクを検出して防止します。
  • CD パイプラインでデプロイの失敗が正しく処理されていることを確認してください。 セキュリティ フィーチャーに関連するデプロイの失敗は、重大な失敗として扱う必要があります。 パイプラインで、失敗したアクションが再試行されるか、デプロイが保持される必要があります。
  • セキュリティ スモーク テストを実行して、デプロイ パイプライン内のセキュリティ対策を検証してください。 デプロイ済みリソースの構成状態の検証や重要なセキュリティ シナリオを調べるテスト ケースなどのセキュリティ スモーク テストで、セキュリティ設計が期待どおりに動作していることを確認できます。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

その他の共同作成者:

  • Ian Chen | プリンシパル ソフトウェア エンジニアのリーダー
  • ホセ・コントレラス |プリンシパル ソフトウェア エンジニアリング
  • Roy Chan | プリンシパル ソフトウェア エンジニアのマネージャー
  • グルカマル・ラフラ |プリンシパル ソリューション アーキテクト

次のステップ

Azure Well-Architected Framework のセキュリティの柱の設計原則を確認します。