Afficher les privilèges d'un utilisateur
Oracle
SELECT privilege FROM dba_sys_privs WHERE grantee = 'APP'
UNION ALL SELECT granted_role FROM dba_role_privs WHERE grantee = 'APP'
UNION ALL SELECT privilege||' ON '||owner||'.'||table_name
FROM dba_tab_privs WHERE grantee = 'APP';Le grantee est stocké en majuscules. Pour les privilèges indirects accordés via des rôles, parcourez aussi role_role_privs.
PostgreSQL
SELECT grantee, table_schema, table_name, privilege_type
FROM information_schema.role_table_grants
WHERE grantee = 'app';
-- Role memberships (direct): \drg app (PG16+; earlier \du app)Les appartenances aux rôles (héritage) sont stockées dans pg_auth_members ; \du/\drg n'affichent que les appartenances directes, utilisez pg_has_role('app', '<role>', 'MEMBER') pour l'appartenance indirecte.
MySQL
SHOW GRANTS FOR 'app'@'%';Pour les rôles (MySQL 8), faites d'abord SET ROLE ALL, ou utilisez SHOW GRANTS FOR 'app'@'%' USING 'role_name';
SQL Server
SELECT dp.name AS principal, p.permission_name,
p.state_desc, o.name AS object
FROM sys.database_permissions p
JOIN sys.database_principals dp ON p.grantee_principal_id = dp.principal_id
LEFT JOIN sys.objects o ON p.major_id = o.object_id
WHERE dp.name = 'app';Pour les permissions accordées via des rôles, vérifiez aussi les appartenances dans sys.database_role_members.
MongoDB
db.getUser("app", { showPrivileges: true, showCredentials: false })showPrivileges liste aussi les privilèges développés (effectifs) des rôles.
Redis
ACL GETUSER appRenvoie les commandes autorisées, les motifs de clés (~), les canaux pub/sub (&) et les hachages de mots de passe.