# Настройка SSO с Okta

Платформа dbt | Enterprise, Enterprise+

Тарифные планы dbt уровня Enterprise поддерживают единый вход через Okta (с использованием SAML).

SCIM доступен для Okta

После настройки единого входа (SSO) вы можете [настроить System for Cross-Domain Identity Management (SCIM)](https://docs.getdbt.tech/docs/platform/manage-access/scim-okta.md) с Okta, чтобы автоматизировать создание пользователей и групп, а также назначение лицензий.

В настоящее время поддерживаются следующие функции SSO:

* SSO, инициируемый IdP
* SSO, инициируемый SP
* Provisioning «just-in-time»

В этом руководстве описан процесс настройки аутентификации в dbt с помощью Okta.

## Конфигурация в Okta

### Создание нового приложения

Примечание: для выполнения шагов этого руководства вам понадобится доступ администратора к вашей организации Okta.

Сначала войдите в свою учетную запись Okta. В панели администратора (Admin dashboard) создайте новое приложение.

[![Создать новое приложение](/img/docs/dbt-platform/dbt-platform-enterprise/okta/okta-1-new-app.png?v=2 "Создать новое приложение")](#)Создать новое приложение

На следующем экране выберите следующие параметры:

* **Platform**: Web
* **Sign on method**: SAML 2.0

Нажмите **Create**, чтобы продолжить процесс настройки.

[![Настройка нового приложения](/img/docs/dbt-platform/dbt-platform-enterprise/okta/okta-1-new-app-create.png?v=2 "Настройка нового приложения")](#)Настройка нового приложения

### Настройка приложения Okta

На странице **General Settings** укажите следующие данные:

* **Название приложения**: dbt
* **Логотип приложения** (необязательно): Вы можете [скачать логотип dbt](https://cdn.sanity.io/images/wl0ndo6t/main/333fef4fc72db6f1ce4d1bc0789f355b4f0bbaa2-1280x1280.png), и загрузить его в Okta, чтобы использовать в качестве логотипа этого приложения.

Нажмите **Next**, чтобы продолжить.

[![Настройте общие параметры приложения](/img/docs/dbt-platform/dbt-platform-enterprise/okta/okta-2-general-settings.png?v=2 "Настройте общие параметры приложения")](#)Настройте общие параметры приложения

### Настройка SAML

На странице настроек SAML настраивается взаимодействие между Okta и dbt. Используйте [соответствующий URL доступа](https://docs.getdbt.tech/docs/platform/about-platform/access-regions-ip-addresses.md) для вашего региона и тарифного плана.

Чтобы заполнить этот раздел, вам понадобится слаг URL для входа. Этот слаг определяет URL-адрес, по которому пользователи вашей учетной записи могут входить в приложение. dbt автоматически генерирует слаги URL для входа, и изменить их нельзя. Слаг содержит только буквы, цифры и дефисы. Например, слаг URL для входа для dbt Labs может выглядеть так: `dbt-labs-afk123`. Слаги URL для входа уникальны среди всех учетных записей dbt.

Пользователи также могут войти через <https://login.dbt.com>, чтобы увидеть учетные записи, к которым у них есть доступ в разных экземплярах. Корпоративный URL для входа, содержащий ваш слаг, по-прежнему используется для сценариев единого входа (SSO), инициируемых вашим поставщиком удостоверений (IdP).

В следующих шагах используются `YOUR_AUTH0_URI` и `YOUR_AUTH0_ENTITYID`. Замените эти заполнители на [соответствующие Auth0 URI и Auth0 Entity ID](https://docs.getdbt.tech/docs/platform/manage-access/sso-overview.md#auth0-uris) для вашего региона. Эти значения можно найти в разделе **Account settings** > **SSO & SCIM** > **Edit** или **Get started** после выбора поставщика удостоверений.

* **Single sign on URL**: `https://YOUR_AUTH0_URI/login/callback?connection=<login URL slug>`
* **Audience URI (SP Entity ID)**: `urn:auth0:<YOUR_AUTH0_ENTITYID>:{login URL slug}`
* **Relay State**: `<login URL slug>`
* **Name ID format**: `Unspecified`
* **Application username**: `Custom` / `user.getInternalProperty("id")`
* **Update Application username on**: `Create and update`

[![Настройте параметры SAML приложения](/img/docs/dbt-platform/dbt-platform-enterprise/okta/okta-3-saml-settings-top.png?v=2 "Настройте параметры SAML приложения")](#)Настройте параметры SAML приложения

Настройка имени пользователя приложения

Настройка **Application username** зависит от того, планируете ли вы использовать SCIM:

* **Только SSO:** используйте уникальное значение, например `Custom` / `user.getInternalProperty("id")` (рекомендовано на предыдущих шагах).
* **SSO и SCIM:** используйте формат **Email**. SCIM требует, чтобы имя пользователя имело формат адреса электронной почты и совпадало со значением атрибута email.

Используйте формы **Attribute Statements** и **Group Attribute Statements**, чтобы сопоставить атрибуты пользователей и групп Okta вашей организации с форматом, который ожидает dbt.

Ожидаемые **User Attribute Statements**:

| Имя          | Формат имени | Значение         | Описание                               |
| ------------ | ------------ | ---------------- | -------------------------------------- |
| `email`      | Не указано   | `user.email`     | *Адрес электронной почты пользователя* |
| `first_name` | Не указано   | `user.firstName` | *Имя пользователя*                     |
| `last_name`  | Не указано   | `user.lastName`  | *Фамилия пользователя*                 |

Ожидаемые **Group Attribute Statements**:

| Имя      | Формат имени | Фильтр                              | Значение | Описание                                |
| -------- | ------------ | ----------------------------------- | -------- | --------------------------------------- |
| `groups` | Не указано   | Соответствует регулярному выражению | `.*`     | *Группы, в которые входит пользователь* |

**Примечание:** Вы можете использовать более строгое правило Group Attribute Statement, чем в примере выше. Например, если названия всех ваших групп dbt начинаются с `DBT_CLOUD_`, можно использовать фильтр вида `Starts With: DBT_CLOUD_`. **Okta возвращает не более 100 групп для каждого пользователя, поэтому, если ваши пользователи состоят более чем в 100 группах IdP, необходимо использовать более строгий фильтр**. Обратитесь в службу поддержки, если у вас возникнут вопросы.

[![Настройка правил атрибутов пользователей и групп для приложения](/img/docs/dbt-platform/dbt-platform-enterprise/okta/okta-3-saml-settings-bottom.png?v=2 "Настройка правил атрибутов пользователей и групп для приложения")](#)Настройка правил атрибутов пользователей и групп для приложения

Нажмите **Next**, чтобы продолжить.

### Завершение настройки в Okta

Выберите *I'm an Okta customer adding an internal app*, а затем *This is an internal app that we have created*. Нажмите **Finish**, чтобы завершить настройку.

[![Завершение настройки в Okta](/img/docs/dbt-platform/dbt-platform-enterprise/okta/okta-4-feedback.png?v=2 "Завершение настройки в Okta")](#)Завершение настройки в Okta

### Просмотр инструкций по настройке

На следующей странице нажмите **View Setup Instructions**. В следующих шагах вы укажете эти значения в настройках аккаунта dbt, чтобы завершить интеграцию между Okta и dbt.

[![Просмотр настроенного приложения](/img/docs/dbt-platform/dbt-platform-enterprise/okta/okta-5-view-instructions.png?v=2 "Просмотр настроенного приложения")](#)Просмотр настроенного приложения

[![Инструкции по настройке приложения](/img/docs/dbt-platform/dbt-platform-enterprise/okta/okta-5-instructions.png?v=2 "Инструкции по настройке приложения")](#)Инструкции по настройке приложения

## Конфигурация в dbt

Чтобы завершить настройку, выполните приведенные ниже действия в dbt.

### Указание учетных данных

1. Перейдите в **Account settings** > **SSO & SCIM**.
2. Нажмите **Get started**, если SSO ещё не настроен, или **Edit**, если настройка уже выполнена.
3. Укажите следующие данные SSO:

| Поле                          | Значение                                                                                                                                                                                                                                                                    |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Log in with**               | Okta                                                                                                                                                                                                                                                                        |
| **Identity Provider SSO Url** | Вставьте **Identity Provider Single Sign-On URL**, указанный в инструкциях по настройке Okta                                                                                                                                                                                |
| **Identity Provider Issuer**  | Вставьте **Identity Provider Issuer**, указанный в инструкциях по настройке Okta                                                                                                                                                                                            |
| **X.509 Certificate**         | Вставьте **X.509 Certificate**, указанный в инструкциях по настройке Okta;<br />**Примечание:** Когда срок действия сертификата истечёт, администратору Okta потребуется создать новый сертификат и вставить его в dbt, чтобы обеспечить бесперебойный доступ к приложению. |

[![Настройка приложения в dbt](/img/docs/dbt-platform/dbt-platform-enterprise/okta/okta-6-setup-integration.png?v=2 "Настройка приложения в dbt")](#)Настройка приложения в dbt

4. Нажмите **Save**, чтобы завершить настройку интеграции с Okta. После этого вы можете перейти по URL, созданному для *slug* вашей учетной записи, чтобы проверить вход через Okta. Кроме того, пользователи, добавленные в приложение Okta, смогут входить в dbt непосредственно из Okta.

Вход в систему

Пользователи могут войти в систему по адресу <https://login.dbt.com>, чтобы просмотреть аккаунты, к которым у них есть доступ в разных экземплярах, и выбрать, где открыть dbt platform. Это рекомендуемая точка входа для большинства пользователей.

Для единого входа (SSO) через вашего поставщика удостоверений также можно использовать следующий формат URL со слагом URL входа в ваш аккаунт. Замените `LOGIN_SLUG` значением из предыдущих шагов, а `YOUR_ACCESS_URL` — [соответствующим URL доступа](https://docs.getdbt.tech/docs/platform/about-platform/access-regions-ip-addresses.md) для вашего региона и тарифного плана:

`https://YOUR_ACCESS_URL/enterprise-login/LOGIN-SLUG`

Администраторы аккаунта могут включать и отключать обнаружение аккаунта с помощью параметра **Enable global account discovery** в разделе [настроек аккаунта](https://docs.getdbt.tech/docs/platform/account-settings.md#enable-global-account-discovery).

## Настройка RBAC

Теперь, когда вы завершили настройку SSO с Okta, следующим шагом будет настройка [групп RBAC](https://docs.getdbt.tech/docs/platform/manage-access/about-user-access.md#role-based-access-control-), чтобы завершить конфигурацию управления доступом.

Настройка SCIM

Теперь, когда вы настроили SSO с Okta, вы можете [настроить SCIM](https://docs.getdbt.tech/docs/platform/manage-access/scim-okta.md), чтобы автоматизировать создание и обновление пользователей и групп (а также назначение лицензий для Okta).

## Часто задаваемые вопросы и устранение неполадок

Ответы на распространённые вопросы и рекомендации по устранению неполадок, включая проблемы с подтверждением адреса электронной почты, запросами MFA и сопоставлением групп SSO, см. в разделе [Часто задаваемые вопросы о SSO и устранение неполадок](https://docs.getdbt.tech/docs/platform/manage-access/sso-faq.md).

## Узнать больше
