12.3. IdM에서 SSSD를 사용하여 사용자로 인증할 때 데이터 흐름
IdM 서버 또는 클라이언트에서 사용자로 인증하는 데 다음 구성 요소가 포함됩니다.
-
sshd서비스와 같은 인증 요청을 시작하는 서비스입니다. - PAM(Pluggable Authentication Module) 라이브러리 및 해당 모듈.
- SSSD 서비스, 응답자 및 백엔드.
- 스마트 카드 인증이 구성된 경우 스마트 카드 리더입니다.
인증 서버:
- IdM 사용자는 IdM Kerberos KDC(키 배포 센터)에 대해 인증됩니다.
- AD(Active Directory) 사용자는 AD DC(Domain Controller)에 대해 인증됩니다.
다음 다이어그램은 사용자가 명령줄에서 SSH 서비스를 통해 호스트에 로컬로 로그인하는 동안 인증해야 하는 경우 정보 흐름을 간소화한 것입니다.
인증 시도 중에 IdM 클라이언트와 IdM 서버 또는 AD 도메인 컨트롤러 간의 정보 흐름
-
ssh명령을 사용한 인증 시도는libpam라이브러리를 트리거합니다. libpam라이브러리는 인증 시도를 요청하는 서비스에 해당하는/etc/pam.d/디렉터리에서 PAM 파일을 참조합니다. 이 예에서는 로컬 호스트의 SSH 서비스를 통한 인증과 함께libpam 라이브러리에서구성 파일을 확인하고 SSSD PAM에 대한/etc/pam.d/system-authpam_sss.so항목을 검색합니다.auth sufficient pam_sss.so-
사용 가능한 인증 방법을 결정하기 위해
libpam라이브러리는pam_sss모듈을 열고 SSSD 서비스의sssd요청을 전송합니다._pam PAM 응답자에게 SSS_PAM_PREAUTH -
스마트 카드 인증이 구성된 경우 SSSD 서비스는 스마트 카드를 확인하고 여기에서 인증서를 검색하는 임시
p11_child프로세스를 생성합니다. -
사용자에 대해 스마트 카드 인증이 구성된 경우
sssd_pamresponder는 사용자와 함께 스마트 카드의 인증서 일치를 시도합니다.sssd_pamresponder는 그룹 멤버십이 액세스 제어에 영향을 미칠 수 있으므로 사용자가 속한 그룹에 대한 검색도 수행합니다. -
sssd_pamresponder는SSS_PAM_PREAUTH요청을sssd_be백엔드 응답자에게 전송하여 서버가 지원하는 인증 방법(예: 암호 또는 2 단계 인증)을 확인합니다. SSSD 서비스가 IPA 응답자를 사용하는 IdM 환경에서 기본 인증 방법은 Kerberos입니다. 이 예에서는 사용자가 간단한 Kerberos 암호를 사용하여 인증합니다. -
sssd_be응답자는 temporarykrb5_child프로세스를 생성합니다. -
The
krb5_child프로세스는 IdM 서버의 KDC에 접속하고 사용 가능한 인증 방법을 확인합니다. KDC는 요청에 응답합니다.
-
The
krb5_child프로세스는 응답을 평가하고 결과를sssd_be백엔드 프로세스로 다시 보냅니다. -
sssd_be백엔드 프로세스는 결과를 수신합니다. -
sssd_pamresponder는 결과를 수신합니다. -
pam_sss모듈은 결과를 수신합니다.
-
The
-
사용자에 대해 암호 인증이 구성된 경우
pam_sss모듈은 사용자에게 암호를 요청합니다. 스마트 카드 인증이 구성된 경우pam_sss모듈은 사용자에게 스마트 카드 PIN을 묻는 메시지를 표시합니다. 이 모듈은
SSS_PAM_AUTHENTICATE요청을 보냅니다. 이 요청은 다음과 같이 이동합니다.-
sssd_pam응답자. -
sssd_be백엔드 프로세스.
-
-
sssd_be프로세스는 KDC에 연결하기 위해 temporarykrb5_child프로세스를 생성합니다. -
The
krb5_child프로세스는 사용자가 제공한 사용자 이름과 암호를 사용하여 KDC에서 Kerberos Ticket Granting Ticket(TGT)을 검색하려고 시도합니다. -
The
krb5_child프로세스는 인증 시도의 결과를 수신합니다. The
krb5_child프로세스:- TGT를 자격 증명 캐시에 저장합니다.
-
sssd_be백엔드 프로세스에 인증 결과를 반환합니다.
인증 결과는
sssd_be프로세스에서 다음과 같이 이동합니다.-
sssd_pam응답자. -
pam_sss모듈.
-
-
pam_sss모듈은 다른 애플리케이션에서 참조할 수 있도록 사용자 TGT의 위치로 환경 변수를 설정합니다.