Keycloak – droits granulaires d’accès à une application pour un utilisateur ou un groupe

Introduction

Keycloak est un serveur d’identité et d’accès open-source qui fournit des fonctionnalités avancées pour sécuriser les applications. L’une de ces fonctionnalités est le support d’autorisation fine (fine-grained authorization), qui permet de contrôler l’accès aux différentes parties d’une application de manière granulaire.

Prérequis

  • Une installation fonctionnelle de Keycloak.
  • Une application cliente déjà configurée dans Keycloak.

Étapes de Configuration

1. Activer l’Authorization

  1. Connectez-vous à la console d’administration de Keycloak.
  2. Sélectionnez le royaume et le client pour lesquels vous souhaitez activer l’autorisation.
  3. Cochez la case « Authorization » et enregistrez les modifications.

2. Configurer les politiques

  1. Allez dans l’onglet « Authorization ».
  2. Allez dans « Policies » -> « Create Policy ».
  3. Vous pouvez créer différents types de politiques ici, comme des politiques basées sur des rôles, des attributs, etc.

3. Définir des Permissions

  1. Allez dans « Permissions » -> « Create Permission ».
  2. Associez des politiques aux permissions pour définir qui peut accéder à quoi.

Test et Validation

L’outil Evaluate dans la console d’administration de Keycloak vous permet de tester différentes politiques et permissions sans avoir à effectuer des appels API depuis votre application cliente. Voici comment vous pouvez l’utiliser pour valider votre configuration.

  1. Ouvrir l’Outil Evaluate
    • Allez dans « Clients » -> votre client -> « Authorization » -> « Evaluate ».
  2. Sélectionner l’Utilisateur
    • Dans l’onglet Evaluate, vous verrez une section « User » où vous pouvez choisir un utilisateur existant du royaume. Sélectionnez un utilisateur pour lequel vous souhaitez évaluer les politiques.
  3. Configurer le Contexte de l’Évaluation
    • Vous pouvez également définir des attributs de session ou des variables d’environnement si vos politiques en dépendent.
  4. Exécuter l’Évaluation
    • Une fois que vous avez configuré les paramètres nécessaires, cliquez sur le bouton « Evaluate ».
  5. Analyser les Résultats
    • Après avoir cliqué sur « Evaluate », l’outil exécutera toutes les politiques et permissions associées au client et à l’utilisateur sélectionnés.
    • Vous verrez un ensemble de permissions « Granted » (accordées) et « Not Granted » (non accordées) basées sur les politiques que vous avez configurées.
    • Utilisez ces résultats pour vérifier si vos politiques fonctionnent comme prévu.

Conclusion

La configuration du « fine-grained authorization » dans Keycloak est un moyen puissant de sécuriser votre application en définissant des contrôles d’accès très granulaires. Cette approche permet non seulement une flexibilité maximale, mais aussi une sécurité renforcée de vos ressources.