본문 바로가기

Automation Tools/Ansible

2.4 ansible | [roles][CentOS 시스템 초기 설정] role 수행(vault 포함)

반응형

role 수행

[root@ANSIBLE roles]# pwd
/etc/ansible/roles
 
 
## host 정의
[root@ANSIBLE roles]# cat ../hosts
...
 
[test]
test02  ansible_host={host ip} ansible_user=root ansible_port=22 ansible_connection=ssh ansible_ssh_pass="{ssh password}"
test03  ansible_host={host ip} ansible_user=root ansible_port=22 ansible_connection=ssh ansible_ssh_pass="{ssh password}"
 
 
## role 수행
[root@ANSIBLE roles]# cat 00.init.install.yml
---
- hosts: test03,test02
  become: yes
  roles:
    - role: ./Init_Install

 

hosts 암호화

## 위 hosts 파일의 경우 ssh rsa key를 사용하지 않고 패스워드를 사용하여 접근 하므로 패스워드가 노출될 위험이 있음.
## hosts 파일 자체를 암호화 하고 role 작업 수행시 decrypt하여 사용하는 방식이 안전함.
## ansible-vault 를 사용하여 암호와 할 수 있음.(3번 옵션 참조)
## 암호와 수행
[root@ANSIBLE ansible]# ansible-vault encrypt hosts
New Vault password:
Confirm New Vault password:
Encryption successful
 
## hosts 파일 확인
[root@ANSIBLE ansible]# cat hosts
$ANSIBLE_VAULT;1.1;AES256
30643165616362346366353332326661326464393838613839636436313931633839643166636636
3035616339343032326162386637346530366263663532640a633138313135376531313734633363
30323436396434353832366564346463323734343731336661633663376565633961656132626432
6639396131356662380a373537316162643634633064323363366261623466376136373434663634
39623961373335303666336238346638376639313061313031656262636334613163373034616435
36313835323861663933363035326664353935653234663163313735646239303436613930636637
61626134363938396266393861383634636462383739336135303338626163313237356132356334
30306330333865636437396532353564353839663463326235386261323166386563313430326534
35356564323033373935663863393234353266366232326130353634666235323233326435613132
...
 
 
## role 작업 수행
[root@ANSIBLE roles]# ansible-playbook 00.init.install.yml --ask-vault-pass
Vault password:
...

 

ansible-valut 옵션

# 암호화된 파일을 생성하기
$ ansible-vault create foo.yml
# 암호화된 파일 수정하기
$ ansible-vault edit foo.yml
# 암호화된 파일의 패스워드 변경하기
$ ansible-vault rekey foo.yml
# 암호화되지 않은 파일을 암호화
$ ansible-vault encrypt foo.yml
# 암호화된 파일의 복호화
$ ansible-vault decrypt foo.yml
# 암호화된 파일의 내용 보기
$ ansible-vault view foo.yml
반응형