44.2. Assurer la présence d'une règle HBAC dans IdM à l'aide d'un playbook Ansible
Cette section décrit comment assurer la présence d'une règle de contrôle d'accès basé sur l'hôte (HBAC) dans la gestion des identités (IdM) à l'aide d'un playbook Ansible.
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
.
- Les utilisateurs et les groupes d'utilisateurs que vous voulez utiliser pour votre règle HBAC existent dans IdM. Pour plus de détails, voir Gérer les comptes utilisateurs à l'aide des playbooks An sible et Assurer la présence des groupes IdM et des membres des groupes à l'aide des playbooks Ansible.
- Les hôtes et les groupes d'hôtes auxquels vous voulez appliquer votre règle HBAC existent dans IdM. Pour plus de détails, voir Gérer les hôtes à l'aide des playbooks Ansible et Gérer les groupes d'hôtes à l'aide des playbooks Ansible.
Procédure
Créez un fichier d'inventaire, par exemple
inventory.file
, et définissez-yipaserver
:[ipaserver] server.idm.example.com
Créez votre fichier playbook Ansible qui définit la politique HBAC dont vous voulez assurer la présence. Pour simplifier cette étape, vous pouvez copier et modifier l'exemple dans le fichier
/usr/share/doc/ansible-freeipa/playbooks/hbacrule/ensure-hbacrule-allhosts-present.yml
:--- - name: Playbook to handle hbacrules hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: # Ensure idm_user can access client.idm.example.com via the sshd service - ipahbacrule: ipaadmin_password: "{{ ipaadmin_password }}" name: login user: idm_user host: client.idm.example.com hbacsvc: - sshd state: present
Exécutez le manuel de jeu :
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-new-hbacrule-present.yml
Verification steps
- Connectez-vous à l'interface Web IdM en tant qu'administrateur.
-
Naviguez vers Policy
Host-Based-Access-Control HBAC Test. - Dans l'onglet Who, sélectionnez idm_user.
- Dans l'onglet Accessing, sélectionnez client.idm.example.com.
- Dans l'onglet Via service, sélectionnez sshd.
- Dans l'onglet Rules, sélectionnez login.
- Dans l'onglet Run test, cliquez sur le bouton Run test. Si vous voyez ACCÈS ACCORDÉ, la règle HBAC a été mise en œuvre avec succès.
Ressources supplémentaires
-
Voir les fichiers
README-hbacsvc.md
,README-hbacsvcgroup.md
, etREADME-hbacrule.md
dans le répertoire/usr/share/doc/ansible-freeipa
. -
Voir les playbooks dans les sous-répertoires du répertoire
/usr/share/doc/ansible-freeipa/playbooks
.