pg_policy
Le catalogue pg_policy
stocke les politiques
de sécurité niveau ligne pour les tables. Une politique inclue le
type de commandes auquel elle s'applique (éventuellement toutes les
commandes), les rôles auxquels elle s'applique, l'expression à ajouter
comme barrière de sécurité aux requêtes qui incluent la table,
et l'expression à ajouter comme option WITH CHECK
aux requêtes qui tentent d'ajouter de nouvelles lignes à la table.
Tableau 51.38. Colonnes de pg_policy
Nom | Type | Références | Description |
---|---|---|---|
polname | name | Le nom de la politique de sécurité | |
polrelid | oid |
| La table à laquelle s'applique la politique de sécurité |
polcmd | char | Le type de commande auquel est appliqué la politique de sécurité :
r pour SELECT ,
a pour INSERT ,
w pour UPDATE ,
d pour DELETE
ou * pour tous | |
polpermissive | boolean | La politique est-elle permissive ou restrictive ? | |
polroles | oid[] |
| Les rôles à qui est appliquée la politique de sécurité |
polqual | pg_node_tree | L'arbre de l'expression à ajouter aux barrières de sécurité pour les requêtes qui utilisent la table | |
polwithcheck | pg_node_tree | L'arbre de l'expression à ajouter aux qualifications WITH CHECK pour les requêtes qui tentent d'ajouter des lignes à la table |
Les politiques de sécurité stockées dans
pg_policy
sont seulement appliquées lorsque
pg_class
.relrowsecurity
est positionné pour leur table.