Настройка Snowflake Private Service Connect Enterprise +
Функция приватного подключения доступна для следующих Enterprise-тарифов dbt:
- Business Critical
- Virtual Private
Чтобы узнать больше об этих тарифах, свяжитесь с нами по адресу sales@getdbt.com.
Следующие шаги описывают процесс настройки эндпоинта GCP Snowflake Private Service Connect (PSC) в мультиарендной среде dbt.
Частные конечные точки подключения не могут соединяться между разными облачными провайдерами (AWS, Azure и GCP). Чтобы частное подключение работало, и dbt, и сервер (например, Snowflake) должны быть размещены у одного и того же облачного провайдера. Например, dbt, размещённый в AWS, не может подключаться к сервисам, размещённым в Azure, а dbt, размещённый в Azure, не может подключаться к сервисам, размещённым в GCP.
Соединения GCP Internal Stage PSC в настоящее время не поддерживаются.
Настройка GCP Private Service Connect
Проект dbt Labs в GCP заранее авторизован для подключения к аккаунтам Snowflake.
Чтобы настроить экземпляры Snowflake, размещённые в GCP, для использования Private Service Connect:
-
Выполните системную функцию Snowflake SYSTEM$GET_PRIVATELINK_CONFIG и скопируйте результат.
-
Добавьте необходимую информацию в следующий шаблон и отправьте запрос в службу поддержки dbt:
Subject: New Multi-Tenant GCP PSC Request
- Type: Snowflake
- SYSTEM$GET_PRIVATELINK_CONFIG output:
- *Use privatelink-account-url or regionless-privatelink-account-url?:
- dbt GCP multi-tenant environment:
*По умолчанию dbt будет настроен на использование privatelink-account-url из предоставленного вывода SYSTEM$GET_PRIVATELINK_CONFIG в качестве эндпоинта PrivateLink. По запросу вместо него может быть использован regionless-privatelink-account-url.
dbt Labs выполнит настройку приватного подключения от вашего имени. Пожалуйста, заложите 3–5 рабочих дней на завершение этого процесса. Служба поддержки свяжется с вами, когда конечная точка (endpoint) будет доступна.
Создание подключения в dbt
После того как служба поддержки dbt завершит настройку, вы сможете начать создавать новые подключения с использованием PrivateLink.
- Перейдите в Settings → Create new project → выберите Snowflake.
- Вы увидите два переключателя: Public и Private. Выберите Private.
- Выберите приватный эндпоинт из выпадающего списка (поле hostname/account будет заполнено автоматически).
- Настройте остальные параметры платформы данных.
- Протестируйте подключение и сохраните его.
Настройка сетевых политик
Если в вашей организации используются Snowflake Network Policies для ограничения доступа к аккаунту Snowflake, вам потребуется добавить сетевое правило для dbt.
Вы можете запросить диапазон CIDR у службы поддержки dbt, который затем можно использовать для создания сетевой политики.
Использование UI
Откройте интерфейс Snowflake и выполните следующие шаги:
- Перейдите на вкладку Security.
- Нажмите Network Rules.
- Нажмите Add Rule.
- Задайте имя правила.
- Выберите базу данных и схему, в которых будет храниться правило. Эти настройки используются для управления правами доступа и организационных целей и не влияют на само правило.
- Установите тип
IPV4и режимIngress. - Введите диапазон CIDR, предоставленный службой поддержки dbt, в поле identifier и нажмите Enter.
- Нажмите Create Network Rule.
- На вкладке Network Policy отредактируйте политику, в которую вы хотите добавить правило. Это может быть политика уровня аккаунта или политика, предназначенная для пользователей, подключающихся из dbt.
- Добавьте новое правило в список разрешённых и нажмите Update Network Policy.
Использование SQL
Для быстрого и автоматизированного создания сетевых правил в Snowflake с помощью SQL можно использовать следующие команды. Эти примеры SQL демонстрируют, как добавить сетевое правило и соответствующим образом обновить сетевую политику для dbt.
- Создайте новое сетевое правило с помощью следующего SQL:
CREATE NETWORK RULE allow_dbt_cloud_access
MODE = INGRESS
TYPE = IPV4
VALUE_LIST = ('<CIDR_RANGE>'); -- Замените '<CIDR_RANGE>' на фактический CIDR, предоставленный службой поддержки
- Добавьте правило в сетевую политику с помощью следующего SQL:
ALTER NETWORK POLICY <network_policy_name>
ADD ALLOWED_NETWORK_RULE_LIST =('allow_dbt_cloud_access');