23.20. セキュリティーラベル
<seclabel>
要素により、セキュリティードライバーの動作を制御できます。基本的な動作モードは、'dynamic'
で、libvirt が一意のセキュリティーラベルを自動的に生成します。'static'
では、アプリケーションまたは管理者がラベルを選択します。'none'
では、制限が無効になっています。動的ラベル生成では、libvirt は、仮想マシンに関連付けられたリソースに常に自動的に再ラベル付けします。静的ラベルの割り当てでは、デフォルトで管理者またはアプリケーションがすべてのリソースでラベルを正しく設定する必要がありますが、必要に応じて自動再ラベル付けを有効にすることができます。
libvirt が複数のセキュリティードライバーを使用する場合は、複数の seclabel タグを使用できます。各ドライバーに 1 つずつ、および各タグが参照するセキュリティードライバーを、属性
model
を使用して定義できます。トップレベルのセキュリティーラベルに有効な入力 XML 設定は、以下のとおりです。
図23.86 セキュリティーラベル
<seclabel type='dynamic' model='selinux'/> <seclabel type='dynamic' model='selinux'> <baselabel>system_u:system_r:my_svirt_t:s0</baselabel> </seclabel> <seclabel type='static' model='selinux' relabel='no'> <label>system_u:system_r:svirt_t:s0:c392,c662</label> </seclabel> <seclabel type='static' model='selinux' relabel='yes'> <label>system_u:system_r:svirt_t:s0:c392,c662</label> </seclabel> <seclabel type='none'/>
入力 XML に
'type'
属性が指定されていない場合は、セキュリティードライバーのデフォルト設定 ('none'
または 'dynamic'
) が使用されます。<baselabel>
を設定し、'type'
を設定しないと、型が 'dynamic'
であると想定されます。自動リソース再ラベル付けが有効な実行中のゲスト仮想マシンの XML を表示する場合は、追加の XML 要素 imagelabel
が含まれます。これは出力専用の要素であるため、ユーザー提供の XML ドキュメントでは無視されます。
以下の要素は、以下の値で操作できます。
type
- libvirt が一意のセキュリティーラベルを自動的に生成するかどうかを判断するために、static
、dynamic
、またはnone
を指定します。model
- 有効なセキュリティーモデル名で、現在アクティブなセキュリティーモデルと一致します。relabel
-yes
またはno
のいずれかです。動的ラベル割り当てを使用する場合は、これを常にyes
にする必要があります。静的ラベル割り当てでは、デフォルトはno
になります。<label>
- 静的ラベリングを使用する場合は、仮想ドメインに割り当てる完全なセキュリティーラベルを指定する必要があります。コンテンツの形式は、使用されているセキュリティードライバーによって異なります。SELinux
- SELinux のコンテキストです。AppArmor
- AppArmor プロファイル。DAC
- 所有者とグループをコロンで区切ります。ユーザー/グループ名または UID/GID の両方として定義できます。ドライバーはまずこれらの値を名前として解析しようとしますが、先頭にあるプラス記号を使用すると、ドライバーが値を UID または GID として解析するように強制できます。
<baselabel>
- 動的ラベル付けを使用する場合は、ベースセキュリティーラベルを指定するためにオプションで使用できます。コンテンツの形式は、使用されているセキュリティードライバーによって異なります。<imagelabel>
- 出力専用の要素です。仮想ドメインに関連付けられたリソースで使用されるセキュリティーラベルを示します。コンテンツの形式は、使用されているセキュリティードライバーによって異なります。再ラベル付けが有効な場合は、ラベル付けを無効にする (ファイルが NFS またはセキュリティーラベル付けのない他のファイルシステムに存在する場合に役立ちます)、または代替ラベルを要求する (管理アプリケーションがドメイン間ですべてではなく一部のリソースを共有できるように特殊なラベルを作成する場合に役立ちます) ことで、特定のソースファイル名に対して行われるラベル付けを微調整することもできます。seclabel 要素がトップレベルドメイン割り当てではなく特定のパスに割り当てられている場合は、属性の relabel または sub-element ラベルのみがサポートされます。