Использование универсальных кодов ресурсов (URI) в AD FS

Универсальный код ресурса (URI) представляет собой строку символов, которая используется в качестве уникального идентификатора. В службах AD FS коды URI используются для обозначения сетевых адресов партнеров и объектов конфигурации. При использовании для обозначения сетевых адресов партнеров URI всегда является URL-адресом. При использовании для обозначения объектов конфигурации URI может быть URN или URL-адресом. Общие сведения о кодах URI см. в стандартах RFC 2396 и RFC 3986.

Коды URI в качестве сетевых адресов партнеров

Ниже приведены сетевые URL-адреса, с которыми чаще всего сталкиваются администраторы в AD FS.

  • URL-адреса службы федерации, включая URL-адреса организации, политики конфиденциальности, служб WS-Federation, SAML, WS-Trust, WS-MetadataExchange и метаданных федерации.

  • URL-адреса отношения доверия с проверяющей стороной, включая URL-адреса службы WS-Federation, SAML и метаданных федерации.

  • URL-адреса отношения доверия с поставщиком утверждений, включая URL-адреса службы WS-Federation, SAML и метаданных федерации.

Коды URI в качестве идентификаторов объектов

Ниже приведены идентификаторы, с которыми чаще всего сталкиваются администраторы в AD FS.

Идентификатор Description Сравнения
Идентификатор службы федерации Этот идентификатор используется для обозначения службы федерации. Он используется проверяющими сторонами, использующими утверждения от этой службы федерации, а также поставщиками утверждений, выдающими утверждения для службы федерации. Когда пользователь запрашивает у поставщика утверждений утверждения для службы федерации, идентификатор этой службы федерации будет использоваться для обозначения целевого объекта утверждений.

Когда служба федерации получает утверждения от поставщика утверждений, она проверяет, что утверждения относятся именно к ней, выполняя поиск своего идентификатора.

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

Идентификатор проверяющей стороны Этот идентификатор используется для обозначения проверяющей стороны в службе федерации. Он используется при выдаче утверждений для проверяющей стороны. Когда пользователь запрашивает утверждения от службы федерации для проверяющей стороны, идентификатор этой проверяющей стороны будет использоваться для обозначения проверяющей стороны, для которой предназначены утверждения. Это сравнение выполняется с помощью сопоставления префиксов (см. ниже).

Когда проверяющая сторона получает утверждения, она проверяет идентификатор в токене безопасности, чтобы гарантировать, что утверждения предназначены для нее.

Идентификатор поставщика утверждений Этот идентификатор используется для обозначения поставщика утверждений в службе федерации. Он используется при получении утверждений от поставщика утверждений. Когда служба федерации получает утверждения от поставщика утверждений, служба федерации проверяет, что издатель утверждений соответствует идентификатору поставщика утверждений.
Тип утверждения Этот идентификатор используется для определения типа утверждения. Он используется этой службой федерации, поставщиками утверждений и проверяющими сторонами при отправке и получении утверждений. Когда служба федерации получает утверждения от поставщика утверждений, правила утверждений, связанные с соответствующим отношением доверия поставщика утверждений позволяют администратору сравнивать типы утверждений и обрабатывать утверждения. Правила утверждения, связанные с отношением доверия с проверяющей стороной, также позволяют администратору сравнивать типы утверждений на основе утверждений, поступающих из правил отношения доверия с поставщиком утверждений, а также решать, какие утверждения выдавать.

Сопоставление префиксов URI для идентификаторов проверяющей стороны

Синтаксис пути URI упорядочен иерархически и разделен всеми символами "/" или всеми символами ":".  Таким образом, путь может быть разбит на участки пути в зависимости от символа-разделителя.  При выполнении сопоставления префиксов каждый участок должен являться полным совпадением согласно правилам сопоставления (эти правила определяют регистр совпадений). Дополнительные сведения о правилах сопоставления см. в упоминание rfC выше.

Когда проверяющая сторона определяется в запросе к службе федерации, службы AD FS используют логику сопоставления префиксов, чтобы определить наличие соответствующего отношения доверия с проверяющей стороной в базе данных конфигурации AD FS.

Например, если идентификатор проверяющей стороны в базе данных конфигурации AD FS (URI1) является префиксом для идентификатора проверяющей стороны во входящем запросе (URI2), должны выполняться следующие условия:

  • Конечные разделители (символы косой черты и двоеточия) участков пути или ссылок должны игнорироваться.

  • Регистр частей схем и данных о пользователе и узле идентификаторов URI1 и URI2 должен строго совпадать.

  • Каждый участок пути идентификатора URI1 должен точно соответствовать (на основе выбранных правил учета регистра) соответствующему участку пути URI2.

  • URI2 может иметь больше участков пути, чем URI1, однако URI1 не должен иметь больше участков пути, чем URI2.

  • URI1 не может иметь больше участков пути, чем URI2.

  • Если URI1 включает фрагмент, он должен строго соответствовать фрагменту URI2.

Примечание.

Параметры строки запроса не поддерживаются и будут игнорироваться в идентификаторах проверяющей стороны.

Дополнительные примеры приводятся в таблице ниже.

Идентификатор проверяющей стороны в базе данных конфигурации AD FS Идентификатор проверяющей стороны в сообщении запроса Идентификатор запроса совпадает с идентификатором конфигурации? Причина
http://contoso.com http://contoso.com TRUE Точное совпадение
http://contoso.com/ http://contoso.com TRUE Конечные символы косой черты игнорируются.
http://contoso.com http://contoso.com/ TRUE Конечные символы косой черты игнорируются.
http://contoso.com http://contoso.com/hr TRUE URI1 не включает путь и соответствует схеме и данным о пользователе и узле для URI2.
http://contoso.com/hr http://contoso.com/hr/web TRUE Первые участки пути совпадают, в URI1 нет второго участка пути.
http://contoso.com/hr/ http://contoso.com/hrw/main FALSE Участок пути 1 идентификатора URI1 не соответствует участку пути 1 идентификатора URI2.
http://contoso.com/hr http://contoso.com FALSE URI1 имеет больше участков пути, чем URI2.
http://contoso.com/hr http://contoso.com/hrweb FALSE Первые участки пути не совпадают.
https://contoso.com http://contoso.com FALSE Части схемы не совпадают.
http://sts.contoso.com http://contoso.com FALSE Части данных о пользователе и узле не совпадают.
http://contoso.com http://sts.contoso.com FALSE Части данных о пользователе и узле не совпадают.