Azure Kubernetes Service (AKS) 上の機密コンテナー (プレビュー)
クラウドネイティブ アプリケーション開発の増加に伴い、クラウド環境で実行されているワークロードを保護する必要性も高まっています。 ワークロードをコンテナー化すると、このプログラミング モデルの重要なコンポーネントが形成され、コンテナーを保護することは、クラウドで機密性の高い実行を行う上で最も重要です。
Azure Kubernetes Service (AKS) 上の機密コンテナーを使用すると、Kubernetes ワークロードでコンテナー レベルの分離を実現できます。 これは Azure の機密コンピューティング製品スイートに追加されており、AMD SEV-SNP メモリ暗号化を使用して実行時にコンテナーを保護します。
機密コンテナーは、機密性データ (たとえば、個人データや、規制コンプライアンスのために強力なセキュリティを備える必要があるデータ) を含むデプロイのシナリオに適しています。
コンテナーを機密にする仕組み
Microsoft が設立メンバーである Confidential Computing Consortium によって設定されたガイドラインに従って、機密コンテナーは以下を満たす必要があります。
- 透過性: 機密アプリケーションが共有されている機密コンテナー環境。安全かどうかを確認できます。 トラステッド コンピューティング ベース (TCB) のすべてのコンポーネントはオープン ソースになります。
- 監査性: Linux ゲスト OS とすべてのコンポーネントを含む CoCo 環境パッケージの現在のバージョン確認できます。 Microsoft は、構成証明を使用して検証するために、ゲスト OS とコンテナー ランタイム環境にサインインします。 また、ゲスト OS ビルドのセキュリティで保護されたハッシュ アルゴリズム (SHA) をリリースして、文字列の読みやすさと制御のストーリーを構築します。
- 完全な構成証明: TEE の一部であるものは、リモートで検証できる CPU によって完全に測定されます。 AMD SEV-SNP プロセッサからのハードウェア レポートには、構成証明要求を通じてコンテナー レイヤーとコンテナー ランタイム構成ハッシュが反映されます。 アプリケーションは、ゲスト OS イメージとコンテナー ランタイムを反映したレポートを含め、ハードウェア レポートをローカルでフェッチできます。
- コードの整合性: ランタイムの実行は、不変ポリシーやコンテナー署名など、コンテナーとコンテナー構成に関する顧客定義のポリシーを通じて常に可能です。
- オペレーターからの分離: 最小限の特権と、顧客/テナント管理者を含むすべての信頼されていない関係者からの最高の分離シールドを想定したセキュリティ設計。 これには、機密ポッドへの既存の Kubernetes コントロール プレーン アクセス (kubelet) の強化が含まれます。
しかし、これらの機密性に関する機能を備えながらも、製品は使いやすさを維持する必要があり、Kubernetes 機能の適合度が高い変更されていない Linux コンテナーをすべてサポートしています。 さらに、コストを最適化するために、1 つのクラスター内の異種ノード プール (GPU、汎用ノード) がサポートされます。
AKS 上の機密コンテナーを形成するものとは?
オープンソース コミュニティに対する Microsoft のコミットメントに従い、機密コンテナーの基になるスタックは、機密ワークロードを実行しているポッドをホストするノード内で実行されているエージェントとして、Kata CoCo エージェントを使用しています。 ホストとゲストの境界を必要とする多くの TEE テクノロジにより、Kata Containers が Kata CoCo の初期作業の基礎となります。 また、Microsoft は、機密ユーティリティ VM 内で実行されているコンテナーを強化するために Kata Coco コミュニティに貢献しました。
Kata 機密コンテナーは、Azure Linux AKS コンテナー ホスト内に存在します。 Azure Linux とクラウド ハイパーバイザー VMM (仮想マシン モニター) は、仮想マシンの有効期間の作成と管理に使用されるエンド ユーザー向け/ユーザー空間ソフトウェアです。
AKS でのコンテナー レベルの分離
既定では、AKS のすべてのワークロードが同じカーネルと同じクラスター管理者を共有します。AKS でのポッド サンドボックスのプレビューにより、同じ AKS ノード上のワークロードにカーネル分離を提供する機能を備えて、分離は 1 段階向上しました。 この機能の詳細についてはこちらを参照してください。 機密コンテナーはこの分離の次のステップであり、基盤の AMD SEV-SNP 仮想マシン サイズのメモリ暗号化機能を使用します。 これらの仮想マシンは DCa_cc および ECa_cc サイズであり、ハードウェアの信頼のルートをデプロイされたポッドに表示する機能を備えています。
作業の開始
作業を開始しサポートされているシナリオの詳細を確認するには、こちらの AKS ドキュメントを参照してください。