Aller au contenu principal

Autorisation

Dans Ilum, chaque action nécessite une autorisation spécifique de l’utilisateur. Pour gérer efficacement ce processus, vous pouvez créer des rôles et des groupes avec des autorisations prédéfinies et les attribuer aux utilisateurs. Pour plus de détails sur la sécurité interne et l’autorisation, veuillez consulter le Page Sécurité interne.

Note: Pour les types de sécurité LDAP et OAuth dans Ilum, les utilisateurs ont un accès illimité.

Obsolète : version 6.2.1

Ce document décrit les rôles disponibles dans notre application et explique comment configurer les mappages de groupe à rôle pour LDAP et les méthodes d’authentification OAuth2. Comprendre ces rôles et comment les cartographier correctement est crucial pour la gestion contrôle d’accès au sein du système.

Postes disponibles

Notre application prend en charge trois rôles :

  1. ADMIN: Ce rôle permet d’exercer un contrôle total sur l’application. Les administrateurs peuvent créer, afficher et gérer toutes les ressources, y compris ceux créés par d’autres utilisateurs.
  2. UTILISATEUR: Ce rôle permet d’accéder aux fonctionnalités de base de l’application. Les utilisateurs peuvent créer, afficher et gérer leurs propres ressources.
  3. SPECTATEUR: Ce rôle fournit un accès en lecture seule à l’application. Les utilisateurs peuvent afficher toutes les ressources, mais ne peuvent pas créer ou les modifier.

Mappage des rôles

Si vous utilisez l’authentification interne (méthode par défaut), vous n’avez pas à vous soucier du mappage des rôles. Le L’application attribuera automatiquement les rôles corrects en fonction de la configuration des comptes d’utilisateurs internes.

Cependant, lorsque vous utilisez LDAP ou OAuth2, vous devrez mapper les groupes de ces systèmes aux rôles au sein de notre application.

Mappage du groupe LDAP vers le rôle

Pour LDAP, les groupes attribués à l’utilisateur dans LDAP doivent être mappés aux rôles de notre application.

Un exemple de commande helm upgrade pour le mappage LDAP administrateur et Développeurs groupes aux rôles Ilum est illustré ci-dessous :

Mise à niveau Helm \
--poser ilum-core.security.authorities.roles.mappings.administrators=Admin \
--poser ilum-core.security.authorities.roles.mappings.developers=utilisateur \
--reuse-values ilum ilum/ilum

Mappage du groupe OAuth2 vers le rôle

Pour OAuth2, vous devrez mapper les revendications de groupe du jeton JWT aux rôles au sein de notre application.

Un exemple de commande de mise à niveau helm pour mapper des groupes OAuth2 à des rôles est illustré ci-dessous :

Mise à niveau Helm \
--poser ilum-core.security.authorities.roles.mappings.8032fe76-2d7e-4178-9066-d38ee8536675=Admin \
--reuse-values ilum ilum/ilum

Note: Pour utiliser l’autorisation basée sur les rôles, votre fournisseur OAuth2 doit inclure les informations d’appartenance au groupe de l’utilisateur dans le jeton prétend. Ceux-ci sont souvent appelés Réclamations collectives. La configuration peut varier entre OAuth2 Fournisseurs. Par conséquent, vous devez vous référer à la documentation de votre fournisseur pour obtenir des instructions précises sur la façon de procéder.

Exemple de configuration des revendications de groupe dans Azure AD

Voici un exemple de configuration revendications de groupe pour Microsoft Azure AD:

  1. Connectez-vous au portail Azure.
  2. Sélectionnez Azure Active Directory.
  3. Dans le volet de navigation de gauche, sélectionnez le service « Azure Active Directory », sélectionnez « Inscriptions d’applications », puis Sélectionnez votre application.
  4. Dans le panneau de l’application, sélectionnez « Configuration du jeton », puis sélectionnez « Ajouter une revendication de groupe ».
  5. Sélectionnez les groupes que vous souhaitez inclure dans vos revendications de jetons.
  6. Sélectionnez « Ajouter ».
  7. N’oubliez pas d’accorder le consentement de l’administrateur pour que l’application autorise les demandes d’appartenance à un groupe.

Une fois ces étapes terminées, Azure AD inclut l’ID du groupe sélectionné dans la revendication du groupe du jeton lorsque l’émission de jetons pour l’application. Ces informations peuvent ensuite être utilisées par notre application pour attribuer des rôles appropriés à utilisateurs en fonction de leur appartenance à un groupe dans Azure AD.

L’application a besoin de savoir quels rôles attribuer aux utilisateurs en fonction de ces ID de groupe. Pour cela, nous utilisons Configuration du mappage d’autorisation. Il s’agit d’un mécanisme permettant de mapper ces ID de groupe Azure AD aux rôles correspondants au sein de notre application.