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 설명서를 참조하십시오.
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 문서를 참조하십시오.
절차
다음 명령을 사용하여 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
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-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow server.freeipa.local을 사용하는 매개변수-h는 FreeIPA/IdM 서버 호스트 이름을 나타냅니다. 자신의 암호로_PASSWORD를 변경합니다.컨테이너가 시작된 후 다음을 포함하도록
/etc/hosts파일을 변경합니다.x.x.x.x server.freeipa.local
x.x.x.x server.freeipa.localCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 변경을 수행하지 않으면 DNS 서버를 설정해야 합니다.
다음 명령을 사용하여 Linux 서버를 IPA 도메인에 등록하여 Red Hat Single Sign-On에서 SSSD 페더레이션 공급자를 시작하고 실행합니다.
ipa-client-install --mkhomedir -p admin -w password
ipa-client-install --mkhomedir -p admin -w passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클라이언트에서 다음 명령을 실행하여 설치가 작동하는지 확인합니다.
kinit admin
kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 암호를 입력합니다.
다음 명령을 사용하여 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
$ ipa user-add <username> --first=<first name> --last=<surname> --email=<email address> --phone=<telephoneNumber> --street=<street> \ --city=<city> --state=<state> --postalcode=<postal code> --passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow kinit를 사용하여 사용자 암호를 강제로 설정합니다.
kinit <username>
kinit <username>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음을 입력하여 일반 IPA 작업을 복원합니다.
kdestroy -A kinit admin
kdestroy -A kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.2. SSSD 및 D-Bus 링크 복사링크가 클립보드에 복사되었습니다!
페더레이션 공급자는 D-BUS를 사용하여 SSSD에서 데이터를 가져옵니다. PAM을 사용하여 데이터를 인증합니다.
절차
sssd-dbus RPM을 설치합니다.
sudo yum install sssd-dbus
$ sudo yum install sssd-dbusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 프로비저닝 스크립트를 실행합니다.
bin/federation-sssd-setup.sh
$ bin/federation-sssd-setup.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 스크립트는
/etc/sssd/sssd.conf에 다음과 같이 변경합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow dbus-send를 실행하여 설정이 성공했는지 확인합니다.sudo dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe /org/freedesktop/sssd/infopipe org.freedesktop.sssd.infopipe.GetUserGroups string:john
sudo dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe /org/freedesktop/sssd/infopipe org.freedesktop.sssd.infopipe.GetUserGroups string:johnCopy to Clipboard Copied! Toggle word wrap Toggle overflow 설정이 성공하면 사용자 그룹이 표시됩니다. 이 명령에서 시간 초과 또는 오류를 반환하면 Red Hat Single Sign-On에서 실행되는 페더레이션 공급자는 데이터를 검색할 수 없습니다. 이 오류는 일반적으로 서버가 FreeIPA IdM 서버에 등록되어 있지 않거나 SSSD 서비스에 액세스할 수 있는 권한이 없기 때문에 발생합니다.
SSSD 서비스에 액세스할 수 있는 권한이 없는 경우 Red Hat Single Sign-On 서버를 실행하는 사용자가 다음 섹션의
/etc/sssd/sssd.conf파일에 있는지 확인합니다.[ifp] allowed_uids = root, your_username
[ifp] allowed_uids = root, your_usernameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
$ sudo yum install rh-sso7-libunix-dbus-java
Red Hat Single Sign-On은 JNA를 사용하여 PAM에 인증합니다. JAN 패키지가 설치되어 있는지 확인합니다.
sudo yum install jna
$ sudo yum install jna
sssctl user-checks 명령을 사용하여 설정을 검증합니다.
sudo sssctl user-checks admin -s keycloak
$ sudo sssctl user-checks admin -s keycloak