Kerberos: разница между UPN и SPN

Сейчас я керберизирую кроссплатформенное приложение с помощью GSSAPI. Пока мне не ясно о разнице между UPN и SPN.

Среда разработки представляет собой сервер Samba4 AD DC на CentOS 6.4 с Windows Server 2008 R2 в качестве члена в домене, скажем EXAMPLE.COM (Вам может быть любопытно, почему бы не использовать Win2008 в качестве DC напрямую. Как я уже говорил ранее, приложение является кроссплатформенным, я сейчас тестирую в этом параметре. Обычный параметр Win DC-Linux MEM работает нормально.). Я создаю нового пользователя foobar:users запустить приложение. Когда я использую foobar@EXAMPLE.COMто есть UPN, чтобы аутентифицировать приложение против Kerberos, я продолжаю получать

Kerberos: принципал не может выступать в роли сервера ОШИБКА

Следуя теме ветки Samba, я думаю, что мне нужно создать имя участника службы, скажем app/dc.example.com для УПН с samba-tool

samba-tool spn add app/dc.example.com foobar

На этот раз я получу еще одну ошибку

Samba4 KDC - в hdb такой записи не найдено

Мой вопрос: в чем разница между UPN и SPN? От samba-tool spn list foobarэто говорит foobar имеет servicePrincipalName app/dc.example.com, Как я могу связать UPN с SPN?

Большое спасибо.

1 ответ

Решение

Проще говоря,

  • UPN: объект, выполняющий клиентские запросы к какой-либо службе. Сущность может быть человеком или машиной. Смотрите здесь.
  • SPN: объект, обрабатывающий запросы для конкретной услуги, например, HTTP, LDAP, SSH и т. Д. Только для компьютера. Смотрите здесь.

UPN извлекает билет службы для SPN, чтобы использовать эту фактическую услугу.

Если твой samba-tool позвоните по вашему запросу samba для регистрации SPN app/dc.example.com к UPN foobar, Поскольку вы не указали область имен SPN и UPN, Samba примет область по умолчанию для машины, с которой выполняется этот вызов. В терминах Windows вы в основном привязываете SPN к UPN компьютера. Который всегда: <name>$@<REALM>, Обратите внимание на знак доллара.

Другие вопросы по тегам