38장. RHEL 시스템 역할을 사용하여 RHEL 시스템을 Active Directory에 연결
조직에서 Microsoft AD(Active Directory)를 사용하여 사용자, 그룹 및 기타 리소스를 중앙에서 관리하는 경우 (RHEL) 호스트를 이 AD에 결합할 수 있습니다. ad_integration RHEL 시스템 역할을 사용하면 Red Hat Enterprise Linux 시스템을 AD(Active Directory) 도메인으로 통합을 자동화할 수 있습니다.
예를 들어 호스트가 AD에 가입되면 AD 사용자는 RHEL에 로그인하여 인증된 AD 사용자가 RHEL에서 서비스를 사용할 수 있도록 할 수 있습니다.
ad_integration 역할은 Red Hat Enterprise Linux 환경에서 IdM(Identity Management)이 없는 직접 AD 통합을 사용하는 배포용입니다. IdM 환경의 경우 ansible-freeipa 역할을 사용합니다.
ad_integration 시스템 역할은 ansible-freeipa 패키지에 포함되어 있지 않습니다. rhel-system-roles 패키지의 일부입니다. Red Hat Enterprise Linux Server 서브스크립션이 연결된 시스템에 rhel-system-roles 를 설치할 수 있습니다.
38.1. ad_integration RHEL 시스템 역할을 사용하여 RHEL을 Active Directory 도메인에 가입 링크 복사링크가 클립보드에 복사되었습니다!
ad_integration RHEL 시스템 역할을 배포하여 RHEL 호스트 등록을 Active Directory에 자동화합니다. 이 Ansible 워크플로는 암호화된 자격 증명을 사용하여 패키지 설치, 서비스 구성 및 보안 도메인을 처리합니다.
사전 요구 사항
- 컨트롤 노드와 관리형 노드를 준비했습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는 이러한 노드에 대한
sudo권한이 있습니다. - 관리형 노드는 AD DNS 항목을 확인할 수 있는 DNS 서버를 사용합니다.
- 컴퓨터에 도메인에 연결할 수 있는 권한이 있는 AD 계정의 자격 증명입니다.
필요한 포트가 열려 있는지 확인합니다.
절차
중요한 변수를 암호화된 파일에 저장합니다.
자격 증명 모음을 생성합니다.
$ ansible-vault create ~/vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>ansible-vault create명령이 편집기를 열고 <key > : < value> 형식으로 중요한 데이터를 입력합니다.usr: administrator pwd: <password>- 변경 사항을 저장하고 편집기를 종료합니다. Ansible은 자격 증명 모음의 데이터를 암호화합니다.
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.--- - name: Active Directory integration hosts: managed-node-01.example.com vars_files: - ~/vault.yml tasks: - name: Join an Active Directory ansible.builtin.include_role: name: redhat.rhel_system_roles.ad_integration vars: ad_integration_user: "{{ usr }}" ad_integration_password: "{{ pwd }}" ad_integration_realm: "ad.example.com" ad_integration_allow_rc4_crypto: false ad_integration_timesync_source: "time_server.ad.example.com"예제 플레이북에 지정된 설정은 다음과 같습니다.
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 ~/playbook.yml
검증
관리 노드에서 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