Docker コンテナは、クラウドにアプリケーションをデプロイするために広く使用されています。 Gramine Shielded Containers (GSC) を使用して、Gramine Library OS を使用して Intel SGX エンクレーブによって保護された Docker コンテナをデプロイするためのインフラストラクチャを提供します。
GSC ツールは、Docker イメージを Gramine Library OS、マニフェスト ファイル、Intel SGX 関連情報を含む新しいイメージに変換し、Gramine Library OS を使用して Intel SGX エンクレーブ内でアプリケーションを実行します。これは、最初にイメージを構築し、次にこのイメージをコンテナー内で実行するという一般的な Docker アプローチに従います。まず、Docker イメージをgsc build
コマンドでグラミン化する必要があります。グラミン化イメージを Intel SGX エンクレーブ内で実行する必要がある場合、イメージはgsc sign-image
コマンドを使用して署名する必要があります。その後、 docker run
使用してイメージを実行できます。
注: gsc build
ステップの一部として、GSC は信頼できるファイル (整合性保護のあるファイル) のリストを含むマニフェスト ファイルを生成します。このリストには、元の Docker イメージに存在するすべてのファイルのハッシュが含まれています。したがって、GSC のマニフェスト作成機能は、元の Docker イメージのパッケージ化に依存します。元の Docker イメージが肥大化している (不要なファイルが含まれている) 場合、生成されるマニフェストも肥大化します。これにより Gramine/GSC のセキュリティ保証が悪化することはありませんが、起動パフォーマンスに影響を与える可能性があります。 Docker イメージに本当に必要な依存関係のみを取り込むように注意してください。
Gramine Library OS の公式ドキュメントは、https://gramine.readthedocs.io にあります。
公式 GSC ドキュメントは https://gramine-gsc.readthedocs.io にあります。
GitHub プル リクエストを通じての貢献を歓迎します。メインプロジェクトと同じルールが適用されることに注意してください。
ご質問がある場合は、[email protected] (パブリック アーカイブ) に電子メールを送信してください。
バグレポートについては、GitHub リポジトリ (https://github.com/gramineproject/gsc/issues) に問題を投稿してください。