Lists: | pgsql-fr-generale |
---|
From: | Pierre Crumeyrolle <pierre(dot)crumeyrolle(at)csgroup(dot)eu> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | pgcrypto |
Date: | 2020-12-10 16:35:22 |
Message-ID: | 973750ab-81dc-a28e-9fab-0bb34278df86@c-s.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
bonjour,
je tente d' utiliser les functions pg_crypto , j’ai une erreur
"*ERROR: must be superuser to read files" **
*
*precision j utilise gpg et pg crypto va lire ces cles sur le disque ,
je suis en postgres 9
*
*j essayes de lancer ca sous un user qui n est pas superutilisateur ,
avec le role superutilisateur ca marche
*
un "GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO ftuser;" ne
change rien**
quelqu'un a t il eu ce type de problème ? Merci
postgres 9.5.16 on linux
psql -h localhost -p 5432 -d FT_DB -U ftuser
Password for user ftuser:
psql (9.5.16)
Type "help" for help.
*FT_DB=> select
ft_decrypt_pwd(password,'3B259A9A610271EC2F07A6E557FBE1DA05770E44') from
ft_user;**
**ERROR: must be superuser to read files**
**CONTEXT: PL/pgSQL function ft_decrypt_pwd(bytea,text) line 8 at
assignment**
*
From: | Michel Payan <michel(dot)payan(at)gmail(dot)com> |
---|---|
To: | Pierre Crumeyrolle <pierre(dot)crumeyrolle(at)csgroup(dot)eu> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: pgcrypto |
Date: | 2020-12-10 21:47:43 |
Message-ID: | CAPFLA-Mrz60ztsomNt6KtsGQbWk53J1cqRy1+kqddgDNFaT-dw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
L'erreur te dit qu'il faut être superuser !
Normal que ça fonctionne donc avec un superuser et pas sans ...
Le jeu. 10 déc. 2020 à 22:30, Pierre Crumeyrolle <
pierre(dot)crumeyrolle(at)csgroup(dot)eu> a écrit :
> bonjour,
>
> je tente d' utiliser les functions pg_crypto , j’ai une erreur "*ERROR:
> must be superuser to read files" *
>
>
> *precision j utilise gpg et pg crypto va lire ces cles sur le disque , je
> suis en postgres 9 *
>
>
> *j essayes de lancer ca sous un user qui n est pas superutilisateur , avec
> le role superutilisateur ca marche *
>
> un "GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO ftuser;" ne change
> rien
>
> quelqu'un a t il eu ce type de problème ? Merci
>
> postgres 9.5.16 on linux
>
> psql -h localhost -p 5432 -d FT_DB -U ftuser
> Password for user ftuser:
> psql (9.5.16)
> Type "help" for help.
>
> *FT_DB=> select
> ft_decrypt_pwd(password,'3B259A9A610271EC2F07A6E557FBE1DA05770E44') from
> ft_user;*
> *ERROR: must be superuser to read files*
> *CONTEXT: PL/pgSQL function ft_decrypt_pwd(bytea,text) line 8 at
> assignment*
>
From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | Michel Payan <michel(dot)payan(at)gmail(dot)com> |
Cc: | Pierre Crumeyrolle <pierre(dot)crumeyrolle(at)csgroup(dot)eu>, pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: pgcrypto |
Date: | 2020-12-11 02:02:07 |
Message-ID: | X9LTHwU0g12adlDz@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
On Thu, Dec 10, 2020 at 10:47:43PM +0100, Michel Payan wrote:
> L'erreur te dit qu'il faut être superuser !
> Normal que ça fonctionne donc avec un superuser et pas sans ...
A noter que la version 11 a ajouté un rôle système nommé
pg_read_server_files, donc il n'est pas forcément nécessaire de
dépendre d'un superuser dans les nouvelles versions pour avoir accès à
cette fonctionnalité.
--
Michael
From: | CRUMEYROLLE Pierre <pierre(dot)crumeyrolle(at)csgroup(dot)eu> |
---|---|
To: | pgsql-fr-generale(at)lists(dot)postgresql(dot)org |
Subject: | Re: pgcrypto |
Date: | 2020-12-11 08:11:35 |
Message-ID: | 20201211091135.Horde.5tLC7kRmL3ZLLbM_9AsOIA1@messagerie.c-s.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
pas de bol je suis en 9, ca veut dire que pg_crypto en 9 ca sert a
rien si faut être superuser pour l utiliser
Michael Paquier <michael(at)paquier(dot)xyz> a écrit :
> On Thu, Dec 10, 2020 at 10:47:43PM +0100, Michel Payan wrote:
>> L'erreur te dit qu'il faut être superuser !
>> Normal que ça fonctionne donc avec un superuser et pas sans ...
>
> A noter que la version 11 a ajouté un rôle système nommé
> pg_read_server_files, donc il n'est pas forcément nécessaire de
> dépendre d'un superuser dans les nouvelles versions pour avoir accès à
> cette fonctionnalité.
> --
> Michael
From: | Alain Benard <alain(dot)benard(at)inrae(dot)fr> |
---|---|
To: | CRUMEYROLLE Pierre <pierre(dot)crumeyrolle(at)csgroup(dot)eu>, "pgsql-fr-generale(at)lists(dot)postgresql(dot)org" <pgsql-fr-generale(at)lists(dot)postgresql(dot)org> |
Subject: | RE: pgcrypto |
Date: | 2020-12-11 08:25:19 |
Message-ID: | 6fe4bf277359401698c59a79efcce8de@IDFDCPRIPEXMU06.inra.local |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
Bonjour,
Peut-être une alternative :
Tu demandes à un superuser de créer une procédure stockée qui encapsulerait les instructions interdites.
Ensuite il faut que cette procédure stockée puisse s'exécuter avec les droit de celui qui l'a écrite (DEFINER)
Ensuite il donne les droits d'exécution sur cette procédure à un nombre restreint de role dont le tien.
J'ai déjà fait ça pour permettre 'CREATE ROLE' sans avoir le flag de gestionnaire de role.
Bonne journée.
Alain.
-----Message d'origine-----
De : CRUMEYROLLE Pierre <pierre(dot)crumeyrolle(at)csgroup(dot)eu>
Envoyé : vendredi 11 décembre 2020 09:12
À : pgsql-fr-generale(at)lists(dot)postgresql(dot)org
Objet : Re: pgcrypto
pas de bol je suis en 9, ca veut dire que pg_crypto en 9 ca sert a rien si faut être superuser pour l utiliser
Michael Paquier <michael(at)paquier(dot)xyz> a écrit :
> On Thu, Dec 10, 2020 at 10:47:43PM +0100, Michel Payan wrote:
>> L'erreur te dit qu'il faut être superuser !
>> Normal que ça fonctionne donc avec un superuser et pas sans ...
>
> A noter que la version 11 a ajouté un rôle système nommé
> pg_read_server_files, donc il n'est pas forcément nécessaire de
> dépendre d'un superuser dans les nouvelles versions pour avoir accès à
> cette fonctionnalité.
> --
> Michael
From: | "Daniel Verite" <daniel(at)manitou-mail(dot)org> |
---|---|
To: | "Pierre Crumeyrolle" <pierre(dot)crumeyrolle(at)csgroup(dot)eu> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: pgcrypto |
Date: | 2020-12-11 11:37:30 |
Message-ID: | 9e97037d-f66b-4704-b2d2-dc83fa8c9aeb@manitou-mail.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
Pierre Crumeyrolle wrote:
> precision j utilise gpg et pg crypto va lire ces cles sur le disque ,
Les fonctions de pgcrypto ne vont pas lire sur disque, elles prennent
le contenu des clefs en argument.
cf https://docs.postgresql.fr/13/pgcrypto.html
ou les exemples dans
https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=contrib/pgcrypto/sql
Vous n'avez pas montré la requête qui se prend une erreur
"must be superuser to read files" mais vraisemblablement
c'est la fonction pg_read_file() qui produit ça, ce n'est pas pgcrypto
lui-même.
D'autres usages sont possibles, comme le fait que la clef vienne
du client et soit embarquée dans la requête, ou que la clef
soit stockée dans une fonction SQL. Si la clef doit forcément être
sur le disque du serveur, comme proposé plus haut typiquement
il faudrait qu'une fonction lisant ce fichier appartienne à un super
utilisateur et soit marquée SECURITY DEFINER.
Cordialement,
--
Daniel
From: | Pierre Crumeyrolle <pierre(dot)crumeyrolle(at)csgroup(dot)eu> |
---|---|
To: | pgsql-fr-generale(at)lists(dot)postgresql(dot)org |
Subject: | Re: pgcrypto |
Date: | 2020-12-11 12:47:46 |
Message-ID: | fefa291c-fa3b-e3d2-17cd-af566579dc32@c-s.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
ok je confirme que ça marche si on stocke la clé par exemple en bd j
'évite la lecture sur disque
merci pour les tuyaux je pense qu'en 11 j aurais pas eu ce soucis
Le 11/12/2020 à 12:37, Daniel Verite a écrit :
> Pierre Crumeyrolle wrote:
>
>> precision j utilise gpg et pg crypto va lire ces cles sur le disque ,
> Les fonctions de pgcrypto ne vont pas lire sur disque, elles prennent
> le contenu des clefs en argument.
> cf https://docs.postgresql.fr/13/pgcrypto.html
> ou les exemples dans
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=contrib/pgcrypto/sql
>
> Vous n'avez pas montré la requête qui se prend une erreur
> "must be superuser to read files" mais vraisemblablement
> c'est la fonction pg_read_file() qui produit ça, ce n'est pas pgcrypto
> lui-même.
>
> D'autres usages sont possibles, comme le fait que la clef vienne
> du client et soit embarquée dans la requête, ou que la clef
> soit stockée dans une fonction SQL. Si la clef doit forcément être
> sur le disque du serveur, comme proposé plus haut typiquement
> il faudrait qu'une fonction lisant ce fichier appartienne à un super
> utilisateur et soit marquée SECURITY DEFINER.
>
> Cordialement,
> --
> Daniel