운영 Ansible - Vault 가능한 항목
페이지 정보
본문
1. 개요
Ansible Vault는 암호나 키와 같은 민감한 데이터를 플레이북이나 task의 일반 텍스트가 아닌 암호화된 파일에 보관할 수 있는 기능입니다. 그런 다음 이러한 vault 파일을 배포하거나 소스 제어에 배치할 수 있습니다.
이 기능을 활성화하려면 명령줄 도구인 ansible-vault 를 사용하여 파일을 편집하고 명령줄 플래그( --ask-vault-pass, --vault-password-file또는 --vault-id)를 사용합니다. 또는 암호 파일의 위치를 지정하거나 ansible.cfg 파일에서 항상 암호를 묻는 메시지를 표시하도록 Ansible 명령을 지정할 수 있습니다. 이러한 옵션에는 CLI의 플래그를 사용할 필요가 없습니다.
2. Vault로 암호화할 수 있는 항목
2.1. 파일 수준 암호화
Ansible Vault는 Ansible에서 사용하는 모든 구조화된 데이터 파일을 암호화할 수 있습니다.
여기에는 "group_vars/" 또는 "host_vars/" 인벤토리 변수, "include_vars" 또는 "vars_files"에 의해 로드된 변수, 또는 -e @file.yml 또는 -e @file을 사용하여 ansible-playbook 명령줄에서 전달된 변수 파일이 포함될 수 있습니다. json.json 역할 변수 및 기본값도 포함됩니다.
Ansible 작업, handler 등도 데이터이므로 vault로도 암호화할 수 있습니다. 사용 중인 변수의 이름을 숨기려면 task 파일을 전체적으로 암호화할 수 있습니다.
Ansible Vault는 바이너리 파일을 포함한 임의의 파일을 암호화할 수도 있습니다. vault 암호화 파일이 copy , template , unarchive , script 또는 assemble 모듈에 대한 src 인수로 제공되는 경우 파일은 해독된 대상 호스트의 대상에 배치됩니다(재생을 실행할 때 유효한 vault 암호가 제공된다고 가정) .
메모
파일 수준 암호화의 장점은 사용하기 쉽고 키 를 다시 입력 하여 암호 교체가 간단하다는 것 입니다. 단점은 파일 내용에 더 이상 액세스 및 읽기가 쉽지 않다는 것입니다. 이것은 작업 목록인 경우 문제가 될 수 있습니다(변수 파일을 암호화할 때 가장 좋은 방법은 암호화되지 않은 파일에서 이러한 변수에 대한 참조를 유지하는 것입니다).
2.2. 가변 수준 암호화
Ansible은 또한 !vault 태그를 사용하여 YAML 및 Ansible이 특수 처리를 사용함을 알 수 있도록 하여 YAML 파일 내부의 단일 값 암호화를 지원합니다 . 이 기능은 아래 에서 자세히 설명 합니다 .
위와 같은 기능들을 사용하는 예시 내용은 "Ansible-Vault" 게시글을 참고해주세요
관련링크
- 이전글Ansible - dict2items 활용 23.05.30
- 다음글Ansible - Become 옵션 설명 21.12.29
댓글목록
최고관리자님의 댓글
최고관리자 작성일좋은글 감사합니다. ^^