5.2. RHEL 호스트의 관리형 서비스 계정 구성

이 절차에서는 lab.example.com AD(Active Directory) 도메인에서 호스트에 대한 MSA(Managed Service Account)를 생성하고, production.example.com AD 도메인에 액세스하고 인증할 수 있도록 SSSD를 구성합니다.

참고

RHEL 호스트에서 AD 리소스에 액세스해야 하는 경우 realm 명령을 사용하여 RHEL 호스트를 AD 도메인에 연결하는 것이 좋습니다. SSSD를 사용하여 RHEL 시스템 연결을 AD에 직접 참조하십시오.

다음 조건 중 하나가 적용되는 경우에만 이 절차를 수행합니다.

  • RHEL 호스트에 AD 도메인에 참여할 수 없으며 AD에서 해당 호스트에 대한 계정을 생성해야 합니다.
  • RHEL 호스트를 AD 도메인에 가입했으며, 가입한 도메인의 호스트 인증 정보가 유효한 경우 단방향 신뢰와 같이 다른 AD 도메인에 액세스해야 합니다.

사전 요구 사항

  • RHEL 호스트의 다음 포트가 열려 있고 AD 도메인 컨트롤러에 액세스할 수 있는지 확인합니다.

    Service포트프로토콜

    DNS

    53

    TCP, UDP

    LDAP

    389

    TCP, UDP

    LDAPS(선택 사항)

    636

    TCP, UDP

    Kerberos

    88

    TCP, UDP

  • production.example.com 도메인에 MSA를 생성할 권한이 있는 AD 관리자의 암호가 있습니다.
  • adcli 명령을 실행하고 /etc/sssd/sssd.conf 설정 파일을 수정하는 데 필요한 루트 권한이 있습니다.
  • (선택 사항) klist 진단 유틸리티를 포함하는 KnativeServing 5- octets 패키지가 설치되어 있습니다.

절차

  1. production.example.com AD 도메인에 호스트에 대한 MSA를 생성합니다.

    [root@client ~]# adcli create-msa --domain=production.example.com
  2. 생성된 Kerberos 키 탭에서 MSA에 대한 정보를 표시합니다. MSA 이름을 기록해 둡니다.

    [root@client ~]# klist -k /etc/krb5.keytab.production.example.com
    Keytab name: FILE:/etc/krb5.keytab.production.example.com
    KVNO Principal
    ---- ------------------------------------------------------------
       2 CLIENT!S3A$@PRODUCTION.EXAMPLE.COM (aes256-cts-hmac-sha1-96)
       2 CLIENT!S3A$@PRODUCTION.EXAMPLE.COM (aes128-cts-hmac-sha1-96)
  3. /etc/sssd/sssd.conf 파일을 열고 추가할 적절한 SSSD 도메인 구성을 선택합니다.

    • MSA가 다른 마스트리드의 AD 도메인에 해당하는 경우 [domain/<name_of_domain>] 이라는 새 도메인 섹션을 생성하고 MSA 및 keytab에 대한 정보를 입력합니다. 가장 중요한 옵션은 ldap_sasl_authid,ldap_krb5_keytab, RHEA 5_keytab 입니다.

      [domain/production.example.com]
      ldap_sasl_authid = CLIENT!S3A$@PRODUCTION.EXAMPLE.COM
      ldap_krb5_keytab = /etc/krb5.keytab.production.example.com
      krb5_keytab = /etc/krb5.keytab.production.example.com
      ad_domain = production.example.com
      krb5_realm = PRODUCTION.EXAMPLE.COM
      access_provider = ad
      ...
    • MSA가 로컬 마스트리드의 AD 도메인에 해당하는 경우 [domain/root.example.com/sub-domain.example.com] 형식으로 새 하위 도메인 섹션을 생성하고 MSA 및 keytab에 대한 정보를 입력합니다. 가장 중요한 옵션은 ldap_sasl_authid,ldap_krb5_keytab, RHEA 5_keytab 입니다.

      [domain/ad.example.com/production.example.com]
      ldap_sasl_authid = CLIENT!S3A$@PRODUCTION.EXAMPLE.COM
      ldap_krb5_keytab = /etc/krb5.keytab.production.example.com
      krb5_keytab = /etc/krb5.keytab.production.example.com
      ad_domain = production.example.com
      krb5_realm = PRODUCTION.EXAMPLE.COM
      access_provider = ad
      ...

검증 단계

  • Kerberos 티켓 생성 티켓(TGT)을 MSA로 검색할 수 있는지 확인합니다.

    [root@client ~]# kinit -k -t /etc/krb5.keytab.production.example.com 'CLIENT!S3A$'
    [root@client ~]# klist
    Ticket cache: KCM:0:54655
    Default principal: CLIENT!S3A$@PRODUCTION.EXAMPLE.COM
    
    Valid starting       Expires              Service principal
    11/22/2021 15:48:03  11/23/2021 15:48:03  krbtgt/PRODUCTION.EXAMPLE.COM@PRODUCTION.EXAMPLE.COM
  • AD에서 Managed Service Accounts Organizational Unit(OU)에 호스트에 대한 MSA가 있는지 확인합니다.