검색

26.7. Ansible 플레이북을 사용하여 IdM 사용자, 그룹, 호스트 또는 호스트 그룹이 서비스의 키탭 검색 가능

download PDF

keytab은 Kerberos 보안 주체와 암호화된 키 쌍을 포함하는 파일입니다. 키탭 파일은 일반적으로 사용자가 조작하거나 일반 텍스트 파일에 저장된 암호에 액세스하지 않고도 Kerberos를 사용하여 스크립트가 자동으로 인증할 수 있도록 하는 데 사용됩니다. 그런 다음 스크립트는 인수된 자격 증명을 사용하여 원격 시스템에 저장된 파일에 액세스할 수 있습니다.

IdM 관리자는 다른 사용자가 IdM에서 실행되는 서비스에 대한 키탭을 검색하거나 생성하도록 허용할 수 있습니다.

특정 IdM 사용자, 사용자 그룹, 호스트 및 호스트 그룹이 IdM 클라이언트에서 실행되는 HTTP 서비스의 키탭을 검색하도록 하려면 다음 절차를 따르십시오. 특히 user01 IdM 사용자가 client.idm.example.com 에서 실행되는 HTTP 서비스의 키탭을 검색할 수 있도록 하는 방법을 설명합니다.

사전 요구 사항

  • IdM 관리자 암호를 알고 있습니다.
  • 다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.

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

절차

  1. 인벤토리 파일을 생성합니다(예: inventory.file ):

    $ touch inventory.file
  2. inventory.file 을 열고 [ipaserver] 섹션에서 설정할 IdM 서버를 정의합니다. 예를 들어, server.idm.example.com 을 구성하도록 Ansible에 지시하려면 다음을 입력합니다.

    [ipaserver]
    server.idm.example.com
  3. /usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present.yml Ansible 플레이북 파일을 복사합니다. 예를 들어 다음과 같습니다.

    $ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present-copy.yml
  4. 복사된 파일 /usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present-copy.yml 을 엽니다.
  5. 파일을 수정합니다.

    • ipaadmin_password 변수를 IdM 관리자 암호로 설정합니다.
    • ipaservice 작업의 name 변수를 HTTP 서비스 주체로 설정합니다. 현재 예에서는 HTTP/client.idm.example.com입니다.
    • allow_retrieve_keytab_group: 섹션에 IdM 사용자의 이름을 지정합니다. 현재 예에서는 user01 입니다.
    • allow_retrieve_keytab_group: 섹션에 IdM 사용자 그룹의 이름을 지정합니다.
    • allow_retrieve_keytab_group: 섹션에 IdM 호스트의 이름을 지정합니다.
    • allow_retrieve_keytab_group: 섹션에 IdM 호스트 그룹의 이름을 지정합니다.
    • tasks 섹션의 name 변수를 사용하여 작업 이름을 지정합니다.

      현재 예제를 위해 조정된 후에는 복사된 파일은 다음과 같습니다.

    ---
    - name: Service member allow_retrieve_keytab present
      hosts: ipaserver
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      - name: Service HTTP/client.idm.example.com members allow_retrieve_keytab present for user01
        ipaservice:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: HTTP/client.idm.example.com
          allow_retrieve_keytab_user:
          - user01
          action: member
  6. 파일을 저장합니다.
  7. Ansible 플레이북을 실행합니다. 플레이북 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일 및 인벤토리 파일을 지정합니다.

    $ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present-copy.yml

검증

  1. HTTP 서비스의 키탭을 검색할 수 있는 권한이 있는 IdM 사용자로 IdM 서버에 SSH를 수행합니다.

    $ ssh user01@server.idm.example.com
    Password:
  2. ipa-getkeytab 명령을 -r 옵션과 함께 사용하여 keytab을 검색합니다.

    $ ipa-getkeytab -r -s server.idm.example.com -p HTTP/client.idm.example.com -k /etc/httpd/conf/krb5.keytab

    s 옵션은 키탭을 검색하려는 KDC(Key Distribution Center) 서버를 지정합니다.

    p 옵션은 검색할 keytab의 보안 주체를 지정합니다.

    -k 옵션은 검색된 키를 추가할 키탭 파일을 지정합니다. 파일이 없는 경우 생성됩니다.

명령에서 오류가 발생하지 않으면 user01HTTP/client.idm.example.com 의 키탭을 성공적으로 검색했습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.