Chapitre 23. Utiliser Ansible pour gérer les coffres-forts des utilisateurs IdM : stocker et récupérer les secrets
Ce chapitre décrit comment gérer les coffres-forts des utilisateurs dans Identity Management à l'aide du module Ansible vault
. Plus précisément, il décrit comment un utilisateur peut utiliser les playbooks Ansible pour effectuer les trois actions consécutives suivantes :
L'utilisateur peut effectuer le stockage et l'extraction à partir de deux clients IdM différents.
Conditions préalables
- Le composant du système de certificats de l'autorité de récupération des clés (KRA) a été installé sur un ou plusieurs serveurs de votre domaine IdM. Pour plus de détails, voir Installation de l'autorité de recouvrement des clés dans IdM.
23.1. Assurer la présence d'un coffre-fort utilisateur standard dans IdM à l'aide d'Ansible
Cette section montre comment un utilisateur de la gestion des identités (IdM) peut utiliser un playbook Ansible pour créer un conteneur d'espace de stockage avec un ou plusieurs espaces de stockage privés pour stocker en toute sécurité des informations sensibles. Dans l'exemple utilisé dans la procédure ci-dessous, l'utilisateur idm_user crée un espace de stockage de type standard nommé my_vault. Le type de coffre-fort standard garantit que idm_user n'aura pas à s'authentifier pour accéder au fichier. idm_user pourra récupérer le fichier à partir de n'importe quel client IdM auquel l'utilisateur est connecté.
Conditions préalables
- Vous avez installé le paquet ansible-freeipa sur le contrôleur Ansible, c'est-à-dire l'hôte sur lequel vous exécutez les étapes de la procédure.
- Vous connaissez le mot de passe de idm_user.
Procédure
Naviguez jusqu'au répertoire
/usr/share/doc/ansible-freeipa/playbooks/vault
:$ cd /usr/share/doc/ansible-freeipa/playbooks/vault
Créer un fichier d'inventaire, par exemple inventory.file:
$ touch inventory.file
Ouvrez inventory.file 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 ensure-standard-vault-is-present.yml Ansible playbook. Par exemple :
$ cp ensure-standard-vault-is-present.yml ensure-standard-vault-is-present-copy.yml
- Ouvrez le fichier ensure-standard-vault-is-present-copy.yml pour le modifier.
Adaptez le fichier en définissant les variables suivantes dans la section
ipavault
task :-
Fixer la variable
ipaadmin_principal
à idm_user. -
Définissez la variable
ipaadmin_password
avec le mot de passe de idm_user. -
Fixer la variable
user
à idm_user. -
Fixer la variable
name
à my_vault. Fixer la variable
vault_type
à standard.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_principal: idm_user ipaadmin_password: idm_user_password user: idm_user name: my_vault vault_type: standard
-
Fixer la variable
- Enregistrer le fichier.
Exécutez le manuel de jeu :
$ ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-standard-vault-is-present-copy.yml