Настройка Active Directory

Чтобы организовать единый вход (SSO) в сервисы Яндекс 360 через службу федерации Active Directory, нужно предварительно настроить сервер.

Шаг 1. Создайте отношение доверия с проверяющей стороной

  1. Войдите на ваш сервер AD FS и откройте Диспетчер серверов.

  2. Откройте консоль управления: нажмите Средства → Управление AD FS.

  3. В списке действий выберите Добавить отношение доверия проверяющей стороны.

  4. Выберите Поддерживающие утверждения и нажмите Старт.

  5. Для автоматической настройки отношения на шаге Выбор источника данных выберите Импорт данных о проверяющей стороне, опубликованных в интернете или локальной сети и введите URL: https://passport.yandex.ru/auth/sso/metadata.

    Нажмите Далее.

    Как настроить отношение вручную
    1. На шаге Выбор источника данных выберите Ввод данных о проверяющей стороне вручную. Затем нажмите Далее.

    2. Задайте любое название отношения, например «Яндекс 360». Нажмите Далее.

    3. Пропустите шаг Настройка сертификата — для этого нажмите Далее.

    4. Отметьте Включить поддержку протокола SAML 2.0 WebSSO и укажите URL: https://passport.yandex.ru/auth/sso/commit. Нажмите Далее.

    5. Добавьте идентификатор https://yandex.ru/ (обязательно с косой чертой в конце) — вставьте его в поле и нажмите Добавить. Затем нажмите Далее.

    6. Пропустите шаг Выбрать политику управления доступом.

  6. Проверьте данные. Убедитесь, что на вкладке Дополнительно выбран алгоритм хеширования SHA-256. Если все в порядке, нажмите Далее → Закрыть.

    Если вы воспользовались автоматической настройкой отношения, переходите сразу к шагу 3. При ручном создании отношения выполните шаг 2.

  1. Войдите на ваш сервер AD FS и откройте Server Manager.

  2. Откройте консоль управления: нажмите Tools → AD FS Management.

  3. В списке действий выберите Add Relying Party Trust.

  4. Выберите Claims aware и нажмите Start.

  5. Для автоматической настройки отношения на шаге Select Data Source выберите Import data about the relying party published online or on a local network и введите URL: https://passport.yandex.ru/auth/sso/metadata.

    Нажмите Next.

    Как настроить отношение вручную
    1. На шаге Select Data Source выберите Enter data about the relying party manually. Затем нажмите Next.

    2. Задайте любое название отношения, например «Яндекс 360». Нажмите Next.

    3. Пропустите шаг Configure Certificate — для этого нажмите Next.

    4. Отметьте Enable support for the SAML 2.0 WebSSO protocol и укажите Service URL: https://passport.yandex.ru/auth/sso/commit. Нажмите Next.

    5. Добавьте идентификатор https://yandex.ru/ (обязательно с косой чертой в конце) — вставьте его в поле и нажмите Add. Затем нажмите Next.

    6. Пропустите шаг Choose Access Control Policy.

  6. Проверьте данные. Убедитесь, что на вкладке Advanced выбран алгоритм хеширования SHA-256. Если все в порядке, нажмите Next → Close.

    Если вы воспользовались автоматической настройкой отношения, переходите сразу к шагу 3. При ручном создании отношения выполните шаг 2.

Шаг 2. Добавьте конечные точки для языковых доменов

Пропустите этот шаг, если вы выбрали автоматическую настройку отношения в пункте 5 шага 1.

Если ваши сотрудники пользуются сервисами Яндекс 360 не только на русском домене, дополнительно добавьте URL языковых доменов в качестве конечных точек:

  1. В консоли управления нажмите Отношения доверия проверяющей стороны.

  2. Откройте настройки отношения, созданного на шаге 1, — для этого нажмите на него два раза.

  3. Перейдите на вкладку Конечные точки.

  4. Добавьте нужные вам конечные точки.

    Чтобы добавить конечную точку для языкового домена, нажмите Добавить SAML, в значении Привязка выберите POST и укажите 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/commit

    • https://passport.yandex.az/auth/sso/commit

    • https://passport.yandex.by/auth/sso/commit

    • https://passport.yandex.co.il/auth/sso/commit

    • https://passport.yandex.com/auth/sso/commit

    • https://passport.yandex.com.am/auth/sso/commit

    • https://passport.yandex.com.ge/auth/sso/commit

    • https://passport.yandex.com.tr/auth/sso/commit

    • https://passport.yandex.ee/auth/sso/commit

    • https://passport.yandex.eu/auth/sso/commit

    • https://passport.yandex.fi/auth/sso/commit

    • https://passport.yandex.fr/auth/sso/commit

    • https://passport.yandex.kg/auth/sso/commit

    • https://passport.yandex.kz/auth/sso/commit

    • https://passport.yandex.lt/auth/sso/commit

    • https://passport.yandex.lv/auth/sso/commit

    • https://passport.yandex.md/auth/sso/commit

    • https://passport.yandex.pl/auth/sso/commit

    • https://passport.yandex.ru/auth/sso/commit

    • https://passport.yandex.tj/auth/sso/commit

    • https://passport.yandex.tm/auth/sso/commit

    • https://passport.yandex.uz/auth/sso/commit

    Затем нажмите OK.

Если ваши сотрудники пользуются сервисами Яндекс 360 не только на русском домене, дополнительно добавьте URL языковых доменов в качестве конечных точек:

  1. В консоли управления нажмите Trust Relationships → Relying Party Trusts.

  2. Откройте настройки отношения, созданного на шаге 1, — для этого нажмите на него два раза.

  3. Перейдите на вкладку Endpoints.

  4. Добавьте нужные вам конечные точки.

    Чтобы добавить конечную точку для языкового домена, нажмите Add SAML, в значении Binding выберите POST и укажите 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/commit

    • https://passport.yandex.az/auth/sso/commit

    • https://passport.yandex.by/auth/sso/commit

    • https://passport.yandex.co.il/auth/sso/commit

    • https://passport.yandex.com/auth/sso/commit

    • https://passport.yandex.com.am/auth/sso/commit

    • https://passport.yandex.com.ge/auth/sso/commit

    • https://passport.yandex.com.tr/auth/sso/commit

    • https://passport.yandex.ee/auth/sso/commit

    • https://passport.yandex.eu/auth/sso/commit

    • https://passport.yandex.fi/auth/sso/commit

    • https://passport.yandex.fr/auth/sso/commit

    • https://passport.yandex.kg/auth/sso/commit

    • https://passport.yandex.kz/auth/sso/commit

    • https://passport.yandex.lt/auth/sso/commit

    • https://passport.yandex.lv/auth/sso/commit

    • https://passport.yandex.md/auth/sso/commit

    • https://passport.yandex.pl/auth/sso/commit

    • https://passport.yandex.ru/auth/sso/commit

    • https://passport.yandex.tj/auth/sso/commit

    • https://passport.yandex.tm/auth/sso/commit

    • https://passport.yandex.uz/auth/sso/commit

    Затем нажмите OK.

Шаг 3. Настройте сопоставление утверждений

Чтобы настроить сопоставление утверждений, нужно указать атрибут. Он будет использоваться для идентификации пользователя в Яндекс ID.

После того как вы выберете атрибут, изменить его можно будет только по инструкции.

  • Если имена для входа пользователей не будут меняться, укажите атрибут «UPN».

  • Если же в вашей организации запланированы изменения домена или бизнес-процессов, которые могут привести к изменению UPN пользователей, нужно будет выбрать другой атрибут: «objectSID», «objectGUID» или другой.

Совет

Атрибут ObjectGUID по умолчанию не работает. Чтобы он заработал, необходимо преобразовать формат его передачи с помощью скрипта.

Как указать атрибут:

  1. В блоке Отношения доверия проверяющей стороны правой кнопкой мыши нажмите на отношение, созданное на шаге 1, и выберите Изменить политику подачи запросов.

  2. Нажмите Добавить правило.

  3. В поле Шаблон правила утверждения выберите Преобразование входящего утверждения и нажмите Далее.

  4. Придумайте название правила. При работе с русифицированными атрибутами используйте ИД имени вместо NameID. Укажите ИД имени в поле Имя правила утверждения. Это предотвратит проблемы аутентификации.

    В поле Тип исходящего утверждения выберите ИД имени. Нажмите Готово.

  5. Создайте еще одно правило: снова нажмите Добавить правило. Выберите шаблон Отправка атрибутов LDAP как утверждений и нажмите Далее.

  6. Задайте правилу название, например «LDAPATTR». Заполните остальные поля, как указано ниже:

    Затем нажмите Готово.

    Названия атрибутов чувствительны к формату и регистру. Укажите названия именно так, как показано на картинке: User.Firstname, User.Surname, User.EmailAddress. Иначе при авторизации могут возникнуть ошибки, например email.no_in_response.

  1. В блоке Отношения доверия проверяющей стороны правой кнопкой мыши нажмите на отношение, созданное на шаге 1, и выберите Изменить политику подачи запросов.

  2. Нажмите Добавить правило. Выберите шаблон Отправка атрибутов LDAP как утверждений и нажмите Далее.

  3. Задайте правилу название, например «LDAPATTR». Заполните остальные поля, как указано ниже. Напротив типа «Name ID» укажите атрибут: «objectGUID», «objectSID» или другой.

    Затем нажмите Готово.

    Названия атрибутов чувствительны к формату и регистру. Укажите названия именно так, как показано на картинке: User.Firstname, User.Surname, User.EmailAddress. Иначе при авторизации могут возникнуть ошибки, например email.no_in_response.

Как указать атрибут:

  1. В блоке Trust Relationships правой кнопкой мыши нажмите на отношение, созданное на шаге 1, и выберите Edit Claim Issuance Policy.

  2. Нажмите Add Rule.

  3. В качестве Claim rule template выберите Transform an Incoming Claim и нажмите Next.

  4. Придумайте любое название правила, например «NameID», и укажите его в поле Claim rule name.

    В поле Outgoing claim type выберите Name ID. Нажмите Finish.

  5. Создайте еще одно правило: снова нажмите Add Rule. Выберите шаблон Send LDAP Attributes as Claims и нажмите Next.

  6. Задайте правилу название, например «LDAPATTR». Заполните остальные поля, как указано ниже:

    Затем нажмите Finish.

    Названия атрибутов чувствительны к формату и регистру. Укажите названия именно так, как показано на картинке: User.Firstname, User.Surname, User.EmailAddress. Иначе при авторизации могут возникнуть ошибки, например email.no_in_response.

  1. В блоке Trust Relationships правой кнопкой мыши нажмите на отношение, созданное на шаге 1, и выберите Edit Claim Issuance Policy.

  2. Нажмите Add Rule. Выберите шаблон Send LDAP Attributes as Claims и нажмите Next.

  3. Задайте правилу название, например «LDAPATTR». Заполните остальные поля, как указано ниже. Напротив типа «Name ID» укажите атрибут: «objectGUID», «objectSID» или другой.

    Затем нажмите Finish.

    Названия атрибутов чувствительны к формату и регистру. Укажите названия именно так, как показано на картинке: User.Firstname, User.Surname, User.EmailAddress. Иначе при авторизации могут возникнуть ошибки, например email.no_in_response.

Шаг 4. Соберите данные, которые нужно будет передать Яндекс 360

URL страницы входа

Адрес точки входа. Как правило, это https://домен/adfs/ls.

В консоли управления откройте Конечные точки и убедитесь, что для параметра С включенным прокси у /adfs/ls/ установлено значение Да. Этот параметр отвечает за активацию страницы аутентификации в AD FS, которая должна быть доступна извне, — адрес вида https://домен_ADFS/adfs/ls/idpinitiatedsignon.aspx.

Издатель поставщика удостоверений

Entity ID домена. Как правило, это http://домен/adfs/services/trust.

Чтобы получить его, в консоли управления перейдите на вкладку Действие и выберите Изменить свойства службы федерации.

Нужное значение находится в поле Идентификатор службы федерации.

Проверочный сертификат

Сертификат подписи токенов формата X.509 в Base64. Чтобы получить:

1. В консоли управления откройте Сертификаты.

2. Нажмите два раза на ваш сертификат Для подписи маркера.

3. Перейдите на вкладку Состав и нажмите Копировать в файл.

4. Выберите тип сертификата Файлы X.509 (.CER) в кодировке Base-64 и нажмите Далее.

5. Сохраните файл на жесткий диск.

Если у вас два активных сертификата подписи токенов и вы не уверены, какой сертификат используется сейчас, повторите аналогичные действия для второго сертификата.

URL страницы входа

Адрес точки входа. Как правило, это https://домен/adfs/ls.

В консоли управления откройте Endpoints и убедитесь, что для параметра Proxy Enabled у /adfs/ls/ установлено значение Yes. Этот параметр отвечает за активацию страницы аутентификации в AD FS, которая должна быть доступна извне, — адрес вида https://домен_ADFS/adfs/ls/idpinitiatedsignon.aspx.

Издатель поставщика удостоверений

Entity ID домена. Как правило, это http://домен/adfs/services/trust.

Чтобы получить его, в консоли управления перейдите на вкладку Action и выберите Edit Federation Service Properties.

Нужное значение находится в поле Federation Service identifier.

Проверочный сертификат

Сертификат подписи токенов формата X.509 в Base64. Чтобы получить:

1. В консоли управления откройте Certificates.

2. Нажмите два раза на ваш сертификат Token-signing.

3. Перейдите на вкладку Details и нажмите Copy to File.

4. Выберите тип сертификата Base-64 encoded X.509 (.CER) и нажмите Next.

5. Сохраните файл на жесткий диск.

Если у вас два активных сертификата подписи токенов и вы не уверены, какой сертификат используется сейчас, повторите аналогичные действия для второго сертификата.

Шаг 5. Настройте синхронизацию сотрудников SCIM

По умолчанию новые сотрудники появляются в Яндекс 360 только после первой авторизации, а бывших сотрудников нужно удалять вручную. Если вы хотите автоматически синхронизировать список сотрудников из AD FS с Яндекс 360 для бизнеса, подключите синхронизацию SCIM.

Решение проблем с настройкой

Если в процессе настройки поставщика удостоверений заданы неверные значения, то при попытке входа через SSO вы увидите сообщение «Авторизация не удалась» и код ошибки:

email.no_in_response

Указывайте имена атрибутов в формате User.Firstname, User.Surname, User.EmailAddress. Если задать другой формат, например Firstname, авторизоваться не получится.

request_your_admin

Ошибка появляется, если администратор каталога пользователей вашей организации ограничил для аккаунта доступ к Яндекс 360. За подробной информацией обратитесь к специалистам технической поддержки вашей организации.

samlresponse.invalid

Ошибка возникает, если неверно указаны URL страницы входа, издатель поставщика удостоверений или проверочный сертификат. Также она может возникнуть в течение 14 дней до истечения проверочного сертификата или после его истечения. Проверьте корректность настроек SSO: откройте кабинет организации и выберите Общие настройки → Единый вход (SSO).

unsupportable_domain

Проверьте, что домен из почтового атрибута User.EmailAddress в SAML response такой же, как и основной домен или один из доменов-алиасов организации Яндекс 360.
Написать в службу поддержки

Технология от компании Microsoft, позволяющая организовать единый вход для доступа к различным системам и приложениям. Обзор служб федерации Active Directory