红帽 Ansible 自动化平台 2.5 现已面世,并带来了一系列出色的新功能,让我们仔细了解下基于角色的访问权限控制(RBAC)系统中的增强功能。使默认模型与不同的组织结构保持一致这一过程可能比较复杂,因此我们最新的改进旨在使这种集成更加顺畅和直观。
用户通常抱有类似于以下的期望:“作为平台用户,我希望为自己或我所属企业组织中的团队创建对象”,而对于项目、清单和凭证这些创建作业模板所需的对象来说,这确实无法实现。只有在具有正确管理员角色的人员授予您正确访问权限时,您才能使用现有的项目、清单和凭证创建自己的作业模板。
在 Ansible 自动化平台 2.5 中,RBAC 系统得到了增强,为用户提供了一种更直观的方式来设置 RBAC 模型,具体改进包括:
- 能够创建自定义角色
- 能够针对内容类型设置单独的“添加”权限
- 团队管理员简介
让我们逐一了解下这些新功能。
自定义角色
首先是创建自定义角色的功能。以下是 Access Management 部分中关于角色的新 UI 的屏幕截图:

如您所见,我们现在有一个集中位置来管理访问权限,这是 Ansible 自动化平台 2.5 中的主要增强功能之一。此页面包含“Automation Execution”(自动化执行)、“Automation Decisions”(自动化决策)和“Automation Content”(自动化内容)选项卡,它们是该平台中的三个主要组成部分。在上面的示例中,您会看到“Automation Execution”(自动化执行)选项卡,您现在可以在该位置创建角色。在列表中,您可以看到哪些角色是内置的,哪些角色不是。
我们来看一下创建新的自定义角色需要什么:

首先,您需要为自定义角色设置名称并添加描述(可选)。然后,为自定义角色选择一个内容类型,例如 “Inventory”(清单)。

选择内容类型后,您可以从该内容类型中为此自定义角色选择多个权限。
在创建自定义角色时,您可以将它们与列表中标记为“可编辑”的内置角色区分开来。然后,您可以按照与分配内置角色相同的方式,将这些角色分配给团队和用户。
“添加”权限
第二个增强功能是能够在企业组织层级“添加”权限。了解如何创建自定义角色,从而在项目、清单、凭证和工作流上包含单独的“添加”权限,具体示例如下:

同样,您可以将此自定义角色分配给您的企业组织中的任何团队或用户。分配完这些角色后,用户现在可以在企业组织内创建项目、清单、凭证和工作流,而无需成为这些内容类型的管理员!
当用户创建这些对象时,该用户将自动成为这些对象的管理员。下面是以此方式创建的项目示例:

除了具有管理员级别角色的人员外,没有人可以访问这些新对象,但创建这些新对象的用户除外。该用户随后可以将特定用户或团队添加到刚刚创建的对象中。
团队管理员角色
最后,可以选择将一个或多个用户分配为团队管理员。具体可参阅下面的屏幕:

团队管理员可以是团队所在企业组织中的任何用户,无需先成为团队成员。那么,团队管理员拥有哪些团队成员不具备的权限呢?团队管理员能够更改与团队相关的任何内容,包括成员资格、管理员、详细信息和角色。
创建自定义角色的功能不仅限于“Automation Execution”(自动化执行)选项卡,同样适用于“Automation Decisions”(自动化决策)和“Automation Content”(自动化内容)选项卡的 RBAC 模型,添加权限亦是如此。
关于作者
Fred is working in IT for all his professional life and for Red Hat since 2014. he likes to keep things as simple as possible (but not simpler) as it otherwise gets very complicated very fast. Fred lives in the coastal area of the Netherlands and spent a lot of time in the Mountains of Austria Skiing and Hiking. He loves reading, documentaries, movies and series (mostly SF and who-dun-it), and contemplating life as a Dharma Student.