Автоматическое обновление Kerberos для «продлить до» - PullRequest
0 голосов
/ 14 сентября 2018

С такими ключевыми словами, как Kerberos «продлен до» auto , не находит темы, которые могут решить мою проблему, поэтому размещайте здесь.

Я создаю таблицу ключей, которая содержит следующую информацию о времени жизни билета

Valid starting: 09/14/2018 13:05:01 
Expires: 09/15/2018 13:05:01
renew until: 09/19/2018 09:26:37

На основе Автоматическое продление билета Hadoop kerberos

Я могу продлить билет с продлением Истекает дата без проблем.

Теперь еще одной проблемой является продление до истечения срока действия через 7 дней.

Мой вопрос:

  • Какая команда, аналогичная kinit -R, может автоматически продлевать и продлевать до даты, чтобы мне не нужно было повторно выдавать kinit -kt mine.keytab my-principal для получения нового билета для моей таблицы ключей?

  • Или любой API, который может достичь того же эффекта? С помощью следующих API Hadoop, основанных на https://www.cloudera.com/documentation/enterprise/5-14-x/topics/sg_kerberos_troubleshoot.html,, я могу выполнить код, но не вижу Обновить до тех пор, пока не будет обновлено.

    UserGroupInformation.loginUserFromKeytab(principal, keyPath)
    val currentUser = UserGroupInformation.getCurrentUser()   
    currentUser.checkTGTAndReloginFromKeytab
    val currentUser1 = UserGroupInformation.getLoginUser
    currentUser1.checkTGTAndReloginFromKeytab`
    

    klist показывает, что дата в продлевается до , остается неизменной.

Редактировать: форматирование

1 Ответ

0 голосов
/ 15 сентября 2018

возобновляемых ТГЦ

Когда билеты возобновляются, сеансовые ключи периодически обновляются без выдачи совершенно нового билета. Если политика Kerberos разрешает возобновляемые билеты, KDC устанавливает флаг RENEWABLE в каждом выдаваемом билете и устанавливает два срока действия в билете. Один срок действия ограничивает срок действия текущего экземпляра тикета; второе время истечения устанавливает предел совокупного времени жизни всех экземпляров билета.

Время истечения текущего экземпляра тикета хранится в поле End Time. Как и в случае невозобновляемых билетов, значение в поле «Время окончания» равно значению в поле «Время начала» плюс значение максимального срока действия билетов, указанного в политике Kerberos. Клиент, имеющий возобновляемый билет, должен отправить его - а также представить новый аутентификатор - в KDC для обновления до того, как истечет время окончания. Когда KDC получает билет для продления, он проверяет значение времени второго истечения в поле Renew Till. Это значение устанавливается при первой выдаче билета. Он равен значению в поле Время начала заявки плюс значение максимальной совокупной жизни билета, указанной в политике Kerberos. Когда KDC возобновляет билет, он проверяет, не наступило ли время продления. Если это не так, KDC выпускает новый экземпляр заявки с более поздним временем окончания и новым ключом сеанса.

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

Так что продлевайте - пока не станет частью заявки, а ее max.value ограничено на стороне сервера по соображениям безопасности. Для этого не существует обходного пути.

...