开发手册 欢迎您!
软件开发者资料库

SaltStack - 访问控制系统

SaltStack访问控制系统 - 从简单和简单的步骤学习SaltStack,从基本到高级概念,包括概述,架构,竞争对手,安装,创建简单环境,访问控制系统,作业管理,Salt文件服务器,Git作为文件服务器,使用MinionFS作为文件服务器,使用Cron与Salt,远程执行,配置管理,日志记录,通过SSH盐,Salt for Cloud Infrastructure,Salt Proxy Minions,事件系统,Orchestration,Salt Package Manager,Python API,工作示例。

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

Salt接口有以下三种类型 :

  • 发布商ACL系统

  • 外部认证系统

  • 对等系统

让我们详细了解每个接口.

发布者ACL系统

发布者ACL系统允许访问对于除root之外的用户,从主服务器对minions执行Salt命令.发布者ACL系统通过 publisher_acl 配置选项在主配置文件中配置.它被定义如下 :

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

此处,

  • user1 可以执行任何操作.

  • user2 被允许使用测试 pkg ,但仅限于"web *"小兵.

外部认证系统

外部认证系统用于提供执行盐的访问权限通过外部授权系统(如 PAM,LDAP 等)对特定minions执行命令.此配置文件在主文件中定义,如下所述.

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

对等系统

盐奴才可以使用对等接口传递命令.通过主配置文件配置对等接口,以允许minions使用 peer 配置部分从master发送命令,或允许minions使用 peer_run 配置.

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

对等配置

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

  peer:.*:  - .*

在这里,它可以为所有小兵提供通信,但仅建议用于非常安全的环境.

分配小兵对于特定的ID,配置需要定义如下:peer :

 .* domain.com:  -  test .*

peer_run配置

此配置允许小兵使用pe从主人执行跑步者主文件上的er_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