34.8. 신뢰 설정
명령줄을 사용하여 IdM 측에서 IdM(Identity Management)/Active Directory(AD) 신뢰를 구성할 수 있습니다.
사전 요구 사항
- DNS가 올바르게 구성되어 있습니다. IdM 및 AD 서버 모두 서로 다른 이름을 확인할 수 있어야 합니다. 자세한 내용은 신뢰의 DNS 및 영역 설정 구성을 참조하십시오.
- 지원되는 AD 및 IdM 버전이 배포됩니다. 자세한 내용은 지원되는 Windows Server 버전을 참조하십시오.
- Kerberos 티켓을 받았습니다. 자세한 내용은 kinit를 사용하여 IdM에 수동으로 로그인합니다.
34.8.1. 신뢰를 위한 IdM 서버 준비
AD로 신뢰를 설정하려면 IdM 서버에서 ipa-adtrust-install
유틸리티를 사용하여 IdM 도메인을 준비해야 합니다.
ipa-adtrust-install
명령을 자동으로 실행하는 시스템은 AD 신뢰 컨트롤러가 됩니다. 그러나 IdM 서버에서 ipa-adtrust-install
을 한 번만 실행해야 합니다.
사전 요구 사항
- IdM 서버가 설치되어 있어야 합니다.
- 패키지를 설치하고 IdM 서비스를 다시 시작할 수 있는 root 권한이 있습니다.
프로세스
필수 패키지를 설치합니다.
yum install ipa-server-trust-ad samba-client
[root@ipaserver ~]# yum install ipa-server-trust-ad samba-client
Copy to Clipboard Copied! IdM 관리자로 인증합니다.
kinit admin
[root@ipaserver ~]# kinit admin
Copy to Clipboard Copied! ipa-adtrust-install
유틸리티를 실행합니다.ipa-adtrust-install
[root@ipaserver ~]# ipa-adtrust-install
Copy to Clipboard Copied! IdM이 통합된 DNS 서버와 함께 설치된 경우 DNS 서비스 레코드가 자동으로 생성됩니다.
통합된 DNS 서버 없이 IdM을 설치한 경우,
ipa-adtrust-install
은 DNS에 수동으로 추가해야 하는 서비스 레코드 목록을 인쇄합니다.스크립트에서
/etc/samba/smb.conf
가 이미 존재하고 다시 작성됨을 묻는 메시지를 표시합니다.WARNING: The smb.conf already exists. Running ipa-adtrust-install will break your existing Samba configuration. Do you wish to continue? [no]: yes
WARNING: The smb.conf already exists. Running ipa-adtrust-install will break your existing Samba configuration. Do you wish to continue? [no]: yes
Copy to Clipboard Copied! 스크립트에서 이전 Linux 클라이언트가 신뢰할 수 있는 사용자로 작업할 수 있는 호환성 플러그인인
slapi-nis
플러그인을 구성하도록 프롬프트를 표시합니다.Do you want to enable support for trusted domains in Schema Compatibility plugin? This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users. Enable trusted domains support in slapi-nis? [no]: yes
Do you want to enable support for trusted domains in Schema Compatibility plugin? This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users. Enable trusted domains support in slapi-nis? [no]: yes
Copy to Clipboard Copied! 메시지가 표시되면 IdM 도메인의 NetBIOS 이름을 입력하거나 Enter 를 눌러 제안된 이름을 수락합니다.
Trust is configured but no NetBIOS domain name found, setting it now. Enter the NetBIOS name for the IPA domain. Only up to 15 uppercase ASCII letters, digits and dashes are allowed. Example: EXAMPLE. NetBIOS domain name [IDM]:
Trust is configured but no NetBIOS domain name found, setting it now. Enter the NetBIOS name for the IPA domain. Only up to 15 uppercase ASCII letters, digits and dashes are allowed. Example: EXAMPLE. NetBIOS domain name [IDM]:
Copy to Clipboard Copied! SID 생성 작업을 실행하여 기존 사용자의 SID를 생성하라는 메시지가 표시됩니다.
Do you want to run the ipa-sidgen task? [no]: yes
Do you want to run the ipa-sidgen task? [no]: yes
Copy to Clipboard Copied! 이는 리소스 집약적인 작업이므로 사용자가 많은 경우 한 번에 이 작업을 실행할 수 있습니다.
선택 사항: 기본적으로 Dynamic RPC 포트 범위는 Windows Server 2008 이상에서는
49152-65535
로 정의됩니다. 환경에 대해 다른 Dynamic RPC 포트 범위를 정의해야 하는 경우 다른 포트를 사용하도록 Samba를 구성하고 방화벽 설정에서 해당 포트를 엽니다. 다음 예제에서는 포트 범위를55000-65000
으로 설정합니다.net conf setparm global 'rpc server dynamic port range' 55000-65000 firewall-cmd --add-port=55000-65000/tcp firewall-cmd --runtime-to-permanent
[root@ipaserver ~]# net conf setparm global 'rpc server dynamic port range' 55000-65000 [root@ipaserver ~]# firewall-cmd --add-port=55000-65000/tcp [root@ipaserver ~]# firewall-cmd --runtime-to-permanent
Copy to Clipboard Copied! 신뢰의 DNS 구성 확인에 설명된 대로 DNS가 올바르게 구성되었는지 확인합니다.
중요ipa-ad trust-install 을 실행한 후 특히 IdM 또는 AD가 통합 DNS 서버를 사용하지 않는 경우 항상 신뢰의 DNS 구성 확인에
설명된 대로 DNS 구성을 확인하는 것이 좋습니다.ipa
서비스를 다시 시작하십시오.ipactl restart
[root@ipaserver ~]# ipactl restart
Copy to Clipboard Copied! smbclient
유틸리티를 사용하여 Samba가 IdM 측에서 Kerberos 인증에 응답하는지 확인합니다.smbclient -L ipaserver.idm.example.com -U user_name --use-kerberos=required
[root@ipaserver ~]# smbclient -L ipaserver.idm.example.com -U user_name --use-kerberos=required lp_load_ex: changing to config backend registry Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (Samba 4.15.2) ...
Copy to Clipboard Copied!
34.8.2. 명령줄을 사용하여 신뢰 계약 설정
명령줄을 사용하여 신뢰 계약을 설정할 수 있습니다. IdM(Identity Management) 서버를 사용하면 다음 세 가지 유형의 신뢰 계약을 구성할 수 있습니다.
- 단방향 신뢰 Cryostat - Cryostat 기본 옵션. 단방향 신뢰를 사용하면 AD(Active Directory) 사용자와 그룹이 IdM의 리소스에 액세스할 수 있지만 다른 방식으로는 액세스할 수 없습니다. IdM 도메인은 AD 포리스트를 신뢰하지만 AD 포리스트는 IdM 도메인을 신뢰하지 않습니다.
양방향 신뢰 Cryostat - CryostatTwo-way 신뢰를 사용하면 AD 사용자 및 그룹이 IdM의 리소스에 액세스할 수 있습니다.
신뢰할 수 있도록
S4U2Self
및S4U2Proxy
Microsoft 확장 기능을 예상되는 Microsoft SQL Server와 같은 솔루션에 대한 양방향 신뢰를 구성해야 합니다. RHEL IdM 호스트의 애플리케이션은 AD 사용자에 대한 Active Directory 도메인 컨트롤러에서S4U2Self
또는S4U2Proxy
정보를 요청할 수 있으며 양방향 신뢰에서는 이 기능을 제공합니다.이 양방향 신뢰 기능은 IdM 사용자가 Windows 시스템에 로그인하는 것을 허용하지 않으며 IdM의 양방향 신뢰는 사용자에게 AD의 단방향 신뢰 솔루션에 비해 추가 권한을 부여하지 않습니다.
-
양방향 신뢰를 생성하려면 명령에
--two-way=true
옵션을 추가합니다.
-
양방향 신뢰를 생성하려면 명령에
외부 신뢰 - 다른 포리스트의 IdM과 AD 도메인 간의 신뢰 관계입니다. 포리스트 신뢰는 항상 IdM과 Active Directory 포리스트의 루트 도메인 간의 신뢰를 설정해야 하지만 IdM에서 포리스트 내의 도메인으로 외부 신뢰를 설정할 수 있습니다. 이는 관리 또는 조직상의 이유로 포리스트 루트 도메인 간의 포리스트 신뢰를 설정할 수 없는 경우에만 권장됩니다.
-
외부 신뢰를 생성하려면 명령에
--external=true
옵션을 추가합니다.
-
외부 신뢰를 생성하려면 명령에
아래 단계에서는 단방향 신뢰 계약을 생성하는 방법을 보여줍니다.
사전 요구 사항
- Windows 관리자의 사용자 이름 및 암호입니다.
- 신뢰를 위해 IdM 서버를 준비했습니다.
프로세스
ipa trust-add
명령을 사용하여 AD 도메인 및 IdM 도메인에 대한 신뢰 계약을 생성합니다.SSSD가 SID를 기반으로 AD 사용자의 UID 및 GID를 자동으로 생성하도록 하려면
Active Directory 도메인
ID 범위 유형을 사용하여 신뢰 계약을 생성합니다. 가장 일반적인 구성입니다.ipa trust-add --type=ad ad.example.com --admin <ad_admin_username> --password --range-type=ipa-ad-trust
[root@server ~]# ipa trust-add --type=ad ad.example.com --admin <ad_admin_username> --password --range-type=ipa-ad-trust
Copy to Clipboard Copied! Active Directory에서 사용자에 대해 POSIX 특성(예:
uidNumber
및gidNumber
)을 구성하고 SSSD가 이 정보를 처리하려면POSIX 속성 ID 범위 유형을 사용하여 Active Directory 도메인과
의 신뢰 계약을 생성합니다.ipa trust-add --type=ad ad.example.com --admin <ad_admin_username> --password --range-type=ipa-ad-trust-posix
[root@server ~]# ipa trust-add --type=ad ad.example.com --admin <ad_admin_username> --password --range-type=ipa-ad-trust-posix
Copy to Clipboard Copied!
신뢰를 생성할 때 ID 범위 유형을 지정하지 않으면 IdM은 포리스트 루트 도메인의 AD 도메인 컨트롤러에서 세부 정보를 요청하여 적절한 범위 유형을 자동으로 선택합니다. IdM이 POSIX 속성을 탐지하지 않으면 신뢰 설치 스크립트에서 Active Directory 도메인
ID 범위를 선택합니다.
IdM이 포리스트 루트 도메인의 POSIX 속성을 감지하면 신뢰 설치 스크립트는 POSIX 속성 ID 범위를 사용하여 Active Directory 도메인
을 선택하고 UID 및 GID가 AD에 올바르게 정의되어 있다고 가정합니다. AD에서 POSIX 속성이 올바르게 설정되지 않은 경우 AD 사용자를 확인할 수 없습니다.
예를 들어 IdM 시스템에 액세스해야 하는 사용자 및 그룹이 포리스트 루트 도메인의 일부가 아니라 포리스트 도메인의 하위 도메인에 있는 경우 설치 스크립트가 하위 AD 도메인에 정의된 POSIX 특성을 감지하지 못할 수 있습니다. 이 경우 신뢰를 설정할 때 POSIX ID 범위 유형을 명시적으로 선택합니다.
34.8.3. IdM 웹 UI에서 신뢰 계약 설정
IdM 웹 UI를 사용하여 IdM 측에서 IdM(Identity Management)/Active Directory(AD) 신뢰 계약을 구성할 수 있습니다.
사전 요구 사항
- DNS가 올바르게 구성되어 있습니다. IdM 및 AD 서버 모두 서로 다른 이름을 확인할 수 있어야 합니다.
- 지원되는 AD 및 IdM 버전이 배포됩니다.
- Kerberos 티켓을 받았습니다.
- 웹 UI에서 신뢰를 생성하기 전에 다음에 설명된 대로 신뢰할 수 있도록 IdM 서버를 준비합니다. 신뢰를 위해 IdM 서버 준비.
- IdM 관리자로 로그인되어 있습니다. 자세한 내용은 웹 브라우저에서 IdM 웹 UI 액세스를 참조하십시오.
프로세스
- IdM 웹 UI에서 IPA 서버 탭을 클릭합니다.
- IPA 서버 탭에서 신뢰 탭을 클릭합니다.
드롭다운 메뉴에서 Trusts 옵션을 선택합니다.
- Add 버튼을 클릭합니다.
- 신뢰 추가 대화 상자에서 Active Directory 도메인의 이름을 입력합니다.
계정 및 암호 필드에서 Active Directory 관리자의 관리자 자격 증명을 추가합니다.
- 선택 사항: AD 사용자 및 그룹이 IdM의 리소스에 액세스할 수 있도록 하려면 양방향 신뢰 를 선택합니다. 그러나 IdM의 양방향 신뢰는 AD의 단방향 신뢰 솔루션과 비교하여 사용자에게 추가 권한을 부여하지 않습니다. 두 솔루션 모두 기본 교차 포리스트 신뢰 SID 필터링 설정으로 인해 동일하게 안전한 것으로 간주됩니다.Two solutions are considered equally secure because of default cross-forest trust SID filtering settings.
- 선택 사항: AD 포리스트의 루트 도메인이 아닌 AD 도메인의 신뢰를 구성하는 경우 외부 신뢰를 선택합니다. 포리스트 신뢰에는 항상 IdM과 Active Directory 포리스트의 루트 도메인 간의 신뢰가 필요하지만, IdM에서 AD 포리스트 내의 모든 도메인에 대한 외부 신뢰를 설정할 수 있습니다.
선택 사항: 기본적으로 신뢰 설치 스크립트는 적절한 ID 범위 유형을 검색하려고 합니다. 다음 옵션 중 하나를 선택하여 ID 범위 유형을 명시적으로 설정할 수도 있습니다.
-
SSSD가 SID를 기반으로 AD 사용자의 UID 및 GID를 자동으로 생성하도록 하려면
Active Directory 도메인
ID 범위 유형을 선택합니다. 가장 일반적인 구성입니다. Active Directory에서 사용자에 대한 POSIX 속성(예:
uidNumber
및gidNumber
)을 구성하고 SSSD가 이 정보를 처리하려면POSIX 속성 ID 범위 유형으로 Active Directory 도메인
을 선택합니다.주의기본
Detect
옵션에 Range 유형 설정을 그대로 두면 IdM은 포리스트 루트 도메인의 AD 도메인 컨트롤러에서 세부 정보를 요청하여 적절한 범위 유형을 자동으로 선택합니다. IdM이 POSIX 속성을 탐지하지 않으면 신뢰 설치 스크립트에서Active Directory 도메인
ID 범위를 선택합니다.IdM이 포리스트 루트 도메인의 POSIX 속성을 감지하면 신뢰 설치 스크립트는
POSIX 속성 ID 범위를 사용하여 Active Directory 도메인
을 선택하고 UID 및 GID가 AD에 올바르게 정의되어 있다고 가정합니다. AD에서 POSIX 속성이 올바르게 설정되지 않은 경우 AD 사용자를 확인할 수 없습니다.예를 들어 IdM 시스템에 액세스해야 하는 사용자 및 그룹이 포리스트 루트 도메인의 일부가 아니라 포리스트 도메인의 하위 도메인에 있는 경우 설치 스크립트가 하위 AD 도메인에 정의된 POSIX 특성을 감지하지 못할 수 있습니다. 이 경우 신뢰를 설정할 때 POSIX ID 범위 유형을 명시적으로 선택합니다.
-
SSSD가 SID를 기반으로 AD 사용자의 UID 및 GID를 자동으로 생성하도록 하려면
- 추가를 클릭합니다.
검증
신뢰가 IdM 서버에 성공적으로 추가되면 IdM 웹 UI에 녹색 팝업 창이 표시됩니다. 즉, 다음을 의미합니다.
- 도메인 이름이 있음
Windows Server의 사용자 이름 및 암호가 올바르게 추가되었습니다.
이제 신뢰 연결 및 Kerberos 인증을 계속 테스트할 수 있습니다.
34.8.4. Ansible을 사용하여 신뢰 계약 설정
Ansible 플레이북을 사용하여 IdM(Identity Management)과 AD(Active Directory) 간에 단방향 신뢰 계약을 설정할 수 있습니다. 신뢰 계약 세 가지 유형을 구성할 수 있습니다.
- 단방향 신뢰 Cryostat - Cryostat 기본 옵션. 단방향 신뢰를 사용하면 AD(Active Directory) 사용자와 그룹이 IdM의 리소스에 액세스할 수 있지만 다른 방식으로는 액세스할 수 없습니다. IdM 도메인은 AD 포리스트를 신뢰하지만 AD 포리스트는 IdM 도메인을 신뢰하지 않습니다.
양방향 신뢰 Cryostat - CryostatTwo-way 신뢰를 사용하면 AD 사용자 및 그룹이 IdM의 리소스에 액세스할 수 있습니다.
신뢰할 수 있도록
S4U2Self
및S4U2Proxy
Microsoft 확장 기능을 예상되는 Microsoft SQL Server와 같은 솔루션에 대한 양방향 신뢰를 구성해야 합니다. RHEL IdM 호스트의 애플리케이션은 AD 사용자에 대한 Active Directory 도메인 컨트롤러에서S4U2Self
또는S4U2Proxy
정보를 요청할 수 있으며 양방향 신뢰에서는 이 기능을 제공합니다.이 양방향 신뢰 기능은 IdM 사용자가 Windows 시스템에 로그인하는 것을 허용하지 않으며 IdM의 양방향 신뢰는 사용자에게 AD의 단방향 신뢰 솔루션에 비해 추가 권한을 부여하지 않습니다.
-
양방향 신뢰( two-way trust)를 생성하려면 아래 플레이북 작업에 다음 변수를 추가합니다.
two_way: true
-
양방향 신뢰( two-way trust)를 생성하려면 아래 플레이북 작업에 다음 변수를 추가합니다.
외부 신뢰 - 다른 포리스트의 IdM과 AD 도메인 간의 신뢰 관계입니다. 포리스트 신뢰는 항상 IdM과 Active Directory 포리스트의 루트 도메인 간의 신뢰를 설정해야 하지만 IdM에서 포리스트 내의 도메인으로 외부 신뢰를 설정할 수 있습니다. 이는 관리 또는 조직상의 이유로 포리스트 루트 도메인 간의 포리스트 신뢰를 설정할 수 없는 경우에만 권장됩니다.
-
외부 신뢰를 생성하려면
external: true
아래의 플레이북 작업에 다음 변수를 추가합니다.
-
외부 신뢰를 생성하려면
사전 요구 사항
- Windows 관리자의 사용자 이름 및 암호입니다.
-
IdM
관리자
암호입니다. - 신뢰를 위해 IdM 서버를 준비했습니다.
-
IdM의 4.8.7 버전을 사용하고 있습니다. 서버에 설치한 IdM 버전을 보려면
ipa --version
을 실행합니다. 다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.13 이상을 사용하고 있습니다.
-
ansible-freeipa
패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybooks/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible vault가
ipaadmin_password
를 저장한다고 가정합니다.
-
ansible-freeipa
모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
프로세스
~/MyPlaybooks/ 디렉터리로 이동합니다.
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/
Copy to Clipboard Copied! 사용 사례에 따라 다음 시나리오 중 하나를 선택합니다.
SSSD가 SID를 기반으로 AD 사용자 및 그룹에 대한 UID 및 GID를 자동으로 생성하는 ID 매핑 신뢰 계약을 생성하려면 다음 콘텐츠를 사용하여
add-trust.yml
플레이북을 생성합니다.--- - name: Playbook to create a trust hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: ensure the trust is present ipatrust: ipaadmin_password: "{{ ipaadmin_password }}" realm: ad.example.com admin: Administrator password: secret_password state: present
--- - name: Playbook to create a trust hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: ensure the trust is present ipatrust: ipaadmin_password: "{{ ipaadmin_password }}" realm: ad.example.com admin: Administrator password: secret_password state: present
Copy to Clipboard Copied! 예에서는 다음을 수행합니다.
-
realm
은 AD 영역 이름 문자열을 정의합니다. -
admin
은 AD 도메인 관리자 문자열을 정의합니다. -
password
는 AD 도메인 관리자의 암호 문자열을 정의합니다.
-
SSSD가
uidNumber
및gidNumber
와 같이 AD에 저장된 POSIX 자격 증명을 처리하는 POSIX 신뢰 계약을 생성하려면 다음 콘텐츠를 사용하여add-trust.yml
플레이북을 생성합니다.--- - name: Playbook to create a trust hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: ensure the trust is present ipatrust: ipaadmin_password: "{{ ipaadmin_password }}" realm: ad.example.com admin: Administrator password: secret_password range_type: ipa-ad-trust-posix state: present
--- - name: Playbook to create a trust hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: ensure the trust is present ipatrust: ipaadmin_password: "{{ ipaadmin_password }}" realm: ad.example.com admin: Administrator password: secret_password range_type: ipa-ad-trust-posix state: present
Copy to Clipboard Copied! IdM이 포리스트 루트 도메인의 AD 도메인 컨트롤러에서 세부 정보를 요청하여 IdM이 적절한 범위 유형
ipa-ad-trust
-posixadd-trust.yml
플레이북을 생성합니다.--- - name: Playbook to create a trust hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: ensure the trust is present ipatrust: ipaadmin_password: "{{ ipaadmin_password }}" realm: ad.example.com admin: Administrator password: secret_password state: present
--- - name: Playbook to create a trust hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: ensure the trust is present ipatrust: ipaadmin_password: "{{ ipaadmin_password }}" realm: ad.example.com admin: Administrator password: secret_password state: present
Copy to Clipboard Copied!
주의신뢰를 생성할 때 ID 범위 유형을 지정하지 않고 IdM이 AD 포리스트 루트 도메인에서 POSIX 특성을 탐지하지 않으면 신뢰 설치 스크립트에서
Active Directory 도메인
ID 범위를 선택합니다.IdM이 포리스트 루트 도메인의 POSIX 속성을 감지하면 신뢰 설치 스크립트는
POSIX 속성 ID 범위를 사용하여 Active Directory 도메인
을 선택하고 UID 및 GID가 AD에 올바르게 정의되어 있다고 가정합니다.그러나 AD에서 POSIX 속성이 올바르게 설정되지 않은 경우 AD 사용자를 확인할 수 없습니다. 예를 들어 IdM 시스템에 액세스해야 하는 사용자 및 그룹이 포리스트 루트 도메인의 일부가 아니라 포리스트 도메인의 하위 도메인에 있는 경우 설치 스크립트가 하위 AD 도메인에 정의된 POSIX 특성을 감지하지 못할 수 있습니다. 이 경우 신뢰를 설정할 때 POSIX ID 범위 유형을 명시적으로 선택합니다.
- 파일을 저장합니다.
Ansible 플레이북을 실행합니다. 플레이북 파일을 지정하고 secret.yml 파일을 보호하는 암호를 저장하는 파일 및 인벤토리 파일을 지정합니다.
ansible-playbook --vault-password-file=password_file -v -i inventory add-trust.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory add-trust.yml
Copy to Clipboard Copied!
34.8.5. Kerberos 구성 확인
Kerberos 구성을 확인하려면 IdM(Identity Management) 사용자의 티켓을 받을 수 있는지 테스트하고 IdM 사용자가 서비스 티켓을 요청할 수 있는지 테스트합니다.
프로세스
AD(Active Directory) 사용자에 대한 티켓을 요청합니다.
kinit user@AD.EXAMPLE.COM
[root@ipaserver ~]# kinit user@AD.EXAMPLE.COM
Copy to Clipboard Copied! IdM 도메인 내에서 서비스의 서비스 티켓을 요청합니다.
kvno -S host server.idm.example.com
[root@server ~]# kvno -S host server.idm.example.com
Copy to Clipboard Copied! AD 서비스 티켓이 성공적으로 부여되면 다른 모든 요청된 티켓과 함께 TGT(cross-realm ticket-granting ticket)가 나열됩니다. TGT의 이름은 krbtgt/IPA.DOMAIN@AD.DOMAIN입니다.
klist
[root@server ]# klist
Ticket cache: KEYRING:persistent:0:krb_ccache_hRtox00
Default principal: user@AD.EXAMPLE.COM
Valid starting Expires Service principal
03.05.2016 18:31:06 04.05.2016 04:31:01 host/server.idm.example.com@IDM.EXAMPLE.COM
renew until 04.05.2016 18:31:00
03.05.2016 18:31:06 04.05.2016 04:31:01 krbtgt/IDM.EXAMPLE.COM@AD.EXAMPLE.COM
renew until 04.05.2016 18:31:00
03.05.2016 18:31:01 04.05.2016 04:31:01 krbtgt/AD.EXAMPLE.COM@AD.EXAMPLE.COM
renew until 04.05.2016 18:31:00
localauth
플러그인은 Kerberos 주체를 SSSD(System Security Services Daemon) 사용자 이름에 매핑합니다. 이를 통해 AD 사용자는 Kerberos 인증을 사용하고 GSSAPI 인증을 직접 지원하는 Linux 서비스에 액세스할 수 있습니다.
34.8.6. IdM의 신뢰 구성 확인
신뢰를 구성하기 전에 IdM(Identity Management) 및 AD(Active Directory) 서버가 서로 문제를 해결할 수 있는지 확인합니다.
사전 요구 사항
- 관리자 권한으로 로그인해야 합니다.
프로세스
TCP 서비스 레코드를 통해 UDP 및 LDAP를 통해 MS DC Kerberos에 대한 DNS 쿼리를 실행합니다.
dig +short -t SRV _kerberos._udp.dc._msdcs.idm.example.com. dig +short -t SRV _ldap._tcp.dc._msdcs.idm.example.com.
[root@server ~]# dig +short -t SRV _kerberos._udp.dc._msdcs.idm.example.com. 0 100 88 server.idm.example.com. [root@server ~]# dig +short -t SRV _ldap._tcp.dc._msdcs.idm.example.com. 0 100 389 server.idm.example.com.
Copy to Clipboard Copied! 이러한 명령은
ipa-adtrust-install
이 실행된 모든 IdM 서버를 나열합니다.ipa-adtrust-install
이 IdM 서버에서 실행되지 않은 경우 일반적으로 첫 번째 신뢰 관계를 설정하기 전에 출력이 비어 있습니다.TCP 서비스 레코드를 통해 Kerberos 및 LDAP에 대한 DNS 쿼리를 실행하여 IdM이 AD의 서비스 레코드를 확인할 수 있는지 확인합니다.
dig +short -t SRV _kerberos._tcp.dc._msdcs.ad.example.com. dig +short -t SRV _ldap._tcp.dc._msdcs.ad.example.com.
[root@server ~]# dig +short -t SRV _kerberos._tcp.dc._msdcs.ad.example.com. 0 100 88 addc1.ad.example.com. [root@ipaserver ~]# dig +short -t SRV _ldap._tcp.dc._msdcs.ad.example.com. 0 100 389 addc1.ad.example.com.
Copy to Clipboard Copied!
34.8.7. AD의 신뢰 구성 확인
신뢰를 구성한 후 다음을 확인합니다.
- IdM(Identity Management) 호스팅 서비스는 AD(Active Directory) 서버에서 확인할 수 있습니다.
- AD 서비스는 AD 서버에서 확인할 수 있습니다.
사전 요구 사항
- 관리자 권한으로 로그인해야 합니다.
프로세스
AD 서버에서
nslookup.exe
유틸리티를 설정하여 서비스 레코드를 조회합니다.C:\>nslookup.exe > set type=SRV
C:\>nslookup.exe > set type=SRV
Copy to Clipboard Copied! TCP 서비스 레코드를 통해 UDP 및 LDAP를 통한 Kerberos의 도메인 이름을 입력합니다.
> _kerberos._udp.idm.example.com. _kerberos._udp.idm.example.com. SRV service location: priority = 0 weight = 100 port = 88 svr hostname = server.idm.example.com > _ldap._tcp.idm.example.com _ldap._tcp.idm.example.com SRV service location: priority = 0 weight = 100 port = 389 svr hostname = server.idm.example.com
> _kerberos._udp.idm.example.com. _kerberos._udp.idm.example.com. SRV service location: priority = 0 weight = 100 port = 88 svr hostname = server.idm.example.com > _ldap._tcp.idm.example.com _ldap._tcp.idm.example.com SRV service location: priority = 0 weight = 100 port = 389 svr hostname = server.idm.example.com
Copy to Clipboard Copied! 서비스 유형을 TXT로 변경하고 IdM Kerberos 영역 이름을 사용하여 TXT 레코드에 대한 DNS 쿼리를 실행합니다.
C:\>nslookup.exe > set type=TXT > _kerberos.idm.example.com. _kerberos.idm.example.com. text = "IDM.EXAMPLE.COM"
C:\>nslookup.exe > set type=TXT > _kerberos.idm.example.com. _kerberos.idm.example.com. text = "IDM.EXAMPLE.COM"
Copy to Clipboard Copied! TCP 서비스 레코드를 통해 UDP 및 LDAP를 통해 MS DC Kerberos에 대한 DNS 쿼리를 실행합니다.
C:\>nslookup.exe > set type=SRV > _kerberos._udp.dc._msdcs.idm.example.com. _kerberos._udp.dc._msdcs.idm.example.com. SRV service location: priority = 0 weight = 100 port = 88 svr hostname = server.idm.example.com > _ldap._tcp.dc._msdcs.idm.example.com. _ldap._tcp.dc._msdcs.idm.example.com. SRV service location: priority = 0 weight = 100 port = 389 svr hostname = server.idm.example.com
C:\>nslookup.exe > set type=SRV > _kerberos._udp.dc._msdcs.idm.example.com. _kerberos._udp.dc._msdcs.idm.example.com. SRV service location: priority = 0 weight = 100 port = 88 svr hostname = server.idm.example.com > _ldap._tcp.dc._msdcs.idm.example.com. _ldap._tcp.dc._msdcs.idm.example.com. SRV service location: priority = 0 weight = 100 port = 389 svr hostname = server.idm.example.com
Copy to Clipboard Copied! Active Directory는 다른 AD 도메인 컨트롤러 및 IdM 신뢰 컨트롤러와 같은 AD별 프로토콜 요청에 응답할 수 있는 도메인 컨트롤러만 검색하려고 합니다.
ipa-adtrust-install
툴을 사용하여 IdM 서버를 신뢰 컨트롤러로 승격하고ipa server-role-find --role 'AD trust controller'
명령을 사용하여 컨트롤러를 신뢰하는 서버를 확인할 수 있습니다.AD 서버에서 AD 서비스를 확인할 수 있는지 확인합니다.
C:\>nslookup.exe > set type=SRV
C:\>nslookup.exe > set type=SRV
Copy to Clipboard Copied! TCP 서비스 레코드를 통해 UDP 및 LDAP를 통한 Kerberos의 도메인 이름을 입력합니다.
> _kerberos._udp.dc._msdcs.ad.example.com. _kerberos._udp.dc._msdcs.ad.example.com. SRV service location: priority = 0 weight = 100 port = 88 svr hostname = addc1.ad.example.com > _ldap._tcp.dc._msdcs.ad.example.com. _ldap._tcp.dc._msdcs.ad.example.com. SRV service location: priority = 0 weight = 100 port = 389 svr hostname = addc1.ad.example.com
> _kerberos._udp.dc._msdcs.ad.example.com. _kerberos._udp.dc._msdcs.ad.example.com. SRV service location: priority = 0 weight = 100 port = 88 svr hostname = addc1.ad.example.com > _ldap._tcp.dc._msdcs.ad.example.com. _ldap._tcp.dc._msdcs.ad.example.com. SRV service location: priority = 0 weight = 100 port = 389 svr hostname = addc1.ad.example.com
Copy to Clipboard Copied!
34.8.8. 신뢰 에이전트 생성
신뢰 에이전트는 AD 도메인 컨트롤러에 대해 ID 조회를 수행할 수 있는 IdM 서버입니다.
예를 들어 Active Directory에 대한 신뢰가 있는 IdM 서버의 복제본을 생성하는 경우 복제본을 신뢰 에이전트로 설정할 수 있습니다. 복제본에 AD 신뢰 에이전트 역할이 자동으로 설치되지 않습니다.
사전 요구 사항
- IdM은 Active Directory 신뢰와 함께 설치됩니다.
-
sssd-tools
패키지가 설치되어 있습니다.
프로세스
기존 신뢰 컨트롤러에서
ipa-adtrust-install --add-agents
명령을 실행합니다.ipa-adtrust-install --add-agents
[root@existing_trust_controller]# ipa-adtrust-install --add-agents
Copy to Clipboard Copied! 명령은 대화형 구성 세션을 시작하고 에이전트를 설정하는 데 필요한 정보를 입력하라는 메시지를 표시합니다.
신뢰 에이전트에서 IdM 서비스를 다시 시작합니다.
ipactl restart
[root@new_trust_agent]# ipactl restart
Copy to Clipboard Copied! 신뢰 에이전트의 SSSD 캐시에서 모든 항목을 제거합니다.
sssctl cache-remove
[root@new_trust_agent]# sssctl cache-remove
Copy to Clipboard Copied! 복제본에 AD 신뢰 에이전트 역할이 설치되어 있는지 확인합니다.
ipa server-show new_replica.idm.example.com
[root@existing_trust_controller]# ipa server-show new_replica.idm.example.com ... Enabled server roles: CA server, NTP server, AD trust agent
Copy to Clipboard Copied!
34.8.9. CLI에서 POSIX ID 범위에 대한 자동 개인 그룹 매핑 활성화
AD에 저장된 POSIX 데이터에 의존하는 POSIX 신뢰를 설정한 경우 기본적으로 SSSD는 AD(Active Directory) 사용자에 대한 프라이빗 그룹을 매핑하지 않습니다. AD 사용자에게 기본 그룹이 구성되지 않은 경우 IdM은 이를 확인할 수 없습니다.
다음 절차에서는 명령줄에서 auto_private_groups
SSSD 매개변수의 하이브리드
옵션을 설정하여 ID 범위에 대해 자동 개인 그룹 매핑을 활성화하는 방법을 설명합니다. 결과적으로 IdM은 AD에 기본 그룹이 구성되지 않은 AD 사용자를 확인할 수 있습니다.
사전 요구 사항
- IdM과 AD 환경 간에 POSIX 교차 포리스트 신뢰를 성공적으로 설정했습니다.
프로세스
모든 ID 범위를 표시하고 수정할 AD ID 범위를 기록합니다.
ipa idrange-find
[root@server ~]# ipa idrange-find ---------------- 2 ranges matched ---------------- Range name: IDM.EXAMPLE.COM_id_range First Posix ID of the range: 882200000 Number of IDs in the range: 200000 Range type: local domain range Range name: AD.EXAMPLE.COM_id_range First Posix ID of the range: 1337000000 Number of IDs in the range: 200000 Domain SID of the trusted domain: S-1-5-21-4123312420-990666102-3578675309 Range type: Active Directory trust range with POSIX attributes ---------------------------- Number of entries returned 2 ----------------------------
Copy to Clipboard Copied! ipa idrange-mod
명령을 사용하여 AD ID 범위에 대한 자동 개인 그룹 동작을 조정합니다.ipa idrange-mod --auto-private-groups=hybrid AD.EXAMPLE.COM_id_range
[root@server ~]# ipa idrange-mod --auto-private-groups=hybrid AD.EXAMPLE.COM_id_range
Copy to Clipboard Copied! 새 설정을 사용하도록 SSSD 캐시를 재설정합니다.
sss_cache -E
[root@server ~]# sss_cache -E
Copy to Clipboard Copied!
34.8.10. IdM WebUI에서 POSIX ID 범위에 대한 자동 개인 그룹 매핑 활성화
기본적으로 SSSD는 AD에 저장된 POSIX 데이터에 의존하는 POSIX 신뢰를 설정한 경우 AD(Active Directory) 사용자를 위해 개인 그룹을 매핑하지 않습니다. AD 사용자에게 기본 그룹이 구성되어 있지 않은 경우 IdM을 확인할 수 없습니다.
이 절차에서는 IdM(Identity Management) WebUI에서 auto_private_groups
SSSD 매개변수에 대한 하이브리드
옵션을 설정하여 ID 범위에 대한 자동 개인 그룹 매핑을 활성화하는 방법을 설명합니다. 결과적으로 IdM은 AD에 기본 그룹이 구성되지 않은 AD 사용자를 확인할 수 있습니다.
사전 요구 사항
- IdM과 AD 환경 간에 POSIX 교차 검색을 성공적으로 설정했습니다.
절차
- 사용자 이름 및 암호를 사용하여 IdM 웹 UI에 로그인합니다.
-
IPA 서버
ID 범위 탭을 엽니다. -
AD.EXAMPLE.COM_id_range
와 같이 수정할 ID 범위를 선택합니다. 자동 개인 그룹 드롭다운 메뉴에서
하이브리드
옵션을 선택합니다.- 저장 버튼을 클릭하여 변경 사항을 저장합니다.