Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PostgreSQL+Kerberos / 22 сообщений из 22, страница 1 из 1
03.05.2014, 23:36:55
    #38632135
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL+Kerberos
Есть постгрес, есть тестовое приложение на с++ под 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
04.05.2014, 14:03:34
    #38632342
Гость_0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL+Kerberos
Winnipuh,

по моему Kerberos используется автоматически, Вам нужно в этом тестовом приложении получить тикет Kerberos с помощью функций Kerberos из библиотек Kerberos и libpq автоматически увидит этот тикет и будет использовать вместо логина-пароля, если libpq собран с поддержкой Kerberos.
...
Рейтинг: 0 / 0
04.05.2014, 14:35:27
    #38632365
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL+Kerberos
Гость_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
05.05.2014, 07:33:21
    #38632729
Weed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL+Kerberos
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
05.05.2014, 14:28:30
    #38633274
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL+Kerberos
Смешанная сеть из Windows и Linux с Hadoop.
Используется MIT Kerberos.

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

спасибо.

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

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

Код: 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
13.05.2014, 17:50:15
    #38640117
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL+Kerberos
Winnipuh,

а pg_hba.conf ? там должно быть что-то типа gss или krb5, незнаю: http://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html
...
Рейтинг: 0 / 0
13.05.2014, 19:17:13
    #38640212
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL+Kerberos
Ёш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
14.05.2014, 11:21:29
    #38640665
Weed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL+Kerberos
Winnipuh, постгрес-серверу его бесконечный тикет выдан и положен куда надо?
...
Рейтинг: 0 / 0
14.05.2014, 12:36:56
    #38640809
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PostgreSQL+Kerberos
WeedWinnipuh, постгрес-серверу его бесконечный тикет выдан и положен куда надо?

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


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

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


зы. PostgreSQL под Windows.

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

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

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

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

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

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


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