7.16. アテステーションプロセスの確認
テスト Pod を作成し、そのシークレットを取得することで、アテステーションプロセスを検証できます。
この手順は、アテステーションが機能していることを確認する例です。データはメモリーダンプを使用してキャプチャーされる可能性があるため、機密データを標準 I/O に書き込まないでください。メモリーに書き込まれたデータのみが暗号化されます。
デフォルトでは、Pod 仮想マシン (VM) イメージに埋め込まれた Kata エージェントポリシーによって、Confidential Containers Pod の exec API と log API が無効になります。このポリシーは、クラスター管理者が Pod 内でプロセスを実行して機密データが抜き出されないようにすると同時に、機密データが標準 I/O に誤って書き込まれないようにします。
テストシナリオでは、ポリシーアノテーションを Pod に追加することで、実行時に制限をオーバーライドできます。テクノロジープレビューの場合、ランタイムポリシーアノテーションはリモートアテステーションによって検証されません。
前提条件
- Trustee サーバーとテスト Pod が同じクラスター内で実行されていない場合は、ルートが作成されている。
手順
verification-pod.yamlマニフェストファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow エージェントポリシーで
io.katacontainers.config.agent.policyアノテーションとio.katacontainers.config.runtime.cc_init_dataアノテーションの両方を指定すると、initdata のアノテーションはエージェントポリシーのアノテーションよりも優先されます。以下のコマンドを実行して Pod を作成します。
oc create -f verification-pod.yaml
$ oc create -f verification-pod.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ocp-cc-podの Bash シェルに接続します。oc exec -it ocp-cc-pod -- bash
$ oc exec -it ocp-cc-pod -- bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して Pod シークレットを取得します。
curl http://127.0.0.1:8006/cdh/resource/default/kbsres1/key1
$ curl http://127.0.0.1:8006/cdh/resource/default/kbsres1/key1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
res1val1
res1val1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Trustee サーバーは、証明書が成功した場合にのみシークレットを返します。