PG_DEFAULT_ACL - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

PG_DEFAULT_ACL

Stocke des informations sur les privilèges d'accès par défaut. Pour plus d'informations sur les privilèges d'accès par défaut, consultez ALTER DEFAULT PRIVILEGES.

PG_DEFAULT_ACL est visible par tous les utilisateurs. Les super-utilisateurs peuvent voir toutes les lignes, tandis que les utilisateurs standard peuvent voir uniquement leurs propres données. Pour plus d'informations, consultez Visibilité des données dans les tables et vues système.

Colonnes de la table

Nom de la colonne Type de données Description
defacluser entier ID de l'utilisateur auquel les privilèges répertoriés sont appliqués.
defaclnamespace oid ID d'objet du schéma auquel les privilèges par défaut sont appliqués. La valeur par défaut est 0 si aucun schéma n'est spécifié.
defaclobjtype character

Le type d'objet auquel les privilèges par défaut sont appliqués. Les valeurs valides sont les suivantes :

  • r–relation (table ou vue)

  • f–function

  • procédure p–stored

defaclacl aclitem[]

Chaîne qui définit les privilèges par défaut pour l'utilisateur ou groupe d'utilisateurs et le type d'objet spécifiés.

Si les privilèges sont accordés à un utilisateur, la chaîne se présente au format suivant :

{ username=privilegestring/grantor }

nom d'utilisateur

Nom de l'utilisateur auquel sont accordés des privilèges. Si username est omis, les privilèges sont accordés à PUBLIC.

Si les privilèges sont accordés à un groupe d'utilisateurs, la chaîne se présente au format suivant :

{ "group groupname=privilegestring/grantor" }

privilegestring

Chaîne qui spécifie quels privilèges sont accordés.

Les valeurs valides sont :

  • r–SELECT (lecture)

  • a–INSERT (ajout)

  • w–UPDATE (écriture)

  • d–DELETE

  • x– accorde le privilège de créer une contrainte de clé étrangère (REFERENCES).

  • X–EXECUTE

  • *– indique que l'utilisateur auquel le privilège précédent est accordé peut à son tour accorder celui-ci à d'autres utilisateurs (WITH GRANT OPTION).

grantor

Nom de l'utilisateur ayant accordé les privilèges.

L'exemple suivant indique que l'utilisateur admin a accordé tous les privilèges, notamment WITH GRANT OPTION, à l'utilisateur dbuser.

dbuser=r*a*w*d*x*X*/admin

Exemple

La requête suivante renvoie tous les privilèges par défaut définis pour la base de données.

select pg_get_userbyid(d.defacluser) as user, n.nspname as schema, case d.defaclobjtype when 'r' then 'tables' when 'f' then 'functions' end as object_type, array_to_string(d.defaclacl, ' + ') as default_privileges from pg_catalog.pg_default_acl d left join pg_catalog.pg_namespace n on n.oid = d.defaclnamespace; user | schema | object_type | default_privileges -------+--------+-------------+------------------------------------------------------- admin | tickit | tables | user1=r/admin + "group group1=a/admin" + user2=w/admin

Le résultat de l'exemple précédent indique que pour toutes les nouvelles tables créées par l'utilisateur admin dans le schéma tickit, admin accorde les privilèges SELECT à user1, les privilèges INSERT à group1 et les privilèges UPDATE à user2.