@dmazilov

Как организовать сквозную GSSAPI/Kerberos аутентификацию в Postgres из Rails приложения?

Всем привет.

Столкнулся с проблемой организации сквозной аутентификации в Postgres.
Используется: Apache2.2 + mod_auth_kerb + Passenger 5 + Rails 4.1.4 + Postgres 9.4
В Firefox настроены параметры negotiate, в virtualhost установлен параметр KrbSaveCredentials on.

Аутентификация пользователя в Apache проходит успешно, в приложении вижу заголовки REMOTE_USER и KRB5CCNAME.
Файла, имя которого содержит KRB5CCNAME ( напр. FILE:/tmp/krb5cc_apache_lQ0O1c) в системе (уже) не существует на момент обработки запроса приложением.

Получается аутентифицироваться в Postgres через Kerberos из системной консоли:
kinit myuser
psql "dbname=mydb user=myuser krbsrvname=postgres"

Из приложения при обработке запроса пробую установить соединение с передачей параметров username, krbsrvname. Падает с ошибкой:
PG::ConnectionBad (GSSAPI continuation error: Unspecified GSS failure. Minor code may provide more information
GSSAPI continuation error: No Kerberos credentials available
):
activerecord (4.1.4) lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `initialize'
activerecord (4.1.4) lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `new'
activerecord (4.1.4) lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `connect'
activerecord (4.1.4) lib/active_record/connection_adapters/postgresql_adapter.rb:568:in `initialize'
activerecord (4.1.4) lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `new'
activerecord (4.1.4) lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `postgresql_connection'
activerecord (4.1.4) lib/active_record/connection_adapters/abstract/connection_pool.rb:435:in `new_connection'

Есть какие-либо идеи?
  • Вопрос задан
  • 1454 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы