Назад | Перейти на главную страницу

Отправка атрибутов AD в соответствии с утверждениями AD FS в атрибуты SP Shibboleth

У меня установлен поставщик утверждений AD FS, и Shibboleth SP успешно выполняет аутентификацию по нему.

Я пытаюсь отправить атрибуты Active Directory на SP.

Я следил за этой статьей, чтобы попытаться отправить претензии: https://technet.microsoft.com/en-us/library/gg317734(v=ws.10).aspx

Соответствующий раздел Step 2: Configure AD FS 2.0 as the Identity Provider and Shibboleth as the Relying Party -> Configure AD FS 2.0 -> Edit Claim Rules for Relying Party Trust -> To configure eduPerson claims for sending to a relying party trust:

На шаге 16 говорится, что я должен вставить или ввести следующее (и состоит из двух блоков кода):

c:[Type == "http://schemas.xmlsoap.org/claims/Group", Value == "Domain Users"]

и

=> issue(Type = "urn:oid:1.3.6.1.4.1.5923.1.1.1.9", Value = "member@contoso.com", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/attributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");

Я считаю, что это должно было быть единым утверждением (пожалуйста, поправьте меня, если я ошибаюсь), поэтому моя запись выглядит следующим образом:

Я тестирую с givenName, поэтому добавил следующее:

На машине Shibboleth SP я редактировал attribute-map.xml добавив следующее, а затем перезапустил службу Shibboleth:

<Attribute name="urn:mace:dir:attribute-def:GivenName" id="GivenName"/>

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


Изменить: решение моей проблемы


У меня есть UPN для отправки как epPN. Вышеупомянутые правила (правила в статье) работали, но мне пришлось отредактировать attribute-policy.xml на Shibboleth SP, чтобы отключить правила определения объема, так как у меня эта часть не была настроена должным образом.

Я закомментировал следующие строки в attribute-policy.xml

afp:AttributeRule attributeID="eppn">
    <afp:PermitValueRuleReference ref="ScopingRules"/>
</afp:AttributeRule>

Да, правило утверждений (отображается в двух строках) - это одно «утверждение». Он заканчивается на ';'. Т.е. вы добавляете обе строки в одно и то же настраиваемое правило.

Для каждого выданного (отправленного) утверждения (атрибута) с идентификатором объекта uri необходимо добавить настраиваемое правило (под правилом поиска AD). То есть, если вам нужен "urn: oasis: names: tc: SAML: 2.0: attrname-format: uri". Если вам нужен только oid uri, достаточно определить clam в «Описание утверждений».

Обычно я использую небольшие вариации программы. Я пишу правило поиска с помощью пользовательского интерфейса, но затем копирую правило (из «Просмотр языка правил») в настраиваемое правило. В скопированном настраиваемом правиле я меняю «выпуск» на «добавить». А потом удаляю исходное правило поиска. Это позволяет избежать отправки утверждений URL и URN в Shib.