×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

3.5.6. Аутентификация GSSAPI

GSSAPI представляет собой стандартный отраслевой протокол безопасной аутентификации, описанный в RFC 2743. Digital Q.DataBase поддерживает GSSAPI для аутентификации, шифрования трафика или для обеих целей одновременно. GSSAPI обеспечивает автоматическую аутентификацию (технологию единого входа) для систем, поддерживающих данный механизм. Сама процедура аутентификации является безопасной. Если GSSAPI шифрование или SSL если используется шифрование, данные, передаваемые через соединение с базой данных, будут зашифрованы; в противном случае — нет.

Когда GSSAPI использует Kerberos, он использует стандартное имя субъекта службы (идентификатор аутентификации) в формате servicename/hostname@realm. Имя субъекта (principal), используемое в конкретной инсталляции, не кодируется в Digital Q.DataBase сервере; напротив, оно задается в keytab файл, который считывает сервер для определения подлинности. Если в keytab-файле указано несколько субъектов, сервер примет любой из них. Именем области сервера является предпочтительная область (realm), указанная в конфигурационных файлах Kerberos, доступных серверу.

При установке соединения клиент должен знать имя субъекта сервера, к которому он планирует подключиться. servicename часть субъекта (principal) обычно представляет собой postgres, однако другое значение может быть выбрано с помощью libpq krbsrvname параметр подключения. Данный hostname часть является полным доменным именем узла, к которому libpq выполняется подключение. Именем области (realm) является предпочтительная область, указанная в конфигурационных файлах Kerberos, доступных клиенту.

Клиент также должен иметь имя субъекта для собственной идентификации (и для данного субъекта должен быть получен действительный билет). Для использования GSSAPI в целях аутентификации субъект клиента должен быть сопоставлен с Digital Q.DataBase имя пользователя базы данных. Данный pg_ident.conf Для сопоставления имен субъектов с именами пользователей может использоваться конфигурационный файл; например, pgusername@realm может быть сопоставлено просто с pgusername. В качестве альтернативы можно использовать полное имя username@realm субъекта в качестве имени роли в Digital Q.DataBase без дополнительного сопоставления.

Digital Q.DataBase также поддерживает сопоставление субъектов клиентов с именами пользователей путем простого удаления области (realm) из имени субъекта. Данный метод поддерживается для обеспечения обратной совместимости, однако его использование крайне не рекомендуется, так как в этом случае становится невозможно различить разных пользователей с одинаковыми именами, принадлежащих к разным областям. Для активации этой возможности установите параметр include_realm в значение 0. Для простых конфигураций с одной областью (realm) использование данного метода в сочетании с настройкой krb_realm параметра (который проверяет, что область участника точно соответствует значению, указанному в krb_realm параметр) по-прежнему безопасен, однако этот подход менее эффективен по сравнению с указанием явного сопоставления в pg_ident.conf.

Местоположение файла keytab сервера задается krb_server_keyfile параметром конфигурации. В целях безопасности рекомендуется использовать отдельный файл keytab исключительно для Digital Q.DataBase сервера, не предоставляя серверу доступ к системному файлу keytab. Убедитесь, что файл keytab сервера доступен для чтения (и, желательно, только для чтения) для Digital Q.DataBase учетной записи сервера. (См. также Раздел 3.3.1.)

Файл keytab генерируется с помощью программного обеспечения Kerberos; подробную информацию см. в документации Kerberos. В следующем примере показано выполнение данной операции с помощью kadmin инструмент MIT Kerberos:

kadmin% addprinc -randkey postgres/server.my.domain.org
kadmin% ktadd -k krb5.keytab postgres/server.my.domain.org

Для метода аутентификации GSSAPI поддерживаются следующие параметры:

include_realm

Если параметр установлен в значение 0, имя области (realm) аутентифицированного участника (user principal) отсекается перед выполнением сопоставления имен пользователей (Раздел 3.5.2). Данный подход не рекомендуется и предусмотрен в первую очередь для обеспечения обратной совместимости, так как он небезопасен в средах с несколькими областями, за исключением случаев, когда krb_realm также используется параметр. Рекомендуется оставить для параметра include_realm значение по умолчанию (1) и определить явное сопоставление в файле pg_ident.conf для преобразования имен участников (principal names) в Digital Q.DataBase имена пользователей.

map

Позволяет настроить сопоставление идентификаторов (principals) клиентов с именами пользователей базы данных. См. Раздел 3.5.2 для получения подробных сведений. Для идентификатора (principal) GSSAPI/Kerberos, такого как username@EXAMPLE.COM (или, что встречается реже, username/hostbased@EXAMPLE.COM), то имя пользователя, используемое для сопоставления, — это username@EXAMPLE.COM (или username/hostbased@EXAMPLE.COM, соответственно), если только параметр include_realm не установлен в значение 0; в этом случае username (или username/hostbased) считается именем системного пользователя при сопоставлении.

krb_realm

Определяет область (realm) для сопоставления с именами идентификаторов (principals) пользователей. Если этот параметр задан, будут приниматься только пользователи из этой области. Если параметр не задан, могут подключаться пользователи из любой области в соответствии с правилами сопоставления имен пользователей выполнено.

В дополнение к этим настройкам, которые могут различаться для различных pg_hba.conf записей, существует глобальный параметр сервера krb_caseins_users параметр конфигурации. Если для данного параметра установлено значение true, соответствие имен субъектов (principals) клиентов записям таблицы соответствия пользователей проверяется без учета регистра. krb_realm, если он задан, также проверяется без учета регистра.

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению