第 31 章 使用 Ansible playbook 管理 RBAC 特权


基于角色的访问控制 (RBAC) 是一种基于角色、特权和权限定义的策略中立访问控制机制。尤其是在大型公司,使用 RBAC 可以帮助创建具有各个职责领域的管理员分层系统。

了解如何使用 Ansible playbook 在身份管理(IdM)中管理 RBAC 特权。

先决条件

31.1. 使用 Ansible 确保存在自定义 IdM RBAC 特权

要在 Identity Management (IdM) 基于角色的访问控制 (RBAC) 中有一个完全设计的自定义权限,您需要逐步进行:

  1. 创建没有附加权限的特权。
  2. 将您选择的权限添加到特权。

以下流程描述了如何使用 Ansible playbook 创建空特权,以便稍后您可以向它添加权限。这个示例描述了如何创建名为 full_host_administration 的特权,它旨在组合与主机管理相关的所有 IdM 权限。

先决条件

  • 在控制节点上:

    • 您使用 Ansible 版本 2.13 或更高版本。
    • 您已安装 ansible-freeipa 软件包。
    • 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件
    • 示例假定 secret.yml Ansible 库存储了 ipaadmin_password
  • 目标节点(这是执行 ansible-freeipa 模块的节点)是 IdM 域的一部分,作为 IdM 客户端、服务器或副本的一部分。

流程

  1. 进入 ~/MyPlaybooks/ 目录:

    $ cd ~/MyPlaybooks/
    Copy to Clipboard Toggle word wrap
  2. 生成位于 /usr/share/doc/ansible-freeipa/playbooks/privilege/ 目录中的 privilege-present.yml 文件副本:

    $ cp /usr/share/doc/ansible-freeipa/playbooks/privilege/privilege-present.yml privilege-present-copy.yml
    Copy to Clipboard Toggle word wrap
  3. 打开 privilege-present-copy.yml Ansible playbook 文件以进行编辑。
  4. 通过在 ipaprivilege 任务部分设置以下变量来调整文件:

    • ipaadmin_password 变量设置为 IdM 管理员的密码。
    • name 变量设置为新特权 full_host_administration 的名称。
    • (可选)利用 description 变量描述特权。

    这是当前示例修改的 Ansible playbook 文件:

    ---
    - name: Privilege present example
      hosts: ipaserver
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      - name: Ensure privilege full_host_administration is present
        ipaprivilege:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: full_host_administration
          description: This privilege combines all IdM permissions related to host administration
    Copy to Clipboard Toggle word wrap
  5. 保存该文件。
  6. 运行 Ansible playbook。指定 playbook 文件、存储密码的文件保护 secret.yml 文件以及清单文件:

    $ ansible-playbook --vault-password-file=password_file -v -i inventory privilege-present-copy.yml
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat