Яндекс 360
**Яндекс 360** (<https://360.yandex.ru>) — виртуальное рабочее пространство, которое включает в себя персональные сервисы.
Подключение Яндекс 360 к Blitz Identity Provider выполняется по протоколу SAML и состоит из двух этапов:
* Этап 1. Настройки на стороне Яндекс 360
* Этап 2. Настройки на стороне Blitz Identity Provider
<div style="background-color: #fff3cd; border: 1px solid #ffc107; border-radius: 5px; padding: 10px;">
<strong>Важно:</strong> <p>В инструкции для примера указано, что Blitz IDP установлен на домене <code class="docutils literal notranslate"><span class="pre">https://login.company.com</span></code>. Уточните ваш адрес перед применением инструкции.</p>
</div>
### Этап 1. Настройки на стороне Яндекс 360
1. Откройте Яндекс 360 для Бизнеса: <https://admin.yandex.ru/>
2. Перейдите в раздел __Общие настройки__ и выберите __Единый вход (SSO)__.
3. Нажмите __Настроить__.
4. Заполните поля с обязательными параметрами:
* **URL страницы входа**: ``https://login.company.com/blitz/saml/profile/SAML2/Redirect/SSO``
* **Издатель поставщика удостоверений**: ``https://login.company.com/blitz/saml``
* **Проверочный сертификат**: укажите сертификат Blitz из метаданных. Для этого пройдите по ссылке ``https://login.company.com/blitz/saml/profile/Metadata/SAML``, откройте XML документ с метаданными и найдите раздел ``<ds:X509Certificate>``. Например:
<p align="center">
<img width="500" height="200" src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/image-1717769134893.png">
<p>
__Скопируйте__ сертификат и __Вставьте__ его в поле в PEM-формате:
```
-----BEGIN CERTIFICATE-----
<значение сертификата>
-----END CERTIFICATE-----
```
5. Нажмите __Сохранить__.
<p align="center">
<img width="500" height="200" src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/sso.jpeg">
<p>
### Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел __SAML__ и выполните следующие действия:
1. Нажмите __Добавить новый SAML-атрибут__.
2. Укажите название атрибута и его источник в хранилище. В данном случае источники ``email`` ``given_name`` ``family_name``. Выберите их из выпадающего списка.
3. После каждого заполнения свойств атрибутов нажмите __Добавить__.
<p align="center">
<img width="500" height="200" src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/scaled-1680-/image-1.png">
<p align="center">
<p align="center">
<img width="500" height="200" src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/image-11.png">
<p align="center">
<p align="center">
<img width="500" height="200" src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/image-10.png">
<p align="center">
Свойства для каждого атрибута
<p align="center">
<img width="500" height="200" src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/image.png">
<p align="center">
Список атрибутов после добавления
4. Далее добавьте кодировщик для каждого атрибута. Для этого выберите атрибут и нажмите __Добавить кодировщик__.
<p align="center">
<img width="700" height="200" src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/image-1717672851037.png">
5. Для каждого атрибута добавьте кодировщики ``SAML1String`` и ``SAML2String``. В зависимости от передаваемого атрибута пользователя кодировщику присваивается название ``User.EmailAddress``, ``User.Firstname`` или ``User.Surname`` соответственно.
6. Задайте настройки кодировщика по аналогии с приведенным ниже примером:
<p align="center">
<img width="300" height="400" src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/image-5.png">
7. Нажмите __Сохранить__ после каждого создания кодировщика.
8. Далее в консоли управления *Blitz Identity Provider* перейдите в раздел **Приложения**.
9. Создайте новое приложение, задав его базовые настройки:
* **Идентификатор (entityID или client_id)**: ``https://yandex.ru/``
* **Название**: укажите название приложения, которое видно только внутри Blitz. Например, ``Yandex360``.
* **Домен**: ``https://passport.yandex.ru/``
<p align="center">
<img src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/image-1718375868253.png">
</p>
10. Нажмите **Сохранить**.
11. Далее нажмите кнопку **Параметры** <img width="25" height="25" src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-05/button-1.png"> у предложения Яндекс360 и отредактируйте параметры приложения:
* **Протоколы**: выберите ``SAML`` и нажмите **Сконфигурировать**
* Выберите **SAML 2.0 Web SSO Profile** и нажмите **Сконфигурировать**.
Установите следующие настройки:
* **Подписывать утверждения**: ``always``
* **Шифровать утверждения**: ``never``
* **Шифровать идентификаторы (NameIds)**: ``never``
* **Включить передачу SAML-утверждений о пользователе в специальном блоке AttributeStatement**: установить флажок.
<p align="center">
<img src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/image-7.png">
</p>
12. В разделе **Атрибуты пользователя** настройте передачу в Яндекс 360 атрибута ``transientId``, а также созданных на первом этапе SAML-атрибутов.
<p align="center">
<img src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/image-1717674776365.png">
</p>
13. Нажмите **Сохранить**.
14. Далее в разделе __Метаданные__ нажмите __Изменить__. Скопируйте и вставьте следующий код:
<p align="center">
<img src="https://docs-test.idblitz.ru/bst/uploads/images/gallery/2024-06/image-1717687901912.png">
</p>
```xml
<?xml version="1.0" encoding="utf-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
entityID="https://yandex.ru/">
<md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:AssertionConsumerService index="1" isDefault="true"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://passport.yandex.ru/auth/sso/commit"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>
```
15. Нажмите **Сохранить**.
<div style="background-color: #d0f0c0; border: 1px solid #28a745; border-radius: 5px; padding: 10px;">
<strong>Совет:</strong>
<p>После прохождения всех шагов рекомендуем проверить корректность входа в Яндекс 360: <code class="docutils literal notranslate"><span class="pre">https://passport.yandex.ru/auth</span></code></p>
</div>