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

Администрирование Semantic Layer StarterEnterpriseEnterprise +

С помощью dbt Semantic Layer вы можете централизованно определять бизнес-метрики, снижать дублирование кода и несогласованность, создавать возможности self-service в downstream-инструментах и многое другое. В этом разделе показано, как настроить учетные данные и токены, чтобы другие инструменты могли выполнять запросы к Semantic Layer.

Пока не поддерживается в движке dbt Fusion

Semantic Layer в настоящее время поддерживается в dbt platform для окружений, работающих на версиях dbt Core. Поддержка окружений на движке dbt Fusion появится в ближайшее время.

Предварительные условия

  • У вас должен быть аккаунт dbt уровня Starter, Enterprise или Enterprise+. Доступно для всех конфигураций тенанта.
  • Убедитесь, что ваши production- и development-окружения используют поддерживаемую версию dbt.
  • Используйте Snowflake, BigQuery, Databricks, Redshift, Postgres или Trino.
  • Создайте успешный run в окружении, где вы настраиваете Semantic Layer.
    • Примечание: Semantic Layer поддерживает выполнение запросов в Deployment-окружениях; возможность выполнять запросы в development-окружениях появится в ближайшее время.
  • Разберитесь с ключевыми концепциями MetricFlow, которые лежат в основе Semantic Layer.
  • Обратите внимание, что Semantic Layer не поддерживает использование Single sign-on (SSO) для production credentials, хотя SSO поддерживается для пользовательских аккаунтов в development-окружениях.
📹 Узнайте о семантическом слое dbt с помощью видеокурсов по запросу!

Изучите наш курс по семантическому слою dbt, чтобы узнать, как определять и запрашивать метрики в вашем проекте dbt.

Кроме того, погрузитесь в мини-курсы по запросам к семантическому слою dbt в ваших любимых инструментах: Tableau, Excel, Hex и Mode.

Администрирование семантического слоя

Вы должны входить в группу Owner и иметь соответствующую лицензию и права доступа, чтобы администрировать Semantic Layer на уровне окружения и проекта.

  • Тарифы Enterprise+ и Enterprise:
    • лицензия Developer с правами Account Admin, или
    • роль Owner с лицензией Developer и назначенными правами Project Creator, Database Admin или Admin.
  • Тариф Starter: роль Owner с лицензией Developer.
  • Free trial: вы находитесь на бесплатном пробном периоде тарифа Starter в роли Owner, что означает, что у вас есть доступ к dbt Semantic Layer.

1. Выберите окружение

Выберите окружение, в котором вы хотите включить Семантический слой:

  1. Перейдите в Account settings в навигационном меню.
  2. В разделе Settings нажмите Projects и выберите конкретный проект, для которого вы хотите включить Semantic Layer.
  3. На странице Project details перейдите в раздел Semantic Layer. Выберите Configure Semantic Layer.
Раздел Semantic Layer на странице «Project details»Раздел Semantic Layer на странице «Project details»
  1. На странице Настройка конфигурации Семантического слоя выберите окружение развертывания, которое вы хотите для Семантического слоя, и нажмите Сохранить. Это предоставляет администраторам гибкость в выборе окружения, в котором будет включен Семантический слой.
Выберите окружение развертывания, относительно которого будет выполняться ваш Semantic Layer.Выберите окружение развертывания, относительно которого будет выполняться ваш Semantic Layer.

2. Настройка учетных данных и создание токенов

Существует два варианта настройки Semantic Layer с использованием API‑токенов:

Добавить учетные данные и создать сервисные токены

Первый вариант — использовать сервисные токены для аутентификации. Эти токены связаны с учетными данными платформы данных, которые вы предварительно настраиваете. Настроенные учетные данные используются для выполнения запросов, которые Semantic Layer отправляет к вашей платформе данных.

Эти учетные данные контролируют физический доступ к данным, к которым обращается Семантический слой, и все политики доступа, установленные на платформе данных для этих учетных данных, будут соблюдаться.

ВозможностьТариф StarterТарифы Enterprise+ и Enterprise
Service tokensМожно создать несколько service token, связанных с одними учётными данными (credential).Можно использовать несколько credential и привязывать к каждому из них несколько service token. Обратите внимание, что один service token нельзя привязать более чем к одному credential.
Credentials per projectОдин credential на проект.Можно добавить несколько credential на проект.
Link multiple service tokens to a single credential
Loading table...

Если вы используете тариф Starter и вам нужно добавить больше credential, рассмотрите возможность перехода на Enterprise+ или Enterprise plan. Все пользователи Enterprise могут обратиться к разделу Add more credentials для получения подробных инструкций по добавлению нескольких credential.

1. Выберите среду развертывания
  • После выбора deployment environment вы увидите страницу Credentials & service tokens.
  • Нажмите кнопку Add Semantic Layer credential.
2. Настройте учетные данные
  • В разделе 1. Add credentials введите учетные данные, специфичные для вашей data platform, которые Semantic Layer будет использовать.
  • Используйте учетные данные с минимально необходимыми правами. Semantic Layer требует доступ на чтение к схемам, содержащим dbt models, используемые в ваших semantic models для downstream‑приложений.
  • Используйте Расширенные атрибуты и Переменные окружения при подключении к Семантическому слою. Если вы задаете значение непосредственно в Учетных данных Семантического слоя, оно будет иметь более высокий приоритет, чем Расширенные атрибуты. При использовании переменных окружения будет использоваться значение по умолчанию для окружения.

    Например, задайте хранилище, используя {{env_var('DBT_WAREHOUSE')}} в ваших учетных данных Семантического слоя.

    Аналогично, если вы задаете значение учетной записи с помощью {{env_var('DBT_ACCOUNT')}} в Расширенных атрибутах, dbt проверит как Расширенные атрибуты, так и переменную окружения.

Добавьте учётные данные и сопоставьте их с service token.Добавьте учётные данные и сопоставьте их с service token.
  • Если у вас есть права на создание service token, после добавления credential вы увидите опцию Map new service token. Укажите имя token, установите разрешения Semantic Layer Only и Metadata Only, затем нажмите Save.
  • После генерации token вы больше не сможете просмотреть его значение, поэтому обязательно сохраните его в безопасном месте.
  • Если у вас нет доступа к созданию service token, вы увидите сообщение с предложением связаться с администратором, чтобы он создал token для вас. Администраторы могут создавать и связывать token по мере необходимости.
Если у вас нет прав на создание service token, вы можете создать credential и попросить администратора создать token для вас.Если у вас нет прав на создание service token, вы можете создать credential и попросить администратора создать token для вас.
к сведению
  • Тариф Starter позволяет создавать несколько service token, привязанных к одному базовому credential, однако в каждом проекте может быть только один credential.
  • Все тарифы Enterprise позволяют добавлять несколько credential и связывать их с service token для более гибкого управления доступом.

Запишитесь на бесплатную live‑демонстрацию, чтобы узнать о всех возможностях dbt Enterprise и более высоких тарифов.

Настройте учетные данные для разработки и создайте персональный токен

Использование personal access tokens (PATs) также поддерживается как метод аутентификации для dbt Semantic Layer. Это позволяет использовать аутентификацию на уровне пользователя и снижает необходимость совместного использования token между пользователями. При аутентификации с помощью PAT запросы выполняются с использованием ваших персональных development credentials.

Чтобы использовать PAT в Semantic Layer:

  1. Настройте ваши development credentials.
    1. Нажмите на имя вашего аккаунта в левом нижнем меню и перейдите в Account settings > Credentials.
    2. Выберите ваш проект.
    3. Нажмите Edit.
    4. Перейдите в раздел Development credentials и введите необходимые данные.
    5. Нажмите Save.
  2. Создайте personal access token. Обязательно скопируйте token.

Сгенерированный PAT можно использовать как метод аутентификации для Semantic Layer API и integrations.

3. Просмотрите сведения о подключении

  1. Вернитесь на страницу Project details, чтобы посмотреть параметры подключения для downstream‑инструментов.

  2. Скопируйте и передайте соответствующим командам Environment ID, service или personal token, Host, а также имя service или personal token для настройки подключения BI‑инструментов. Если ваш инструмент использует GraphQL API, сохраните информацию о GraphQL API host вместо JDBC URL.

    Для информации о том, как подключиться к другим интеграциям, обратитесь к Доступные интеграции.

После настройки вам будут предоставлены данные для подключения, которые можно использовать для подключения ваших downstream‑инструментов.После настройки вам будут предоставлены данные для подключения, которые можно использовать для подключения ваших downstream‑инструментов.

4. Добавьте дополнительные учетные данные Enterprise +Enterprise

Все тарифные планы dbt Enterprise при желании позволяют добавлять несколько учетных данных и сопоставлять их с service tokens. Это обеспечивает более детальный контроль и настраиваемый доступ для разных команд, после чего эти учетные данные можно передавать соответствующим командам для настройки подключения BI‑инструментов. Эти учетные данные управляют физическим доступом к базовым данным, к которым обращается Semantic Layer.

Мы рекомендуем настраивать учетные данные и сервисные токены в соответствии с вашими командами и их ролями. Например, создавайте токены или учетные данные, которые соответствуют потребностям вашей команды, например, предоставляя доступ к схемам, связанным с финансами, для финансовой команды.

 Соображения по связыванию учетных данных
  • Администраторы могут связывать несколько сервисных токенов с одними учетными данными в проекте, но каждый сервисный токен может быть связан только с одними учетными данными на проект.
  • Когда вы отправляете запрос через API, сервисный токен связанного учетного данных будет следовать политикам доступа к представлениям и таблицам, используемым для построения ваших запросов семантического слоя.
  • Используйте Расширенные атрибуты и Переменные окружения при подключении к Семантическому слою. Если вы задаете значение непосредственно в Учетных данных Семантического слоя, оно будет иметь более высокий приоритет, чем Расширенные атрибуты. При использовании переменных окружения будет использоваться значение по умолчанию для окружения.

    Например, задайте хранилище, используя {{env_var('DBT_WAREHOUSE')}} в ваших учетных данных Семантического слоя.

    Аналогично, если вы задаете значение учетной записи с помощью {{env_var('DBT_ACCOUNT')}} в Расширенных атрибутах, dbt проверит как Расширенные атрибуты, так и переменную окружения.

1. Добавление дополнительных учетных данных

  • После настройки окружения на странице Credentials & service tokens нажмите кнопку Add Semantic Layer credential, чтобы создать несколько учетных данных и сопоставить их с service token.
  • В разделе 1. Add credentials заполните поля учетных данных для вашей платформы данных. Мы рекомендуем использовать учетные данные с правами “read-only”.
    Добавьте учётные данные и сопоставьте их с service token.Добавьте учётные данные и сопоставьте их с service token.

2. Сопоставление service tokens с учетными данными

  • В разделе 2. Map new service token сопоставьте service token с учетными данными, которые вы настроили на предыдущем шаге. dbt автоматически выбирает необходимый набор разрешений для service token (Semantic Layer Only и Metadata Only).
  • Чтобы добавить еще один service token в процессе настройки, нажмите Add Service Token.
  • Позже вы можете привязать дополнительные service tokens к тем же учетным данным на странице Semantic Layer Configuration Details. Чтобы добавить еще один service token к существующей конфигурации Semantic Layer, нажмите Add service token в разделе Linked service tokens.
  • Нажмите Save, чтобы связать service token с учетными данными. Не забудьте скопировать и надежно сохранить service token, так как после генерации он больше не будет доступен для просмотра.
Используйте страницу конфигурации, чтобы управлять несколькими credential или привязывать/отвязывать service token для более тонкого контроля.Используйте страницу конфигурации, чтобы управлять несколькими credential или привязывать/отвязывать service token для более тонкого контроля.

3. Удалите учетные данные

  • Чтобы удалить учетные данные, вернитесь на страницу Учетные данные и сервисные токены.

  • В разделе Связанные сервисные токены нажмите Редактировать и выберите Удалить учетные данные, чтобы удалить учетные данные.

    Когда вы удаляете учетные данные, любые сервисные токены, связанные с этими учетными данными в проекте, перестанут работать и будут недоступны для конечных пользователей.

Удаление конфигурации

Вы можете удалить всю конфигурацию Semantic Layer для проекта. Обратите внимание, что удаление конфигурации Semantic Layer приведёт к удалению всех учётных данных и отвязке всех service token от проекта. Также это приведёт к тому, что все запросы к Semantic Layer будут завершаться с ошибкой.

Следуйте этим шагам, чтобы удалить конфигурацию Семантического слоя для проекта:

  1. Перейдите на страницу Детали проекта.
  2. В разделе Семантический слой выберите Удалить Семантический слой.
  3. Подтвердите удаление, нажав Да, удалить семантический слой в всплывающем окне подтверждения.

Чтобы повторно включить настройку Семантического слоя dbt в будущем, вам нужно будет воссоздать ваши конфигурации, следуя предыдущим шагам. Если ваши семантические модели и метрики все еще находятся в вашем проекте, никаких изменений не требуется. Если вы их удалили, вам нужно будет снова настроить конфигурации YAML.

Удаление конфигурации семантического слоя для проекта.Удаление конфигурации семантического слоя для проекта.

Дополнительная конфигурация

Следующие дополнительные гибкие конфигурации для учетных данных Семантического слоя.

Сопоставьте сервисные токены с учетными данными

  • После настройки вашего окружения вы можете сопоставить дополнительные сервисные токены с теми же учетными данными, если у вас есть необходимые разрешения.
  • Перейдите на страницу Учетные данные и сервисные токены и нажмите кнопку +Добавить сервисный токен в разделе Связанные сервисные токены.
  • Введите имя сервисного токена и выберите необходимый набор разрешений (Только Семантический слой и Только метаданные).
  • Нажмите Сохранить, чтобы связать сервисный токен с учетными данными.
  • Не забудьте скопировать и сохранить сервисный токен в безопасном месте, так как он не будет доступен для просмотра после генерации.
Сопоставьте дополнительные сервисные токены с учетными данными.Сопоставьте дополнительные сервисные токены с учетными данными.
  • Отвяжите сервисный токен от учетных данных, нажав Отвязать в разделе Связанные сервисные токены. Если вы попытаетесь выполнить запрос к Семантическому слою с отвязанными учетными данными, вы столкнетесь с ошибкой в вашем BI-инструменте, так как не будет сопоставлен действительный токен.

Управление со страницы сервисных токенов

Просмотр учетных данных из сервисного токена

  • Просмотрите ваши учетные данные Семантического слоя напрямую, перейдя на страницу API токены, а затем Сервисные токены.
  • Выберите сервисный токен, чтобы просмотреть учетные данные, с которыми он связан. Это полезно, если вы хотите узнать, какие сервисные токены сопоставлены с учетными данными в вашем проекте.

Создайте новый сервисный токен

  • На странице Сервисные токены создайте новый сервисный токен и сопоставьте его с учетными данными (при условии, что разрешение на семантический слой существует). Это полезно, если вы хотите создать новый сервисный токен и напрямую сопоставить его с учетными данными в вашем проекте.
  • Убедитесь, что выбрали правильный набор разрешений для сервисного токена (Только Семантический слой и Только метаданные).
Создайте новый сервисный токен и сопоставьте учетные данные напрямую на отдельной странице «Service tokens».Создайте новый сервисный токен и сопоставьте учетные данные напрямую на отдельной странице «Service tokens».

Следующие шаги

Часто задаваемые вопросы

 Как кэширование взаимодействует с контролем доступа?

Нашли ошибку?

0
Loading