Substitua <tenantId>, <servicePrincipalObjectId>e <vaultName> com os valores apropriados. O objectId é usado para conceder acesso a segredos dentro do cofre de chaves.
Ponto Chave:
Os nomes dos cofres de chaves do Azure devem ser globalmente universalmente exclusivos. O cofre de chaves e chaves/segredos dentro dele são acessados via https://{vault-name}.vault.azure.net URI.
Configure a instância do cofre de chaves do Azure adicionando a create_kv.yml tarefa.
Conclua a criação do manual do cofre de chaves do Azure
Esta seção lista todo o manual de exemplo do Ansible para criar um cofre de chaves do Azure.
- hosts: localhost
connection: local
vars:
tenant_id: <tenantId>
object_id: <servicePrincipalObjectId>
vault_name: <vaultName>
tasks:
- name: Create resource group
azure_rm_resourcegroup:
name: ansible-kv-test-rg
location: eastus
- name: Create instance of Key Vault
azure_rm_keyvault:
resource_group: ansible-kv-test-rg
vault_name: "{{ vault_name }}"
enabled_for_deployment: yes
vault_tenant: "{{ tenant_id }}"
sku:
name: standard
access_policies:
- tenant_id: "{{ tenant_id }}"
object_id: "{{ object_id }}"
secrets:
- get
- list
- set
- delete
Criar um segredo no cofre de chaves
Antes que o segredo possa ser criado, você precisará do URI do keyvault.
Crie outro manual chamado create_kv_secret.yml. Copie o seguinte código para o playbook:
---
- hosts: localhost
connection: local
tasks:
- name: Get Key Vault by name
azure_rm_keyvault_info:
resource_group: ansible-kv-test-rg
name: <vaultName>
register: keyvault
- name: set KeyVault uri fact
set_fact: keyvaulturi="{{ keyvault['keyvaults'][0]['vault_uri'] }}"
- name: Create a secret
azure_rm_keyvaultsecret:
secret_name: adminPassword
secret_value: <secretValue>
keyvault_uri: "{{ keyvaulturi }}"
Substitua <vaultName> pelo nome do cofre de chaves e <secretValue> pelo valor do segredo.
Ponto principal:
O azure_rm_keyvault_info e set_facts modules registra o URI do cofre de chaves como uma variável. Essa variável é então passada para o módulo para criar o azure_rm_keyvaultsecret segredo.
Execute o create_kv_secret.yml playbook.
ansible-playbook create_kv_secret.yml
PLAY [localhost] *******************************************************************************************************
TASK [Gathering Facts] *************************************************************************************************
ok: [localhost]
TASK [Get Key Vault by name] *******************************************************************************************
ok: [localhost]
TASK [set KeyVault uri fact] *******************************************************************************************
ok: [localhost]
TASK [Create a secret] *************************************************************************************************
ok: [localhost]
PLAY RECAP *************************************************************************************************************
localhost : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Obtenha segredos do cofre das chaves
Os segredos armazenados no cofre de chaves do Azure podem ser usados para preencher variáveis do Ansible.
Crie um novo manual chamado get_kv_secrets.yml para recuperar segredos do cofre de chaves com o Ansible.
---
- hosts: localhost
tasks:
- name: Deleting resource group - "{{ name }}"
azure_rm_resourcegroup:
name: "{{ name }}"
state: absent
register: rg
- debug:
var: rg
Execute o playbook usando o comando ansible-playbook . Substitua o espaço reservado pelo nome do grupo de recursos a ser excluído. Todos os recursos dentro do grupo de recursos serão excluídos.