24.2. Ajouter des services membres à un coffre-fort asymétrique en utilisant Ansible
Cette section montre comment un administrateur Identity Management (IdM) peut utiliser un playbook Ansible pour ajouter des services membres à un coffre-fort de service afin qu'ils puissent tous récupérer le secret stocké dans le coffre-fort. Dans l'exemple utilisé dans la procédure ci-dessous, l'administrateur IdM ajoute les principaux services HTTP/webserver2.idm.example.com et HTTP/webserver3.idm.example.com au coffre-fort secret_vault qui appartient à HTTP/webserver1.idm.example.com.
Conditions préalables
Vous avez configuré votre nœud de contrôle Ansible pour qu'il réponde aux exigences suivantes :
- Vous utilisez la version 2.8 ou ultérieure d'Ansible.
-
Vous avez installé le paquetage
ansible-freeipa
sur le contrôleur Ansible. - L'exemple suppose que dans le répertoire ~/MyPlaybooks/ vous avez créé un fichier d'inventaire Ansible avec le nom de domaine complet (FQDN) du serveur IdM.
-
L'exemple suppose que le coffre-fort secret.yml Ansible stocke votre
ipaadmin_password
.
- Vous connaissez le mot de passe de IdM administrator.
- Vous avez créé un coffre-fort asymétrique pour stocker le secret de service.
Procédure
Naviguez jusqu'au répertoire
/usr/share/doc/ansible-freeipa/playbooks/vault
:$ cd /usr/share/doc/ansible-freeipa/playbooks/vault
Facultatif : Créez un fichier d'inventaire s'il n'existe pas, par exemple inventory.file:
$ touch inventory.file
Ouvrez votre fichier d'inventaire et définissez le serveur IdM que vous souhaitez configurer dans la section
[ipaserver]
. Par exemple, pour demander à Ansible de configurer server.idm.example.com, entrez :[ipaserver] server.idm.example.com
Faites une copie du fichier data-archive-in-asymmetric-vault.yml Ansible playbook. Par exemple :
$ cp data-archive-in-asymmetric-vault.yml add-services-to-an-asymmetric-vault.yml
- Ouvrez le fichier data-archive-in-asymmetric-vault-copy.yml pour le modifier.
Modifiez le fichier en définissant les variables suivantes dans la section
ipavault
task :-
Fixer la variable
ipaadmin_password
au mot de passe de l'administrateur de l'IdM. -
Attribuez à la variable
name
le nom de la chambre forte, par exemple secret_vault. -
Définissez la variable
service
comme étant le propriétaire du service de la chambre forte, par exemple HTTP/webserver1.idm.example.com. -
Définissez les services qui doivent avoir accès au secret de l'espace de stockage à l'aide de la variable
services
. Fixer la variable
action
àmember
.Il s'agit du fichier playbook Ansible modifié pour l'exemple actuel :
--- - name: Tests hosts: ipaserver gather_facts: false vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - ipavault: ipaadmin_password: "{{ ipaadmin_password }}" name: secret_vault service: HTTP/webserver1.idm.example.com services: - HTTP/webserver2.idm.example.com - HTTP/webserver3.idm.example.com action: member
-
Fixer la variable
- Enregistrer le fichier.
Exécutez le manuel de jeu :
$ ansible-playbook --vault-password-file=password_file -v -i inventory.file add-services-to-an-asymmetric-vault.yml