📜  SaltStack-访问控制系统

📅  最后修改于: 2020-10-31 14:22:13             🧑  作者: Mango


访问控制系统为组的用户提供选项以执行具有权限的任务。 Salt访问控制系统用于配置对非管理控制界面的访问。您可以将此过程应用于所有系统。此控件可帮助非管理用户执行Salt命令。

盐接口具有以下三种类型-

  • Publisher ACL系统
  • 外部验证系统
  • 对等系统

让我们详细了解所有这些接口。

Publisher ACL系统

Publisher ACL系统允许除root用户之外的其他用户访问,以对来自主服务器的奴才执行Salt命令。发布商ACL系统经由publisher_acl配置选项的主配置文件中配置。它的定义如下-

publisher_acl:
   user1:
      - .*

   user2:
      - web*:
         - test.*
         - pkg.*

这里,

  • 允许user1执行任何操作。

  • 允许user2使用testpkg ,但只能在“ web *”奴才上使用。

外部验证系统

外部身份验证系统用于通过外部授权系统(如PAM,LDAP等)在特定的奴才上执行盐命令的访问。此配置文件如下所述在主文件中定义。

external_auth:
   pam:
      user1:
         - 'web*':
            - test.*
            - network.*
      user2:
         - .*

这里,

  • 允许user1在与web *目标匹配的奴才上执行测试网络模块中的功能。

  • 允许user2执行所有功能。

在命令中启用外部身份验证系统

Salt服务器提供选项“ –a”以启用外部身份验证。

salt -a pam web\* test.ping

在这里, -a pam选项用于启用PAM外部认证。每当我们执行命令时,Salt Server都会询问身份验证详细信息。要限制Salt Server仅首次询问身份验证详细信息,我们可以使用T选项。此-T选项在接下来的12小时(默认设置)中缓存身份验证详细信息,并使用它来对用户进行身份验证。

salt -T -a pam web\* test.ping

对等系统

盐小兵可以使用对等接口传递命令。通过主配置文件配置对等接口,以允许小仆使用对配置部分从主服务器发送命令,或者允许小仆使用peer_run配置从主服务器执行运行程序。

让我们详细了解这两种配置。

对等配置

在主文件中定义的简单配置如下-

peer:
   .*:
      - .*

在这里,它可以实现所有小兵的通信,但仅在非常安全的环境中才建议使用。

要将奴才分配给特定的ID,需要定义配置,如下所示:peer-

.*domain.com:
   - test.*

peer_run配置

此配置是允许奴才使用主文件上的peer_run选项从主服务器执行运行程序。以下示例允许访问所有小兵和所有跑步者。

peer_run:
   .*:
      - .*

要将奴才分配给特定的ID,需要按如下所示定义配置-

peer_run:
   .*domain.com:
      - test.*

如何执行命令

要在所有小兵上执行test.ping ,请使用salt-call命令以及publish.publish模块。

salt-call publish.publish \* test.ping

要执行Runner ,请使用salt-call命令以及publish.runner模块。

salt-call publish.runner manage.up