Sec roles

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus d'audit de sécurité
Voir aussi Sec users · Sec default passwords

Sec roles liste l'ensemble des rôles définis dans la base et, pour chacun, les comptes auxquels il est accordé (grantee), avec l'indication de l'option ADMIN OPTION (le compte peut re-accorder le rôle) et du caractère par défaut (rôle actif automatiquement à la connexion, sans SET ROLE).

Script

SET TERMOUT OFF
COLUMN current_instance NEW_VALUE current_instance NOPRINT
SELECT rpad(instance_name, 17) current_instance FROM v$instance;
SET TERMOUT ON

PROMPT
PROMPT +------------------------------------------------------------------------+
PROMPT | Report   : Security - All Roles                                        |
PROMPT | Instance : &current_instance                                           |
PROMPT +------------------------------------------------------------------------+

SET LINESIZE 180
SET PAGESIZE 50000
CLEAR COLUMNS
CLEAR BREAKS
CLEAR COMPUTES

COLUMN role         FORMAT a30 HEAD 'Role Name'
COLUMN grantee      FORMAT a30 HEAD 'Grantee'
COLUMN admin_option FORMAT a15 HEAD 'Admin Option?'
COLUMN default_role FORMAT a15 HEAD 'Default Role?'

BREAK ON role SKIP 2

SELECT
    b.role
  , a.grantee
  , a.admin_option
  , a.default_role
FROM
    dba_role_privs a RIGHT OUTER JOIN dba_roles b ON (a.granted_role = b.role)
ORDER BY
    b.role, a.grantee
/

Un rôle sans aucune ligne grantee associée (jointure externe côté dba_roles) est un rôle défini mais jamais accordé à personne — souvent le signe d'un reliquat de script d'installation à nettoyer.

Voir aussi