La dette IAM s’accumule sur les plateformes data GCP par le biais de rôles Editor accordés par commodité, de comptes de service partagés créés pour éviter la charge d’en créer des séparés, et de clés de compte de service committées dans des dépôts pour débloquer des déploiements. Corriger la dette IAM nécessite deux phases : auditer ce qui est actuellement configuré, puis implémenter des patterns qui empêchent la réaccumulation. Les notes de ce hub couvrent les deux phases dans l’ordre.
Phase 1 : Audit
IAM Debt Audit for GCP Data Platforms — Commencez par exécuter ces requêtes. Trois scripts bash/SQL qui font remonter les éléments à risque le plus élevé : les principals ayant des rôles Editor ou Owner, les comptes de service avec des clés téléchargeables, et les comptes de service partagés entre plusieurs workloads. Les résultats constituent votre backlog de remédiation.
Phase 2 : Implémentation des patterns de moindre privilège
2-Layer RBAC with Google Groups — Liez les rôles IAM à des groupes représentant des fonctions métier, pas à des utilisateurs individuels. Quand quelqu’un rejoint l’équipe, ajoutez-le au groupe. Quand il part, retirez-le. Les liaisons de rôles ne changent jamais. Inclut les conditions IAM pour limiter l’accès à des préfixes de dataset spécifiques.
Per-Workload Service Account Naming Conventions — Un compte de service par workload, nommé avec un préfixe de plateforme de calcul (crj-, cmp-, wlif-). Quand un nom de compte de service apparaît dans INFORMATION_SCHEMA.JOBS, il indique exactement quel workload a exécuté la requête et où chercher. Couvre également l’impersonation de compte de service pour le développement local sans distribuer de clés.
Workload Identity Federation for CI/CD — Remplacez les clés de compte de service dans GitHub Actions et d’autres systèmes CI par une authentification OIDC sans clé. Aucune credential à stocker, faire pivoter ou laisser fuiter. La clé expire après une heure ; l’exécution suivante obtient une nouvelle clé.
Phase 3 : Sécurité au niveau des données
BigQuery Column-Level Security with Policy Tags — Étiquetez les colonnes sensibles dans Data Catalog et contrôlez l’accès via IAM plutôt que via des vues. Plus besoin de créer des vues filtrées pour masquer les colonnes SSN ; l’étiquette applique l’accès au niveau de la couche de stockage pour toute requête sur la table.
BigQuery Row Access Policies — Remplacez les vues par segment (sales_emea, sales_apac) par un filtrage dynamique des lignes qui s’applique automatiquement en fonction de l’identité de l’utilisateur qui exécute la requête. Ajoutez SESSION_USER() pour les patterns où un manager voit son équipe et qui référencent des tables de correspondance en direct.
BigQuery Dynamic Data Masking — Montrez la structure des colonnes sensibles sans exposer les valeurs. Les analystes peuvent écrire des requêtes qui font des JOIN sur des adresses e-mail (en utilisant des hachages SHA256) sans lire les valeurs d’e-mail réelles. Trois modes de masquage : hachage déterministe, valeurs par défaut adaptées au type, ou null.
Phase 4 : Prévenir la réaccumulation
IAM Drift Monitoring for GCP — La dette IAM se réaccumule sans surveillance active. IAM Recommender analyse 90 jours d’utilisation pour signaler les principals sur-privilégiés. INFORMATION_SCHEMA.JOBS fait remonter les comptes de service inattendus et les patterns d’accès. Les sinks de journaux d’audit vers BigQuery capturent chaque changement IAM pour révision.
Notes connexes
La note BigQuery IAM Patterns couvre le modèle de rôles sous-jacent — la distinction entre accès aux données et accès au calcul qui fait fonctionner l’IAM BigQuery différemment de la plupart des services GCP.
Pour les équipes dbt : les politiques d’accès aux lignes et les policy tags disparaissent quand dbt supprime et recrée les tables. Secured Table Materialization in dbt résout ce problème en réappliquant la configuration de sécurité dans le cadre de l’étape de matérialisation.
Pour l’authentification en développement local sans clés : GCP Application Default Credentials explique la chaîne de credentials ADC et comment l’impersonation s’y intègre.