powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PostgreSQL+Kerberos
22 сообщений из 22, страница 1 из 1
PostgreSQL+Kerberos
    #38632135
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть постгрес, есть тестовое приложение на с++ под Windows, использующее libpq.

В приложении делается коннект:


Код: plaintext
1.
2.
std::string conninfo = "host=localhost port=5432 dbname=test user=postgres password=postgres";
_connectionHandlerPtr = PQconnectdb(conninfo.c_str());



Как и где и что сделать, чтобы можно было использовать аутентификацию MIT Kerberos?

Я установил его отсюда:
http://web.mit.edu/kerberos/
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38632342
Гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Winnipuh,

по моему Kerberos используется автоматически, Вам нужно в этом тестовом приложении получить тикет Kerberos с помощью функций Kerberos из библиотек Kerberos и libpq автоматически увидит этот тикет и будет использовать вместо логина-пароля, если libpq собран с поддержкой Kerberos.
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38632365
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость_0Winnipuh,

по моему Kerberos используется автоматически, Вам нужно в этом тестовом приложении получить тикет Kerberos с помощью функций Kerberos из библиотек Kerberos и libpq автоматически увидит этот тикет и будет использовать вместо логина-пароля, если libpq собран с поддержкой Kerberos.

ага, спасибо,
упорядочиваю:

1. libpq должна быть собрана с поддержкой Kerberos. А если юзеры хотят использовать MIT Kerberos нужно ли что-то специально делать в сборке libpq?

2. т.е. я использую API MIT Kerberos для получения тикета, а каким образом libpq узнает об этом? и какую функцию
использовать для коннекта?
Сейчас я использую обычно

PQconnectdb
или
PQsetdbLogin

3. что нужно и нужно ли настаривать в коняигах PGSQL сервера, чтобы он работал с керберос сервисом?

3. если керберос установлен на удаленном компьютере,
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38632729
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhГость_0Winnipuh,

по моему Kerberos используется автоматически, Вам нужно в этом тестовом приложении получить тикет Kerberos с помощью функций Kerberos из библиотек Kerberos и libpq автоматически увидит этот тикет и будет использовать вместо логина-пароля, если libpq собран с поддержкой Kerberos.

ага, спасибо,
упорядочиваю:

1. libpq должна быть собрана с поддержкой Kerberos. А если юзеры хотят использовать MIT Kerberos нужно ли что-то специально делать в сборке libpq?


что вы имеете ввиду? MIT Kerberos это одна из реализаций Kerberos

2. т.е. я использую API MIT Kerberos для получения тикета, а каким образом libpq узнает об этом? и какую функцию
использовать для коннекта?
Сейчас я использую обычно

PQconnectdb
или
PQsetdbLogin


Узнаёт, посмотрев в соответствующие места в ОС (в линуксе она смотрит полученные тикеты в файле). Если подключаться через "строку соединения" то всё нормально работает.

3. что нужно и нужно ли настаривать в коняигах PGSQL сервера, чтобы он работал с керберос сервисом?


Нужно сказать серверу постгреса что пускать юзеров теперь можно аутентифицированных им (pg_hba.conf). Также нужно сгенерировать ключ секретный, чтобы только постгрес имел к нему доступ, и залить этот ключ на KDC.

3. если керберос установлен на удаленном компьютере,

Бессмысленная фраза. Керберос - это система, она везде, на всех заинтересованных сторонах в том или ином виде должна присутствовать.
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38633274
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смешанная сеть из Windows и Linux с Hadoop.
Используется MIT Kerberos.

Собственно видимо потому и хотят именно через MIT Kerberos тикеты конектиться из вин приложений (libpq) к постгресу.
Так что вопрос остается....
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38633560
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhСмешанная сеть из Windows и Linux с Hadoop.
Используется MIT Kerberos.

Собственно видимо потому и хотят именно через MIT Kerberos тикеты конектиться из вин приложений (libpq) к постгресу.
Так что вопрос остается....

А в чём вопрос-то? libpq именно с MIT-Kerberos собирается, т.е., оно там уже из коробки должно быть (я линуксоид если что)
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38633562
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про GSS ещё почитайте.
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38633853
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WeedWinnipuhСмешанная сеть из Windows и Linux с Hadoop.
Используется MIT Kerberos.

Собственно видимо потому и хотят именно через MIT Kerberos тикеты конектиться из вин приложений (libpq) к постгресу.
Так что вопрос остается....

А в чём вопрос-то? libpq именно с MIT-Kerberos собирается, т.е., оно там уже из коробки должно быть (я линуксоид если что)

Вопрос: что мне сделать в приложении с++, использующем libpq для коннекта к postgresql, чтобы использовалась аутентификация MIT Kerberos?
Т.е. см. выше: я сейчас делаю как обычно - даю юзер+пароль и коннект.

А что нужно вызвать или какие параметры передать, чтобы использовалась аутентификация MIT Kerberos?
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38634513
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhWeedпропущено...


А в чём вопрос-то? libpq именно с MIT-Kerberos собирается, т.е., оно там уже из коробки должно быть (я линуксоид если что)

Вопрос: что мне сделать в приложении с++, использующем libpq для коннекта к postgresql, чтобы использовалась аутентификация MIT Kerberos?
Т.е. см. выше: я сейчас делаю как обычно - даю юзер+пароль и коннект.

А что нужно вызвать или какие параметры передать, чтобы использовалась аутентификация MIT Kerberos?

В линуксе, например, ничего не надо делать - оно само поlхватит всё что нужно и сделает как надо, только пароль в строке соединения становится излишним. Можно через эту же строку дополнительно для керберос имена серверов передать, если дефолтные не те что нужно.
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38636101
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WeedWinnipuhпропущено...


Вопрос: что мне сделать в приложении с++, использующем libpq для коннекта к postgresql, чтобы использовалась аутентификация MIT Kerberos?
Т.е. см. выше: я сейчас делаю как обычно - даю юзер+пароль и коннект.

А что нужно вызвать или какие параметры передать, чтобы использовалась аутентификация MIT Kerberos?

В линуксе, например, ничего не надо делать - оно само поlхватит всё что нужно и сделает как надо, только пароль в строке соединения становится излишним. Можно через эту же строку дополнительно для керберос имена серверов передать, если дефолтные не те что нужно.

а тикет от кербероса получать нужно каждый раз перед коннектом с сервером баз?
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38636307
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhWeedпропущено...


В линуксе, например, ничего не надо делать - оно само поlхватит всё что нужно и сделает как надо, только пароль в строке соединения становится излишним. Можно через эту же строку дополнительно для керберос имена серверов передать, если дефолтные не те что нужно.

а тикет от кербероса получать нужно каждый раз перед коннектом с сервером баз?

Этот вопрос уже оффтопичен...

Логика работы с керберосом такая: мы "залогиниваемся" (имя + пароль, например, вводим), система шуршит и в результате у нас появляется тикет, который действует достаточно продолжительное время и с которым мы можем ходить куда угодно, например на упомянутый постгрес.
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38636736
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WeedWinnipuhпропущено...


а тикет от кербероса получать нужно каждый раз перед коннектом с сервером баз?

Этот вопрос уже оффтопичен...

Логика работы с керберосом такая: мы "залогиниваемся" (имя + пароль, например, вводим), система шуршит и в результате у нас появляется тикет, который действует достаточно продолжительное время и с которым мы можем ходить куда угодно, например на упомянутый постгрес.

спасибо.

ага, и постгресу приложение ничего явно не указывает и не передает?

Ну почему оффтопичен, в начале я спрашивал как в принципе с этим работать в с++ клинте.
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38640088
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что не так в строке коннекта?

Код: plaintext
1.
char *conninfo = "host=localhost dbname=test user=vasya@MYDOMAIN.LOCAL port=5432 krbsrvname=postgres/MYCOMP.MYDOMAIN.LOCAL";




1. Все на локальном компьютере, установил MIT Kerberos, он автоматом в своей утилите показал тикет для текущего юзера, я добавли еще одного существующего доменного юзера, пароль которого знал. Других н едает добавлять.

2. В конфиг файле постгреса открыл параметр

Код: sql
1.
2.
3.
4.
# Kerberos and GSSAPI
#krb_server_keyfile = ''
krb_srvname = 'postgres'		# (Kerberos only)
#krb_caseins_users = off



3. в самом PostgreSQL добавил юзера vasya, как обычного постргес юзера.

При такой строке коннекта в приложении получаю ошибку

fe_sendauth: no password supplied

Что не так?
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38640117
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh,

а pg_hba.conf ? там должно быть что-то типа gss или krb5, незнаю: http://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38640212
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЁшWinnipuh,

а pg_hba.conf ? там должно быть что-то типа gss или krb5, незнаю: http://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html


да, поставил так

host all vasya localhost trust

сервер перестартовал нормально

А вот так

host all vasya localhost krb5

не стартует...
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38640665
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh, постгрес-серверу его бесконечный тикет выдан и положен куда надо?
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38640809
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WeedWinnipuh, постгрес-серверу его бесконечный тикет выдан и положен куда надо?

Не.... Как это сделать?


зы. PostgreSQL под Windows.
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38640855
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhWeedWinnipuh, постгрес-серверу его бесконечный тикет выдан и положен куда надо?

Не.... Как это сделать?


зы. PostgreSQL под Windows.

Если ничего не помогает - прочтите, наконец, инструкцию (с) ))

http://www.postgresql.org/docs/9.3/static/auth-methods.html#KERBEROS-AUTH
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38640859
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уточняю - начать лучше с раздела 19.3.3. GSSAPI Authentication
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38640864
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Weedуточняю - начать лучше с раздела 19.3.3. GSSAPI Authentication

да, спасибо, пытаюсь понять, как это настроить
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38640872
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhWeedуточняю - начать лучше с раздела 19.3.3. GSSAPI Authentication

да, спасибо, пытаюсь понять, как это настроить

Рекомендую начать с понимания принципа работы керберос - остальные вопросы сами отпадут в процессе.
...
Рейтинг: 0 / 0
PostgreSQL+Kerberos
    #38643795
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
заметил в Release 9.4

Remove support for native krb5 authentication (Magnus Hagander)
The proper way to use Kerberos authentication is with GSSAPI.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PostgreSQL+Kerberos
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]