Ansible-Vault는 변수와 파일을 암호화해주는 역할을 합니다.
민감한 컨텐츠를 일반 텍스트로 표기하지 않고, 암호화 하여 보호할 수 있습니다.
(ex. Ansible을 이용하여 컨트롤하는 대상서버 계정정보 Hosts 등.)
(핵심은 유출 or 해킹 되었을때, 평문이 아니기 때문에 해당 파일을 볼 수 없자는 장점)
암호화된 파일을 생성 or 기존 파일을 암호화 하면,
ansible-vault 명령과 함께 암호를 사용하여 변수 or 파일을 복호화해서 사용 합니다.
암호화된 변수 | 암호화된 파일 | |
암호화 대상 | 일반 텍스트 파일 내의 변수 | 전체 파일(구조화된 데이터 파일) |
복호화될때 | On Demand, only when needed | 로드 or 참조 될때 |
[Ansible-Vault 설치]
Ansible을 설치하면 함께 설치됩니다.
암호화 알고리즘 : AES256
[Ansible Vault로 파일 암호화]
암호화된 파일 생성
$ ansible-vault create --vault-id test@multi_password_file foo.yml
기존파일 암호화(Encrypt)
$ ansible-vault encrypt foo.yml bar.yml baz.yml
암호화된 파일 보기(view)
$ ansible-vault view foo.yml bar.yml baz.yml
암호화된 파일 편집(edit)
$ ansible-vault edit foo.yml
암호화된 파일의 비밀번호 변경(rekey)
$ ansible-vault rekey foo.yml bar.yml baz.yml
영구적으로 암호화된 파일 복호화(decrypt)
ansible-vault decrypt foo.yml bar.yml baz.yml
암호화된 Hosts | 복호화 Hosts |
![]() |
![]() |
Ansible-vault를 이용한 Ansible Command 예제
Hosts 파일을 읽기위해서 Vault Password를 묻는것을 볼 수 있다.
[Ansible Vault로 변수 암호화]
Ansible-vault encrpyt_string 명령을 통해서, YAML 파일 내의 단일 값을 암호화 할 수 있습니다.
변수 암호화
: 'a_password_file'에 저장된 비밀번호를 이용해서, 'foobar'를 암호화후 변수 이름을 'the_secret'으로 지정
ansible-vault encrypt_string --vault-password-file a_password_file 'foobar' --name 'the_secret'
암호화된 변수 내용 보기
Debug 모듈을 사용하여 변수의 원래값을 확인 할 수 있습니다.
참조 : https://docs.ansible.com/ansible/latest/user_guide/vault.html#id1
Encrypting content with Ansible Vault — Ansible Documentation
Encrypting content with Ansible Vault Ansible Vault encrypts variables and files so you can protect sensitive content such as passwords or keys rather than leaving it visible as plaintext in playbooks or roles. To use Ansible Vault you need one or more pas
docs.ansible.com
2021.04.25 - [IT Knowledge/DevOps] - Ansible 설명 및 기본내용
2021.04.25 - [IT Knowledge/DevOps] - Ansible 사용법(모듈)
'IT Knowledge > IaC' 카테고리의 다른 글
Ansible Playbook YAML 작성방법 (0) | 2021.07.26 |
---|---|
Ansible Playbook(플레이북) 설명 및 예시 (0) | 2021.07.26 |
Ansible 설정 파일(Hosts, ansible.cfg) (0) | 2021.07.22 |
Ansible 사용법(모듈) (0) | 2021.04.25 |
Ansible 설명 및 기본내용 (0) | 2021.04.25 |
댓글