caseraw.ansible_role_ad_membership

Ansible 角色 AD 成员资格

管理与 Windows AD 的托管主机的成员资格。

构建状态

许可证

MIT / BSD

作者信息

要求

  • 确保可用的包管理器已经配置正确的包源和仓库。
  • 确保执行此角色的用户具有以下特权权限:
    • 安装和卸载软件。
    • 编辑文件,如 /etc/krb5.conf/etc/sssd/sssd.conf
    • 管理 systemd 服务,包括 realmdsssdaddjobd
  • 确保能访问 Windows 域控制器的网络流量。

依赖性

兼容性

与以下操作系统兼容:

  • CentOS 7
  • CentOS 8
  • RHEL 7.x
  • RHEL 8.x

角色变量

变量名 描述
role_ad_membership_sa_username AD 的服务账号用户名(加密)。
role_ad_membership_sa_password AD 的服务账号密码(加密)。
role_ad_membership_required_packages 需要安装的包列表。
role_ad_membership_use_discovered_domain_controller 是否使用基于域发现的 AD 控制器。
role_ad_membership_ad_controller_random_selection 是否随机选择 AD 控制器或只选择列表中的第一个。
role_ad_membership_ad_controllers AD 控制器的列表。
role_ad_membership_computer_ou 要放置计算机对象的 AD 组织单位。
role_ad_membership_ou_user_search_base 搜索用户的 AD 组织单位。
role_ad_membership_netbios_max_length Netbios 主机名检查的最大字符长度。
role_ad_membership_leave_ad 是否离开 AD 并从 OU 中删除计算机对象。
role_ad_membership_allowed_group_list 其他以 role_ad_membership_allowed_group_list_ 开头的列表的组合列表。
role_ad_membership_allowed_group_list_default 默认允许的组列表。
role_ad_membership_molecule_dummy 绕过整个合并剧本的虚拟开关。

示例剧本

---
- name: 管理与 Windows AD 的托管主机的成员资格
  become: True
  gather_facts: True
  vars_files:
    - /path/to/vault/file.yml
  tasks:
    - import_role:
        name: ansible_role_ad_membership
      vars:
        role_ad_membership_required_packages:
          - openldap-clients
          - krb5-workstation
          - krb5-libs
          - adcli
          - realmd
          - authconfig
          - samba-client
          - samba-common
          - samba-common-tools
          - sssd
          - sssd-ad
          - sssd-krb5
          - oddjob
          - oddjob-mkhomedir
        role_ad_membership_use_global_domain_controller: False
        role_ad_membership_ad_controller_random_selection: False
        role_ad_membership_ad_controllers:
          - ad1.example.com
          - ad2.example.com
        role_ad_membership_computer_ou: OU=Servers,DC=example,DC=com
        role_ad_membership_netbios_max_length: 15
        role_ad_membership_leave_ad: False
        role_ad_membership_allowed_group_list_default:
          - Special-Group-01
          - super_special_group_01
        role_ad_membership_allowed_group_list_something:
          - Special-Group-02
          - super_special_group_02
        role_ad_membership_allowed_group_list_something_else:
          - Special-Group-03
          - super_special_group_03

...

有用的 Shell 命令

发现 AD 控制器和域特定信息。

dig -t SRV _ldap._tcp.ad.example.com
dig -t SRV _ldap._tcp.dc._msdcs.ad.example.com

其他文档资源

以下链接提供有关 sssd 及其使用的更多信息。

使用 Molecule 进行测试

此角色使用 Molecule 在本地进行测试,配置位于:molecule/default
使用 Docker 驱动 运行 Molecule 测试,基于为此目的构建的 Dockerhub 镜像

某些特定配置可能需要完整的操作系统,而不是最小的容器镜像。在这些用例中,请使用 molecule vagrant 驱动 结合 libvirt 提供者。Molecule 驱动和平台配置部分可能如下所示:

driver:
  name: vagrant
  provider:
    name: libvirt
platforms:
  - name: ansible_role_ad_membership-ansible-molecule-centos-7
    box: centos/7
    imemory: 1024
    cpus: 1

使用 Travis CI 的 CI/CD

此角色使用 Travis CI 在线运行测试,借助 Molecule,并在测试成功后推送通知以将角色导入 Ansible Galaxy。Travis CI 配置位于 Ansible 角色的根目录 .travis.yml

有用的链接

安装
ansible-galaxy install caseraw.ansible_role_ad_membership
许可证
Unknown
下载
515
拥有者
DevOps | RHCA | Red Hat Accelerator