3장. RHEL 시스템 역할을 사용하여 RHEL 시스템을 Active Directory에 연결
조직에서 Microsoft AD(Active Directory)를 사용하여 사용자, 그룹 및 기타 리소스를 중앙에서 관리하는 경우 RHEL(Red Hat Enterprise Linux) 호스트를 이 AD에 결합할 수 있습니다. 예를 들어 AD 사용자는 RHEL에 로그인하여 RHEL 호스트에서 인증된 AD 사용자가 서비스를 사용할 수 있도록 할 수 있습니다. ad_integration RHEL 시스템 역할을 사용하면 Red Hat Enterprise Linux 시스템을 AD(Active Directory) 도메인으로 통합을 자동화할 수 있습니다.
ad_integration 역할은 IdM(Identity Management) 환경 없이 직접 AD 통합을 사용하는 배포용입니다. IdM 환경의 경우 ansible-freeipa 역할을 사용합니다.
3.1. ad_integration RHEL 시스템 역할을 사용하여 RHEL을 Active Directory 도메인에 가입 링크 복사링크가 클립보드에 복사되었습니다!
ad_integration RHEL 시스템 역할을 사용하여 RHEL을 AD(Active Directory) 도메인에 연결하는 프로세스를 자동화할 수 있습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다. - 관리형 노드는 AD DNS 항목을 확인할 수 있는 DNS 서버를 사용합니다.
- 컴퓨터에 도메인에 연결할 수 있는 권한이 있는 AD 계정의 자격 증명입니다.
관리형 노드는 다음 포트를 사용하여 AD 도메인 컨트롤러에 대한 연결을 설정할 수 있습니다.
Expand 소스 포트 대상 포트 프로토콜 서비스 1024 - 65535
53
UDP 및 TCP
DNS
1024 - 65535
389
UDP 및 TCP
LDAP
1024 - 65535
636
TCP
LDAPS
1024 - 65535
88
UDP 및 TCP
Kerberos
1024 - 65535
464
UDP 및 TCP
Kerberos 암호 변경 요청
1024 - 65535
3268
TCP
LDAP 글로벌 카탈로그
1024 - 65535
3269
TCP
LDAPS 글로벌 카탈로그
1024 - 65535
123
UDP
NTP(시간 동기화가 활성화된 경우)
1024 - 65535
323
UDP
NTP(시간 동기화가 활성화된 경우)
절차
중요한 변수를 암호화된 파일에 저장합니다.
자격 증명 모음을 생성합니다.
ansible-vault create vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>
$ ansible-vault create vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-vault create명령이 편집기를 열고 <key > : < value> 형식으로 중요한 데이터를 입력합니다.usr: administrator pwd: <password>
usr: administrator pwd: <password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 변경 사항을 저장하고 편집기를 종료합니다. Ansible은 자격 증명 모음의 데이터를 암호화합니다.
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
ad_integration_allow_rc4_crypto: <true|false>역할이 관리 노드에서
AD-SUPPORT암호화 정책을 활성화할지 여부를 구성합니다. 기본적으로 RHEL은 약한 RC4 암호화를 지원하지 않지만 AD의 Kerberos에 RC4가 필요한 경우ad_integration_allow_rc4_crypto: true를 설정하여 이 암호화 유형을 활성화할 수 있습니다.Kerberos에서 AES 암호화를 사용하는 경우 이 변수를 생략하거나
false로 설정합니다.ad_integration_timesync_source: <time_server>-
시간 동기화에 사용할 NTP 서버를 지정합니다. Kerberos는 재생 공격을 방지하기 위해 AD 도메인 컨트롤러 및 도메인 멤버 간에 동기화된 시간이 필요합니다. 이 변수를 생략하면
ad_integration역할은timesyncRHEL 시스템 역할을 활용하여 관리 노드에서 시간 동기화를 구성하지 않습니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.ad_integration/README.md파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
$ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook --ask-vault-pass ~/playbook.yml
$ ansible-playbook --ask-vault-pass ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
관리 노드에서 AD 사용자(
관리자)를 로컬로 사용할 수 있는지 확인합니다.ansible managed-node-01.example.com -m command -a 'getent passwd administrator@ad.example.com' administrator@ad.example.com:*:1450400500:1450400513:Administrator:/home/administrator@ad.example.com:/bin/bash
$ ansible managed-node-01.example.com -m command -a 'getent passwd administrator@ad.example.com' administrator@ad.example.com:*:1450400500:1450400513:Administrator:/home/administrator@ad.example.com:/bin/bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow