Re: pg_cron problème

From: Sébastien Lardière <sebastien(at)lardiere(dot)net>
To: Alain Benard <alain(dot)benard(at)inrae(dot)fr>, "pgsql-fr-generale(at)postgresql(dot)org" <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: pg_cron problème
Date: 2023-02-02 14:45:56
Message-ID: 068fb0e4-c2fa-94ce-6144-5baf5418f5ab@lardiere.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

On 02/02/2023 15:24, Alain Benard wrote:
>
> Bonjour,
>
> Nous avons migré de postgres 9.6 à 12 en décembre 2021 et une collègue
> qui utilise pg_cron me signale que ça ne fonctionne plus depuis cette
> date. La migration de la base avec pg_cron a été un casse tête car
> nous sommes passé par des dump et la conf de postgresql.conf se mord
> la queue entre le share_libraries et la base qui doit déjà être
> présente avec un schéma pg_cron maisbon on y est parvenu.
>
> Nous avons des messages de ce type :
>
> dupond(at)db_poisson LOG:  provided user name (dupond) and authenticated
> user name (postgres) do not match
>
> 2023-02-02 03:00:00.030 CET [3781003] dupond(at)db_poisson FATAL:  Peer
> authentication failed for user "dupond"
>
> 2023-02-02 03:00:00.030 CET [3781003] dupond(at)db_poisson DETAIL:
> Connection matched pg_hba.conf line 94: "local all            
> all                                     peer"
>
> 2023-02-02 03:00:00.032 CET [3477723] LOG:  cron job 2 connection failed
>
> Pour info le propriétaire de l’extension (select * from pg_extension)
> n’est pas postgres et je ne sais comment le changer ni si c’est
> nécessaire.
>
> Les jobs ne s’exécutant pas ma collègue (non administrateur du
> serveur) a tenté de mettre l’utilisateur postgres dans la colonne
> username de la table job et visiblement ça passe.  Pour moi c’est une
> grosse faille de sécurité.
>
> Qu’est-ce qui a pu changer entre les versions de postgres et que
> puis-je vérifier ?
>
> Merci par avance.
>
> Alain.
>

Bonjour,

Le message fait référence à une règle authentification présente dans
votre fichier pg_hba.conf, utilisant comme cible l'authentification peer
(voir : https://www.postgresql.org/docs/12/auth-peer.html )

Si l'authentification fonctionne pour l'utilisateur postgres de
l'instance, c'est que le client est lui même lancé en tant
qu'utilisateur postgres dans votre OS.

Au passage, il s'agit d'une connexion via la socket UNIX, donc, le
risque, en terme de sécurité, est relativement réduit.

Pour autoriser l'utilisateur de votre choix, il faut l'y ajouter une
règle dans ce fichier pg_hba.conf, par exemple, avant la ligne existante :

local   db_poisson dupond scram-sha-265
local   all             all       peer

Puis, recharger la configuration. Attention, l'ordre des lignes dans ce
fichier est important.

--
Sébastien

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Alain Benard 2023-02-02 15:09:03 RE: pg_cron problème
Previous Message Alain Benard 2023-02-02 14:24:44 pg_cron problème