Flask_kerberos KrbError: ('Принципал не найден в keytab', -1) - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь интегрировать kerberos с flask / python. Я следовал инструкциям в документах.

Я получаю указанную ошибку всякий раз, когда пытаюсь получить основные данные.

principal = kerberos.getServerPrincipalDetails('http', '10.113.41.11')

Это мои ключевые данные:

Keytab name: FILE:crme1.keytab
KVNO Timestamp           Principal
---- ------------------- ------------------------------------------------------
   1 04/26/2019 12:25:50 crme/master@10.113.41.11
   1 04/26/2019 12:25:50 crme/master@10.113.41.11

1 Ответ

0 голосов
/ 26 апреля 2019

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

Для вашего примера кода ваша таблица ключей должна содержать субъект-службу с именем "HTTP / 10.113.41.11". (Обратите внимание, я не рекомендую IP-адреса для такого рода вещей, потому что их читать намного сложнее, но я не знаю ни одной причины, по которой они не будут работать.)

Вам нужно сгенерировать таблицу ключей для HTTP / 10.113.41.11 на вашем KDC, а затем сделать эту таблицу ключей на хосте фляги.

Когда подобные ошибки кажутся неясными, обычно это происходит из-за того, что в вашей ментальной модели общей картины Kerberos чего-то не хватает. Вы уверены, что понимаете, что такое служба princiapl, что такое keytab и как протекает рабочий процесс во время аутентификации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...