14.3. IdM에서 SSSD를 사용하여 사용자로 인증할 때 데이터 흐름
IdM 서버 또는 클라이언트에서 사용자로 인증하는 데 다음 구성 요소가 포함됩니다.
- 인증 요청을 시작하는 서비스(예: sshd 서비스).
- PAM(Pluggable Authentication Module) 라이브러리 및 해당 모듈.
- SSSD 서비스, 응답자 및 백엔드.
- 스마트 카드 인증이 구성된 경우 스마트 카드 리더입니다.
인증 서버:
- IdM 사용자는 IdM Kerberos KDC(키 배포 센터)에 대해 인증됩니다.
- AD(Active Directory) 사용자는 AD DC(Domain Controller)에 대해 인증됩니다.
다음 다이어그램은 사용자가 명령줄에서 SSH 서비스를 통해 호스트에 로컬로 로그인하는 동안 인증해야 하는 경우 정보 흐름을 간소화한 것입니다.
-
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_pam
responder는 사용자와 함께 스마트 카드의 인증서 일치를 시도합니다.sssd_pam
responder는 그룹 멤버십이 액세스 제어에 영향을 미칠 수 있으므로 사용자가 속한 그룹에 대한 검색도 수행합니다. -
sssd_pam
responder는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_pam
responder는 결과를 수신합니다. -
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의 위치로 환경 변수를 설정합니다.