RHEL 9.x/8.x 데스크톱에서 True SSO를 지원하려면 먼저 기본 VM(가상 시스템)을 AD(Active Directory) 도메인과 통합해야 합니다. 그런 다음, True SSO 기능을 지원하도록 시스템의 특정 구성을 수정해야 합니다.

이 절차의 일부 예시는 AD 도메인의 DNS 이름과 같은 네트워크 구성의 엔티티를 나타내기 위해 자리 표시자 값을 사용합니다. 다음 표에 설명된 대로 자리 표시자 값을 구성과 관련된 정보로 바꿉니다.

자리 표시자 값 설명
mydomain.com AD 도메인의 DNS 이름
MYDOMAIN.COM AD 도메인의 DNS 이름(모두 대문자)
MYDOMAIN NetBIOS 도메인의 이름
dnsserver.mydomain.com DNS 서버의 이름

사전 요구 사항

  • Workspace ONE Access 및 Horizon Connection Server에 대해 True SSO를 구성합니다.
  • 기본 VM의 DNS에서 AD(Active Directory) 서버를 확인할 수 있는지 확인합니다.
  • VM의 호스트 이름을 구성합니다.
  • VM에서 NTP(Network Time Protocol)를 구성합니다.
  • 루트 CA(인증 기관) 인증서를 가져오고 VM의 /tmp/certificate.cer에 저장합니다. 루트 인증 기관 인증서를 내보내는 방법을 참조하십시오.

    하위 CA가 발급 기관이기도 한 경우 루트 및 하위 CA 인증서의 전체 체인을 가져와서 VM의 /tmp/certificate.cer에 저장합니다.

  • FIPS 모드에서 True SSO를 사용하려면 FIPS 규격 Linux 가상 시스템 구성에 설명된 모든 단계를 완료했는지 확인합니다. VMwareBlastServer에 대한 신뢰할 수 있는 CA 인증서를 /etc/vmware/ssl/rui.crt에 추가하고 rui.crt에 연결된 키를 /etc/vmware/ssl/rui.key에 추가해야 합니다.

프로시저

  1. 기본 VM에서 Active Directory에 대한 네트워크 연결을 확인합니다.
    realm discover  "mydomain.com" 
  2. 필요한 종속성 패키지를 설치합니다.
    yum install oddjob oddjob-mkhomedir sssd adcli samba-common-tools
  3. AD 도메인에 가입합니다.
    realm join --verbose  "mydomain.com"  -U administrator
  4. 루트 CA 인증서 또는 인증서 체인을 설치합니다.
    1. 다운로드한 루트 CA 인증서 또는 인증서 체인을 찾은 후 PEM 파일에 전송합니다.
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
      
    2. 인증서를 /etc/sssd/pki/sssd_auth_ca_db.pem 파일에 복사합니다.
      sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. 다음 예시와 같이 /etc/sssd/sssd.conf 구성 파일을 수정합니다.
    [sssd]
    domains =  "mydomain.com" 
    config_file_version = 2
    services = nss, pam
     
    [domain/mydomain.com]
    ad_domain =  "mydomain.com" 
    krb5_realm =  "MYDOMAIN.COM" 
    realmd_tags = manages-system joined-with-adcli
    cache_credentials = True
    id_provider = ad
    krb5_store_password_if_offline = True
    default_shell = /bin/bash
    ldap_id_mapping = True
    use_fully_qualified_names = False             #Use short name for user
    fallback_homedir = /home/%u@%d
    access_provider = ad
    ad_gpo_map_interactive = +gdm-vmwcred         #Add this line for SSO
     
    [pam]                                         #Add pam section for certificate logon
    pam_cert_auth = True                          #Add this line to enable certificate logon for system
    pam_p11_allowed_services = +gdm-vmwcred       #Add this line to enable certificate logon for VMware Horizon Agent
     
    [certmap/ "mydomain.com" /truesso]                #Add this section and following lines to set match and map rule for certificate user
    matchrule = <EKU>msScLogin
    maprule = (|(userPrincipal={subject_principal})(samAccountName={subject_principal.short_name}))
    domains =  "mydomain.com" 
    priority = 10
  6. 모드를 644와 동일하게 설정하여 /etc/krb5.conf 구성 파일을 수정합니다.
    참고: 지정된 대로 /etc/krb5.conf를 수정하지 않으면 True SSO 기능이 작동하지 않을 수 있습니다.
  7. (RHEL 9.x) TrueSSO가 인스턴트 클론 데스크톱 풀에서 제대로 작동하도록 하려면 다음 구성을 수정합니다.
    참고: 인스턴트 클론 데스크톱 풀에 VM을 사용하지 않는 경우 이러한 구성을 건너뛸 수 있습니다.
    1. 명령을 실행하여 SHA-1 암호화 정책을 명시적으로 허용합니다.
      update-crypto-policies --set DEFAULT:SHA1
    2. 이전에 다운로드한 루트 CA 인증서 또는 인증서 체인을 찾은 후 /etc/pki/ca-trust/source/anchors/ca_cert.pem으로 복사합니다. 그런 다음 update-ca-trust 명령을 사용하여 레거시 애플리케이션이 신뢰할 수 있는 인증서를 읽을 수 있도록 합니다.
      cp /tmp/certificate.pem /etc/pki/ca-trust/source/anchors/ca_cert.pem
      update-ca-trust
    3. 다음 예시와 같이 /etc/krb5.conf 파일을 수정합니다.
      [realms]
           MYDOMAIN.COM = {
                kdc =  dnsserver.mydomain.com
                admin_server =  dnsserver.mydomain.com
                pkinit_anchors = DIR:/etc/pki/ca-trust/source/anchors
                pkinit_kdc_hostname =  dnsserver.mydomain.com
                pkinit_eku_checking = kpServerAuth
           }
      [domain_realm]
           .mydomain.com = MYDOMAIN.COM
           mydomain.com = MYDOMAIN.COM
  8. True SSO를 사용하도록 설정하고 Horizon Agent 패키지를 설치합니다.
    sudo ./install_viewagent.sh -T yes
  9. 다음 줄을 포함하도록 /etc/vmware/viewagent-custom.conf 구성 파일을 수정합니다.
    NetbiosDomain =  "MYDOMAIN" 
  10. VM을 다시 시작하고 다시 로그인합니다.