私は、グループで共有しているサーバーに Docker を持っています。しかし、私が作成したコンテナーを他のユーザーが削除できることがわかりました。これは安全ではありません。コンテナーの権限を設定する方法はあるのでしょうか。Linux では、ユーザーごとに異なるファイルにアクセスするための権限が異なります。
答え1
docker ソケットに直接アクセスできるユーザー (docker グループに追加されているなど) は、事実上ホストの root になります。ホストのファイルシステムとコンテナにマップされた他の名前空間を使用して、コンテナを root として実行できます。また、コンテナがホストの root として脱出できる権限も持っています。このような状況を考えると、ホスト上の他のコンテナにアクセスできるという懸念は見当違いのようです。
ホストのシステム管理者として信頼できる人にのみ、Docker API へのアクセスを許可することに重点を置く必要があります。その他のユーザーには、適切なセキュリティ対策を実装したツールを通じてのみアクセスを許可する必要があります。多くの場合、これには集中ログおよびメトリック システムの構成と、CI/CD システムのみを通じての変更の展開が含まれます。
それができない場合は、Docker エンジンの認証プラグインとして OPA のようなものを構成することもできますが、ファイルシステム経由の Docker ソケットへのアクセスから、各個人に固有の TLS 資格情報の使用に移行する必要があります。
あるいは、Docker は、この機能が製品に組み込まれたエンタープライズ ソリューションを提供します。