상황Ansible - 동적 프롬프트 볼트 암호 내 회사에서
을 필요로 할 때, 우리는 우리의 서버에 대한 우리의 ansible 스크립트를 포함하는 공유 저장소가 있습니다. 가까운 장래에 서비스 비밀번호를 처리 할 볼트 변수를 소개하고 싶습니다. 현재는 Google Play 북 시작시 암호화 된 비밀번호를 사용합니다. 이 솔루션은 성가신 일입니다 (일부 게임에 3 가지 암호를 요구했습니다). 우리 ansible 대부분의 사용자는 더 전문가가 없기 때문에
필요한 것은
, 나는 그들이 원활하게 플레이 북을 실행할 수 있도록하고 싶습니다. ansible-playbook
명령이 짧아야하며 필수 매개 변수없이 작동해야 함을 의미합니다 (예 : --ask-sudo-pass
및 기타 명칭 없음). 또한 필요한 경우에만 작장을 시작할 때 볼트 암호를 묻는 것을 선호한다는 의미입니다. 또한, 쉽게 공유 할 수 없기 때문에 가능한 암호 파일을 사용하고 싶지 않습니다. 그리고 나는 우리의 모든 유능한 사용자 컴퓨터에 일반 텍스트 암호 파일을 가지고 있다는 생각을 좋아하지 않기 때문에 가능하지 않습니다.
문제
모든 관심 플레이 북에 대한 --ask-vault-pass
추가는 옵션이 아닙니다. 우리의 유능한 사용자는 때때로이 매개 변수가 필요한 이유와 때로는 그렇지 않은 이유를 이해하지 못합니다. 반대로, 모든 게임 플레이 북에 대한 금고 비밀번호를 묻는 것은 부담입니다. 왜냐하면 우리는 많은 플레이 북과 sudo 비밀번호가 이미 매번 요청되기 때문입니다.
prompts
과 다양한 옵션을 사용하여 다음 해결책을 얻으려고했습니다. 아무것도 작동하는 것 같습니다. 문서는이 작업을 수행하는 방법을 설명하지 않습니다 : (나)에 따라
가장 좋은 해결책을
이의이 main.yml
파일을 살펴 보자 : 이제
- import_tasks: foo.yml
tags: always
- import_tasks: bar.yml
tags: bar
# Only this tasks uses a vault encrypted variable
- import_tasks: baz.yml
tags: [baz, vault]
이 main.yml
을 수입하는 playbook.yml
있다 파일.
,이 일이 싶습니다
예 1 :
ansible-playbook -i prod playbook.yml
Vault password:
예 2 :
ansible-playbook -i prod playbook.yml --tags baz
Vault password:
예 3 :
ansible-playbook -i prod playbook.yml --tags foo
# it runs without asking for vault password, because no tasks needing vault
# password will be run
Q를 uccess
볼트 암호가 필요할 때만 (즉, 볼트 암호화 된 변수가 발생할 때마다) 묻는 것이 가능하도록 구성하려면 어떻게해야합니까? 심지어 가능할까요? 그렇지 않다면, 상황에 따라 어떤 해결 방법이 실행 가능합니까?
감사합니다.