Ansible ansible-vault 명령어를 사용하는 방법
ansible-vault란?
ansible-vault는 Ansible Playbook, 변수 파일, 설정 파일 등에 포함된 민감 정보를 암호화하여 안전하게 관리하기 위한 도구입니다.
- 비밀번호
- API Key/Token
- 인증서/개인 키
- DB 접속 정보
Vault 파일 생성 (create)
새 Vault 파일 생성
ansible-vault create a.yaml
Vault 파일 내용 확인 (view)
암호화된 파일을 복호화하여 보기
ansible-vault view a.yaml
$ ansible-vault view a.yaml
Vault password:
---
- hosts: node1
tasks:
- ping:
Vault 파일 수정 (edit)
암호화된 파일 직접 수정
ansible-vault edit a.yaml
$ ansible-vault edit a.yaml
Vault password:
---
- hosts: node1
tasks:
- ping:
Vault 파일을 사용하는 Playbook 실행
실행 시 Vault 비밀번호 입력
ansible-playbook a.yaml -i ../inventory.ini --ask-vault-pass
$ ansible-playbook a.yaml -i ../inventory.ini --ask-vault-pass
Vault password:
PLAY [node1] ******************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************
ok: [node1]
TASK [ping] *******************************************************************************************************
ok: [node1]
PLAY RECAP ********************************************************************************************************
node1 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
- --ask-vault-pass
- 실행 시 Vault 비밀번호를 직접 입력
- 테스트나 단일 실행에 적합
실무 팁
Vault 파일은 변수 파일로 사용하는 것이 정석
# vault.yml
db_password: MySecretPassword
- hosts: all
vars_files:
- vault.yml
tasks:
- debug:
msg: "{{ db_password }}"
자동화 환경에서는 --vault-password-file 권장
ansible-playbook site.yml \
--vault-password-file ~/.vault_pass.txt
- CI/CD, Cron, Jenkins 환경에 필수
- 파일 권한은 반드시 제한 (chmod 600)
'리눅스' 카테고리의 다른 글
| [draft] Shell 매개변수 확장(Parameter Expansion) (0) | 2026.03.01 |
|---|---|
| [draft] Ansible ansible-config 명령어를 사용하는 방법 (0) | 2026.03.01 |
| [draft] Ansible ansible-config 명령어를 사용하는 방법 (0) | 2026.03.01 |
| [draft] Ansible ansible-doc 명령어를 사용하는 방법 (0) | 2026.03.01 |
| [draft] Ansible apt 모듈을 사용하는 방법 (0) | 2026.03.01 |