36.14. 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.15 이상을 사용하고 있습니다.
-
ansible-freeipa패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybooks/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible vault가
ipaadmin_password를 저장하고 secret.yml 파일을 보호하는 암호를 저장하는 파일에 대한 액세스 권한이 있다고 가정합니다.
-
freeipa.ansible_freeipa모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부이며 IdM 클라이언트, 서버 또는 복제본입니다.
---
- 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 지시문을 사용하면 조회 파일의 끝에서 공백이 제거되지 않습니다.
+ . 파일을 저장합니다.
+ . 플레이북을 실행합니다. 플레이북 파일을 지정하고 secret.yml 파일을 보호하는 암호를 저장하는 파일 및 인벤토리 파일을 지정합니다.
+
$ ansible-playbook --vault-password-file=password_file -v -i inventory ensure-idmuser-present-in-idview-with-certificates.yml