14.3. IdM에서 SSSD를 사용하여 사용자로 인증할 때 데이터 흐름


IdM 서버 또는 클라이언트에서 사용자로 인증하는 데 다음 구성 요소가 포함됩니다.

  • 인증 요청을 시작하는 서비스(예: sshd 서비스).
  • PAM(Pluggable Authentication Module) 라이브러리 및 해당 모듈.
  • SSSD 서비스, 응답자 및 백엔드.
  • 스마트 카드 인증이 구성된 경우 스마트 카드 리더입니다.
  • 인증 서버:

    • IdM 사용자는 IdM Kerberos KDC(키 배포 센터)에 대해 인증됩니다.
    • AD(Active Directory) 사용자는 AD DC(Domain Controller)에 대해 인증됩니다.

다음 다이어그램은 사용자가 명령줄에서 SSH 서비스를 통해 호스트에 로컬로 로그인하는 동안 인증해야 하는 경우 정보 흐름을 간소화한 것입니다.

A diagram with numbered arrows representing the flow of information between an IdM client and an IdM server or AD Domain Controller during an authentication attempt. The following numbered list describes each step in the process.

  1. ssh 명령을 사용한 인증 시도는 libpam 라이브러리를 트리거합니다.
  2. libpam 라이브러리는 인증 시도를 요청하는 서비스에 해당하는 /etc/pam.d/ 디렉터리에서 PAM 파일을 참조합니다. 이 예에서는 로컬 호스트의 SSH 서비스를 통한 인증과 함께 libpam 라이브러리에서 /etc/pam.d/system-auth 구성 파일을 확인하고 SSSD PAM에 대한 pam_sss.so 항목을 검색합니다.

    auth    sufficient    pam_sss.so
  3. 사용 가능한 인증 방법을 결정하기 위해 libpam 라이브러리는 pam_sss 모듈을 열고 SSSD 서비스의 sssd _pam PAM 응답자에게 SSS_PAM_ PREAUTH 요청을 전송합니다.
  4. 스마트 카드 인증이 구성된 경우 SSSD 서비스는 스마트 카드를 확인하고 여기에서 인증서를 검색하는 임시 p11_child 프로세스를 생성합니다.
  5. 사용자에 대해 스마트 카드 인증이 구성된 경우 sssd_pam responder는 사용자와 함께 스마트 카드의 인증서 일치를 시도합니다. sssd_pam responder는 그룹 멤버십이 액세스 제어에 영향을 미칠 수 있으므로 사용자가 속한 그룹에 대한 검색도 수행합니다.
  6. sssd_pam responder는 SSS_PAM_PREAUTH 요청을 sssd_be 백엔드 응답자에게 전송하여 서버가 지원하는 인증 방법(예: 암호 또는 2 단계 인증)을 확인합니다. SSSD 서비스가 IPA 응답자를 사용하는 IdM 환경에서 기본 인증 방법은 Kerberos입니다. 이 예에서는 사용자가 간단한 Kerberos 암호를 사용하여 인증합니다.
  7. sssd_be 응답자는 temporary krb5_child 프로세스를 생성합니다.
  8. The krb5_child 프로세스는 IdM 서버의 KDC에 접속하고 사용 가능한 인증 방법을 확인합니다.
  9. KDC는 요청에 응답합니다.

    1. The krb5_child 프로세스는 응답을 평가하고 결과를 sssd_be 백엔드 프로세스로 다시 보냅니다.
    2. sssd_be 백엔드 프로세스는 결과를 수신합니다.
    3. sssd_pam responder는 결과를 수신합니다.
    4. pam_sss 모듈은 결과를 수신합니다.
  10. 사용자에 대해 암호 인증이 구성된 경우 pam_sss 모듈은 사용자에게 암호를 요청합니다. 스마트 카드 인증이 구성된 경우 pam_sss 모듈은 사용자에게 스마트 카드 PIN을 묻는 메시지를 표시합니다.
  11. 이 모듈은 SSS_PAM_AUTHENTICATE 요청을 보냅니다. 이 요청은 다음과 같이 이동합니다.

    1. sssd_pam 응답자.
    2. sssd_be 백엔드 프로세스.
  12. sssd_be 프로세스는 KDC에 연결하기 위해 temporary krb5_child 프로세스를 생성합니다.
  13. The krb5_child 프로세스는 사용자가 제공한 사용자 이름과 암호를 사용하여 KDC에서 Kerberos Ticket Granting Ticket(TGT)을 검색하려고 시도합니다.
  14. The krb5_child 프로세스는 인증 시도의 결과를 수신합니다.
  15. The krb5_child 프로세스:

    1. TGT를 자격 증명 캐시에 저장합니다.
    2. sssd_be 백엔드 프로세스에 인증 결과를 반환합니다.
  16. 인증 결과는 sssd_be 프로세스에서 다음과 같이 이동합니다.

    1. sssd_pam 응답자.
    2. pam_sss 모듈.
  17. pam_sss 모듈은 다른 애플리케이션에서 참조할 수 있도록 사용자 TGT의 위치로 환경 변수를 설정합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.