Azure AI Studio での脆弱性の管理
重要
この記事で "(プレビュー)" と付記されている項目は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
脆弱性の管理には、組織のシステムとソフトウェアに存在するあらゆるセキュリティ脆弱性の検出、評価、軽減、報告が含まれます。 脆弱性の管理は、お客様と Microsoft の共同責任です。
この記事では、これらの責任について説明し、Azure AI Studio が提供する脆弱性の管理コントロールの概要を紹介します。 最新のセキュリティ更新プログラムを使用してサービス インスタンスとアプリケーションを最新の状態に保つ方法と、攻撃者の機会を最小限に抑える方法について説明します。
Microsoft が管理する VM イメージ
Microsoft は、コンピューティング インスタンスとサーバーレス コンピューティング クラスターのホスト OS 仮想マシン (VM) イメージを管理します。 更新の頻度は月単位であり、次の詳細が含まれます。
新しい VM イメージ バージョンごとに、最新の更新プログラムが OS の元の発行元から提供されます。 最新の更新プログラムを使うと、該当する OS 関連のパッチをすべて確実に取得できます。 Azure AI Studio では、すべての Ubuntu イメージの発行元は Canonical です。
VM イメージは毎月更新されます。
元の発行元が適用するパッチに加えて、Microsoft は、更新プログラムが利用可能になったときにシステム パッケージを更新します。
Microsoft は、アップグレードが必要になる可能性がある機械学習パッケージをチェックして検証します。 ほとんどの場合、新しい VM イメージにはパッケージの最新バージョンが含まれています。
すべての VM イメージは、脆弱性のスキャンを定期的に実行するセキュリティで保護されたサブスクリプション上に構築されています。 Microsoft は、未対処の脆弱性にフラグを設定し、次回のリリースで修正します。
その頻度は、ほとんどのイメージで月単位です。 コンピューティング インスタンスの場合、イメージのリリースは、環境にプレインストールされている Azure Machine Learning SDK のリリース周期に合わせて行われます。
通常のリリース周期に加えて、Microsoft は、脆弱性が表面化した場合に修正プログラムを適用します。 Microsoft は、サーバーレス コンピューティング クラスターの場合は 72 時間以内、コンピューティング インスタンスの場合は 1 週間以内に修正プログラムをロールアウトします。
Note
ホスト OS は、モデルのトレーニングまたはデプロイ時に環境に対して指定できる OS バージョンではありません。 環境は Docker 内で実行されます。 Docker はホスト OS で実行されます。
Microsoft が管理するコンテナー イメージ
Microsoft が Azure AI Studio 用にメンテナンスする基本 docker イメージは、新たに検出された脆弱性に対処するためにセキュリティ パッチを頻繁に取得します。
Microsoft は、脆弱性に対処するために、サポートされているイメージの更新プログラムを 2 週間ごとにリリースします。 Microsoft では、コミットメントとして、サポートされるイメージの最新バージョンで 30 日を超える脆弱性が存在しないことを目指しています。
パッチが適用されたイメージは、新しい不変タグと、更新された :latest
タグの下でリリースされます。 :latest
タグを使用したり、特定のイメージ バージョンにピン留めしたりすると、機械学習ジョブでセキュリティと環境の再現性の間のトレードオフになる可能性があります。
環境とコンテナー イメージの管理
Azure AI Studio では、Docker イメージを使用して、プロンプト フロー デプロイのためのランタイム環境を提供します。 イメージは、Azure AI Studio が提供する基本イメージから構築されます。
Microsoft は、リリースごとに基本イメージにパッチを適用しますが、最新のイメージを使用するかどうかは、再現性と脆弱性管理の間のトレードオフになる可能性があります。 ジョブまたはモデル デプロイに使う環境バージョンを選ぶのはお客様の責任となります。
既定では、依存関係は、イメージをビルドするときに基本イメージの上に階層化されます。 Microsoft が提供するイメージの上にさらに多くの依存関係をインストールすると、脆弱性の管理はお客様の責任となります。
AI Studio ハブには、コンテナー イメージのキャッシュとして機能する Azure Container Registry インスタンスが関連付けられています。 具体化されるすべてのイメージは、コンテナー レジストリにプッシュされます。 ワークスペースは、対応する環境に対してデプロイがトリガーされたときにそれを使用します。
ハブは、コンテナー レジストリからイメージを削除しません。 時間の経過に伴うイメージの必要性を評価するのは、お客様の責任となります。 環境の検疫状態を監視および維持するために、Microsoft Defender for Container Registry を使用して、イメージの脆弱性のスキャンに役立てることができます。 Microsoft Defender からのトリガーに基づいてプロセスを自動化するには、「修復応答を自動化する」を参照してください。
コンピューティング ホストでの脆弱性の管理
Azure AI Studio のマネージド コンピューティング ノードは、Microsoft が管理する OS VM イメージを使います。 ノードをプロビジョニングすると、最新の更新された VM イメージがプルされます。 この動作は、コンピューティング インスタンス、サーバーレス コンピューティング クラスター、マネージド推論コンピューティング オプションに適用されます。
OS VM イメージには定期的にパッチが適用されますが、Microsoft は、使用中のコンピューティング ノードの脆弱性をアクティブにスキャンしません。 追加の保護層については、お使いのコンピューティングのネットワークの分離を検討してください。
環境を最新の状態にし、コンピューティング ノードに最新の OS バージョンを使うようにすることは、お客様と Microsoft の共同責任です。 アイドル状態ではないノードは、最新の VM イメージに更新できません。 次のセクションに示すように、コンピューティングの種類ごとに、考慮事項は若干異なります。
コンピューティング インスタンス
コンピューティング インスタンスは、プロビジョニング時に最新の VM イメージを取得します。 Microsoft は、毎月新しい VM イメージをリリースします。 コンピューティング インスタンスをデプロイした後は、アクティブに更新されません。 最新のソフトウェア更新プログラムとセキュリティ パッチを常に最新の状態に保つには、次のいずれかの方法を使用できます。
コンピューティング インスタンスを再作成して最新の OS イメージを取得します (推奨)。
この方法を使う場合、インスタンスの OS や一時ディスクに保存されているインストール済みパッケージなどのデータやカスタマイズは失われます。
イメージ リリースの詳細については、「Azure Machine Learning コンピューティング インスタンス イメージのリリース ノート」を参照してください。
OS と Python パッケージを定期的に更新します。
Linux パッケージ管理ツールを使用して、パッケージ リストを最新バージョンに更新します。
sudo apt-get update
Linux パッケージ管理ツールを使用して、パッケージを最新バージョンにアップグレードします。 この方法を使うと、パッケージの競合が生じる可能性があります。
sudo apt-get upgrade
Python パッケージ管理ツールを使用して、パッケージをアップグレードし、更新プログラムを確認します。
pip list --outdated
コンピューティング インスタンスに追加のスキャン ソフトウェアをインストールして実行することで、セキュリティに関する問題をスキャンできます。
- Trivy は、OS と Python のパッケージ レベルの脆弱性を検出するために使います。
- ClamAV は、マルウェアを検出するために使います。 これはコンピューティング インスタンスにプレインストールされています。
Microsoft Defender for Servers エージェントのインストールは現在サポートされていません。
エンドポイント
エンドポイントは、脆弱性修正プログラムを含む OS ホスト イメージの更新プログラムを自動的に受け取ります。 イメージの更新頻度は、少なくとも 1 か月に 1 回です。
そのバージョンがリリースされると、コンピューティング ノードは最新の VM イメージ バージョンに自動的にアップグレードされます。 何らかのアクションをとる必要はありません。