20.20. 安全标签


<seclabel> 元素允许对安全驱动程序的操作进行控制。操作的基本模式是 'dynamic',其中 libvirt 会自动生成唯一安全标签,即应用程序/管理员选择标签,或 'none' 被禁用。使用动态标签生成时,libvirt 始终会自动重新标记与虚拟机关联的任何资源。默认情况下,使用静态标签分配时,管理员或应用必须确保在任何资源上正确设置标签。但是,如果需要,可以启用自动重新标记。
如果 libvirt 使用了多个安全驱动程序,则可以使用多个 seclabel 标签,每个驱动程序都有一个,并且每个标签引用的安全驱动程序可以使用属性 模型 Valid input XML 配置来定义:

图 20.69. 安全标签


  <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 元素(一个 XML 元素 imagelabel )。这是仅限输出的元素,在用户提供的 XML 文档中会忽略它。
可使用以下值处理以下元素:
  • Type - Either static,dynamicnone 来确定 libvirt 是否自动生成唯一的安全标签。
  • Model - 有效的安全模型名称,与当前激活的安全模型匹配
  • 重新标记 - Either yesno.如果使用了动态标签分配,则必须始终是 yes。如果分配静态标签,它将默认为
  • <label> - 如果使用静态标记,则必须指定要分配给虚拟域的完整安全标签。内容格式取决于使用中的安全驱动程序:
    • SELinux :SELinux 上下文.
    • AppArmor :AppArmor 配置集。
    • DAC :所有者和组,以冒号分隔。它们可以定义为用户/组名称或 uid/gid。驱动程序首先会尝试将这些值作为名称解析,但前导加号用于强制驱动程序将它们解析为 uid 或 gid。
  • <baselabel> - 如果使用动态标记,则可以选择性地指定基础安全标签。内容的格式取决于使用中的安全驱动程序。
  • <imagelabel> - 这仅输出元素,显示与虚拟域关联的资源所使用的安全标签。内容格式取决于使用何时重新标记时的安全驱动程序,或者对特定源文件名进行的标签进行微调,方法是禁用标签(如果文件在 NFS 上实时或其他文件系统(如果缺少安全标签)或请求备用标签(在管理应用程序创建特殊标签时,不允许使用)来微调标签。当 seclabel 元素附加到特定路径而不是顶层域分配时,只支持属性重新标记或子元素标签。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.