# Сетевые требования dbt v2

dbt v2 требует исходящего доступа по HTTPS к нескольким конечным точкам в зависимости от сценария использования. На этой странице описаны все требования и приведены рекомендации для корпоративных сред с ограничениями на исходящий трафик.

В следующей таблице перечислены все конечные точки. Подробности приведены в соответствующих разделах ниже.

| Ресурс                                     | URL                                                           | Кому требуется                       |
| ------------------------------------------ | ------------------------------------------------------------- | ------------------------------------ |
| [Драйверы адаптеров](#adapter-drivers)     | `https://public.cdn.getdbt.com`                               | Всем пользователям                   |
| [Телеметрия](#telemetry)                   | `https://p.vx.dbt.com`                                        | Всем пользователям (можно отключить) |
| [Загрузка манифестов](#manifest-downloads) | URL-адреса хранилищ облачного провайдера (зависят от региона) | Только пользователям dbt platform    |

## Драйверы адаптеров

Бинарный файл dbt v2 *не* включает драйверы баз данных. Вместо этого dbt v2 автоматически загружает подходящий драйвер [ADBC](https://arrow.apache.org/adbc/) для вашей платформы данных при первом выполнении команды dbt (например, `dbt run`, `dbt debug` или `dbt compile`). dbt v2 определяет необходимый драйвер на основе конфигурации `profiles.yml` и загружает его из CDN dbt Labs. Все контрольные суммы поставляются вместе с самим бинарным файлом dbt v2, чтобы гарантировать подлинность загружаемых драйверов.

Для загрузки драйверов адаптеров требуется исходящий доступ по HTTPS к CDN dbt:

| Ресурс                 | URL                             | Назначение                                                                                                                                     |
| ---------------------- | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Драйверы адаптеров** | `https://public.cdn.getdbt.com` | Загрузка библиотек драйверов адаптеров ADBC (`.dylib`, `.so`, `.dll`) при первом использовании или при выполнении `dbt system install-drivers` |

к сведению

dbt v2 автоматически загружает драйвер при первом использовании. Команда `dbt system install-drivers` загружает **все** поддерживаемые драйверы (Snowflake, BigQuery, Postgres, Databricks, Redshift и DuckDB) за один раз. Это полезно, если вы работаете с несколькими платформами данных и хотите заранее закэшировать все драйверы перед переходом в автономный режим или переключением между проектами.

### Особенности работы с корпоративными прокси-серверами

Драйверы адаптеров представляют собой нативные разделяемые библиотеки (`.dylib` в macOS, `.so` в Linux, `.dll` в Windows). Некоторые корпоративные прокси-фильтры и средства безопасности классифицируют эти типы файлов как исполняемые и могут блокировать их загрузку — даже если вы добавили `public.cdn.getdbt.com` в список разрешённых на уровне домена.

Если прокси-сервер вашей организации блокирует загрузку драйверов адаптеров, совместно с ИТ-отделом убедитесь, что выполнены оба условия:

1. Домен `public.cdn.getdbt.com` добавлен в список разрешённых.
2. Правила проверки содержимого разрешают загрузку файлов нативных библиотек (`.dylib`, `.so`, `.dll`) с этого домена.

Если вы не можете изменить конфигурацию прокси-сервера, см. раздел [Установка в сети с ограниченным доступом](#restricted-network-installation).

### Установка в сети с ограниченным доступом

Если в вашей среде нет доступа к `public.cdn.getdbt.com` для загрузки драйверов адаптеров, вы можете заранее упаковать бинарный файл dbt v2 и драйверы адаптеров в единый архив `.tar.gz` или образ Docker и разместить его на файловом ресурсе, одобренном для внутреннего использования.

При подготовке комплекта для компьютеров, изолированных от внешних сетей или с доступом, ограниченным межсетевым экраном:

1. Используйте [матрицу совместимости версий](https://docs.getdbt.tech/docs/dbt-versions/dbt-version-compatibility.md#compatibility-matrix), чтобы выбрать версию dbt v2, совместимую с расширением dbt для VS Code, которое используют ваши пользователи.
2. Перед распространением проверьте бинарный файл по опубликованной контрольной сумме SHA-256. См. раздел [Проверка бинарных файлов при ручной установке и установке в изолированных средах](https://docs.getdbt.tech/docs/dbt-versions/dbt-version-compatibility.md#verify-binaries-for-manual-and-air-gapped-installs).
3. Укажите расширению dbt для VS Code путь к бинарному файлу из комплекта с помощью настройки `dbt.fusionPath`. См. раздел [Настройки расширения dbt](https://docs.getdbt.tech/docs/configure-dbt-extension.md#dbt-extension-settings).

Информацию о поддерживаемых адаптерах см. в разделе [Требования v2](https://docs.getdbt.tech/docs/dbt/supported-features.md#requirements).

## Телеметрия

dbt v2 отправляет анонимную статистику использования, чтобы помочь улучшить продукт. Если конечная точка телеметрии недоступна (например, заблокирована межсетевым экраном или прокси-сервером), dbt v2 записывает ошибки в журнал при каждом запуске.

| Ресурс         | URL                    | Назначение                                  |
| -------------- | ---------------------- | ------------------------------------------- |
| **Телеметрия** | `https://p.vx.dbt.com` | Отправка анонимной статистики использования |

Чтобы предотвратить появление этих ошибок без добавления URL в список разрешённых, отключите телеметрию с помощью параметров, описанных в разделе [Анонимная статистика использования](https://docs.getdbt.tech/reference/global-configs/usage-stats.md).

## Загрузка манифестов (только для dbt platform) [Enterprise](https://www.getdbt.com/pricing "Подробнее о статусе или тарифе")

Для клиентов [dbt platform](https://docs.getdbt.tech/docs/platform/about-platform/dbt-platform-features.md), использующих dbt v2 локально, dbt v2 загружает манифесты производственной среды из dbt platform, чтобы обеспечить работу таких возможностей, как [отложенное разрешение ссылок (deferral)](https://docs.getdbt.tech/reference/node-selection/defer.md) и [межпроектные ссылки](https://docs.getdbt.tech/docs/mesh/govern/project-dependencies.md). [Провайдер облачного хранилища](https://docs.getdbt.tech/docs/platform/about-platform/access-regions-ip-addresses.md), у которого размещена ваша ячейка dbt platform, предоставляет эти манифесты через **предварительно подписанные URL-адреса**.

Конкретные имена хостов зависят от региона развёртывания dbt platform и используемого облачного провайдера. Чтобы dbt v2 мог загружать манифесты, добавьте в список разрешённых соответствующий домен хранилища для вашего региона:

| Облачный провайдер       | Шаблон URL                                | Пример                                          |
| ------------------------ | ----------------------------------------- | ----------------------------------------------- |
| **AWS (S3)**             | `https://s3.<region>.amazonaws.com`       | `https://s3.ap-northeast-1.amazonaws.com` (JP1) |
| **Azure (Blob Storage)** | `https://<account>.blob.core.windows.net` | `https://prodeu2.blob.core.windows.net` (EU2)   |
| **GCP (Cloud Storage)**  | `https://storage.googleapis.com`          | `storage.googleapis.com`                        |

Поскольку предварительно подписанные URL-адреса содержат имена хостов, зависящие от региона и учётной записи и способные меняться со временем, мы рекомендуем добавлять в список разрешённых **базовый домен хранилища** вашего облачного провайдера, а не отдельные URL-адреса:

* **AWS** — `s3.*.amazonaws.com`
* **Azure** — `*.blob.core.windows.net`
* **GCP** — `storage.googleapis.com`
