アプリケーション分離領域

Important

ほとんどの新しい機密コンピューティングワークロードでは、まずAzureの機密VMオプションと機密コンテナから始めましょう。 本記事は、専門的なエンクレーブ対応開発に焦点を当てています。

Intel SGX などのアプリケーション エンクレーブは、特定のコードとデータを保護する分離された環境です。 エンクレーブを作成するときは、アプリケーションのどの部分がエンクレーブ内で実行するかを決定する必要があります。 エンクレーブを作成または管理するときは、選択したデプロイ スタックに互換性のある SDK とフレームワークを必ず使用してください。

注

もしまだIntel SGX VMとエンクレーブの導入を読んでいなければ、続ける前に必ず読んでください。

Microsoft メカニクス

アプリケーションの開発

エンクレーブで構築されたアプリケーションには2つのパーティションがあります。

ホストは"信頼されていない" コンポーネントです。 エンクレーブ アプリケーションはホスト上で実行されます。 ホストは信頼されていない環境です。 ホストにエンクレーブ コードをデプロイすると、ホストはそのコードにアクセスできません。

エンクレーブは"信頼できる" コンポーネントです。 アプリケーション コードとそのキャッシュされたデータとメモリは、エンクレーブで実行されます。 エンクレーブ環境は、シークレットと機密データを保護します。 セキュリティで保護された計算がエンクレーブで発生することを確認します。

ホストパーティションとエンクレーブ パーティションを示すアプリケーションの図。エンクレーブ内には、データおよびアプリケーション コード コンポーネントがあります。

エンクレーブと分離された環境の機能を使用するには、コンフィデンシャル コンピューティングをサポートするツールを選択します。 エンクレーブ アプリケーション開発は、さまざまなツールでサポートされています。 たとえば、次のオープンソース フレームワークを使用できます。

アプリケーションを設計する際には、エンクレーブで動作させる部分を特定し、決定してください。 信頼されたコンポーネント内のコードは、アプリケーションの残りの部分から分離されます。 エンクレーブが初期化され、コードがメモリに読み込まれた後、信頼されていないコンポーネントはそのコードを読み取ったり変更したりすることはできません。

次のステップ