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 のための認証プロセスを以下に示します。
- クライアントは Microsoft Entra ID にサインインし、Azure Resource Manager トークンを取得します。
- クライアントによって、Azure Resource Manager と Azure Machine Learning にトークンが提示されます。
- Azure Machine Learning では、ユーザーのコンピューティング先 (たとえば、Machine Learning コンピューティング クラスターやサーバーレス コンピューティング) に Machine Learning サービス トークンが提供されます。 このトークンは、ジョブの完了後に Machine Learning service にコールバックするために、ユーザーのコンピューティング先によって使用されます。 スコープはワークスペースに制限されます。
各ワークスペースには、ワークスペースと同じ名前を持つ、関連付けられたシステム割り当て済みマネージド 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 Machine Learning ジョブで認証資格情報シークレットを使用する
- Azure Machine Learning とその他のサービス間の認証を設定する
ネットワークのセキュリティと分離を提供する
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 Machine Learning ワークスペースをセキュリティで保護する
- 仮想ネットワークを使用して Azure Machine Learning トレーニング環境をセキュリティで保護する
- 仮想ネットワークを使用して Azure Machine Learning 推論環境をセキュリティで保護する
- Azure 仮想ネットワークで Azure Machine Learning スタジオを使用する
- カスタム DNS サーバーでワークスペースを使用する
- ネットワークの着信トラフィックおよび送信トラフィックを構成する
データを暗号化する
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 の監査と管理」を参照してください。