Dockerは、9月24日、エージェントの権限管理の実験的な仕様「Docker Sandbox Kit Specification v3」をApache 2.0ライセンスの下で公開した。
コンテナ(Dockerfile)があらかじめ渡されたコンテンツだけにアクセスするのに対し、エージェントは主体的に次にすべきことを決定し、ファイルシステムやネットワーク、データベースなどにアクセスする。その際にAPIにアクセスできない、認証情報を保持できないといった問題は、エージェントの有用性を損なうことになる。しかし、従来のコンテナには「ソフトウェアをどうビルドして動かすか」だけが記述され、ネットワークや認証情報といった外部情報は含まれない。
そこで、ファイルシステムやネットワーク、認証情報といったエージェントがリーチすべき周囲のコンテンツの外側へと境界を拡張するべきだ、というのがこのKitの考え方だ。Kitは、これらの権限情報を1つのイメージの下にまとめて組み込む。
これによって、権限の差分が比較可能になる。エージェントの次のバージョンが別の認証情報を要求した場合、必要なのは権限の変更だ。Kitという単一のパッケージにまとめられていることで、それが「差分」として表示され、エージェントがどこで実行されてもその権限設定は維持される。人による承認で停止することも可能。
これはベンダーロックインされない「仕様」である点もポイントだ。特定の製品機能に依存すると、別の環境に移した際にその権限の信頼境界(trust boundary)が崩れる。どこでも同じ境界を再現できるよう、オープンな仕様として展開されている。
また、v3の変更点として、Kitが独自のアーティファクトではなく、通常のOCIイメージになったことが挙げられる。これにより、特別なメディアタイプやサイドカーファイルは不要で、普段のDockerツールチェーンで容易に扱えるようになった。
Kitには「ワークロード」と「ミックスイン」の2種類があり、ワークロードはルートファイルシステムを提供する。ミックスインはオーバーレイとして、ネットワークルールを持つCLI、認証情報のバインディング、エージェントのコンテキストなどを追加できる。1つのワークロードと、任意の数のミックスインを起動することが可能。
Kitを実行するには、sbx CLIをインストールする必要がある。詳細はブログポストおよび、GitHubを参照のこと。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
