# Подключение к Salesforce Data 360 [Бета-версия](https://docs.getdbt.tech/docs/dbt-versions/product-lifecycles "Подробнее о статусе или тарифе") Совместимо с dbt v2

Платформа dbt

dbt v2 в dbt platform поддерживает подключение к Salesforce Data 360.

## Предварительные требования

Для подключения dbt к Salesforce Data 360 вам потребуется следующее:

* Экземпляр Data 360.
* Файл закрытого ключа `server.key`. Дополнительные сведения см. в разделе [Создание закрытого ключа и сертификата](#generating-a-private-key-and-certificate).
* Внешнее клиентское приложение, настроенное для потока аутентификации JSON Web Token (JWT) Bearer. Дополнительные сведения см. в разделе [Настройка внешнего клиентского приложения](#setting-up-the-external-client-app).
* Разрешения `Data Cloud Architect` и `Data Cloud User`.

### Создание закрытого ключа и сертификата

Прежде чем создавать внешнее клиентское приложение, создайте закрытый ключ (`server.key`) и самоподписанный сертификат (`server.crt`) в Salesforce. Salesforce использует сертификат для проверки токена JWT Bearer, отправляемого dbt. Инструкции см. в разделе [Создание закрытого ключа и самоподписанного цифрового сертификата](https://developer.salesforce.com/docs/atlas.en-us.252.0.sfdx_dev.meta/sfdx_dev/sfdx_dev_auth_key_and_cert.htm).

примечание

Рекомендуется создавать эти учётные данные под **служебной учётной записью**, а не под личной учётной записью пользователя, чтобы упростить управление учётными данными.

[]()

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

Для аутентификации dbt с использованием потока JWT Bearer необходимо создать и настроить внешнее клиентское приложение в Salesforce Data 360.

Следуйте инструкциям в разделе [Создание локального внешнего клиентского приложения](https://help.salesforce.com/s/articleView?id=xcloud.create_a_local_external_client_app.htm\&type=5), чтобы создать внешнее клиентское приложение. На шаге 6 обязательно выберите **Packaged**.

Затем настройте параметры OAuth для приложения:

1. В разделе **API (Enable OAuth Settings)** выберите **Enable OAuth**.

2. Установите для **Callback URL** значение `https://login.salesforce.com/services/oauth2/callback`.

3. В разделе **OAuth Scopes** добавьте в список **Selected OAuth Scopes** следующие области доступа:

   * `api` — для управления пользовательскими данными через API
   * `refresh_token`, `offline_access` — для выполнения запросов в любое время, даже когда пользователь не в сети или срок действия токенов истёк
   * `cdp_query_api` — для выполнения SQL-запросов к данным Data 360

4. В разделе **Flow Enablement** выберите **Enable JWT Bearer Flow**.

5. Нажмите **Upload Files** и загрузите файл `server.crt`, созданный в разделе [Создание закрытого ключа и сертификата](#generating-a-private-key-and-certificate).

6. Нажмите **Create**.

7. На вкладке **Policies** выберите **Edit**.

8. В разделе **OAuth Policies** > **Plugin Policies** > **Permitted Users** выберите **Admin approved users are pre-authorized**. Появится список **Select Profiles and Select Permission Sets**.

9. Выберите профили и наборы разрешений, которым следует предоставить доступ к внешнему клиентскому приложению.

10. В разделе **App Authorization** установите для **IP Relaxation** значение **Relax IP Restrictions**.

11. Нажмите **Save**.

## Поля подключения

Чтобы подключиться к Salesforce Data 360, настройте параметры подключения и укажите учетные данные.

### Подключение

Заполните следующие поля, чтобы настроить подключение к Salesforce Data 360:

| Поле                       | Описание                                                                               | Пример                                        |
| -------------------------- | -------------------------------------------------------------------------------------- | --------------------------------------------- |
| Connection name            | Название подключения к Salesforce Data 360.                                            |                                               |
| Auth method                | Метод аутентификации для подключения к Salesforce Data 360. Поддерживается только JWT. | JWT Bearer Flow (по умолчанию)                |
| Login URL                  | URL экземпляра Salesforce.                                                             | `https://login.salesforce.com` (по умолчанию) |
| Database                   | (Необязательно) База данных Salesforce Data 360, к которой нужно подключиться.         |                                               |
| Data Transform Run Timeout | (Необязательно) Время ожидания (в миллисекундах) для запусков преобразования данных.   |                                               |

### Учетные данные

Введите следующие учетные данные для аутентификации в Salesforce Data 360:

| Поле        | Описание                                                       | Пример                  |
| ----------- | -------------------------------------------------------------- | ----------------------- |
| Username    | Ваше имя пользователя в Salesforce Data 360.                   | <user.name@example.com> |
| Client ID   | Значение `Consumer Key` приложения Salesforce Data 360.        |                         |
| Private Key | Закрытый ключ для аутентификации по протоколу JWT bearer flow. |                         |

* В поле **Username** укажите имя пользователя вашей учетной записи Salesforce. Аутентификация пройдет успешно, только если этому пользователю назначен один из профилей или наборов разрешений, добавленных во внешнее клиентское приложение на [шаге 9](#creating-the-external-client-app).
* Для поля **Client ID** получите Consumer Key из внешнего клиентского приложения в Salesforce. Перейдите в **Settings** > **OAuth Settings** > **Consumer Key and Secret**. Скопируйте **Consumer Key** и вставьте его в поле **Client ID**.
* **Private Key** — это файл `server.key`, созданный в разделе [Генерация закрытого ключа и сертификата](#generating-a-private-key-and-certificate).

## Метод аутентификации

Salesforce Data 360 поддерживает только аутентификацию JWT bearer. JWT bearer flow — это метод межмашинной аутентификации, который использует файл закрытого ключа и Consumer Key (Client ID) для аутентификации без участия пользователя.

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

Чтобы узнать, как оптимизировать производительность с помощью настроек, специфичных для платформы данных, в dbt platform, обратитесь к разделу [Настройки Salesforce Data 360](https://docs.getdbt.tech/reference/resource-configs/data-cloud-configs.md).

## Ограничения

Следующие возможности dbt пока не поддерживаются для подключений к Salesforce Data 360 в dbt platform:

* [Seeds](https://docs.getdbt.tech/docs/build/seeds.md)
  * В качестве обходного решения войдите в Salesforce и загрузите CSV-файл вручную.
* [Каталог](https://docs.getdbt.tech/docs/explore/explore-projects.md)
* [Семантический слой](https://docs.getdbt.tech/docs/use-dbt-semantic-layer/dbt-sl.md)
