Red Hat Training
A Red Hat training course is available for RHEL 8
8장. IdM의 SSSD를 사용한 인증 문제 해결
IdM(Identity Management) 환경의 인증에는 많은 구성 요소가 포함됩니다.
IdM 클라이언트에서 다음을 수행합니다.
- SSSD 서비스.
- NSS(Name Services Switch).
- PAM(Pluggable Authentication Module).
IdM 서버에서 다음을 수행합니다.
- SSSD 서비스.
- IdM 디렉터리 서버.
- IdM Kerberos KDC(키 배포 센터).
AD(Active Directory) 사용자로 인증하는 경우:
- AD 도메인 컨트롤러의 디렉터리 서버.
- AD 도메인 컨트롤러의 Kerberos 서버.
사용자를 인증하려면 SSSD 서비스를 사용하여 다음 기능을 수행할 수 있어야 합니다.
- 인증 서버에서 사용자 정보를 검색합니다.
- 사용자에게 자격 증명을 요청하고 해당 자격 증명을 인증 서버에 전달한 다음 결과를 처리합니다.
사용자 정보를 저장하는 SSSD 서비스와 서버 간에 정보가 이동하는 방법에 대한 자세한 내용은 환경에서 인증 시도 실패 문제를 해결할 수 있도록 다음을 참조하십시오.
- SSSD를 사용하여 IdM 사용자 정보를 검색할 때 데이터 흐름
- SSSD를 사용하여 AD 사용자 정보를 검색할 때 데이터 흐름
- IdM에서 SSSD를 사용하여 사용자로 인증할 때 데이터 흐름
- 인증 문제 범위 줄이기
- SSSD 로그 파일 및 로깅 수준
- sssd.conf 파일에서 SSSD에 대한 세부 로깅 활성화
- sssctl 명령을 사용하여 SSSD에 대한 세부 로깅 활성화
- IdM 서버의 인증 문제 해결을 위해 SSSD 서비스에서 디버깅 로그 수집
- IdM 클라이언트의 인증 문제를 해결하기 위해 SSSD 서비스에서 디버깅 로그 수집
- SSSD 백엔드에서 클라이언트 요청 추적
- 로그 분석기 툴을 사용하여 클라이언트 요청 추적
8.1. SSSD를 사용하여 IdM 사용자 정보를 검색할 때 데이터 흐름
다음 다이어그램은 getent passwd <idm_user_name>
명령을 사용하여 IdM 사용자 정보를 요청하는 동안 IdM 클라이언트와 IdM 서버 간의 정보 흐름을 간소화한 것입니다.
-
getent
명령은libc
라이브러리의getpwnam
호출을 트리거합니다. -
libc
라이브러리는/etc/nsswitch.conf
구성 파일을 참조하여 사용자 정보를 제공하는 서비스를 확인하고 SSSD 서비스에 대한 항목sss
를 검색합니다. -
libc
라이브러리는nss_sss
모듈을 엽니다. -
nss_sss 모듈은 메모리 매핑된 캐시에서 사용자 정보를 확인합니다. 데이터가 캐시에 있으면
nss_sss
모듈에서 해당 데이터가 반환됩니다. -
사용자 정보가 메모리 매핑 캐시에 없는 경우 요청이 SSSD
sssd_nss
응답자 프로세스에 전달됩니다. -
SSSD 서비스는 캐시를 확인합니다. 데이터가 캐시에 있고 유효한 경우
sssd_nss
응답자가 캐시에서 데이터를 읽고 애플리케이션에 반환합니다. -
데이터가 캐시에 없거나 만료된 경우
sssd_nss
응답자는 적절한 백엔드 프로세스를 쿼리하고 응답을 기다립니다. SSSD 서비스는sssd.conf
구성 파일의id_provider=ipa
설정을 통해 활성화되는 IdM 환경에서 IPA 백엔드를 사용합니다. -
sssd_be
백엔드 프로세스는 IdM 서버에 연결하고 IdM LDAP 디렉터리 서버에서 정보를 요청합니다. - IdM 서버의 SSSD 백엔드는 IdM 클라이언트의 SSSD 백엔드 프로세스에 응답합니다.
- 클라이언트의 SSSD 백엔드는 결과 데이터를 SSSD 캐시에 저장하고 응답자 프로세스에 캐시가 업데이트되었음을 경고합니다.
-
sssd_nss
프런트 엔드 응답자 프로세스는 SSSD 캐시에서 정보를 검색합니다. -
sssd_nss
응답자는 사용자 정보를nss_sss
응답자에게 전송하여 요청을 완료합니다. -
libc
라이브러리는 사용자 정보를 요청한 애플리케이션에 반환합니다.