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
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 |
댓글