Вы можете настроить Shibboleth 3.2x and 3.3.x как провайдер идентификации (IDP) для учетных записей SAML в ArcGIS Enterprise. Процесс настройки состоит из двух основных шагов: регистрации вашего SAML IDP в ArcGIS Enterprise и регистрации ArcGIS Enterprise в SAML IDP.
Примечание:
Чтобы гарантировать защищенные настройки учетных записей SAML см. рекомендации по безопасности SAML.
Необходимая информация
ArcGIS Enterprise должен получить определенную атрибутивную информацию от IDP, когда пользователь входит с использованием учетных записей SAML. Атрибут NameID является обязательным и должен отправляться IDP в ответ на запрос для интеграции работы с SAML. Так как ArcGIS Enterprise использует значение NameID для уникальной идентификации именованного пользователя, рекомендуется для идентификации пользователя использовать постоянное значение. Когда пользователь из IDP осуществляет вход, организация ArcGIS Enterprise создает в хранилище пользователей нового пользователя с именем NameID. Допустимыми символами значения, которое посылается атрибутом ,NameID являются буквы, цифры, _ (нижнее подчеркивание), . (точка) и @ (знак "собачка"). Другие символы будут заменены нижним подчеркиванием в имени пользователя, созданном ArcGIS Enterprise.
ArcGIS Enterprise поддерживает получение email-адреса пользователя, информацию о его участии в группах, указанного имени и фамилии от поставщика удостоверений SAML.
Регистрация Shibboleth в качестве SAML IDP в ArcGIS Enterprise
- Убедитесь, что вы вошли в систему в качестве администратора вашей организации.
- Щелкните Организация вверху сайта, затем выберите вкладку Настройки.
- Щелкните Безопасность в левой части страницы.
- В разделе Учетные записи щелкните кнопку Новая учетная запись SAML и выберите опцию Один провайдер аутентификаций. На странице Задать свойства введите имя своей организации (например, City of Redlands). При входе пользователя на портал веб-сайта данный текст отображается внутри строки входа SAML (например, Использование учетной записи City of Redlands).
Примечание:
Вы можете зарегистрировать только один корпоративный SAML IDP или одну интеграцию IDP для своего портала.
- Выберите Автоматически или По приглашению администратора, чтобы указать, как пользователи могут присоединиться к организации. Выбор первой опции позволяет пользователям входить в организацию с указанием учетной записи SAML без вмешательства администратора. Их учетные записи автоматически регистрируются в организации при первом входе. Во втором случае пользователям потребуется регистрация соответствующих учетных записей в организации, выполняемая администратором посредством специальной утилиты командной строки. После регистрации учетных записей пользователи смогут входить в организацию.
Подсказка:
Рекомендуется назначить хотя бы одну учетную запись SAML в качестве администратора портала и отключить или удалить первичную учетную запись администратора. Также рекомендуется отключить кнопку Создать учетную запись на веб-сайте портала, чтобы пользователи не могли создавать собственные учетные записи. Подробные инструкции см. в разделе Настройка SAML - совместимого провайдера идентификации для работы с порталом.
- Введите метаданные для IDP, используя один из двух приведенных ниже вариантов:
- Файл – По умолчанию Shibboleth предоставляет файл метаданных IdP в SHIBBOLETH_HOME/metadata. Если файл метаданных доступен, выберите опцию Файл для метаданных провайдера идентификации SAML IDP и перейдите к файлу SHIBBOLETH_HOME/metadata/idp-metadata.xml.ArcGIS Enterprise проверяет подпись в ответах утверждений SAML от Shibboleth, используя первый подписанный сертификат в файле метаданных IDP. Однако по умолчанию первая подпись в файле метаданных Shibboleth IDP предназначена для обратного канала коммуникации TLS, тогда как вторая – для подписи ответов утверждений. Необходимо либо закомментировать первую подпись, либо переместить ее ниже второй, затем использовать этот обновленный файл метаданных для регистрации Shibboleth в ArcGIS Enterprise. Подписи задаются с помощью элемента <KeyDescriptor use="signing"> в файле метаданных.
- Указанные здесь параметры – выберите данную опцию, если недоступны URL-адрес или файл метаданных. Вручную введите значения и укажите запрашиваемые параметры: URL для входа и сертификат, закодированный в формате BASE 64. Для получения этих значений свяжитесь с администратором Shibboleth.
- Настройте дополнительные параметры по мере необходимости:
- Шифровать утверждения – включите эту опцию, если Shibboleth будет настроен на шифрование ответов утверждений SAML.
- Включить запрос с входом – включите эту опцию для входа ArcGIS Enterprise в запрос аутентификации SAML, отправляемый в Shibboleth.
- ID объекта – Обновите это значение, чтобы использовать новый ID объекта, чтобы уникально идентифицировать ваш портал в Shibboleth.
- Обновить профиль для входа — включите эту опцию, чтобы ArcGIS Enterprise обновлял атрибуты givenName, и email address пользователей, если они изменились с момента их последнего входа.
- Включить членство в группе, основанное на SAML—Включите эту опцию, чтобы позволить пользователям организации связать основанные на SAML группы с группами ArcGIS Enterprise во время процесса создания групп.
Для параметров Шифровать утверждения и Включить подписанный запрос используется сертификат samlcert из хранилища ключей портала. Чтобы воспользоваться новым сертификатом, удалите сертификат samlcert, создайте новый с тем же псевдонимом (samlcert), следуя шагам в разделе Импорт сертификата на портал, и перезапустите портал.
Примечание:
В данный момент, Произвести выход в провайдер аутентификации и URL-адрес выхода не поддерживаются.
- Щелкните Сохранить.
Регистрация ArcGIS Enterprise в качестве доверенного провайдера сервиса с Shibboleth
- Настройка ArcGIS Enterprise в качестве проверяющей стороны в Shibboleth.
- Получите файл метаданных для вашего портала и сохраните его как файл XML.
Для получения файла метаданных войдите в вашу организацию в качестве администратора и откройте страницу вашей организации. Щелкните вкладку Настройки, затем Безопасность в левой части страницы. В разделе Учетные записи в Учетные записи SAML щелкните кнопку Загрузить метаданные провайдера сервиса.
- Настройте ArcGIS Enterprise в качестве проверенного провайдера сервисов в Shibboleth посредством задания нового элемента MetadataProvider в файле SHIBBOLETH_HOME/conf/metadata-providers.xml s.
Добавьте фрагмент кода ниже с корневой элемент MetadataProvider. Предоставьте путь к XML-файлу метаданных вашей организации (сохраненному на шаге 2.1.a).
<MetadataProvider id="EsriSP" xsi:type="FilesystemMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata https://shibboleth.net/schema/idp/shibboleth-metadata.xsd" failFastInitialization="true" metadataFile=" <PATH_TO_THE_SAVED_METADATA>/esri-sp-metadata.xml" />
- Получите файл метаданных для вашего портала и сохраните его как файл XML.
- Настройте аутентификацию пользователя. В следующем примере LDAP Directory Server настроен как пользовательское хранилище путем обновления необходимых свойств в файле SHIBBOLETH_HOME/conf/ldap.properties:.
idp.authn.LDAP.authenticator = bindSearchAuthenticator
idp.authn.LDAP.ldapURL = ldaps://myldap.example.org:port
idp.authn.LDAP.baseDN = ou=People,dc=example,dc=org
idp.authn.LDAP.userFilter= (uid={user})
idp.authn.LDAP.bindDN = cn=readonlyuser,dc=example,dc=org
idp.authn.LDAP.bindDNCredential = userpassword
- Настройте атрибуты пользователя, которые будут возвращаться Shibboleth.
- Отредактируйте SHIBBOLETH_HOME/conf/attribute-resolver.xml. Создайте комментарии или удалите все существующие определения атрибутов и коннекторов данных.
- Скопируйте определения для mail, givenName и surname из файла SHIBBOLETH_HOME/conf/attribute-resolver-full.xml в файл SHIBBOLETH_HOME/conf/attribute-resolver.xml.
- Скопируйте раздел коннектора данных LDAP из SHIBBOLETH_HOME/conf/attribute-resolver-ldap.xml в SHIBBOLETH_HOME/conf/attribute-resolver.xml. Скопируйте определение uid или другой атрибут, который вы хотите вернуть как атрибут NAMEID.
- Настройте атрибуты для включения в провайдер сервиса. Отредактируйте файл SHIBBOLETH_HOME/conf/attribute-filter.xml и добавьте следующее:
<AttributeFilterPolicy id="ArcGIS"> <PolicyRequirementRule xsi:type="Requester" value="[The Entity ID of your Portal instance]" /> <AttributeRule attributeID="<NameID Attribute>"> <PermitValueRule xsi:type="ANY" /> </AttributeRule> <AttributeRule attributeID="givenName"> <PermitValueRule xsi:type="ANY" /> </AttributeRule> <AttributeRule attributeID="mail"> <PermitValueRule xsi:type="ANY" /> </AttributeRule> </AttributeFilterPolicy>
- Отредактируйте файл SHIBBOLETH_HOME/conf/relying-party.xml.
- Скопируйте XML-код ниже и вставьте его в элементы shibboleth.RelyingPartyOverrides, чтобы перезаписать настройки по умолчанию для провайдера Shibboleth:
<bean parent="RelyingPartyByName" c:relyingPartyIds="[The Entity ID of your Portal instance]"> <property name="profileConfigurations"> <list> <bean parent="SAML2.SSO" p:nameIDFormatPrecedence="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" /> </list> </property> </bean>
Параметр nameIDFormatPrecedence предписывает провайдеру аутентификации IDP отсылать атрибут ID имени SAML в формате unspecified, который необходим ArcGIS Online и ArcGIS Enterprise.
- Выключите шифрование подтверждений в провайдере аутентификации Shibboleth, задав для параметра encryptAssertions значение false.
<bean parent="RelyingPartyByName" c:relyingPartyIds="[The Entity ID of your Portal instance]"> <property name="profileConfigurations"> <list> <bean parent="SAML2.SSO" p:nameIDFormatPrecedence="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" p:encryptAssertions="false" /> </list> </property> </bean>
- Скопируйте XML-код ниже и вставьте его в элементы shibboleth.RelyingPartyOverrides, чтобы перезаписать настройки по умолчанию для провайдера Shibboleth:
- Отредактируйте файл SHIBBOLETH_HOME/conf/saml-nameid.xml и замените этот раздел:
<!-- <bean parent="shibboleth.SAML2AttributeSourcedGenerator" p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" p:attributeSourceIds="#{ {'mail'} }" /> -->
следующим:
<bean parent="shibboleth.SAML2AttributeSourcedGenerator" p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" p:attributeSourceIds="#{ {'your-name-id-attribute'} }" />
- Перезапустите программный агент (Linux) или службу (Windows) для Shibboleth.