Перейти к основному содержимому

Настройка Snowflake PrivateLink

Доступно только для определённых уровней Enterprise

Функция PrivateLink доступна на следующих уровнях dbt Cloud Enterprise:

  • Business Critical
  • Virtual Private

Чтобы узнать больше об этих уровнях, свяжитесь с нами по адресу sales@getdbt.com.

Следующие шаги проведут вас через настройку конечной точки Snowflake AWS PrivateLink или Azure Private Link в многопользовательской среде dbt Cloud.

Конечные точки PrivateLink не могут подключаться между различными облачными провайдерами. Для того чтобы соединение PrivateLink работало, как dbt Cloud, так и сервер (например, Snowflake) должны быть размещены у одного и того же облачного провайдера. Например, dbt Cloud, размещенный на AWS, не может подключаться через PrivateLink к сервисам, размещенным на Azure, и dbt Cloud, размещенный на Azure, не может подключаться через PrivateLink к сервисам, размещенным на AWS.

Snowflake SSO с PrivateLink

Пользователи, подключающиеся к Snowflake с использованием SSO через соединение PrivateLink из dbt Cloud, также потребуют доступа к конечной точке PrivateLink с их локальной рабочей станции.

В настоящее время для любой учетной записи Snowflake SSO работает только с одним URL-адресом учетной записи одновременно: либо с публичным URL-адресом учетной записи, либо с URL-адресом, связанным с сервисом частного подключения.

О частном подключении для Snowflake

dbt Cloud поддерживает частное подключение для Snowflake с использованием одного из следующих сервисов:

Чтобы настроить экземпляры Snowflake, размещенные на AWS, для PrivateLink:

  1. Откройте запрос в службу поддержки Snowflake, чтобы разрешить доступ из учетной записи dbt Cloud AWS или Entra ID.
  • Snowflake предпочитает, чтобы владелец учетной записи открывал запрос в службу поддержки напрямую, а не dbt Labs действовал от их имени. Для получения дополнительной информации обратитесь к статье базы знаний Snowflake.
  • Предоставьте им ваш ID учетной записи dbt Cloud вместе с любой другой информацией, запрашиваемой в статье.
    • AWS account ID: 346425330055ПРИМЕЧАНИЕ: Этот ID учетной записи применяется только к многопользовательским средам AWS dbt Cloud. Для ID учетных записей AWS Virtual Private/Single-Tenant, пожалуйста, свяжитесь с поддержкой.
  • Вам потребуется доступ ACCOUNTADMIN к экземпляру Snowflake для отправки запроса в поддержку.
Открыть запрос в SnowflakeОткрыть запрос в Snowflake
  1. После того как Snowflake предоставит запрашиваемый доступ, выполните системную функцию Snowflake SYSTEM$GET_PRIVATELINK_CONFIG и скопируйте вывод.

  2. Добавьте необходимую информацию в следующий шаблон и отправьте ваш запрос в поддержку dbt:

Тема: Новый запрос на Multi-Tenant (Azure или AWS) PrivateLink
- Тип: Snowflake
- Вывод SYSTEM$GET_PRIVATELINK_CONFIG:
- *Использовать privatelink-account-url или regionless-privatelink-account-url?:
- Многопользовательская среда dbt Cloud
- AWS: США, EMEA или AU
- Azure: только EMEA

*По умолчанию dbt Cloud будет настроен на использование privatelink-account-url из предоставленного SYSTEM$GET_PRIVATELINK_CONFIG в качестве конечной точки PrivateLink. По запросу может быть использован regionless-privatelink-account-url.

dbt Labs будет работать от вашего имени для завершения настройки PrivateLink. Пожалуйста, выделите 3-5 рабочих дней на завершение этого процесса. Поддержка свяжется с вами, когда конечная точка будет доступна.

Чтобы настроить экземпляры Snowflake, размещенные на Azure, для Private Link:

  1. В вашей учетной записи Snowflake выполните следующие SQL-запросы и скопируйте вывод:

USE ROLE ACCOUNTADMIN;
SYSTEM$GET_PRIVATELINK_CONFIG;

  1. Добавьте необходимую информацию в следующий шаблон и отправьте ваш запрос в поддержку dbt:
Тема: Новый запрос на Multi-Tenant (Azure или AWS) PrivateLink
- Тип: Snowflake
- Вывод SYSTEM$GET_PRIVATELINK_CONFIG:
- Включите privatelink-pls-id
- Многопользовательская среда dbt Cloud Azure:
  1. Поддержка dbt предоставит вам private endpoint resource_id нашего private_endpoint и диапазон CIDR, чтобы вы могли завершить настройку PrivateLink, связавшись с командой поддержки Snowflake.

Создание подключения в dbt Cloud

После того как поддержка dbt Cloud завершит настройку, вы можете начать создавать новые подключения, используя PrivateLink.

  1. Перейдите в НастройкиСоздать новый проект → выберите Snowflake.
  2. Вы увидите две радиокнопки: Публичное и Частное. Выберите Частное.
  3. Выберите частную конечную точку из выпадающего списка (это автоматически заполнит поле имени хоста/учетной записи).
  4. Настройте остальные детали платформы данных.
  5. Проверьте ваше подключение и сохраните его.

Включение подключения в Snowflake, размещенном на Azure

примечание

Внутренние этапы AWS private в настоящее время не поддерживаются.

Чтобы завершить настройку, следуйте оставшимся шагам из руководств по настройке Snowflake. Инструкции различаются в зависимости от платформы:

Существуют некоторые нюансы для каждого подключения, и вам потребуется администратор Snowflake. Как администратор Snowflake, вызовите функцию SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS, используя значение privateEndpointResourceID в качестве аргумента функции. Это авторизует доступ к внутреннему этапу Snowflake через частную конечную точку.


USE ROLE ACCOUNTADMIN;

-- Azure Private Link
SELECT SYSTEMS$AUTHORIZE_STAGE_PRIVATELINK_ACCESS ( `AZURE PRIVATE ENDPOINT RESOURCE ID` );

Настройка сетевых политик

Если ваша организация использует сетевые политики Snowflake для ограничения доступа к вашей учетной записи Snowflake, вам потребуется добавить сетевое правило для dbt Cloud.

Вы можете запросить VPCE ID у поддержки dbt Cloud, который вы можете использовать для создания сетевой политики.

Использование интерфейса

Откройте интерфейс Snowflake и выполните следующие шаги:

  1. Перейдите на вкладку Безопасность.
  2. Нажмите на Сетевые правила.
  3. Нажмите на Добавить правило.
  4. Дайте правилу имя.
  5. Выберите базу данных и схему, где будет храниться правило. Эти выборы предназначены для настройки разрешений и организационных целей; они не влияют на само правило.
  6. Установите тип AWS VPCE ID и режим Ingress.
  7. Введите VPCE ID, предоставленный поддержкой dbt Cloud, в поле идентификатора и нажмите Enter.
  8. Нажмите Создать сетевое правило.
Создать сетевое правилоСоздать сетевое правило
  1. На вкладке Сетевая политика отредактируйте политику, к которой вы хотите добавить правило. Это может быть политика на уровне учетной записи или политика, специфичная для пользователей, подключающихся из dbt Cloud.

  2. Добавьте новое правило в список разрешенных и нажмите Обновить сетевую политику.

Обновить сетевую политикуОбновить сетевую политику

Использование SQL

Для быстрой и автоматизированной настройки сетевых правил через SQL в Snowflake следующие команды позволяют создать и настроить правила доступа для dbt Cloud. Эти примеры SQL демонстрируют, как добавить сетевое правило и обновить вашу сетевую политику соответствующим образом.

  1. Создайте новое сетевое правило с помощью следующего SQL:

CREATE NETWORK RULE allow_dbt_cloud_access
MODE = INGRESS
TYPE = AWSVPCEID
VALUE_LIST = ('<VPCE_ID>'); -- Замените '<VPCE_ID>' на фактический ID, предоставленный

  1. Добавьте правило в сетевую политику с помощью следующего SQL:

ALTER NETWORK POLICY <network_policy_name>
ADD ALLOWED_NETWORK_RULE_LIST =('allow_dbt_cloud_access');

0