검색

9.4. Ansible을 사용하여 신뢰 계약 설정

download PDF

Ansible 플레이북을 사용하여 IdM(Identity Management)과 AD(Active Directory) 간에 단방향 신뢰 계약을 설정하려면 다음 절차를 따르십시오. 다음과 같은 세 가지 유형의 트러스트 계약을 구성할 수 있습니다.

  • One-way trust expects. 단방향 신뢰로 인해 AD(Active Directory) 사용자 및 그룹이 IdM의 리소스에 액세스할 수 있지만 다른 방법은 액세스할 수 없습니다. IdM 도메인은 AD 포리스트를 신뢰하지만 AD 포리스트에서는 IdM 도메인을 신뢰하지 않습니다.
  • 양방향 trust expect: Two- way trust를 통해 AD 사용자 및 그룹이 IdM의 리소스에 액세스할 수 있습니다.

    S4U2Self 및 S4U2 Proxy 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 관리자 암호입니다.
  • 신뢰를 위해 IdM 서버를 준비했습니다.
  • 4.8.7 버전의 IdM을 사용하고 있습니다. 서버에 설치한 IdM 버전을 보려면 ipa --version 를 실행합니다.
  • 다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.

    • Ansible 버전 2.14 이상을 사용하고 있습니다.
    • Ansible 컨트롤러에 ansible-freeipa 패키지가 설치되어 있습니다.
    • 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 정규화된 도메인 이름(FQDN)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
    • 이 예제에서는 secret.yml Ansible 자격 증명 모음이 ipaadmin_password 를 저장하는 것으로 가정합니다.
  • ansible-freeipa 모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.

절차

  1. ~/MyPlaybooks/ 디렉터리로 이동합니다.

    $ cd ~/MyPlaybooks/
  2. 사용 사례에 따라 다음 시나리오 중 하나를 선택합니다.

    • ID 매핑 신뢰 계약을 생성하려면 SSSD에서 libc를 기반으로 AD 사용자 및 그룹의 UID 및 GID를 자동으로 생성하는 경우 다음 콘텐츠를 사용하여 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
              state: present

      예에서는 다음을 수행합니다.

      • realm 은 AD 영역 이름 문자열을 정의합니다.
      • admin 은 AD 도메인 관리자 문자열을 정의합니다.
      • password 는 AD 도메인 관리자의 암호 문자열을 정의합니다.
    • POSIX 신뢰 계약을 만들려면 SSSD에서 AD에 저장된 POSIX 속성(예: uidNumbergidNumber )을 처리하는 경우 다음 콘텐츠를 사용하여 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
    • VirtIO 루트 도메인의 AD 도메인 컨트롤러에서 다음 콘텐츠를 사용하여 세부 정보를 요청하여 IdM에서 적절한 범위 유형, ipa-ad-trust 또는 ipa-ad-trust-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
              state: present
    주의

    신뢰를 생성할 때 ID 범위 유형을 지정하지 않고 IdM에서 AD forest 루트 도메인의 POSIX 속성을 검색하지 않으면 신뢰 설치 스크립트에서 Active Directory 도메인 ID 범위를 선택합니다.

    IdM이 포리스트 루트 도메인에서 POSIX 속성을 감지하면 신뢰 설치 스크립트에서 POSIX 속성 ID 범위가 있는 Active Directory 도메인 을 선택하고 UID 및 GID가 AD에 올바르게 정의되어 있다고 가정합니다.

    그러나 POSIX 속성이 AD에서 올바르게 설정되지 않으면 AD 사용자를 확인할 수 없습니다. 예를 들어, IdM 시스템에 대한 액세스가 필요한 사용자 및 그룹이프리브릭 루트 도메인의 일부가 아닌 포리스트 도메인의 하위 도메인에 있는 경우 설치 스크립트에서 하위 AD 도메인에 정의된 POSIX 속성을 감지하지 못할 수 있습니다. 이 경우 신뢰를 설정할 때 POSIX ID 범위 유형을 명시적으로 선택하는 것이 좋습니다.

  3. 파일을 저장합니다.
  4. Ansible 플레이북을 실행합니다. Playbook 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일, 인벤토리 파일을 지정합니다.

    $ ansible-playbook --vault-password-file=password_file -v -i inventory add-trust.yml

추가 리소스

  • /usr/share/doc/ansible-freeipa/README-trust.md
  • /usr/share/doc/ansible-freeipa/playbooks/trust
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.