Ответ 1
Name
, это просто имя. Если мы говорим человеку, подумайте "Эрик"; сервер "file01".
A NameIdentifier
- идентификатор объекта. Возвращаясь к нашему личному объекту, Eric UserID может быть 435 в вашей базе данных. Для сервера Идентификатор может быть чем-то вроде FQDN или SID.
В соответствии с этим сообщением, очевидно, Идентификатор имени был свойством SAML 1.1 и вытесняется NameID
в SAML 2.0.
Уникальный или нет?
Я хотел обратиться к комментарию @Jason и сообщению @nzpcmad. Я не вижу уникальности в качестве четкого требования. Вопрос помечен adfs2.0, но ссылка на схему принадлежит OASIS. Итак, это те интерпретации двух сторон, которые нам нужно сбалансировать.
Позиция Microsoft для ADFS явно указывает на то, что существует уникальное требование. Мы видим, что в статье The Role of Claims". Несомненно, ADFS бросает большую тень, но это похоже на детали реализации.
Если посмотреть на спецификацию SAML 1.1, я не вижу такого утверждения. Самое близкое, что мы получаем в разделе 2.4.2.2 спецификации:
Элемент задает объект с помощью комбинации определитель имени, имя и формат. Элемент имеет следующие атрибуты:
...
NameQualifier [необязательно] Защитный или административный домен, который определяет название предмета. Этот атрибут предоставляет средства для объединения имен из разрозненных пользовательских хранилищ без столкновений.
Текст спецификации подсказывает мне, что мне нужно найти человека, использующего комбинацию из трех атрибутов, но он не делает никаких утверждений об уникальности. Могу ли я иметь две записи, указывающие на одного и того же пользователя? Кажется, так. Более того, не будет ли "спецификация указывает, что атрибут NameQualifier
был необходим в случаях, когда NameIdentifier
было недостаточно, чтобы однозначно идентифицировать имя?
Итак, к чему все это ведет?
- Будьте осторожны, unqiue скорее всего безопаснее.
- Поделитесь информацией о своих поставщиках.