Aller au contenu

Contrôle d'accès aux données

Au-delà des rôles applicatifs, Gouverner → Gestion des accès définit par groupe qui accède à quels fichiers (MinIO) et à quelles tables (catalogue Trino). Les droits sont appliqués via Keycloak et OPA sur le cluster.

Prérequis

  • MinIO et Trino installés sur le cluster (Composants).
  • Le composant de contrôle d'accès (Keycloak par cluster + OPA) disponible.
  • Des groupes définis (Utilisateurs & rôles).

Procédure

1. Activer le contrôle d'accès

Un clic déploie la politique sur le cluster et synchronise les utilisateurs (création des groupes Keycloak correspondants, chargement des règles OPA).

2. Définir les droits par groupe

Pour chaque groupe (ex. data_governance), accordez des accès :

Domaine Granularité Niveau
Fichiers (MinIO) Bucket + préfixe (ex. datalake/bronze/*) lecture / lecture-écriture
Catalog (tables Trino) Catalogue · schéma · table SELECT, etc. (ou admin = bypass)
Applications Accès aux applications gouvernées

3. Appliquer

Les règles deviennent effectives à l'exécution : chaque requête est brokerée avec l'identité et les groupes de l'utilisateur.

Vérifier

  • Connectez-vous avec un utilisateur du groupe et ouvrez le Catalogue SQL : il ne doit voir que les catalogues/schémas/tables autorisés.
  • Une lecture MinIO hors périmètre doit être refusée.
  • Les journaux OPA (Monitoring) tracent les décisions d'autorisation.

Sécurité par conception

Secrets résolus juste-à-temps

Les connexions, variables et secrets définis par les Data Engineers ne sont résolus à l'exécution que pour les utilisateurs y ayant droit. Un job planifié s'exécute avec l'autorité du groupe propriétaire, jamais avec des secrets en clair — voir Connexions & secrets.

Requêtes exécutées avec votre identité

Chaque requête SQL (SQL Lab, « Parler aux données ») est brokerée sur Trino avec l'identité et les groupes de l'utilisateur, pas un compte de service partagé. Le contrôle d'accès s'applique de bout en bout.

Modèle multi-tenant

  • Chaque organisation a son royaume Keycloak dédié → cloisonnement des identités.
  • Chaque cluster applique ses politiques OPA/MinIO → cloisonnement des données.
  • Les rôles admin (de groupe) bypassent les politiques OPA (comme un super-admin) — à réserver aux comptes qui en ont réellement besoin.

Fin du parcours DataOps. Suivant : Data Engineer — Alimenter →