2.4. Ansible을 사용하여 스마트 카드 인증을 위해 IdM 클라이언트 구성
IdM 사용자가 스마트 카드로 인증할 수 있도록 ansible-freeipa
ipasmartcard_client
모듈을 사용하여 특정 RHEL IdM(Identity Management) 클라이언트를 구성하려면 다음 절차를 따르십시오. 다음 절차를 실행하여 IdM에 액세스하는 IdM 사용자의 스마트 카드 인증을 활성화합니다.
ssh
프로토콜자세한 내용은 스마트 카드 인증을 사용하여 SSH 액세스 구성 을 참조하십시오.
- 콘솔 로그인
- GNOME 디스플레이 관리자(GDM)
-
su
명령
다음 절차는 IdM 웹 UI에 인증하는 데 필요하지 않습니다. IdM 웹 UI에 인증에는 두 개의 호스트가 포함되며, 이 중 어느 것도 IdM 클라이언트일 필요가 없습니다.
- 브라우저가 실행 중인 시스템입니다. 시스템은 IdM 도메인 외부에 있을 수 있습니다.
-
httpd
가 실행 중인 IdM 서버입니다.
사전 요구 사항
- Ansible을 사용하여 스마트 카드 인증을 위한 IdM 서버를 구성하는 방법에 설명된 대로 IdM 서버가 스마트 카드 인증을 위해 구성되었습니다.
- IdM 서버 및 IdM 클라이언트에 대한 루트 액세스 권한이 있습니다.
- 루트 CA 인증서, IdM CA 인증서 및 모든 중간 CA 인증서가 있습니다.
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.15 이상을 사용하고 있습니다.
-
freeipa.ansible_freeipa
컬렉션을 설치했습니다. - 이 예제에서는 ~/MyPlaybooks/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible vault가
ipaadmin_password
를 저장하고 secret.yml 파일을 보호하는 암호를 저장하는 파일에 대한 액세스 권한이 있다고 가정합니다.
-
freeipa.ansible_freeipa
모듈이 실행되는 대상 노드인 대상 노드는 IdM 도메인의 일부입니다. IdM 클라이언트, 서버 또는 복제본입니다.
프로세스
CA 인증서가
DER
와 같은 다른 형식의 파일에 저장된 경우 이를PEM
형식으로 변환합니다.openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEM
# openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IdM CA 인증서는
PEM
형식이며/etc/ipa/ca.crt
파일에 있습니다.선택 사항:
openssl x509
유틸리티를 사용하여PEM
형식의 파일 내용을 보고발급
자 및주체
값이 올바른지 확인합니다.openssl x509 -noout -text -in root-ca.pem | more
# openssl x509 -noout -text -in root-ca.pem | more
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 제어 노드에서 ~/MyPlaybooks/ 디렉터리로 이동합니다.
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA 인증서 전용 하위 디렉터리를 생성합니다.
mkdir SmartCard/
$ mkdir SmartCard/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 편의를 위해 필요한 모든 인증서를 ~/MyPlaybooks/SmartCard/ 디렉터리에 복사합니다. 예를 들면 다음과 같습니다.
cp /tmp/root-ca.pem ~/MyPlaybooks/SmartCard/ cp /tmp/intermediate-ca.pem ~/MyPlaybooks/SmartCard/ cp /etc/ipa/ca.crt ~/MyPlaybooks/SmartCard/ipa-ca.crt
# cp /tmp/root-ca.pem ~/MyPlaybooks/SmartCard/ # cp /tmp/intermediate-ca.pem ~/MyPlaybooks/SmartCard/ # cp /etc/ipa/ca.crt ~/MyPlaybooks/SmartCard/ipa-ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 인벤토리 파일에서 다음을 지정합니다.
- 스마트 카드 인증을 위해 구성할 IdM 클라이언트입니다.
- IdM 관리자 암호입니다.
다음 순서로 CA 인증서의 경로입니다.
- 루트 CA 인증서 파일
- 중간 CA 인증서 파일
- IdM CA 인증서 파일
파일은 다음과 같을 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여
install-smartcard-clients.yml
플레이북을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 파일을 저장합니다.
Ansible 플레이북을 실행합니다. 플레이북 및 인벤토리 파일을 지정합니다.
ansible-playbook --vault-password-file=password_file -v -i inventory install-smartcard-clients.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory install-smartcard-clients.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipasmartcard_client
Ansible 역할은 다음 작업을 수행합니다.- 스마트 카드 데몬을 구성합니다.
- 시스템 전체 신뢰 저장소를 설정합니다.
- 사용자가 사용자 이름 및 암호 또는 스마트 카드로 인증할 수 있도록 SSSD(System Security Services Daemon)를 구성합니다. 스마트 카드 인증에 대한 SSSD 프로필 옵션에 대한 자세한 내용은 RHEL의 스마트 카드 인증 옵션을 참조하십시오.
인벤토리 파일의 ipaclients 섹션에 나열된 클라이언트는 이제 스마트 카드 인증을 위해 구성됩니다.
--mkhomedir
옵션을 사용하여 IdM 클라이언트를 설치한 경우 원격 사용자가 홈 디렉터리에 로그인할 수 있습니다. 그렇지 않으면 기본 로그인 위치는 디렉터리 구조의 루트입니다 /
.