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 →