通过 SaltStack Config 的基于角色的访问控制 (RBAC) 系统,可以一次为多个用户定义权限设置,因为一个角色的权限设置将应用于该角色中包含的所有用户。可以在用户界面的“角色”工作区中定义这些设置。
角色权限可以累加。分配了多个角色的用户可以访问每个角色授予的所有项目的组合。这有助于确保具有类似背景的用户获得相同的权限设置,并且具有众多职责的用户可以访问所需的一切。
SaltStack Config 附带许多无法删除的内置角色。此外,还可以根据组织的独特需求创建自定义角色。请参见默认角色和设置。
要授予角色完成任务的权限,必须定义允许的任务,同时还必须分配对资源或功能区的访问权限。权限是允许操作的宽泛范畴,而资源访问权限用于定义可以针对其完成操作的特定资源(例如作业或目标)。请参见允许的任务和资源访问权限之间的区别。
某些资源类型和功能区的资源访问权限必须在 API (RaaS) 中定义,而不是在角色编辑器中定义。请参见资源访问权限。
创建角色
在某些情况下,克隆角色可能比创建新角色更便捷。可以克隆现有角色,然后根据需要修改克隆。
克隆角色
- 在“角色”工作区中,选择要克隆的角色。
注: 出于安全原因,无法克隆内置的超级用户角色,因为它是预留名称。
- 单击克隆。
- 为角色输入新名称,然后单击保存。
您已完成克隆角色所需的最少步骤。有关定义角色设置的详细信息,请参见编辑角色。
注: 默认情况下,克隆的角色从原始角色继承允许的任务。克隆的角色不会继承资源访问权限,必须单独进行定义。请参见 分配对作业或目标的访问权限。
编辑角色
- 在“角色”工作区中,选择要编辑的角色。
- 选择任何选项卡(“任务”、“资源访问权限”、“组”或“用户”),然后根据需要编辑角色设置。
有关编辑每个选项卡的详细信息,请参见下文。
- 进行更改后,在选择新选项卡之前,单击保存。
设置允许的任务
- 在“角色”工作区中,选择要编辑的角色。
- 在任务下,选择要分配给角色的允许任务。任务表示 SaltStack Config 中的常见用例。启用任务会为角色授予完成该任务所需的所有权限。
有关任务描述,请参见任务。
- 单击保存。
分配对作业或目标的访问权限
- 在“角色”工作区中,选择要编辑的角色。
- 在资源访问权限下,找到所需的作业或目标,然后选择要提供的访问级别。例如,要允许角色运行作业,需要针对作业选择读取/运行。
如果待选择的资源未显示,请相应地单击显示所有目标或显示所有作业。
在 SaltStack Config 中,作业和目标视为不同类型的资源。有关资源访问权限的详细信息,请参见资源访问权限。
- 单击保存。
添加或移除组
- 在“角色”工作区中,选择要编辑的角色。
- 在组下,选择要包含在角色中的组。
组通过目录服务连接导入。如果您看不到所需的组,请确保已添加连接并已同步组。
从目录服务连接中移除的任何组均会存档。即使这些组处于非活动状态且用户无法登录,也仍显示在“角色”工作区中。
注: 角色权限可以累加。分配了多个角色的组中的用户可以访问每个角色授予的所有项目的组合。 - 单击保存。
所选组(包括这些组中的所有用户)现在被授予角色设置中定义的所有允许任务和资源访问权限。
添加或移除用户
用户从所属的组继承权限设置(例如,分配到角色)。最佳做法是避免将单个用户添加到角色,而是将用户添加到属于该角色的组。默认情况下,所有新用户都包含在用户角色中。请参见默认角色和设置。
- 在“角色”工作区中,选择要编辑的角色。
- 在用户下,选择要包含在角色中的用户。
只有在用户首次登录后,您才能在“角色”工作区中管理目录服务组中包括的各个用户的设置。有关详细信息,请参见通过 LDAP 进行身份验证。
- 单击保存。
有关详细信息
下文更深入介绍了 SaltStack Config 的 RBAC 相关概念。