Отправка атрибутов AD в качестве утверждений AD FS к атрибутам Shibboleth SP
У меня настроен поставщик утверждений 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 говорится, что я должен вставить или набрать следующее (и имеет 2 блока кода):
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");
Я считаю, что это должно было быть одно утверждение (пожалуйста, исправьте меня, если я ошибаюсь), поэтому моя запись выглядит следующим образом:
Я тестирую с данным именем, поэтому я добавил следующее:
На машине Shibboleth SP я отредактировал attribute-map.xml
добавив следующее, а затем я перезапустил службу Shibboleth:
<Attribute name="urn:mace:dir:attribute-def:GivenName" id="GivenName"/>
Когда я зашел на сайт и прошел повторную аутентификацию в AD FS, я не вижу показанного имени. У меня есть индексный файл, который выводит все заголовки и их значения.
Изменить: решение моей проблемы
Я получил UPN для отправки в качестве epPN. Вышеуказанные правила (правила в статье) сработали, но мне пришлось отредактировать attribute-policy.xml
на Shibboleth SP, чтобы отключить правила видимости, так как у меня не было этой части, настроенной должным образом.
Я закомментировал следующие строки в attribute-policy.xml
afp:AttributeRule attributeID="eppn">
<afp:PermitValueRuleReference ref="ScopingRules"/>
</afp:AttributeRule>
1 ответ
Да, правило утверждений (отображается в две строки) - это одно "утверждение". Он заканчивается на ";". Т.е. вы добавляете обе строки в одно и то же пользовательское правило.
Для каждой выданной (отправленной) заявки (атрибута) с идентификатором объекта uri необходимо добавить пользовательское правило (ниже правила поиска AD). То есть, если вы хотите "urn:oasis:names:tc:SAML:2.0:attrname-format:uri". Если вам нужен только oid uri, то достаточно определить моллюск в "Описаниях претензий".
Обычно я использую небольшие изменения в программе. Я пишу правило поиска с помощью пользовательского интерфейса, но затем копирую правило (из "View Rule Language") в пользовательское правило. В скопированном пользовательском правиле я меняю "проблему" на "добавить". И тогда я удаляю оригинальное правило поиска. Это позволяет избежать отправки как URL, так и URN утверждений в Shib.