Cette méthode d'authentification opère de façon similaire à
password
sauf qu'il existe la méthode RADIUS pour la
vérification du mot de passe. RADIUS est seulement utilisé pour valider
des pairs nom utilisateur / mot de passe. Du coup, l'utilisateur doit déjà
exister dans la base de données avant que RADIUS puisse être utilisé pour
l'authentification.
Lors de l'utilisation de l'authentification RADIUS, un message de demande
d'accès (Access Request) sera envoyé au
serveur RADIUS configuré. Cette demande sera du type
« authentification seule » (Authenticate
Only
) et incluera les paramètres pour le nom de l'utilisateur,
son mot de passe (chiffré) et un identifiant NAS (NAS
Identifier
). La demande sera chiffrée en utilisant un secret
partagé avec le serveur. Le serveur RADIUS répond à cette demande avoir
soit Access Accept
soit Access
Reject
. Il n'y a pas de support des comptes RADIUS.
Plusieurs serveurs RADIUS peuvent être spécifiés, auquel cas ils seront testés de manière séquentielle. Si une réponse négative est reçue d'un serveur, l'authentification échouera. Si aucune réponse n'est reçue, le serveur qui suit dans la liste sera essayé. Pour spécifier plusieurs serveurs, séparez les noms de serveurs par des virgules et placez la liste entre guillemets double. Si plusieurs serveurs sont spécifiés, toutes les autres options RADIUS peuvent également être indiquées en tant que liste séparée par des virgules, pour s'appliquer individuellement à chaque serveur. Elles peuvent également être spécifiées indépendemment. Dans ce cas, elles seront appliquées à tous les serveurs.
Les options de configuration suivantes sont supportées par RADIUS :
radiusservers
Les noms DNS et/ou adresses IP des serveurs RADIUS pour l'authentification. Ce paramètre est requis.
radiussecrets
Les secrets partagés utilisés lors de discussions sécurisées avec les serveurs RADIUS. Il doit y avoir exactement la même valeur sur le serveur PostgreSQL et sur le serveur RADIUS. Il est recommandé d'utiliser une chaîne d'au moins 16 caractères. Ce paramètre est requis.
Le vecteur de chiffrement utilisé sera un chiffrement fort seulement si PostgreSQL a été compilé avec le support d'OpenSSL. Dans les autres cas, la transmission au serveur RADIUS peut seulement être considérée comme caché, et non pas sécurisé, et des mesures de sécurité externes doivent être appliquées si nécessaire.
radiusports
Les numéros de port sur les serveurs RADIUS pour la connexion. Si aucun
port n'est indiqué, le port RADIUS par défaut (1812
)
sera utilisé.
radiusidentifiers
Les chaînes à utiliser comme identifiants NAS (NAS
Identifier
) dans les demandes RADIUS. Ce paramètre peut être
utilisé, par exemple, pour identifier l'instance auquel l'utilisateur
tente de se connecter. C'est utilisable pour des vérifications sur les
serveurs RADIUS. Si aucune identifiant n'est spécifié, la valeur par
défaut, postgresql
, sera utilisée.
S'il est nécessaire d'avoir une virgule ou un espace blanc dans la valeur d'un paramètre RADIUS, ceci peut se faire en entourant la valeur de guillemets doubles, mais ceci peut devenir compliqué car deux niveaux de guillemets doubles sont maintenant nécessaires. Voici un exemple d'espace bland dans les chaînes de secret RADIUS :
host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""secret two"""