このアーキテクチャは、より高いレベルの統制とデータ保護下で、研究員が機密データにアクセスできるようにすることを目的とした、セキュリティで保護された研究環境を示しています。 この記事は、法令遵守またはその他の厳格なセキュリティ要件によって制約されている組織に適用されます。
Architecture
このアーキテクチャの Visio ファイル をダウンロードします。
データフロー
データ所有者は、公開 BLOB ストレージ アカウントにデータセットをアップロードします。 このデータは Microsoft マネージド キーで暗号化されます。
Azure Data Factory では、セキュリティ制御を使用して、アップロードされたデータセットのコピーを別のストレージ アカウントの特定の場所 (インポート パス) で開始するトリガーが使用されます。 ストレージ アカウントには、プライベート エンドポイント経由でのみアクセスできます。 また、アクセス許可が制限されたサービス プリンシパルによってアクセスされます。 Data Factory では、データセットが変更されないように、元のコピーが削除されます。
研究員は、 Azure Virtual Desktop を特権のあるジャンプ ボックスとして使用して、セキュリティで保護された環境にストリーミング アプリケーションを介してアクセスします。
セキュリティで保護されたストレージ アカウントのデータセットは、研究作業のために、セキュリティで保護されたネットワーク環境にプロビジョニングされた Data Science VM に開示されます。 データ準備の多くは、これらの VM で行われます。
安全な環境には、プライベート エンドポイントを介してデータセットにアクセスできる Azure Machine Learning と Azure Synapse Analytics があります。 これらのプラットフォームは、機械学習モデルのトレーニング、デプロイ、自動化、管理、または Azure Synapse Analytics サービスの利用に使用されます。 この時点で、規制ガイドラインを満たすモデルが作成されます。 すべてのモデル データは、個人情報を削除することによって匿名化されます。
モデルまたは匿名化されたデータは、セキュリティで保護されたストレージ上の別の場所 (エクスポート パス) に保存されます。 エクスポート パスに新しいデータが追加されると、ロジック アプリがトリガーされます。 このアーキテクチャでは、ロジック アプリにデータが送信されないため、ロジック アプリはセキュリティで保護された環境の外部にあります。 その唯一の機能は、通知を送信し、手動の承認プロセスを開始することです。
アプリでは、エクスポートのためにキューに登録されたデータのレビューを要求する承認プロセスが開始されます。 手動レビューの担当者は、機密データがエクスポートされないことを確認します。 レビュー プロセスの後、データは承認または拒否されます。
注意
エクスポート時に承認手順が必要ない場合は、ロジック アプリのステップを省略できます。
匿名化されたデータが承認されると、Data Factory インスタンスに送信されます。
Data Factory では、データが別のコンテナーの公開ストレージ アカウントに移動します。これで、外部の研究員は、エクスポートされたデータとモデルにアクセスできるようになります。 または、低レベルのセキュリティ環境で別のストレージ アカウントをプロビジョニングすることもできます。
コンポーネント
このアーキテクチャは、ニーズに従ってリソースをスケーリングする複数の Azure サービスで構成されます。 サービスとその役割を以下に示します。 これらのサービスの使用を開始するための製品ドキュメントへのリンクについては、「次のステップ」を参照してください。
主要なワークロード コンポーネント
ここでは、研究データの移動と処理を行う主要なコンポーネントについて説明します。
Azure Data Science Virtual Machine (DSVM): データ分析と機械学習に使用されるツールで構成されている VM です。 DSVM は、MATLAB や SAS などの PaaS サービスでサポートできない特定のパッケージまたはツールを使用する場合に使用されます。 セキュリティと使いやすさの観点から、AML やその他の PaaS オプションがサポートされている場合は、これらが推奨されます。
Azure Machine Learning: 機械学習モデルをトレーニング、デプロイ、自動化、管理し、機械学習コンピューティング リソースの割り当てと使用を管理するために使用されます。 AML は、開発用の Jupyter ノートブックに最適なツールです。
Azure Machine Learning コンピューティング: 機械学習と AI モデルのトレーニングとテストに使用されるノードのクラスターです。 コンピューティングは、自動スケーリング オプションに基づいて、必要に応じて割り当てられます。 Visual Studio Code (VS Code) は、Virtual Desktop からストリーミング アプリとしてデプロイし、代替開発環境の AML コンピューティングに接続できます。
Azure Blob storage: 2 つのインスタンスがあります。 パブリック インスタンスは、データ所有者によってアップロードされたデータを一時的に保存するために使用されます。 また、別のコンテナーでモデル化された後に、非特定化データが保存されます。 2 つ目はプライベート インスタンスです。 これは、トレーニング スクリプトで使用されるトレーニングおよびテストのデータ セットを Machine Learning から受け取ります。 ストレージは、Machine Learning コンピューティング クラスターの各ノードに仮想ドライブとしてマウントされます。
Azure Data Factory: 異なるセキュリティ レベルのストレージ アカウント間でデータを自動的に移動し、職務を確実に分離します。
Azure Synapse: ビッグ データ用の分析ツールと、データ統合および ETL/ELT 用のパイプライン。 Synapse は、Apache Spark ワークロードを実行する場合にも推奨されるサービスです。
Azure Virtual Desktop は、必要に応じて、ストリーミング アプリケーションと完全なデスクトップを介して、セキュリティで保護された環境のリソースにアクセスするためのジャンプ ボックスとして使用されます。 別の方法として、 Azure Bastionを使用することもできます。 ただし、2 つのオプションのセキュリティ コントロールの違いについて明確に理解している必要があります。 Virtual Desktop には、次のようないくつかの利点があります。
- Microsoft Visual Studio Code のようなアプリケーションをストリーミングして、機械学習のコンピューティング リソースに対してノートブックを実行する機能。
- コピー、貼り付け、および画面キャプチャを制限する機能。
- DSVM に対する Microsoft Entra 認証のサポート。
Azure Logic Apps には、手動承認プロセスの "トリガー" と "リリース" 部分の両方を開発するための、自動化された少量のコードのワークフローが用意されています。
態勢管理コンポーネント
これらのコンポーネントは、ワークロードとその環境の態勢を継続的に監視します。 これは、リスクを検出し、それをすぐに軽減することを目的としています。
Microsoft Defender for Cloud は、実装のセキュリティ体制全体を評価し、規制コンプライアンスのための構成証明メカニズムを提供するために使用されます。 これまでに監査または評価中に検出された問題は、早期に発見できます。 機能を使用して、セキュリティ スコアやコンプライアンス スコアなどの進行状況を追跡します。 これは、コンプライアンスを検証するための重要なツールです。
Microsoft Sentinel は、セキュリティ情報イベント管理 (SIEM) およびセキュリティのオーケストレーション、自動化、応答 (SOAR) ソリューションです。 さまざまなソースからのログとアラートを一元的に表示できます。また、高度な AI とセキュリティ分析を利用して、脅威の検出、探索、防止、対応などを行うことができます。 これにより、ワークスペースに関連付けられたトラフィックとアクティビティが想定どおりに動作するか確認するための、重要なセキュリティ分析情報が提供されます。
Azure Monitor により、環境全体で可観測性が提供されます。 追加の構成なしで、使用しているほとんどの Azure リソースのメトリック、アクティビティ ログ、診断ログなどを表示できます。 Microsoft Defender for Cloud などの管理ツールも、ログ データを Azure Monitor にプッシュします。
ガバナンス コンポーネント
- Azure Policy は、組織の標準を適用し、コンプライアンスを大規模に評価するのに役立ちます。
代替
- このソリューションは、Data Factory を使用してデータを別のコンテナーの公開ストレージ アカウントに移動します。これで、外部の研究員は、エクスポートされたデータとモデルにアクセスできるようになります。 または、低レベルのセキュリティ環境で別のストレージ アカウントをプロビジョニングすることもできます。
- このソリューションは、Azure Virtual Desktop をジャンプボックスとして使用し、ストリーミング アプリケーションと完全なデスクトップを介して、セキュリティで保護された環境のリソースにアクセスします。 別の方法として、Azure Bastion を使用することもできます。 ただし、Virtual Desktop には、アプリをストリーム配信する機能、コピー/貼り付けと画面キャプチャを制限する機能、AAC 認証をサポートする機能など、いくつかの利点があります。 オフライン トレーニング用のポイント対サイト VPN をローカルに構成することも検討できます。 これは、ワークステーション用に複数の VM を使用するコストを節約するのにも役立ちます。
- このソリューションは、保存データをセキュリティで保護するために、強力な暗号化を使用してすべての Azure Storage を Microsoft マネージド キーで暗号化します。 または、カスタマー マネージド キーを使用することもできます。 キーは、マネージド キー ストアに保存する必要があります。
シナリオの詳細
このシナリオでは、規制対象データとプライバシー性の高いデータを組み合わせます。これらのデータを使用するためにアクセスする必要があるユーザーに、データの格納や送信は許可されていません。
- 独自のデータや保護されたデータを環境から外に出すことなくモデルをトレーニングおよびエクスポートするために、サードパーティのデータ サイエンティストは、データへのフル アクセスが必要になります。
- アクセスは分離する必要があり、データの所有者や管理者であっても、環境にアップロードされた後はデータにアクセスできません。
- モデルのみがエクスポートされたことを確認するために、環境から転送されるエクスポートには監査証跡が必要です。
考えられるユース ケース
このアーキテクチャはもともと、医療保険の相互運用性と説明責任に関する法律 (HIPAA) の要件を持つ高等教育研究機関向けに作成されました。 ただし、この設計は、研究の観点からデータを分離する必要があるあらゆる業界で使用できます。 次に例をいくつか示します。
- National Institute of Standards and Technology (NIST) の要件に従って規制データを処理する業界
- 内部または外部の研究員と連携する医療センター
- 銀行と金融
このガイダンスに従うことで、研究データを完全に制御し、職務を分離して、厳格な規制コンプライアンス基準を満たすことができます。また、研究指向のワークロードに関連する一般的な役割 (データ所有者、研究員、承認者など) の間でコラボレーションが可能になります。
考慮事項
以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。
セキュリティ
セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。
このアーキテクチャの主な目的は、セキュリティで保護された領域からのデータの流出を厳密に制限する、セキュリティで保護された信頼できる研究環境を提供することです。
ネットワークのセキュリティ
研究データセットの保存、テスト、トレーニングに使用される Azure リソースは、セキュリティで保護された環境にプロビジョニングされます。 この環境は、アクセスを制限するためのネットワーク セキュリティ グループ (NSG) 規則を持つ Azure Virtual Network です。主な目的は次のとおりです。
パブリック インターネットへの、および仮想ネットワーク内の受信/送信アクセス。
特定のサービスおよびポートへの/からのアクセス。 たとえば、このアーキテクチャでは、Azure サービス (Azure Monitor など) に必要なものを除くすべてのポート範囲がブロックされます。 サービス タグと対応サービスのフルリストについては、「仮想ネットワーク サービス タグ」を参照してください。
また、承認されたアクセス機構に制限されているポートで Azure Virtual Desktop を使用して仮想ネットワークからアクセスできます。その他のトラフィックはすべて拒否されます。 この環境と比較した場合、他の仮想ネットワーク (Virtual Desktop を使用) は比較的開放されています。
セキュリティで保護された環境の主要 BLOB ストレージは、パブリック インターネットから切断されています。 これには、仮想ネットワーク内でのみ、 プライベート エンドポイント接続 と Azure Storage ファイアウォールを使用してアクセスできます。 これは、クライアントが Azure ファイルで共有するために接続できるネットワークを制限するために使用されます。
このアーキテクチャでは、セキュリティで保護された環境にあるメイン データ ストアに資格情報ベースの認証が使用されます。 この場合、サブスクリプション ID やトークン承認など、接続情報はキー コンテナーに保存されます。 もう 1 つのオプションは、ID ベースのデータ アクセスを作成することです。この場合、Azure アカウントを使用して、ストレージ サービスへのアクセス権を持っているかどうかを確認します。 ID ベースのデータ アクセスのシナリオでは、認証の資格情報が保存されません。 ID ベースのデータ アクセスを使用する方法の詳細については、 ID ベースのデータ アクセスを使用してストレージへ接続するに関するページを参照してください。
コンピューティング クラスターは、通信にパブリック IP を使用するのではなく、Azure Private Link エコシステムとサービス/プライベート エンドポイントを使用して、仮想ネットワーク内でのみ通信できます。 [パブリック IP なし] を有効にしてください。 現在プレビュー (2022 年 3 月 7 日時点) のこの機能の詳細については、「コンピューティング インスタンスにパブリック IP がない」を 参照してください。
セキュリティで保護された環境では、Azure Machine Learning コンピューティングを使用して、プライベート エンドポイントを介してデータ セットにアクセスします。 さらに、Azure Firewall を使用して、Azure Machine Learning コンピューティングからの送信アクセスを制御することもできます。 機械学習ワークスペースに存在する Azure Machine Learning コンピューティングへのアクセスを制御するように Azure Firewall を構成する方法については、「受信および送信ネットワーク トラフィックの構成」を参照してください。
Azure Machine Learning 環境をセキュリティで保護する方法の 1 つについては、ブログ記事 「Azure Machine Learning Service (AMLS) 環境をセキュリティで保護する」を参照してください。
プライベート エンドポイントで効果的に構成できない Azure サービスでは、またはステートフル パケット インスペクションを提供する場合は、Azure Firewall またはサードパーティのネットワーク仮想アプライアンス (NVA) を使用することを検討してください。
ID 管理
BLOB ストレージへのアクセスは、Azure のロールベースのアクセス制御 (RBAC) を介して行われます。
Azure Virtual Desktop では、DSVM に対する Microsoft Entra 認証がサポートされています。
Data Factory では、マネージド ID を使用して BLOB ストレージのデータにアクセスします。 また、DSVM でも、修復タスクにマネージド ID が使用されます。
データのセキュリティ
保存データをセキュリティで保護するために、すべての Azure Storage は、強力な暗号化を使用して Microsoft マネージド キーで暗号化されます。
または、カスタマー マネージド キーを使用することもできます。 キーは、マネージド キー ストアに保存する必要があります。 このアーキテクチャでは、暗号化キーや証明書などのシークレットを保存するために、Azure Key Vault がセキュリティで保護された環境にデプロイされます。 Key Vault は、セキュリティで保護された仮想ネットワーク内のリソースによって、プライベート エンドポイントを介してアクセスされます。
ガバナンスに関する考慮事項
Azure Policy を有効にして標準を適用し、リソースを特定のポリシーに準拠させるための自動修復機能を提供します。 ポリシーは、プロジェクト サブスクリプションに適用することも、管理グループ レベルで 1 つのポリシーとして、または規制イニシアティブの一部として適用することもできます。
たとえば、このアーキテクチャでは、Azure Policy のゲスト構成がスコープ内のすべての VM に適用されていました。 ポリシーでは、Data Science VM のオペレーティング システムとコンピューターの構成を監査できます。
VM イメージ
Data Science VM では、カスタマイズされた基本イメージが実行されます。 基本イメージを構築するには、Azure Image Builder などのテクノロジを強くお勧めします。 こうすることで、必要に応じてデプロイできる反復可能なイメージを作成できます。
基本イメージには、追加のバイナリなどの更新が必要になる場合があります。 データセットがデータ所有者によってアップロードされるのと同様に、これらのバイナリを公開 BLOB ストレージにアップロードして、セキュリティで保護された環境にフローする必要があります。
その他の考慮事項
ほとんどの研究ソリューションは一時的なワークロードであり、長期間利用可能にする必要はありません。 このアーキテクチャは、可用性ゾーンを使用した単一リージョンのデプロイとして設計されています。 ビジネス要件で高可用性が求められる場合は、このアーキテクチャを複数のリージョンにレプリケートします。 これらすべてのリージョンにトラフィックをルーティングするには、グローバル ロード バランサーやディストリビューターなどの他のコンポーネントが必要になります。 復旧戦略の一環として、カスタマイズされた基本イメージのコピーをキャプチャして Azure Image Builder で作成することを強くお勧めします。
Data Science VM のサイズと種類は、実行する作業のスタイルに適している必要があります。 このアーキテクチャは、単一の研究プロジェクトをサポートすることを目的としており、VM のサイズと種類、および Azure Machine Learning で利用可能なコンピューティング リソースに選択したものを調整することによって、スケーラビリティが実現されます。
コストの最適化
コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、 コスト最適化の柱の概要に関する記事をご覧ください。
DSVM のコストは、選択した、基になる VM シリーズによって異なります。 ワークロードは一時的なものであるため、ロジック アプリのリソースには従量課金プランを使用することをお勧めします。 Azure 料金計算ツール を使用して、必要なリソースの推定サイズに基づいてコストを見積もります。 コストの最適化とセキュリティのための考慮事項として、環境を使用していないときにシャットダウンすることも重要なです。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
- クレイトン バーロー | シニア Azure スペシャリスト
次のステップ
- Microsoft Data Science Virtual Machine (DSVM)
- Azure Machine Learning とは
- Azure Machine Learning コンピューティング
- Azure Blob Storage の概要
- Azure Data Factory の概要
- Azure Virtual Desktop
- Microsoft Defender for Cloud
- Microsoft Sentinel
- Azure Monitor
- Azure Policy
- Azure Policy のゲスト構成に関するページ