Настройка Azure Active Directory (английский интерфейс)
Чтобы организовать единый вход (SSO) в организацию ID через Azure Active Directory, нужно предварительно создать и настроить SAML-приложение.
Шаг 1. Создайте и настройте SAML-приложение
-
Войдите в центр администрирования Azure Active Directory.
-
В разделе Azure Active Directory на панели слева перейдите на вкладку Enterprise applications.
-
Создайте SAML-приложение:
-
Нажмите кнопку New application.
-
На вкладке Browse Azure AD Gallery нажмите кнопку Create your own application.
-
В правой части открывшегося окна введите название приложения, например
yandexsso. -
Выберите вариант приложения: Integrate any other application you don't find in the gallery (Non-gallery).
-
Нажмите кнопку Create.
На вкладке Enterprise applications в списке All applications добавится созданное приложение.
-
-
Выберите ваше приложение в списке.
Если вы не хотите специально назначать пользователей, которым доступен единый вход (SSO), на вкладке Properties для параметра Assign Required выберите значение No. Чтобы сохранить настройки, наверху вкладки нажмите кнопку Save.
Чтобы сделать единый вход (SSO) доступным для отдельных пользователей, на вкладке Properties для параметра Assign Required выберите значение Yes. Затем перейдите на вкладку Пользователи и группы, нажмите Добавить пользователя или группу и укажите нужных пользователей.
-
Перейдите на вкладку Single sign-on и выберите способ единого входа SAML.
-
В окне Set up Single Sign-On with SAML в разделе Basic SAML Configuration нажмите кнопку Edit и установите параметры:
-
Identifier (Entity ID):
https://yandex.ru/(обязательно со слешем в конце). -
Reply URL (Assertion Consumer Service URL):
https://passport.yandex.ru/auth/sso/commit. -
Sign on URL (необязательный параметр):
https://passport.yandex.ru/auth/sso/commit. -
Если ваши сотрудники пользуются сервисами не только на русском языке, в полях Reply URL (Assertion Consumer Service URL) и Sign on URL дополнительно добавьте URL других языковых доменов. Например:
-
https://passport.yandex.com/auth/sso/commit— для английского;https://passport.yandex.kz/auth/sso/commit— для казахского;https://passport.yandex.uz/auth/sso/commit— для узбекского;https://passport.yandex.com.tr/auth/sso/commit— для турецкого.
Полный список
-
https://passport.yandex.com/auth/sso/commithttps://passport.yandex.az/auth/sso/commithttps://passport.yandex.by/auth/sso/commithttps://passport.yandex.co.il/auth/sso/commithttps://passport.yandex.com/auth/sso/commithttps://passport.yandex.com.am/auth/sso/commithttps://passport.yandex.com.ge/auth/sso/commithttps://passport.yandex.com.tr/auth/sso/commithttps://passport.yandex.ee/auth/sso/commithttps://passport.yandex.eu/auth/sso/commithttps://passport.yandex.fi/auth/sso/commithttps://passport.yandex.fr/auth/sso/commithttps://passport.yandex.kg/auth/sso/commithttps://passport.yandex.kz/auth/sso/commithttps://passport.yandex.lt/auth/sso/commithttps://passport.yandex.lv/auth/sso/commithttps://passport.yandex.md/auth/sso/commithttps://passport.yandex.pl/auth/sso/commithttps://passport.yandex.ru/auth/sso/commithttps://passport.yandex.tj/auth/sso/commithttps://passport.yandex.tm/auth/sso/commithttps://passport.yandex.ua/auth/sso/commithttps://passport.yandex.uz/auth/sso/commit
-
-
Нажмите Save.
-
Шаг 2. Настройте сопоставление атрибутов пользователей
-
Перейдите в Enterprise applications → All applications → <ваше приложение> → SAML-based Sign-on, чтобы синхронизировать атрибуты пользователей в Azure Active Directory и организации ID.
-
В разделе Attributes & Claims выберите Unique User Identifier (Name ID).
-
Чтобы имя и фамилия пользователя корректно отображались в организации ID, в поле Source attribute группы настроек Required claim введите
user.mail, а затем нажмите Save. -
В группе настроек Additional claims измените существующие утверждения или удалите и создайте их заново:
Claim name
Value
User.EmailAddress
user.mail
User.Firstname
user.givenname
User.Surname
user.surname
Пример SAML-запроса:
<Attribute Name="User.EmailAddress"> <AttributeValue>email@test.com</AttributeValue> </Attribute> <Attribute Name="User.Surname"> <AttributeValue>Surname</AttributeValue> </Attribute> <Attribute Name="User.Firstname"> <AttributeValue>Firstname</AttributeValue> </Attribute>
Шаг 3. Сохраните сертификат
-
Перейдите в Enterprise applications → All applications → <ваше приложение> → SAML-based Sign-on.
-
В разделе SAML Signing Certificate рядом с параметром Certificate (Base64) нажмите Download. Сохраните файл на жесткий диск. Сохраненный файл с расширением
.cerможно открыть в любом текстовом редакторе.
Шаг 4. Соберите данные, которые нужно будет передать Яндекс ID
Для дальнейшей настройки в Яндекс ID вам понадобится сертификат, который вы получили на шаге 3, и значения параметров конфигурации:
-
Login URL
-
Azure AD Identifier
Чтобы сохранить значения параметров:
-
Enterprise applications → All applications → <ваше приложение> → SAML-based Sign-on перейдите в раздел Set up <название приложения>.
-
Скопируйте значения полей Login URL и Azure AD Identifier в любое удобное место.
После этого переходите к настройке организации ID.
Решение проблем с настройкой
Если в процессе настройки поставщика удостоверений заданы неверные значения, то при попытке входа через SSO вы увидите сообщение «Авторизация не удалась» и код ошибки:
email.no_in_response
- Указывайте имена атрибутов в формате
User.Firstname,User.Surname,User.EmailAddress. Если задать другой формат, напримерFirstname, авторизоваться не получится.
request_your_admin
- Ошибка появляется, если администратор каталога пользователей вашей организации, например Active Directory или Keycloak, ограничил для аккаунта доступ к организации ID. За подробной информацией обратитесь к специалистам технической поддержки вашей организации.
samlresponse.invalid
- Ошибка возникает, если неверно указаны URL страницы входа, издатель поставщика удостоверений или проверочный сертификат. Проверьте корректность этих настроек SSO в организации ID: Настройки → SSO от Яндекс ID → строка с доменом организации.
unsupportable_domain
- Проверьте, что домен из почтового атрибута
User.EmailAddressв SAML response такой же, как и основной домен организации. Если они не совпадают, вы увидите сообщение об ошибке.