35.13. Ansible을 사용하여 IdM 사용자가 두 개의 인증서로 IdM 클라이언트에 로그인할 수 있는지 확인
스마트 카드만 사용하여 특정 IdM 클라이언트에 인증하기 위해 IdM에 일반적으로 로그인하는 IdM(Identity Management) 사용자를 사용하려면 해당 클라이언트의 사용자에 대한 인증이 필요한 ID 보기를 생성할 수 있습니다.
ansible-freeipa
idoverrideuser
모듈을 사용하려면 다음 절차를 완료합니다.
- idview_for_host01 이라는 ID 보기를 host01에 적용합니다.
- idview_for_host01에서 두 개의 인증서가 있는 idm_user 에 대한 사용자 ID 덮어쓰기가 있는지 확인합니다.
사전 요구 사항
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.14 이상을 사용하고 있습니다.
-
Ansible 컨트롤러에
ansible-freeipa
패키지가 설치되어 있습니다. - RHEL 8.10 이상을 사용하고 있습니다.
- 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password
를 저장하는 것으로 가정합니다. - 이 예제에서는 cert1.b64 및 cert2.b64 인증서가 플레이북을 실행하는 동일한 디렉터리에 있다고 가정합니다.
- idview_for_host01 ID 뷰가 있습니다.
절차
Ansible 제어 노드에서 다음 콘텐츠를 사용하여 ensure-idmuser-present-in-idview-with-certificates.yml 플레이북을 생성합니다.
--- - name: Ensure both local user and IdM user have access to same files hosts: ipaserver become: false gather_facts: false tasks: - name: Ensure idview_for_host1 is applied to host01.idm.example.com ipaidview: ipaadmin_password: "{{ ipaadmin_password }}" name: idview_for_host01 host: host01.idm.example.com - name: Ensure an IdM user is present in ID view with two certificates ipaidoverrideuser: ipaadmin_password: "{{ ipaadmin_password }}" idview: idview_for_host01 anchor: idm_user certificate: - "{{ lookup('file', 'cert1.b64', rstrip=False) }}" - "{{ lookup('file', 'cert2.b64', rstrip=False) }}"
rstrip=False
지시문을 사용하면 조회 파일의 끝에서 공백이 제거되지 않습니다.- 파일을 저장합니다.
플레이북을 실행합니다. Playbook 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일, 인벤토리 파일을 지정합니다.
$ ansible-playbook --vault-password-file=password_file -v -i inventory ensure-idmuser-present-in-idview-with-certificates.yml
추가 리소스
-
ansible-freeipa
업스트림 문서의 idoverrideuser 모듈