본문 바로가기
Ansible

Ansible-Vault

by Nirah 2023. 1. 9.

Ansible-Vault 변수와 파일을 암호화해주는 역할을 한다.

Ansible 이용하여 컨트롤하는 대상서버 계정정보 Hosts playbook 또는 inventory 파일 내용 등은

평문으로 표기되면 보안상 문제가 있다.

ansible-vault 명령으로 변수나 파일을 복호화해서 사용 한다.

 

암호화 알고리즘 : AES256

 

명령어 도움말

ansible-vault --help

 

파일 암호화 옵션 정리
암호화된 파일 생성
ansible-vault create [파일 경로]
암호화된 파일 내용 확인하기
ansible-vault view [encryption 파일 경로]
암호화된 파일 내용 편집하기
ansible-vault edit [encryption 파일 경로]
기존 파일 암호화
ansible-vault encrypt [origin 파일 경로]
암호화된 파일 복호화
ansible-vault decrypt [encryption 파일 경로]l
암호화된 파일의 password 변경
ansible-vault rekey [encryption 파일 경로]
 
 
cd /ansible
sudo vi test.yaml
---
- name: Playbook for testing
  hosts: webservers
  remote_user: root

  tasks:
  - name: Tasks for testing

cat test.yaml

 

 

암호화

sudo ansible-vault encrypt test.yaml

vault password를 지정해준다.

sudo cat test.yaml

 

 

암호화된 파일 수정

sudo ansible-vault edit test.yaml

 

복호화

sudo ansible-vault decrypt test.yaml

sudo cat test.yaml

 

Inventory 암호화

지금까지는 따로 inventory를 지정하지 않고 디폴트 인벤토리인 /etc/ansible/hosts를 사용했었다.

하지만 이번엔 따로 inventory 파일을 만들어 보자.

vi /etc/ansible/ansible.cfg

 

sudo vi inventory.ini

[dbservers]
node1
node2

 

hosts파일 대신 inventory.ini 파일을 인벤토리로 지정하여 ping을 보내자.

ansible dbservers -i inventory.ini -m ping

 

인벤토리를 암호화 해보자.

sudo ansible-vault encrypt inventory.ini

 

ansible dbservers -i inventory.ini -m ping

인벤토리를 암호화 하니 보통의 방법으론 핑이 가질 않는다.

 

vault password를 입력하여 인벤토리 실행

ansible dbservers -i inventory.ini -m ping --ask-vault-pass

암호화시 지정한 암호를 입력해준다

 

위와 같이 매번 암호화에 대한 비밀번호를 물어보라는 옵션(--ask-vault-pass)을 치는 것은 불편하다.

config 파일을 만져서 이 옵션을 디폴트화 해보자.

 

sudo vi /etc/ansible/ansible.cfg

(ansible 설정편에서 편의상 심볼릭 링크로 연결해 두었기에 sudo vi ansible.cfg라고 쳐도 된다)

설정파일에서 ask_vault_pass = True 설정 추가

 

ansible dbservers -i inventory.ini -m ping

--ask-vault-pass 옵션 없이도 기본 환경설정을 해줬기 때문에 vault 비밀번호를 물어보게 됐다.

'Ansible' 카테고리의 다른 글

Ansible Roles  (0) 2023.01.10
Ansible-Playbook  (0) 2023.01.09
Ansible-Console  (0) 2023.01.09
Ansible 명령어 실습  (0) 2023.01.06
미니프로젝트- awx 설치  (0) 2023.01.05