- SaltStack 教程
- SaltStack - 主页
- SaltStack - 概述
- SaltStack - 架构
- SaltStack - 竞争对手
- SaltStack - 安装
- 创建一个简单的环境
- SaltStack - 访问控制系统
- SaltStack - 作业管理
- SaltStack - Salt 文件服务器
- SaltStack - Git 作为文件服务器
- 使用MinionFS作为文件服务器
- SaltStack - 将 Cron 与 Salt 结合使用
- SaltStack - 远程执行
- 配置管理
- SaltStack - 日志记录
- SaltStack - 通过 SSH 进行加盐
- 云基础设施的盐
- SaltStack - Salt 代理 Minion
- SaltStack - 事件系统
- SaltStack - 编排
- SaltStack - Salt 包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用资源
- SaltStack - 快速指南
- SaltStack - 有用的资源
- SaltStack - 讨论
SaltStack - 访问控制系统
访问控制系统为用户或组提供选项以执行具有权限的任务。Salt 访问控制系统用于配置对非管理控制接口的访问。您可以将此过程应用于所有系统。此控件可帮助非管理用户执行 Salt 命令。
Salt接口有以下三种类型 -
- 发布者ACL系统
- 外部认证系统
- 同行系统
让我们详细了解每个接口。
发布者ACL系统
Publisher ACL 系统允许除 root 之外的用户访问,以便从 master 对 minion 执行 Salt 命令。发布者ACL系统是通过publisher_acl配置选项在主配置文件中配置的。它的定义如下 -
publisher_acl: user1: - .* user2: - web*: - test.* - pkg.*
这里,
user1被允许执行任何操作。
user2可以使用test和pkg,但仅限于“web*”minion。
外部认证系统
外部身份验证系统用于通过外部授权系统(如PAM、LDAP等)提供在特定 Minions 上执行 salt 命令的访问权限。此配置文件在主文件中定义,如下所述。
external_auth: pam: user1: - 'web*': - test.* - network.* user2: - .*
这里,
允许user1在与web*目标匹配的 Minions 上执行测试和网络模块中的函数。
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
同行系统
Salt Minion 可以使用对等接口传递命令。对等接口通过 master 配置文件进行配置,以允许 minions 使用对等配置部分从 master 发送命令,或者允许 minions 使用peer_run配置从 master 执行运行程序。
让我们详细了解这两种配置。
对等配置
在主文件中定义的简单配置如下 -
peer: .*: - .*
在这里,它支持所有 Minion 的通信,但仅建议在非常安全的环境中使用。
要将 minions 分配给特定 ID,需要定义配置,如下所示:peer -
.*domain.com: - test.*
对等运行配置
此配置允许 Minions 使用 master 文件上的 peer_run 选项从 master 执行运行器。以下示例允许访问所有小兵和所有跑步者。
peer_run: .*: - .*
要将 minions 分配给特定 ID,需要定义配置,如下所示 -
peer_run: .*domain.com: - test.*
如何执行命令
要在所有 Minions 上执行test.ping ,请使用salt-call命令和publish.publish模块。
salt-call publish.publish \* test.ping
要执行runner,请使用 salt-call 命令和publish.runner模块。
salt-call publish.runner manage.up