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