검색

25.3. Ansible을 사용하여 symmetric 자격 증명 모음에 IdM 서비스 시크릿 저장

download PDF

나중에 서비스에서 검색할 수 있도록 Ansible 플레이북을 사용하여 서비스 자격 증명 모음에 시크릿을 저장하려면 다음 절차를 따르십시오. 아래 절차에 사용된 예에서는 관리자가 secret_vault 라는 symmetric 자격 증명 모음에 시크릿이 포함된 PEM 파일을 저장합니다. 이렇게 하면 서비스가 개인 키를 사용하여 자격 증명 모음에서 시크릿을 검색해야 합니다. 자격 증명 모음 멤버는 모든 IdM 클라이언트에서 파일을 검색할 수 있습니다.

사전 요구 사항

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

    • Ansible 버전 2.14 이상을 사용하고 있습니다.
    • Ansible 컨트롤러에 ansible-freeipa 패키지가 설치되어 있습니다.
    • 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
    • 이 예제에서는 secret.yml Ansible 자격 증명 모음이 ipaadmin_password 를 저장한다고 가정합니다.
  • ansible-freeipa 모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
  • IdM 관리자 암호를 알고 있습니다.
  • 서비스 보안을 저장하기 위해 symmetric 자격 증명 모음을 생성 했습니다.
  • 보안은 Ansible 컨트롤러에 로컬로 저장됩니다(예: /usr/share/doc/ansible-freeipa/playbooks/vault/private-key-to-an-externally-signed-certificate.pem ).

절차

  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 data-archive-in-asymmetric-vault-copy.yml
  5. 편집하기 위해 data-archive-in-asymmetric-vault-copy.yml 파일을 엽니다.
  6. ipavault 작업 섹션에서 다음 변수를 설정하여 파일을 수정합니다.

    • ipaadmin_password 변수를 IdM 관리자 암호로 설정합니다.
    • name 변수를 자격 증명 모음의 이름으로 설정합니다(예: secret_vault ).
    • 서비스 변수를 자격 증명 모음의 서비스 소유자(예: HTTP/webserver1.idm.example.com )로 설정합니다.
    • 변수의 in 변수를 "{{ lookup('file', 'private-key-to-an-externally-certificate.pem') | b64encode }}" 로 설정합니다. 이렇게 하면 Ansible에서 IdM 서버가 아닌 Ansible 컨트롤러의 작업 디렉터리에서 개인 키를 사용하여 파일을 검색합니다.
    • 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
          in: "{{ lookup('file', 'private-key-to-an-externally-signed-certificate.pem') | b64encode }}"
          action: member
  7. 파일을 저장합니다.
  8. 플레이북을 실행합니다.

    $ ansible-playbook --vault-password-file=password_file -v -i inventory.file data-archive-in-asymmetric-vault-copy.yml
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.