2010-09-06 2 views
2

J'ai découvert comment refuser tout accès aux tables pour un utilisateur dans un schéma.PostgreSQL, comment puis-je restreindre l'accès au code dans une fonction pour un utilisateur?

REVOKE ALL PRIVILEGES ON SCHEMA test FROM user; 

Mais qu'est-ce que je peux faire pour limiter l'accès à toutes les fonctions dans un schéma, de sorte que l'utilisateur n'a pas pu lire le code?

Je tentais ceci:

REVOKE ALL ON FUNCTION test.test_function(text) FROM user; 

Oui, il a restreint la possibilité de changer une fonction, mais pas voir réellement.

Qu'est-ce que j'ai raté?

Répondre

2

REVOKE accéder à la vue système pg_proc ou au moins la colonne prosrc qui a le code source de la fonction.

+0

J'utilise ici: REVOKE TOUS LES PRIVILEGES SUR TABLE pg_catalog.pg_proc FROM utilisateur; Mais ça ne marche pas ... l'utilisateur peut toujours voir la table. – MindLezz

+1

Avez-vous également RÉVOQUÉ l'accès public? Votre utilisateur est également "public": REVOKE SELECT ON TABLE pg_proc FROM public; –

+0

Merci Frank! Cela fonctionne;) – MindLezz

Questions connexes