수색…


비고

Ansible가 제공 볼트 (로 착각하지 HashiCorp 볼트 !) 민감한 데이터의 암호화를 처리 할 수 있습니다. Vault는 주로 변수, 작업, 처리기와 같은 모든 구조화 된 데이터를 암호화하는 것을 목표로합니다.

민감한 구조화 된 데이터 암호화

먼저 vault_pass_file 과 같은 키 파일을 생성합니다.이 파일에는 긴 순서의 임의 문자가 포함되어있는 것이 이상적입니다. 리눅스 시스템에서는 pwgen 을 사용하여 임의의 암호 파일을 만들 수 있습니다 :

pwgen 256 1 > vault_pass_file

그런 다음이 파일을 사용하여 중요한 데이터를 암호화하십시오 (예 : groups_vars/group.yml .

ANSIBLE_VAULT_PASSWORD_FILE=vault_pass_file ansible-vault encrypt group_vars/group.yml

이제부터는 vault_pass_file 북을 실행하기 위해 vault_pass_file 이 필요합니다 :

ANSIBLE_VAULT_PASSWORD_FILE=vault_pass_file ansible-playbook -i inventories/nodes my-playbook.yml 

ANSIBLE_VAULT_PASSWORD_FILE 환경 변수를 설정하는 대신 --vault-password-file vault_pass_file 플래그를 사용할 수도 있습니다.

디스크의 비밀 정보를 편집하거나 해독하려면 각각 ansible-vault editansible-vault decrypt 사용할 수 있습니다.

조회 파이프를 사용하여 구조화되지 않은 볼트로 암호화 된 데이터의 암호를 해독합니다.

Vault를 사용하면 비공개 키 파일과 같이 구조화되지 않은 데이터를 암호화 할 수 있으며 lookup 모듈을 통해 재생할 때도 해독 할 수 있습니다.

---

- name: Copy private key to destination
  copy:
    dest=/home/user/.ssh/id_rsa
    mode=0600
    content=lookup('pipe', 'ANSIBLE_VAULT_PASSWORD_FILE=vault_pass_file ansible-vault view keys/private_key.enc')

local_action을 사용하여 볼트로 암호화 된 템플릿의 암호를 해독

local_action 모듈을 사용하여 볼트로 암호화 된 템플릿에 의존하는 플레이를 실행할 수 있습니다.

---

- name: Decrypt template
  local_action: "shell {{ view_encrypted_file_cmd }} {{ role_path }}/templates/template.enc > {{ role_path }}/templates/template"
  changed_when: False

- name: Deploy template
  template:
    src=templates/template
    dest=/home/user/file

- name: Remove decrypted template
  local_action: "file path={{ role_path }}/templates/template state=absent"
  changed_when: False

changed_when: False 유의하십시오. 이것은 가능한 역할로 멱등 원 (idempotence) 테스트를 실행하는 경우에 중요합니다. 그렇지 않으면 시나리오를 실행할 때마다 변경 내용이 전달됩니다. group_vars/all.yml 에서 재사용을위한 전역 암호 해독 명령을 설정할 수 있습니다 (예 : view_encrypted_file_cmd .

group_vars / all.yml

---

view_encrypted_file_cmd: "ansible-vault --vault-password-file {{ lookup('env', 'ANSIBLE_VAULT_PASSWORD_FILE') }} view"

이제 게임을 실행할 때 ANSIBLE_VAULT_PASSWORD_FILE 환경 변수를 볼트 암호 파일 (절대 경로 포함)을 가리 ANSIBLE_VAULT_PASSWORD_FILE 도록 설정해야합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow