DockerコンテナにAppArmor設定ファイルをロードする

DockerコンテナにAppArmor設定ファイルをロードする

Dockerコンテナ内に別のAppArmorプロファイルをロードしたいと思います。 Dockerコンテナ自体はこのdocker-default設定ファイルを使用します。別の設定ファイルは制限を適用しdocker-default、コンテナ内のすべてのファイルシステムアクセスを大幅に制限する必要があります。コンテナ内の設定ファイルを変更することは明らかに不可能なので、他のオプションがあるかどうかを尋ねるためにこの質問を投稿してください。

  1. 私が検討している1つのオプションは、docker-default移行を許可するローカル構成ファイルを作成することです。しかし、私はこれをAppArmor設定ファイルに書き込む必要があると思いますがdocker-default、これはありません/etc/apparmor.ddocker-default構成ファイルは明らかにこれに基づいています。金型

    どうすればいいですか?ローカル設定ファイルをテンプレートに貼り付けて実行しますかapparmor_parser -r -W template.go?これをどのように無視しますかdefault-docker?名前でtemplate.go docker-default.go

    docker-defaultDockerが更新されたら、これらの修正を上書きする可能性があるため、上書きは最善の選択ではないと思います。

  2. 別のオプションは、実行中のコンテナを使用するようです--privileged。これは通常コンテナのセキュリティを弱めるので、これを避けたいと思います。

私が作業している設定の背景知識:いくつかを書いています。Rシャインデプロイされたアプリケーション輝くエージェントUbuntu 20.04システムで。 ShinyProxyはAppArmor設定ファイルを使用して、各アプリケーションセッションを別々のDockerコンテナとして起動しますdocker-default。一部のアプリケーション機能では、ユーザーは次のようにRコードを入力します。シャイニングエースバックエンド評価用コンソール。通常、ユーザーにバックエンドでコードを実行させることはお勧めできませんが、この場合は必須です。主にDockerコンテナの内部と外部に格納されているファイルシステムやデータへのユーザーアクセスを制限したいので、RAppArmorパッケージunixを使用する予定です。unix::eval_safeシステムのAppArmorプロファイルの1つを実行すると同時に機能を実行できます。docker-defaultプロファイルはアプリケーションセッション全体でアクティブになるため、内部的unix::eval_safeRAppArmor::aa_change_profile他のプロファイルをロードする方法はありません。

この問題に対する安全で信頼できる解決策は何ですか?

関連情報