次の方法で共有


Azure Machine Learning のエンタープライズ セキュリティとガバナンス

この記事では、Azure Machine Learning で利用できるセキュリティおよびガバナンス機能について学習します。 これらの機能は、組織のポリシーに準拠したセキュリティで保護された構成を作成する管理者、DevOps エンジニア、MLOps エンジニアにとって有用です。

Azure Machine Learning と Azure プラットフォームを使用すると、次のことができます。

  • ユーザー アカウントまたはグループでリソースと操作へのアクセスを制限する。
  • 受信および送信のネットワーク通信を制限する。
  • 転送中および保存中のデータを暗号化する。
  • 脆弱性をスキャンする。
  • 構成ポリシーを適用および監査する。

リソースおよび操作へのアクセスを制限する

Microsoft Entra ID は、Azure Machine Learning の ID サービス プロバイダーです。 これを使用して、Azure リソースへの認証を行うために使用されるセキュリティ オブジェクト (ユーザー、グループ、サービス プリンシパル、マネージド ID) を作成および管理できます。 多要素認証 (MFA) がサポートされるのは、これを使用するように Microsoft Entra ID が構成されている場合です。

Microsoft Entra ID で MFA を使用する Azure Machine Learning のための認証プロセスを以下に示します。

  1. クライアントは Microsoft Entra ID にサインインし、Azure Resource Manager トークンを取得します。
  2. クライアントによって、Azure Resource Manager と Azure Machine Learning にトークンが提示されます。
  3. Azure Machine Learning では、ユーザーのコンピューティング先 (たとえば、Machine Learning コンピューティング クラスターやサーバーレス コンピューティング) に Machine Learning サービス トークンが提供されます。 このトークンは、ジョブの完了後に Machine Learning service にコールバックするために、ユーザーのコンピューティング先によって使用されます。 スコープはワークスペースに制限されます。

Azure Machine Learning での認証を示すダイアグラム。

各ワークスペースには、ワークスペースと同じ名前を持つ、関連付けられたシステム割り当て済みマネージド ID があります。 このマネージド ID は、ワークスペースによって使用されるリソースに安全にアクセスするために使用されます。 これには、関連付けられているリソースに対する次の Azure ロールベースのアクセス制御 (RBAC) アクセス許可があります。

リソース アクセス許可
ワークスペース Contributor
ストレージ アカウント ストレージ BLOB データ共同作成者
Key Vault すべてのキー、シークレット、証明書へのアクセス
コンテナー レジストリ Contributor
ワークスペースを含むリソース グループ Contributor

システム割り当てマネージド ID は、Azure Machine Learning と他の Azure リソースの間の内部サービス間認証に使用されます。 ユーザーは ID トークンにアクセスできないため、これを使ってこれらのリソースにアクセスすることはできません。 ユーザーは、十分な RBAC アクセス許可がある場合に、Azure Machine Learning コントロールおよびデータ プレーン API を介してのみリソースにアクセスできます。

管理者が上記の表のリソースに対するマネージド ID のアクセスを取り消すことはお勧めできません。 キーの再同期操作を使用して、アクセスを復元できます。

Note

Azure Machine Learning ワークスペースに、"2021 年 5 月 14 日より前" に作成されたコンピューティング先 (コンピューティング クラスター、コンピューティング インスタンス、Azure Kubernetes Service [AKS] インスタンス など) がある場合は、Microsoft Entra アカウントが追加されている可能性があります。 このアカウントは、名前が Microsoft-AzureML-Support-App- で始まり、ワークスペースのすべてのリージョンのサブスクリプションに対する共同作成者レベルのアクセス権があります。

ワークスペースに AKS インスタンスがアタッチされていない場合は、この Microsoft Entra アカウントを安全に削除できます。

ワークスペースに AKS クラスターがアタッチされており、それらが 2021 年 5 月 14 日より前に 作成されたものである場合、"この Microsoft Entra アカウントは削除しないでください"。 このシナリオでは、Microsoft Entra アカウントを削除する前に、AKS クラスターを削除して再作成する必要があります。

ユーザー割り当てマネージド ID を使用するようにワークスペースをプロビジョニングしてから、マネージド ID に他のロールを付与できます。 たとえば、基本 Docker イメージの独自の Azure Container Registry インスタンスにアクセスするためのロールを付与する場合があります。

Azure Machine Learning コンピューティング クラスターで使用するためのマネージド ID を構成することもできます。 このマネージド ID は、ワークスペースのマネージド ID から独立しています。 コンピューティング クラスターでは、トレーニング ジョブを実行しているユーザーがアクセスできないセキュリティで保護されたデータストアなどのリソースに、マネージド ID を使用してアクセスします。 詳細については、マネージド ID を使用したアクセスの制御に関する記事を参照してください。

ヒント

Azure Machine Learning での Microsoft Entra ID と Azure RBAC の使用には、例外があります。

  • 必要に応じて、コンピューティング リソース (Azure Machine Learning コンピューティング インスタンスやコンピューティング インスタンスなど) への Secure Shell (SSH) アクセスを有効にすることができます。 SSH アクセスは、Microsoft Entra ID ではなく、公開キーと秘密キーのペアに基づいています。 Azure RBAC では SSH アクセスは管理されません。
  • キー ベースまたはトークン ベースの認証を使って、オンライン エンドポイントとしてデプロイされたモデルに対する認証を行うことができます。 キーは静的な文字列ですが、トークンは Microsoft Entra セキュリティ オブジェクトを使用して取得されます。 詳細については、「オンライン エンドポイントのクライアントを認証する」を参照してください。

詳細については、次の記事をご覧ください。

ネットワークのセキュリティと分離を提供する

Azure Machine Learning リソースへのネットワーク アクセスを制限するには、Azure Machine Learning マネージド仮想ネットワークまたは Azure Virtual Network インスタンス を使用できます。 仮想ネットワークを使うと、ソリューションの攻撃面が減り、データ流出の危険性も減少します。

どちらか一方を選択しなければならないわけではありません。 たとえば、Azure Machine Learning マネージド仮想ネットワークを使って、マネージド コンピューティング リソースと、非管理対象リソース用の Azure Virtual Network インスタンスをセキュリティで保護したり、ワークスペースへのクライアント アクセスをセキュリティで保護したりするのを支援できます。

  • Azure Machine Learning マネージド仮想ネットワーク: ワークスペースとマネージド コンピューティング リソースのネットワークの分離を可能にする、フル マネージド ソリューションを提供します。 プライベート エンドポイントを使って、他の Azure サービスとの通信をセキュリティで保護するのを支援します。また、アウトバウンド通信を制限できます。 マネージド仮想ネットワークを使用して、次のマネージド コンピューティング リソースをセキュリティで保護するのを支援します。

    • サーバーレス コンピューティング (Spark サーバーレスを含む)
    • コンピューティング クラスター
    • コンピューティング インスタンス
    • マネージド オンライン エンドポイント
    • Batch オンライン エンドポイント
  • Azure Virtual Network インスタンス: よりカスタマイズ可能な仮想ネットワーク オファリングを提供します。 ただし、構成と管理はユーザーが行う必要があります。 アウトバウンド通信を制限するには、ネットワーク セキュリティ グループ、ユーザー定義ルート、またはファイアウォールを使うことが必要な場合があります。

詳細については、ネットワーク分離構成の比較の記事を参照してください。

データを暗号化する

Azure Machine Learning では、Azure プラットフォーム上でさまざまなコンピューティング リソースとデータ ストアが使用されます。 これらのそれぞれで保存時および転送中のデータの暗号化がサポートされる仕組みの詳細については、「Azure Machine Learning でのデータの暗号化」 を参照してください。

データ流出を防止する

Azure Machine Learning には、受信と送信のネットワーク依存関係がいくつかあります。 そうした依存関係の中には、組織内の悪意のあるエージェントによってデータが流出するリスクを顕在化させるものがあります。 これらのリスクは、Azure Storage、Azure Front Door、Azure Monitor への送信要件に関連しています。 このリスクを軽減するための推奨事項については、「Azure Machine Learning のデータ流出防止」を参照してください。

脆弱性をスキャンする

Microsoft Defender for Cloud を使用すると、統合されたセキュリティ管理と高度な脅威に対する保護がハイブリッド クラウド ワークロードに提供されます。 Azure Machine Learning のために、Azure Container Registry リソースと AKS リソースのスキャンを有効にしてください。 詳細については、「Microsoft Defender for container registries の概要」および「Microsoft Defender for Kubernetes の概要」を参照してください。

コンプライアンスの監査と管理

Azure Policy は、Azure リソースがポリシーに準拠していることを確認するのに役立つガバナンス ツールです。 Azure Machine Learning ワークスペースでプライベート エンドポイントを使用するかどうかなど、特定の構成を許可または適用するポリシーを設定できます。

Azure Policy の詳細については、 のドキュメントを参照してください。 Azure Machine Learning に固有のポリシーの詳細については、「Azure Machine Learning の監査と管理」を参照してください。