Ansible Vault

Ansible Vault (Ansible Vault)

Ansible Vault는 변수와 파일을 암호화해서, 비밀번호나 키 같은 민감 콘텐츠가 플레이북이나 롤 안에서 평문으로 드러나지 않게 보호해 줘요. Ansible Vault를 사용하려면 콘텐츠를 암호화·복호화할 비밀번호가 하나 이상 필요해요.

vault 비밀번호를 시크릿 매니저 같은 서드파티 도구에 저장한다면, 그 값에 접근할 스크립트가 필요하죠. ansible-vault 커맨드 라인 도구와 비밀번호를 함께 사용하면 암호화된 변수를 만들고 확인하고, 암호화된 파일을 만들고, 기존 파일을 암호화하거나 편집·rekey(비밀번호 교체)·복호화할 수 있어요. 이렇게 암호화된 콘텐츠를 버전 관리를 통해 더 안전하게 공유할 수 있어요.

출처: 문서

본문

경고 — Ansible Vault는 '저장 중인 데이터(data at rest)'만 보호해요. 콘텐츠가 복호화되면('사용 중인 데이터'), 플레이와 플러그인 작성자가 비밀 노출을 피할 책임을 져요. 출력을 숨기는 방법은 no_log를, Vault와 함께 쓰는 편집기의 보안 고려 사항은 "Steps to secure your editor"를 참고하세요.

Ansible Vault로 암호화한 변수와 파일은, 암호화할 때 사용한 비밀번호를 제공하면 ad hoc 명령과 플레이북에서 사용할 수 있어요. ansible.cfg 파일을 수정해 비밀번호 파일의 위치를 지정하거나 항상 비밀번호를 물어보게 설정할 수도 있어요.

Vault로 할 수 있는 일

  • 암호화된 변수 만들기encrypt_string으로 개별 변수 값을 암호화
  • 암호화된 파일 만들기create 명령으로 새 파일을 암호화 상태로 생성
  • 기존 파일 암호화encrypt 명령 사용
  • 파일 편집/복호화edit, view, decrypt 명령 사용
  • 비밀번호 교체rekey 명령으로 암호화된 파일의 비밀번호 변경

이 모든 작업은 ansible-vault 커맨드 라인 도구로 수행해요. 각 명령의 자세한 사용법은 이어지는 페이지들에서 다룰 거예요.

더 알아보기 (Learn more)

  • Vault는 '저장 중인 데이터'만 보호해요. 복호화된 후의 데이터는 작성자의 책임이라는 점을 기억해 두세요.
  • 암호화된 콘텐츠를 사용할 때는 암호화에 사용한 것과 같은 비밀번호를 반드시 제공해야 해요.
  • 비밀번호를 서드파티 도구에 보관한다면, Ansible에서 접근할 수 있는 클라이언트 스크립트가 필요해요.