5장. Ansible 플레이북을 사용하여 IdM 관리를 위한 환경 준비


플레이북을 사용하여 IdM(Identity Management)을 안전하게 관리하도록 적절한 디렉터리 구조, 인벤토리 파일 및 자격 증명 모음 구성으로 Ansible 제어 노드를 설정합니다.

IdM을 관리하는 시스템 관리자로 Ansible을 사용하는 경우 다음을 수행하는 것이 좋습니다.

  • 홈 디렉터리에 있는 Ansible 플레이북 전용 하위 디렉터리를 유지합니다(예: ~/MyPlaybooks ).
  • /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/*/usr/share/doc/rhel-system-roles/* 디렉터리 및 하위 디렉터리에서 ~/MyPlaybooks 디렉터리에 샘플 Ansible 플레이북을 복사하고 조정합니다.
  • ~/MyPlaybooks 디렉터리에 인벤토리 파일을 포함합니다.

이 방법을 사용하면 모든 플레이북을 한 곳에서 찾을 수 있습니다.

참고

관리 노드에서 root 권한을 호출하지 않고 ansible-freeipa 플레이북을 실행할 수 있습니다. 예외에는 ipaserver,ipareplica,ipaclient,ipasmartcard_server,ipasmartcard_clientipabackup ansible-freeipa 역할을 사용하는 플레이북이 포함됩니다. 이러한 역할에는 디렉터리 및 dnf 소프트웨어 패키지 관리자에 대한 권한이 필요합니다.

IdM 설명서의 플레이북은 다음과 같은 보안 구성을 가정합니다.

  • IdM admin 은 관리 노드의 원격 Ansible 사용자입니다.
  • Ansible 자격 증명 모음에 암호화된 IdM 관리자 암호를 저장합니다.
  • 암호 파일에 Ansible 자격 증명 모음을 보호하는 암호를 저장했습니다.
  • 로컬 ansible 사용자를 제외한 모든 사용자에게 vault 암호 파일에 대한 액세스를 차단합니다.
  • vault 암호 파일을 정기적으로 제거하고 다시 생성합니다.

admin 암호, 키탭 또는 기존 Kerberos 티켓 사용 등 ansible-freeipa 플레이북에 자격 증명을 제공하는 데 사용할 수 있는 다양한 방법을 고려하십시오.

IdM 서버를 안전하게 관리하기 위해 필요한 디렉터리 구조, 인벤토리 파일 및 암호화된 자격 증명 모음으로 Ansible 제어 노드를 설정합니다.

~/MyPlaybooks 디렉터리를 만들고 Ansible 플레이북을 저장하고 실행하는 데 사용할 수 있도록 구성합니다.

사전 요구 사항

  • 관리형 노드, server.idm.example.comreplica.idm.example.com 에 IdM 서버를 설치했습니다.
  • 제어 노드에서 직접 관리 노드, server.idm.example.comreplica.idm.example.com 에 로그인할 수 있도록 DNS 및 네트워킹을 구성했습니다.
  • IdM 관리자 암호를 알고 있습니다.

프로세스

  1. ~/MyPlaybooks/ 디렉터리로 변경합니다.

    $ cd ~/MyPlaybooks
  2. 다음 콘텐츠를 사용하여 ~/MyPlaybooks/ansible.cfg 파일을 생성합니다.

    [defaults]
    inventory = /home/your_username/MyPlaybooks/inventory
    remote_user = admin
  3. 다음 콘텐츠를 사용하여 ~/MyPlaybooks/inventory 파일을 만듭니다.

    [eu]
    server.idm.example.com
    
    [us]
    replica.idm.example.com
    
    [ipaserver:children]
    eu
    us

    이 구성은 이러한 위치의 호스트에 대해 두 개의 호스트 그룹 euus 를 정의합니다. 또한 이 구성은 euus 그룹의 모든 호스트를 포함하는 ipaserver 호스트 그룹을 정의합니다.

  4. 선택 사항: SSH 공개 및 개인 키를 생성합니다. 테스트 환경에서 액세스를 단순화하려면 개인 키에 암호를 설정하지 마십시오.

    $ ssh-keygen
  5. SSH 공개 키를 각 관리 노드의 IdM 관리자 계정에 복사합니다.

    $ ssh-copy-id admin@server.idm.example.com
    $ ssh-copy-id admin@replica.idm.example.com

    이러한 명령을 사용하려면 IdM 관리자 암호를 입력해야 합니다.

  6. vault 암호가 포함된 password_file 파일을 생성합니다.

    redhat
  7. 파일을 수정하려면 권한을 변경합니다.

    $ chmod 0600 password_file
  8. secret.yml Ansible vault를 생성하여 IdM 관리자 암호를 저장합니다.

    1. vault 암호를 저장하도록 password_file 을 구성합니다.

      $ ansible-vault create --vault-password-file=password_file secret.yml
    2. 메시지가 표시되면 secret.yml 파일의 내용을 입력합니다.

      ipaadmin_password: Secret123
      참고

      플레이북에서 암호화된 ipaadmin_password 를 사용하려면 vars_file 지시문을 사용해야 합니다. 예를 들어 IdM 사용자를 삭제하는 간단한 플레이북은 다음과 같습니다.

      ---
      - name: Playbook to handle users
        hosts: ipaserver
      
        vars_files:
        - /home/user_name/MyPlaybooks/secret.yml
      
        tasks:
        - name: Delete user robot
          freeipa.ansible_freeipa.ipauser:
            ipaadmin_password: "{{ ipaadmin_password }}"
            name: robot
            state: absent

      플레이북을 실행할 때 --vault-password-file=password_file옵션을 추가하여 Ansible에 vault 암호를 사용하여 ipaadmin_password _password 의 암호를 해독하도록 지시합니다. 예를 들면 다음과 같습니다.

      ansible-playbook -i inventory --vault-password-file=password_file del-user.yml
      주의

      보안상의 이유로 각 세션 종료 시 vault 암호 파일을 제거하고 각 새 세션이 시작될 때 6-8단계를 반복합니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동