Cyrus SASL и Kerberos TGT

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

Допустим, я пишу клиент-серверное приложение, использующее реализацию Cyrus SASL для аутентификации пользователей с помощью механизма Kerberos. Как в этом контексте работает кэширование TGT? Другими словами, отслеживает ли клиентская библиотека cyrus автоматически TGT, чтобы в будущем взаимодействие с сервером не требовало учетных данных пользователя? Если да, то есть ли способ указать, что TGT, который Cyrus получает от KDC, можно пересылать, чтобы клиент мог взаимодействовать с другими службами Kerberized?

Спасибо за любые советы!


person Joshua Gevirtz    schedule 26.03.2019    source источник


Ответы (1)


Насколько мне известно, библиотека Cyrus SASL не получает TGT для пользователя — она даже не знает принципала или пароля; вместо этого он ожидает, что TGT уже присутствует в кэше учетных данных системы.

Таким образом, ответ заключается в использовании kinit --forwardable, потому что вам все равно придется использовать kinit.

person user1686    schedule 30.03.2019
comment
После того, как я разместил вопрос, я продолжал изучать этот вопрос и пришел к такому выводу. Спасибо за проверку! - person Joshua Gevirtz; 02.04.2019