fundo
- Usamos o Ansible para provisionar e gerenciar a infraestrutura do Azure. No momento, executamos o Ansible "manualmente", ou seja, executamos playbooks manualmente para várias tarefas automatizadas. Nenhuma infraestrutura de IC.
- Provavelmente não é relevante, mas gerenciamos nosso inventário usando script dinâmico
azure_rm.py
. - Somos encorajados a ser o mais seguro possível, ou seja,
- Não armazene senhas do Vault em
~/.vault_pass
ou em nenhum arquivo local - Não armazene segredos do Azure em
~/.azure/credentials
- Não guarde nada seguro
.bashrc
.
- Não armazene senhas do Vault em
Nesse cenário, estou tendo problemas para apresentar uma estratégia coerente para garantir que meus playbooks possam acessar os segredos do Azure, seguindo as diretrizes acima.
Questão
Como evitar o armazenamento de credenciais do Ansible Vault e do Azure em arquivos, garantindo ainda que meus playbooks possam acessá-los?
O que eu tentei
Até agora, criei um script de wrapper que
- pede ao usuário a senha do Vault
- Usa isso para descriptografar um script do Vaulted Shell
- Avalia o script, que carrega variáveis de ambiente do Azure no ambiente;
- Executa o manual sobre o ambiente que foi definido.
Alguma solução melhor (mais elegante, menos complicada, mais "Ansible") por aí?