7.4. Ansible 플레이북을 사용하여 JSON 파일에서 여러 IdM 사용자가 있는지 확인
다음 절차에서는 Ansible 플레이북을 사용하여 IdM에 여러 사용자가 있는지 확인하는 방법을 설명합니다. 사용자는 JSON
파일에 저장됩니다.
사전 요구 사항
제어 노드에서 다음을 수행합니다.
- Ansible 버전 2.15 이상을 사용하고 있습니다.
-
ansible-freeipa
패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password
를 저장한다고 가정합니다.
-
ansible-freeipa
모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
절차
인벤토리 파일(예:
inventory.file
)을 생성하고ipaserver
를 이 파일에 정의합니다.[ipaserver] server.idm.example.com
필요한 작업을 사용하여 Ansible 플레이북 파일을 생성합니다. 확인하려는 사용자 데이터를 사용하여
JSON
파일을 참조합니다. 이 단계를 단순화하려면/usr/share/doc/ansible-freeipa/README-user.md
파일에서 예제를 복사하고 수정할 수 있습니다.--- - name: Ensure users' presence hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Include users_present.json include_vars: file: users_present.json - name: Users present ipauser: ipaadmin_password: "{{ ipaadmin_password }}" users: "{{ users }}"
users.json
파일을 생성하고 IdM 사용자를 추가합니다. 이 단계를 단순화하기 위해/usr/share/doc/ansible-freeipa/README-user.md
파일에서 예제를 복사하고 수정할 수 있습니다. 예를 들어 사용자 idm_user_1,idm_user_2, idm_user_3 을 만들고 Password123 을 idm_user_1 의 암호로 추가하려면 다음을 수행합니다.{ "users": [ { "name": "idm_user_1", "first": "First 1", "last": "Last 1", "password": "Password123" }, { "name": "idm_user_2", "first": "First 2", "last": "Last 2" }, { "name": "idm_user_3", "first": "First 3", "last": "Last 3" } ] }
Ansible 플레이북을 실행합니다. 플레이북 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일 및 인벤토리 파일을 지정합니다.
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-users-present-jsonfile.yml
검증
ipa user-show
명령을 사용하여 사용자 계정이 IdM에 있는지 확인할 수 있습니다.관리자 권한으로
ipaserver
에 로그인합니다.$ ssh administrator@server.idm.example.com Password: [admin@server /]$
idm_user_1 에 대한 정보를 표시합니다.
$ ipa user-show idm_user_1 User login: idm_user_1 First name: Alice Last name: Acme Password: True ....
idm_user_1 이라는 사용자는 IdM에 있습니다.