25.2. Ansible을 사용하여 symmetric 자격 증명 모음에 멤버 서비스 추가

Ansible 플레이북을 사용하여 서비스 자격 증명 모음에 멤버 서비스를 추가하여 모두 자격 증명 모음에 저장된 시크릿을 검색할 수 있도록 다음 절차를 따르십시오. 아래 절차에 사용된 예제에서 IdM 관리자는 HTTP/webserver2.idm.example.comHTTP/webserver3.idm.example.com 서비스 주체를 HTTP/webserver1.idmexample.com에서 소유한 secret_vault vault.com 에 추가합니다.

사전 요구 사항

  • 다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.

    • Ansible 버전 2.14 이상을 사용하고 있습니다.
    • Ansible 컨트롤러에 ansible-freeipa 패키지가 설치되어 있습니다.
    • 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
    • 이 예제에서는 secret.yml Ansible 자격 증명 모음이 ipaadmin_password 를 저장한다고 가정합니다.
  • IdM 관리자 암호를 알고 있습니다.
  • 서비스 보안을 저장하기 위해 symmetric 자격 증명 모음을 생성 했습니다.

절차

  1. /usr/share/doc/ansible-freeipa/playbooks/vault 디렉토리로 이동합니다.

    $ cd /usr/share/doc/ansible-freeipa/playbooks/vault
  2. 선택 사항: inventory.file이 없는 경우 인벤토리 파일을 생성합니다(예: inventory.file ).

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

    [ipaserver]
    server.idm.example.com
  4. data-archive-in-asymmetric-vault.yml Ansible 플레이북 파일을 복사합니다. 예를 들어 다음과 같습니다.

    $ cp data-archive-in-asymmetric-vault.yml add-services-to-an-asymmetric-vault.yml
  5. 편집하기 위해 data-archive-in-asymmetric-vault-copy.yml 파일을 엽니다.
  6. ipavault 작업 섹션에서 다음 변수를 설정하여 파일을 수정합니다.

    • ipaadmin_password 변수를 IdM 관리자 암호로 설정합니다.
    • name 변수를 자격 증명 모음의 이름으로 설정합니다(예: secret_vault ).
    • 서비스 변수를 자격 증명 모음의 서비스 소유자(예: HTTP/webserver1.idm.example.com )로 설정합니다.
    • services 변수를 사용하여 자격 증명 모음 시크릿에 액세스할 수 있는 서비스를 정의합니다.
    • action 변수를 member 로 설정합니다.

      이는 현재 예에 대해 수정된 Ansible 플레이북 파일입니다.

    ---
    - name: Tests
      hosts: ipaserver
      gather_facts: false
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      - ipavault:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: secret_vault
          service: HTTP/webserver1.idm.example.com
          services:
          - HTTP/webserver2.idm.example.com
          - HTTP/webserver3.idm.example.com
          action: member
  7. 파일을 저장합니다.
  8. 플레이북을 실행합니다.

    $ ansible-playbook --vault-password-file=password_file -v -i inventory.file add-services-to-an-asymmetric-vault.yml