practice makes perfect

Ansible Vault 본문

Ansible

Ansible Vault

후니옹 2020. 12. 13. 21:04

Ansible Vault

 

  • Ansible Vault는 패스워드, 키와 같은 보안에 민감한 파일들을 encryption / decryption 해주는 기능이다
  • Ansbile에서 사용하는 모든 구조화된 데이터 파일을 암호화 할 수 있다
  • 참고로 ansible을 설치하면 ansible-vault도 같이 설치가 된다.

 

 

# 암호화된 파일을 생성하기

$ ansible-vault create vault.yml

 

# 암호화된 파일 수정하기 (일반텍스트로 열면 암호화되어 볼 수 없다)
$ ansible-vault edit vault.yml

 

# 암호화된 파일의 패스워드 변경하기
$ ansible-vault rekey vault.yml

 

# 암호화되지 않은 파일을 암호화
$ ansible-vault encrypt vault.yml

 

# 암호화된 파일의 복호화
$ ansible-vault decrypt vault.yml

 

# 암호화된 파일의 내용 보기
$ ansible-vault view vault.yml

 

# hosts 파일 암호화
$ ansible-vault encrypt hosts
New Vault password: 
Confirm New Vault password: 
Encryption successful

# 암호화된 hosts 파일 확인(cat)
$ ansible-vault view hosts

 

# Playbook 실행하기
# ansible-playbook 실행시 --ask-vault-pass 옵션을 넣어주면 된다.
$ ansible-playbook --ask-vault-pass -i hosts play.yml -t install
Vault password:

 

# 파일에 vault password를 저장해서 사용이 가능하다.

$ cat vault_pass.txt

test
$ ansible-playbook -i hosts play -t install --vault-password-file=vault_pass.txt

 

# become-pass(sudo password) & vault-pass(hosts 암호화 파일 패스워드) 같이 사용 가능

$ ansible-playbook useradd.yml --extra-vars "USER_NAME=testuser2 PASSWORD=testuser1@" -u root --ask-become-pass --ask-vault-pass

BECOME password: 
Vault password: 

 

PLAY [사용자 추가] **************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *****************************************************************************************************************************************************************************************************
ok: [test-client001]

TASK [사용자 이름 생성] ***********************************************************************************************************************************************************************************************************
changed: [test-client001]

TASK [패스워드 변경] *************************************************************************************************************************************************************************************************************
changed: [test-client001]

TASK [sudoers.d 추가] ********************************************************************************************************************************************************************************************************
ok: [test-client001]

PLAY RECAP *****************************************************************************************************************************************************************************************************************
test-client001             : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 

 

'Ansible' 카테고리의 다른 글

AWX Module 확인  (0) 2024.05.06
AWX(Tower) 관리 작업  (0) 2024.05.06
Ansible Handlers  (0) 2024.05.06
Ansible 을 통한 계정 추가 및 패스워드 변경  (0) 2019.10.12
Ansible 란 ?  (0) 2019.10.12
Comments