Данный метод аутентификации работает аналогично методу
password за исключением того, что в качестве метода проверки пароля используется протокол RADIUS. Протокол RADIUS используется только для проверки пар имя пользователя/пароль. Таким образом, пользователь уже должен быть создан в базе данных, прежде чем RADIUS может быть использован для аутентификации.
При использовании аутентификации RADIUS на сконфигурированный сервер RADIUS отправляется сообщение типа Access Request. Данный запрос будет иметь тип
Authenticate Onlyи будет содержать параметры
имя пользователя, password (зашифрованное) и
NAS Identifier. Запрос будет зашифрован с использованием
общего секрета (shared secret), известного серверу. Сервер RADIUS ответит на этот запрос сообщением Access Accept или
Access Reject. Поддержка функции учета (accounting) RADIUS не предусмотрена.
Допускается указание нескольких серверов RADIUS; в этом случае попытки подключения к ним будут выполняться последовательно. При получении отрицательного ответа от сервера аутентификация завершится ошибкой. Если ответ не получен, будет выполнена попытка обращения к следующему серверу в списке. Для указания нескольких серверов необходимо разделить их имена запятыми и заключить список в двойные кавычки. Если указано несколько серверов, остальные параметры RADIUS также могут быть заданы в виде списков значений, разделённых запятыми, для настройки каждого сервера по отдельности. Они также могут быть определены в виде единого значения; в этом случае данное значение будет применено ко всем серверам.
Для RADIUS поддерживаются следующие параметры конфигурации:
radiusserversDNS-имена или IP-адреса серверов RADIUS для подключения. Данный параметр является обязательным.
radiussecretsОбщие секретные ключи, используемые для безопасного взаимодействия с RADIUS- серверами. Данное значение должно быть идентичным на серверах Digital Q.DataBase и серверах RADIUS. Рекомендуется, чтобы это была строка из не менее 16 символов. Данный параметр является обязательным.
Используемый вектор шифрования будет криптографически стойким только в том случае, если Digital Q.DataBase сборка выполнена с поддержкой OpenSSL. В противном случае передача данных на сервер RADIUS должна считаться лишь обфусцированной, а не защищенной, и при необходимости следует применять дополнительные меры безопасности.
radiusports
Номера портов для подключения к серверам RADIUS. Если порт
не указан, будет использоваться стандартный порт RADIUS (1812)
will be used.
radiusidentifiers
Строки, используемые в качестве NAS Identifier в
запросах RADIUS. Данный параметр может использоваться, например, для
идентификации кластера базы данных, к которому пытается подключиться пользователь
что может быть полезно для сопоставления с политиками на
сервере RADIUS. Если идентификатор не указан, по умолчанию
postgresql будет использоваться.
Если в значении параметра RADIUS необходимо использовать запятую или пробел, это можно сделать, заключив значение в двойные кавычки, однако это затруднительно, так как требует двухуровневого использования двойных кавычек. Пример указания пробелов в строках секретов RADIUS:
host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""secret two"""