10.8. AD 사용자 항목에 인증서가 없거나 매핑 데이터가 없는 경우 인증서 매핑 구성
이 사용자 사례에서는 IdM 배포가 AD(Active Directory)와 함께 IdM 배포가 신뢰할 수 있는 경우 IdM에서 인증서 매핑을 활성화하는 데 필요한 단계를 설명하고, AD의 사용자 항목에 전체 인증서와 인증서 매핑 데이터가 포함되어 있지 않습니다.
사전 요구 사항
- 사용자에게 IdM에 계정이 없습니다.
-
사용자는 AD에 전체 인증서와
altSecurityIdentities
속성을 모두 포함하는 계정을 가지고 있으며, AD는 IdMcertmapdata
속성과 동일합니다. IdM 관리자가 다음 중 하나를 수행했습니다.
-
IdM의 AD 사용자
ID 재정의에 전체 AD 사용자
인증서를 추가했습니다. - 주체 대체 이름 또는 사용자의 SID와 같이 인증서의 대체 필드에 매핑되는 인증서 매핑 규칙을 생성했습니다.
-
IdM의 AD 사용자
10.8.1. IdM 웹 UI에 인증서 매핑 규칙 추가
- IdM 웹 UI에 관리자로 로그인합니다.
-
인증
인증서 ID 매핑 규칙
인증서 ID 매핑 규칙으로
이동합니다. 추가를
클릭합니다.그림 10.9. IdM 웹 UI에 새 인증서 매핑 규칙 추가
- 규칙 이름을 입력합니다.
매핑 규칙을 입력합니다. IdM에서 AD 사용자 항목의 사용자 ID 오버라이드 항목에 저장된 인증서와 비교하여 IdM에 제공되는 전체 인증서를 보유하려면 다음을 수행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (userCertificate;binary={cert!bin})
(userCertificate;binary={cert!bin})
참고인증서에는 사용자 주체 이름이 SAN으로 포함되어 있거나 최신 업데이트, 인증서의 SID 확장에 있는 사용자의 SID도 포함되어 있으므로 이러한 필드를 사용하여 인증서를 사용자에게 매핑할 수도 있습니다. 예를 들어 사용자의 SID를 사용하는 경우 이 매핑 규칙을
LDAPU1:(objectsid={sid})
로 바꿉니다. 인증서 매핑에 대한 자세한 내용은 시스템의sss-certmap
도움말 페이지를 참조하십시오.일치하는 규칙을 입력합니다. 예를 들어
AD.EXAMPLE.COM
도메인의AD-ROOT-CA
에서 발급한 인증서만 인증하려면 다음을 수행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow <ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
도메인 이름을 입력합니다. 예를 들어
ad.example.com
도메인에서 사용자를 검색하려면 다음을 수행합니다.그림 10.10. 인증서 또는 AD에 저장된 데이터를 매핑하지 않은 사용자의 인증서 매핑 규칙
-
추가를
클릭합니다. SSSD(System Security Services Daemon)는 인증서 매핑 규칙을 주기적으로 다시 읽습니다. 새로 생성된 규칙을 즉시 로드하도록 하려면 CLI에서 SSSD를 다시 시작합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart sssd
# systemctl restart sssd
10.8.2. IdM CLI에 인증서 매핑 규칙 추가
관리자의 자격 증명을 가져옵니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kinit admin
# kinit admin
매핑 규칙을 입력하고 매핑 규칙이 기반으로 하는 일치 규칙을 입력합니다. IdM의 사용자 ID 덮어쓰기 항목에 저장된 인증서에 비해 인증을 위해 제공되는 전체 인증서를 보유하려면
AD.EXAMPLE.COM
도메인의AD-ROOT-CA
에서 발행한 인증서만 인증할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa certmaprule-add simpleADrule --matchrule '<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com' --maprule '(userCertificate;binary={cert!bin})' --domain ad.example.com
# ipa certmaprule-add simpleADrule --matchrule '<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com' --maprule '(userCertificate;binary={cert!bin})' --domain ad.example.com ------------------------------------------------------- Added Certificate Identity Mapping Rule "simpleADrule" ------------------------------------------------------- Rule name: simpleADrule Mapping rule: (userCertificate;binary={cert!bin}) Matching rule: <ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com Domain name: ad.example.com Enabled: TRUE
참고인증서에는 사용자 주체 이름이 SAN으로 포함되어 있거나 최신 업데이트, 인증서의 SID 확장에 있는 사용자의 SID도 포함되어 있으므로 이러한 필드를 사용하여 인증서를 사용자에게 매핑할 수도 있습니다. 예를 들어 사용자의 SID를 사용하는 경우 이 매핑 규칙을
LDAPU1:(objectsid={sid})
로 바꿉니다. 인증서 매핑에 대한 자세한 내용은 시스템의sss-certmap
도움말 페이지를 참조하십시오.SSSD(System Security Services Daemon)는 인증서 매핑 규칙을 주기적으로 다시 읽습니다. 새로 생성된 규칙을 즉시 로드하도록 하려면 SSSD를 다시 시작합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart sssd
# systemctl restart sssd
10.8.3. IdM 웹 UI에서 AD 사용자 ID 재정의에 인증서 추가
-
Identity
ID Views
Default Trust View
로 이동합니다. 추가를
클릭합니다.그림 10.11. IdM 웹 UI에서 새 사용자 ID 덮어쓰기 추가
-
User to override
필드에ad_user@ad.example.com
을 입력합니다. ad_user
의 인증서를 복사하여인증서
필드에 붙여넣습니다.그림 10.12. AD 사용자에 대한 사용자 ID 재정의 구성
-
추가를
클릭합니다.
검증
사용자 및 인증서가 연결되었는지 확인합니다.
sss_cache
유틸리티를 사용하여 SSSD 캐시에서ad_user@ad.example.com
레코드를 무효화하고ad_user@ad.example.com
정보를 다시 로드합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow sss_cache -u ad_user@ad.example.com
# sss_cache -u ad_user@ad.example.com
AD 사용자의 인증서가 포함된 파일 이름으로
ipa certmap-match
명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa certmap-match ad_user_cert.pem
# ipa certmap-match ad_user_cert.pem -------------- 1 user matched -------------- Domain: AD.EXAMPLE.COM User logins: ad_user@ad.example.com ---------------------------- Number of entries returned 1 ----------------------------
출력은 인증서 매핑 데이터가 ad_user@ad.example.com
에 추가되고 AD 사용자 항목에 인증서 또는 매핑 데이터가 없는 경우 인증서 매핑 규칙 추가에 정의된 해당 매핑 규칙이 있는지 확인합니다. 즉, 정의된 인증서 매핑 데이터와 일치하는 인증서를 사용하여 ad_user@ad.example.com
로 인증할 수 있습니다.
10.8.4. IdM CLI에서 AD 사용자 ID 재정의에 인증서 추가
관리자의 자격 증명을 가져옵니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kinit admin
# kinit admin
인증서 Blob을
CERT
라는 새 변수에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow CERT=$(openssl x509 -in /path/to/certificate -outform der|base64 -w0)
# CERT=$(openssl x509 -in /path/to/certificate -outform der|base64 -w0)
ipa idoverrideuser-add-cert
명령을 사용하여 사용자 계정에ad_user@ad.example.com
의 인증서를 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa idoverrideuser-add-cert ad_user@ad.example.com --certificate $CERT
# ipa idoverrideuser-add-cert ad_user@ad.example.com --certificate $CERT
검증
사용자 및 인증서가 연결되었는지 확인합니다.
sss_cache
유틸리티를 사용하여 SSSD 캐시에서ad_user@ad.example.com
레코드를 무효화하고ad_user@ad.example.com
정보를 다시 로드합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow sss_cache -u ad_user@ad.example.com
# sss_cache -u ad_user@ad.example.com
AD 사용자의 인증서가 포함된 파일 이름으로
ipa certmap-match
명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa certmap-match ad_user_cert.pem
# ipa certmap-match ad_user_cert.pem -------------- 1 user matched -------------- Domain: AD.EXAMPLE.COM User logins: ad_user@ad.example.com ---------------------------- Number of entries returned 1 ----------------------------
출력은 인증서 매핑 데이터가 ad_user@ad.example.com
에 추가되고 AD 사용자 항목에 인증서 또는 매핑 데이터가 없는 경우 인증서 매핑 규칙 추가에 정의된 해당 매핑 규칙이 있는지 확인합니다. 즉, 정의된 인증서 매핑 데이터와 일치하는 인증서를 사용하여 ad_user@ad.example.com
로 인증할 수 있습니다.