4.4. SSSD 및 FreeIPA ID 관리 통합


Red Hat Single Sign-On에는 SSSD(System Security Services Daemon) 플러그인이 포함되어 있습니다. SSSD는 Fedora 및 RHEL(Red Hat Enterprise Linux)의 일부이며 여러 ID 및 인증 공급자에 대한 액세스를 제공합니다. SSSD는 장애 조치(failover) 및 오프라인 지원과 같은 이점도 제공합니다. 자세한 내용은 Red Hat Enterprise Linux Identity Management 설명서를 참조하십시오.

SSSD는 FreeIPA IdM(Identity Management) 서버와 통합되어 인증 및 액세스 제어를 제공합니다. 이러한 통합을 통해 Red Hat Single Sign-On은 권한 있는 액세스 관리(PAM) 서비스에 대해 인증하고 SSSD에서 사용자 데이터를 검색할 수 있습니다. Linux 환경에서 Red Hat Identity Management 사용에 대한 자세한 내용은 Red Hat Enterprise Linux Identity Management 설명서를 참조하십시오.

keycloak sssd freeipa integration overview

Red Hat Single Sign-On 및 SSSD는 읽기 전용 D-Bus 인터페이스를 통해 통신합니다. 따라서 사용자를 프로비저닝하고 업데이트하는 방법은 FreeIPA/IdM 관리 인터페이스를 사용하는 것입니다. 기본적으로 인터페이스는 사용자 이름, 이메일, 이름, 성을 가져옵니다.

참고

Red Hat Single Sign-On은 그룹과 역할을 자동으로 등록하지만 동기화는 하지 않습니다. Red Hat Single Sign-On 관리자의 변경 사항은 SSSD와 동기화되지 않습니다.

4.4.1. FreeIPA/IdM 서버

FreeIPA Docker 이미지는 Docker Hub에서 사용할 수 있습니다. FreeIPA 서버를 설정하려면 FreeIPA 문서를 참조하십시오.

절차

  1. 다음 명령을 사용하여 FreeIPA 서버를 실행합니다.

     docker run --name freeipa-server-container -it \
     -h server.freeipa.local -e PASSWORD=YOUR_PASSWORD \
     -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
     -v /var/lib/ipa-data:/data:Z freeipa/freeipa-server

    server.freeipa.local 을 사용하는 매개변수 -h 는 FreeIPA/IdM 서버 호스트 이름을 나타냅니다. 자신의 암호로 _PASSWORD 를 변경합니다.

  2. 컨테이너가 시작된 후 다음을 포함하도록 /etc/hosts 파일을 변경합니다.

    x.x.x.x     server.freeipa.local

    이 변경을 수행하지 않으면 DNS 서버를 설정해야 합니다.

  3. 다음 명령을 사용하여 Linux 서버를 IPA 도메인에 등록하여 Red Hat Single Sign-On에서 SSSD 페더레이션 공급자를 시작하고 실행합니다.

     ipa-client-install --mkhomedir -p admin -w password
  4. 클라이언트에서 다음 명령을 실행하여 설치가 작동하는지 확인합니다.

     kinit admin
  5. 암호를 입력합니다.
  6. 다음 명령을 사용하여 IPA 서버에 사용자를 추가합니다.

    $ ipa user-add <username> --first=<first name> --last=<surname> --email=<email address> --phone=<telephoneNumber> --street=<street> \      --city=<city> --state=<state> --postalcode=<postal code> --password
  7. kinit를 사용하여 사용자 암호를 강제로 설정합니다.

     kinit <username>
  8. 다음을 입력하여 일반 IPA 작업을 복원합니다.

    kdestroy -A
    kinit admin

4.4.2. SSSD 및 D-Bus

페더레이션 공급자는 D-BUS를 사용하여 SSSD에서 데이터를 가져옵니다. PAM을 사용하여 데이터를 인증합니다.

절차

  1. sssd-dbus RPM을 설치합니다.

    $ sudo yum install sssd-dbus
  2. 다음 프로비저닝 스크립트를 실행합니다.

    $ bin/federation-sssd-setup.sh

    이 스크립트는 /etc/sssd/sssd.conf 에 다음과 같이 변경합니다.

      [domain/your-hostname.local]
      ...
      ldap_user_extra_attrs = mail:mail, sn:sn, givenname:givenname, telephoneNumber:telephoneNumber
      ...
      [sssd]
      services = nss, sudo, pam, ssh, ifp
      ...
      [ifp]
      allowed_uids = root, yourOSUsername
      user_attributes = +mail, +telephoneNumber, +givenname, +sn
  3. dbus-send 를 실행하여 설정이 성공했는지 확인합니다.

    sudo dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe /org/freedesktop/sssd/infopipe org.freedesktop.sssd.infopipe.GetUserGroups string:john

    설정이 성공하면 사용자 그룹이 표시됩니다. 이 명령에서 시간 초과 또는 오류를 반환하면 Red Hat Single Sign-On에서 실행되는 페더레이션 공급자는 데이터를 검색할 수 없습니다. 이 오류는 일반적으로 서버가 FreeIPA IdM 서버에 등록되어 있지 않거나 SSSD 서비스에 액세스할 수 있는 권한이 없기 때문에 발생합니다.

    SSSD 서비스에 액세스할 수 있는 권한이 없는 경우 Red Hat Single Sign-On 서버를 실행하는 사용자가 다음 섹션의 /etc/sssd/sssd.conf 파일에 있는지 확인합니다.

    [ifp]
    allowed_uids = root, your_username

4.4.3. SSSD 페더레이션 공급자 활성화

Red Hat Single Sign-On은 DBus-Java를 사용하여 D-Bus와 낮은 수준으로 통신합니다. D-Bus는 Unix 소켓 라이브러리에 따라 다릅니다.

SSSD 페더레이션 공급자를 활성화하기 전에 이 라이브러리의 RPM을 설치합니다.

$ sudo yum install rh-sso7-libunix-dbus-java

Red Hat Single Sign-On은 JNA를 사용하여 PAM에 인증합니다. JAN 패키지가 설치되어 있는지 확인합니다.

$ sudo yum install jna

sssctl user-checks 명령을 사용하여 설정을 검증합니다.

  $ sudo sssctl user-checks admin -s keycloak
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.