Azure Container Instances 上の機密コンテナー

この記事では、Azure Container Instances 上の機密コンテナーを使って、クラウドで実行されているワークロードをセキュリティ保護する方法について説明します。 この記事では、機能セット、シナリオ、制限、リソースに関する背景について説明します。

Azure Container Instances 上の機密コンテナーを使うと、お客様はハードウェアベースで構成証明された高信頼実行環境 (TEE) 内で Linux コンテナーを実行できます。 お客様は、コンテナー化された Linux アプリケーションをリフト アンド シフトしたり、新しいコンフィデンシャル コンピューティング アプリケーションを構築したりできます。TEE での機密性の利点を実現するために、特別なプログラミング モデルを採用する必要はありません。 Azure Container Instances 上の機密コンテナーは、使用中のデータを保護し、メモリ内で使われているデータを暗号化します。 Azure Container Instances は、検証可能な実行ポリシーと、ゲスト構成証明による信頼保証の検証可能なハードウェア ルートを通じて、この機能を拡張します。

Azure Container Instances 上の機密コンテナー グループのスクリーンショット。

Azure Container Instances 上の機密コンテナーの機能

アプリケーションのリフトアンドシフト

お客様は、コンテナー化された Linux アプリケーションをリフト アンド シフトしたり、新しいコンフィデンシャル コンピューティング アプリケーションを構築したりできます。TEE での機密性の利点を実現するために、特別なプログラミング モデルを採用する必要はありません。

ハードウェア ベースの高信頼実行環境

Azure Container Instances 上の機密コンテナーは、Hyper-V で分離された TEE 使ってコンテナー グループにデプロイされます。これには、AMD SEV-SNP 対応プロセッサによって生成および管理されるメモリ暗号化キーが含まれます。 メモリで使われているデータは、このキーを使って暗号化され、データの再生、破損、再マッピング、エイリアシングベースの攻撃に対する保護を提供します。

検証可能な実行ポリシー

Azure Container Instances 上の機密コンテナーは、検証可能な実行ポリシーを使って実行できます。これにより、お客様は TEE 内で実行できるソフトウェアとアクションを制御できます。 これらの実行ポリシーは、機密データをリークする可能性がある予期しないアプリケーションの変更を作成する不適切なアクターから保護するのに役立ちます。 実行ポリシーは、提供されたツールを使ってお客様が作成し、暗号検査によって検証されます。

リモート ゲストの構成証明

ACI 上の機密コンテナーは、証明書利用者とのセキュリティ保護されたチャネルを作成する前に、コンテナー グループの信頼性を確認するために使われる、リモート ゲストの構成証明をサポートしています。 コンテナー グループが生成できる SNP ハードウェア構成証明レポートは、ハードウェアによって署名され、ハードウェアとソフトウェアに関する情報を含みます。 機密データを TEE にリリースする前に、この生成されたハードウェア構成証明レポートを、オープンソースのサイドカー アプリケーションを使って Microsoft Azure Attestation サービスで、または別の構成証明サービスで検証できます。

コンフィデンシャル コンピューティング適用ポリシー

機密コンテナーは、コンフィデンシャル コンピューティング適用 (CCE) ポリシーを通じて、コンテナー レベルの整合性と構成証明をサポートします。 コンフィデンシャル コンピューティング適用ポリシーでは、コンテナー グループ内での実行が許可されるコンポーネントが規定されており、コンテナー ランタイムによって適用されます。

Azure CLI confcom 拡張機能

お客様は、Azure CLI confcom 拡張機能により、ARM テンプレートを入力として使ってコンフィデンシャル コンピューティング適用ポリシーを生成し、出力として Base 64 文字列ポリシーを提供できます。 この出力は、実行を許可されるコンポーネントを強制するために、コンテナー グループの定義に含まれます。 コンフィデンシャル コンピューティング実行ポリシーの作成について詳しくは、Azure CLI confcom 拡張機能に関するページをご覧ください。

セキュリティで保護されたキー リリースと暗号化ファイル システムのサイドカー

Azure Container Instances 上の機密コンテナーは、コンテナー グループ内での機密機能をサポートするため、2 つのオープンソース サイドカーと統合されます。 これらのサイドカーとその詳細については、機密サイドカーのリポジトリをご覧ください。

セキュリティで保護されたキー リリース サイドカー

Azure Container Instances 上の機密コンテナーでは、構成証明とセキュリティ保護されたキー リリースのためのサイドカー オープンソース コンテナーが提供されます。 このサイドカーによってインスタンス化される Web サーバーでは、他のコンテナーが POST メソッドを使ってハードウェア構成証明レポートまたは Microsoft Azure Attestation トークンを取得できるように、REST API が公開されます。 このサイドカーは、検証完了後にコンテナー グループにキーをリリースするため、Azure Key Vault と統合されます。

暗号化ファイル システム サイドカー

Azure Container Instances 上の機密コンテナーでは、以前に Azure Blob Storage にアップロードされたリモート暗号化ファイル システムをマウントするためのサイドカー コンテナーが提供されます。 このサイドカー コンテナーは、ハードウェア構成証明と、構成証明の署名キーを証明する証明書チェーンを、透過的に取得します。 その後、Microsoft Azure Attestation に構成証明トークンの承認を要求します。これは、マネージド HSM からファイル システムの暗号化キーを安全にリリースするために必要です。 このキーは、構成証明トークンが予期される機関によって署名されていて、構成証明要求がキーのリリース ポリシーと一致する場合にのみ、サイドカー コンテナーにリリースされます。 サイドカー コンテナーは、そのキーを透過的に使って、リモート暗号化ファイル システムをマウントします。このプロセスにより、コンテナー グループ内で実行されるコンテナーからのどのような操作に対しても、ファイル システムの機密性と整合性が維持されます。

シナリオ

マルチパーティ データ分析と機械学習トレーニング用のデータ クリーン ルーム

ビジネス トランザクションとプロジェクト コラボレーションでは、複数の関係者間での機密データの共有が必要になることがよくあります。 このデータには、不正アクセスから保護する必要がある個人情報、財務情報、医療記録が含まれる場合があります。 Azure Container Instances 上の機密コンテナーは、お客様が他の関係者に入力データを公開することなく、複数のソースからのトレーニング データを処理するために必要な機能 (ハードウェア ベースの TEE、リモート構成証明) を提供します。 これにより、組織は機密情報へのアクセスを制御しながら、自分またはパートナーのデータセットから、より多くの価値を得ることができます。 これにより、Azure Container Instances 上の機密コンテナーは、機密機械学習などのマルチパーティ データ分析シナリオに最適です。

Azure Container Instances 上の ML トレーニング モデルのスクリーンショット。

機密推論

ACI は、迅速で簡単なデプロイ、柔軟なリソース割り当て、従量課金制の価格を提供します。これにより、機密推論ワークロードに最適なプラットフォームとして位置付けられます。 Azure Container Instances 上の機密コンテナーを使うと、モデル開発者とデータ所有者は共同作業を行いながら、モデル開発者の知的財産を保護し、推論に使われるデータを安全かつプライベートに保つことができます。 Azure Container Instances 上の機密コンテナーを使用した機密推論のデプロイのサンプルを確認してください。

Azure Container Instances 上の ML 推論モデルのスクリーンショット。

サポートされていないシナリオ

  • コンフィデンシャル コンピューティング適用ポリシーは、Azure CLI confcom 拡張機能を使って生成する必要があり、手動では作成できません。

リソース

次の手順