SELinux
コンテナにおけるSELinux
SELinuxはラベリング システムです。すべてのプロセスとすべてのファイルシステムオブジェクトにはラベルがあります。SELinuxポリシーは、プロセスラベルがシステム上の他のすべてのラベルに対して何をすることが許可されているかに関するルールを定義します。
コンテナエンジンは、通常container_t
という単一の制限されたSELinuxラベルでコンテナプロセスを起動し、その後、コンテナ内のコンテナをcontainer_file_t
というラベルに設定します。SELinuxポリシールールは基本的に、container_t
プロセスはcontainer_file_t
というラベルが付けられたファイルをのみ読み書き/実行できると言っています。コンテナプロセスがコンテナから脱出し、ホスト上のコンテンツに書き込もうとすると、Linuxカーネルはアクセスを拒否し、コンテナプロセスがcontainer_file_t
というラベルが付けられたコンテンツにのみ書き込むことを許可します。
SELinuxユーザー
通常のLinuxユーザーに加えて、SELinuxユーザーも存在します。SELinuxユーザーはSELinuxポリシーの一部です。各Linuxユーザーはポリシーの一部としてSELinuxユーザーにマッピングされます。これにより、LinuxユーザーはSELinuxユーザーに課せられた制限やセキュリティルール、メカニズムを継承することができます。
Last updated