Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

21.21. セキュリティーラベル

<seclabel> 要素は、セキュリティードライバー上の制御を可能にします。以下のような 3 つの基本的な操作モードがあります。libvirt が固有のセキュリティーラベルを自動的に生成する場合の 'dynamic'、アプリケーション/管理者がラベルを選択する場合の 'static'、または限定を無効にする場合の 'none'。動的なラベル生成では、libvirt が仮想マシンに関連付けられるリソースの再ラベル化を常に実行します。静的なラベル割り当てでは、デフォルトでは管理者またはアプリケーションがラベルがリソースに正しく設定されていることを確認する必要がありますが、自動ラベルは必要な場合は有効にできます。
複数のセキュリティードライバーが libvirt によって使用されている場合、複数の seclabel タグを使用でき、各ドライバーに 1 つのタグを使用し、各タグで参照されるセキュリティードライバーは属性 model を使用して定義できます。トップレベルのセキュリティーラベルに有効な入力 XML 設定は以下になります。

  <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'/>

図21.70 セキュリティーラベル

'type' 属性が入力 XML に指定されていない場合、セキュリティードライバーのデフォルト設定が使用され、これは 'none' または 'dynamic' のいずれかになります。<baselabel> が設定されていても 'type' が設定されていない場合、タイプは 'dynamic' であると想定されます。リソースの自動再ラベルがアクティブな状態の実行中のゲスト仮想マシンの XML を表示する場合、追加の XML 要素の imagelabel が組み込まれます。これは、出力専用の要素であるため、ユーザーが指定する XML 文書では無視されます。
以下の要素は、次のような値を使って操作することができます。
  • type - staticdynamic または none のいずれかになります。libvirt が固有のセキュリティーラベルを自動生成するかどうかを定めます。
  • model - 現在アクティブ化されているセキュリティーモデルに一致する有効なセキュリティーモデル名です。
  • relabel - yes または no になります。これは、動的なラベルの割り当てが使用される場合、常に yes にする必要があります。静的なラベルの割り当てでは、デフォルトで no に設定されます。
  • <label> - 静的なラベルが使用されている場合、これは、仮想ドメインに割り当てる完全なセキュリティーラベルを指定するはずです。コンテンツのフォーマットは、使用されているセキュリティードライバーによって異なります。
    • SELinux: SELinux コンテキストです。
    • AppArmor: AppArmor プロファイルです。
    • DAC: コロンで区切られた所有者またはグループです。それらは、ユーザー/グループ名または uid/gid として定義できます。ドライバーは、最初にこれらの値を名前として解析し、先頭の正の記号は、ドライバーに対してそれらを uid または gid として解析することを強制するために使用できます。
  • <baselabel> - 動的なラベルが使用される場合、これは、ベースセキュリティーラベルを指定するためにオプションで使用できます。コンテンツのフォーマットは、使用されているセキュリティードライバーによって異なります。
  • <imagelabel> - これは出力のみの要素であり、仮想ドメインに関連付けられたリソースで使用されるセキュリティーラベルを表示します。コンテンツの形式は、使用されるセキュリティードライバーによって異なります。再ラベルが有効な場合、ラベルを無効にする (ファイルが NFS またはセキュリティーラベルのない他のファイルシステムにある場合は便利) か、または代替ラベルを要求する (管理アプリケーションがドメイン間のすべてではないが一部のリソースの共有を可能にするための特殊ラベルを作成する場合に便利) ことによって、特定ソースファイル名に実行されるラベルを微調整することもできます。seclabel 要素が、トップレベルのドメイン割り当てではなく、特定パスに割り当てられる場合、属性の relabel またはサブ要素の label のみがサポートされます。