Ajout de la gestion des rôles et des permissions pour Keycloak dans le playbook Ansible, incluant la création de rôles et de groupes, ainsi que l'attribution de permissions spécifiques aux rôles TEACHERS et STUDENTS.
This commit is contained in:
parent
788b58282b
commit
437174c1cc
@ -18,6 +18,21 @@
|
||||
keycloak_admin_last_name: "Administrator"
|
||||
check_file: "/opt/keycloak/data/.configured"
|
||||
keycloak_bin: "/opt/keycloak/bin/kcadm.sh"
|
||||
keycloak_roles:
|
||||
- TEACHERS
|
||||
- STUDENTS
|
||||
keycloak_groups:
|
||||
- TESTING
|
||||
teacher_permissions:
|
||||
- account/view-groups
|
||||
- account/view-applications
|
||||
- master-realm/manage-users
|
||||
- account/delete-account
|
||||
- master-realm/view-users
|
||||
- account/manage-account
|
||||
- account/view-profile
|
||||
student_permissions:
|
||||
- master-realm/view-users
|
||||
|
||||
tasks:
|
||||
- name: Lancer le service Keycloak
|
||||
@ -62,6 +77,59 @@
|
||||
debug:
|
||||
msg: "Erreur lors de la configuration de l'utilisateur administrateur"
|
||||
|
||||
- name: Créer les rôles
|
||||
block:
|
||||
- name: Créer le rôle {{ item }}
|
||||
shell: docker exec {{ keycloak_container }} {{ keycloak_bin }} create roles -r {{ keycloak_realm }} -s name={{ item }}
|
||||
register: create_role
|
||||
with_items: "{{ keycloak_roles }}"
|
||||
until: create_role is success
|
||||
retries: 3
|
||||
delay: 5
|
||||
when: check_config.rc != 0
|
||||
rescue:
|
||||
- name: Gérer les erreurs de création des rôles
|
||||
debug:
|
||||
msg: "Erreur lors de la création du rôle {{ item }}"
|
||||
|
||||
- name: Créer les groupes
|
||||
block:
|
||||
- name: Créer le groupe {{ item }}
|
||||
shell: docker exec {{ keycloak_container }} {{ keycloak_bin }} create groups -r {{ keycloak_realm }} -s name={{ item }}
|
||||
register: create_group
|
||||
with_items: "{{ keycloak_groups }}"
|
||||
until: create_group is success
|
||||
retries: 3
|
||||
delay: 5
|
||||
when: check_config.rc != 0
|
||||
rescue:
|
||||
- name: Gérer les erreurs de création des groupes
|
||||
debug:
|
||||
msg: "Erreur lors de la création du groupe {{ item }}"
|
||||
|
||||
- name: Attribuer les permissions aux rôles
|
||||
block:
|
||||
- name: Attribuer les permissions au rôle TEACHERS
|
||||
shell: docker exec {{ keycloak_container }} {{ keycloak_bin }} add-roles -r {{ keycloak_realm }} --rname TEACHERS --cclientid {{ item.split('/')[0] }} --rolename {{ item.split('/')[1] }}
|
||||
with_items: "{{ teacher_permissions }}"
|
||||
register: add_teacher_perms
|
||||
until: add_teacher_perms is success
|
||||
retries: 3
|
||||
delay: 5
|
||||
|
||||
- name: Attribuer les permissions au rôle STUDENTS
|
||||
shell: docker exec {{ keycloak_container }} {{ keycloak_bin }} add-roles -r {{ keycloak_realm }} --rname STUDENTS --cclientid {{ item.split('/')[0] }} --rolename {{ item.split('/')[1] }}
|
||||
with_items: "{{ student_permissions }}"
|
||||
register: add_student_perms
|
||||
until: add_student_perms is success
|
||||
retries: 3
|
||||
delay: 5
|
||||
when: check_config.rc != 0
|
||||
rescue:
|
||||
- name: Gérer les erreurs d'attribution des permissions
|
||||
debug:
|
||||
msg: "Erreur lors de l'attribution des permissions aux rôles"
|
||||
|
||||
- name: Supprimer l'administrateur temporaire
|
||||
block:
|
||||
- name: Récupérer les informations
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user