9.3. Ansible을 사용하여 IdM 사용자 그룹 automember 규칙에 조건이 없는지 확인합니다.

추가 리소스

다음 절차에서는 Ansible 플레이북을 사용하여 IdM(Identity Management) 그룹에 대한 자동 멤버 규칙에서 조건이 없는지 확인하는 방법을 설명합니다. 이 예제에서는 자동 멤버 규칙에 조건이 없으면 초기 사용자가 dp 여야 함을 지정하는지 확인합니다. automember 규칙이 testing_group 그룹에 적용됩니다. 조건을 적용하면 초기 단계가 dp 인 향후 IdM 사용자가 testing_group 의 멤버가 되지 않도록 합니다.

사전 요구 사항

  • IdM 관리자 암호를 알고 있습니다.
  • IdM에 testing_group 사용자 그룹 및 automember 사용자 그룹 규칙이 있습니다.
  • 다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.

    • Ansible 버전 2.14 이상을 사용하고 있습니다.
    • Ansible 컨트롤러에 ansible-freeipa 패키지가 설치되어 있습니다.
    • 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
    • 이 예제에서는 secret.yml Ansible 자격 증명 모음이 ipaadmin_password 를 저장한다고 가정합니다.

절차

  1. ~/MyPlaybooks/ 디렉터리로 이동합니다.

    $ cd ~/MyPlaybooks/
  2. /usr/share/doc/ansible-freeipa/playbooks/automember/ 디렉터리(예: automember-usergroup-rule-absent.yml )에 있는 automember-hostgroup-rule-absent.yml Ansible 플레이북 파일을 복사합니다.

    $ cp /usr/share/doc/ansible-freeipa/playbooks/automember/automember-hostgroup-rule-absent.yml automember-usergroup-rule-absent.yml
  3. 편집할 automember-usergroup-rule-absent.yml 파일을 엽니다.
  4. 다음 매개 변수를 수정하여 파일을 조정합니다.

    • 플레이북의 이름을 사용 사례에 맞게 변경합니다(예: Automember 사용자 그룹 규칙 멤버 absent ).
    • 사용 사례에 해당하는 작업 이름 변경(예: 사용자 그룹의 automember 조건 확인)이 없습니다.
    • ipaautomember 작업 섹션에서 다음 변수를 설정합니다.

      • ipaadmin_password 변수를 IdM 관리자 암호로 설정합니다.
      • name 변수를 testing_group 으로 설정합니다.
      • automember_type 변수를 그룹으로 설정합니다.
      • state 변수가 absent 로 설정되어 있는지 확인합니다.
      • action 변수가 member 로 설정되어 있는지 확인합니다.
      • include 변수initial 로 설정합니다.
      • 포함 변수를 dp 로 설정합니다.

    현재 예제에 대해 수정된 Ansible 플레이북 파일입니다.

    ---
    - name: Automember user group rule member absent
      hosts: ipaserver
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      - name: Ensure an automember condition for a user group is absent
        ipaautomember:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: testing_group
          automember_type: group
          state: absent
          action: member
          inclusive:
            - key: initials
              expression: dp
  5. 파일을 저장합니다.
  6. Ansible 플레이북을 실행합니다. 플레이북 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일 및 인벤토리 파일을 지정합니다.

    $ ansible-playbook --vault-password-file=password_file -v -i inventory automember-usergroup-rule-absent.yml

검증 단계

  1. IdM 관리자로 로그인합니다.

    $ kinit admin
  2. automember 그룹을 확인합니다.

    $ ipa automember-show --type=group testing_group
     Automember Rule: testing_group

출력에 결정된 Regex: initials=dp 항목이 없으면 testing_group automember 규칙에 지정된 조건이 포함되어 있지 않습니다.