На этой странице рассматриваются группы пользователей и доступ, в том числе:
- Лицензии пользователей, разрешения и членство в группах
- Управление доступом на основе ролей для проектов и окружений
- Единый вход и безопасная аутентификация
Информацию о доступе к отдельным моделям и их доступности в разных проектах см. в разделе Доступ к моделям.
О доступе пользователей
Вы можете регулировать доступ к dbt с помощью различных механизмов, включая лицензии, группы, разрешения и управление доступом на основе ролей (RBAC). Чтобы разобраться в возможных подходах к управлению доступом пользователей к функциям и возможностям dbt, сначала следует ознакомиться с тем, как устроена работа с пользователями и группами.
Пользователи
Пользователями dbt могут быть люди, которых вы пригласили вручную или которым предоставили доступ через внешнего поставщика удостоверений (IdP), например Microsoft Entra ID, Okta или Google Workspace.
В обоих случаях при добавлении пользователя в dbt ему назначается лицензия. Лицензии назначаются на уровне отдельных пользователей или групп. При приглашении пользователя вручную вы назначаете лицензию в окне приглашения.
Вы можете изменить лицензию существующего пользователя, перейдя в раздел Users в Account settings, выбрав пользователя и нажав Edit на панели пользователя. В этом же окне можно удалять пользователей, чтобы освобождать лицензии для новых пользователей.
Пароли пользователей
По умолчанию новым пользователям предлагается задать пароль для своей учётной записи. Все тарифные планы поддерживают и требуют многофакторную аутентификацию для пользователей, входящих с помощью пароля. Однако прежде чем настроить MFA, им всё равно потребуется задать пароль. В аккаунтах с тарифами уровня Enterprise можно настроить SSO и расширенные меры аутентификации. Тарифы Developer и Starter поддерживают только вход по паролю с MFA.
Пароли пользователей должны соответствовать следующим требованиям:
- Содержать не менее девяти символов
- Содержать хотя бы одну прописную и одну строчную букву
- Содержать хотя бы одну цифру от 0 до 9
- Содержать хотя бы один специальный символ
Группы
Группы в dbt служат во многом той же цели, что и в традиционных службах каталогов, — объединяют отдельных пользователей, чтобы упростить массовое назначение разрешений.
Доступные разрешения зависят от того, используете ли вы тариф уровня Enterprise или тариф Starter с самостоятельным обслуживанием.
- Администраторы используют группы в dbt для назначения лицензий и разрешений.
- Разрешения обеспечивают более детальную настройку доступа, чем лицензии, и назначаются только на уровне групп; назначать разрешения на уровне пользователей нельзя.
- Каждый пользователь dbt должен входить хотя бы в одну группу.
Сразу после создания аккаунта dbt доступны три группы по умолчанию (создатель аккаунта автоматически добавляется во все три):
- Owner: эта группа предназначена для людей, отвечающих за весь аккаунт, и предоставляет им расширенные права администратора аккаунта. Изменять разрешения этой группы нельзя.
- Member: эта группа предназначена для обычных участников вашей организации. Разрешения по умолчанию достаточно широки: ограничен только доступ к функциям, которые могут влиять на оплату или безопасность. По умолчанию dbt добавляет новых пользователей в эту группу.
- Everyone: общая группа для всех участников вашей организации. Настройте разрешения в соответствии с потребностями организации. По умолчанию dbt добавляет новых пользователей в эту группу.
Группы Owner и Member имеют наборы разрешений по умолчанию:
- Тариф Starter: группы
OwnerиMemberиспользуют наборы разрешенийOwnerиMemberсоответственно. - Тарифы Enterprise: по умолчанию dbt назначает группе
Ownerнабор разрешенийAccount Admin, а группеMember— набор разрешенийMember, который не отображается в настройках, но предоставляет те же права, что и набор разрешенийAdmin.
Группы по умолчанию автоматически создаются для всех аккаунтов, чтобы упростить первоначальную настройку. Мы рекомендуем создавать собственные группы организации, чтобы вы могли настраивать разрешения. После создания собственных групп вы можете удалить группы по умолчанию.
Создание новых групп EnterpriseEnterprise +
- Создавайте новые группы в разделе Groups & Licenses в Account settings.
- Если вы используете внешнего IdP для SSO, вы можете синхронизировать соответствующие группы SSO с dbt на панели Group details при создании или редактировании групп.
Если пользователю назначены лицензии и разрешения из нескольких групп, приоритет имеет группа, предоставляющая наиболее широкий доступ. Всем группам, созданным помимо трёх групп по умолчанию, необходимо назначить набор разрешений, иначе входящие в них пользователи не получат доступа к функциям за пределами своего профиля.
Доступ и разрешения групп
В разделе Access & Permissions группы можно назначить пользователям подходящий уровень доступа в зависимости от их роли или обязанностей. Вы определяете:
- Проекты, к которым группа имеет доступ
- Роли, назначаемые участникам группы для каждого проекта
- Задания и запуски, которые группа может редактировать в заданных окружениях
Такая настройка позволяет гибко определять уровень доступа пользователей в каждой группе. Например, вы можете разрешить группе аналитиков редактировать задания в своём проекте, но предоставить им только просмотр связанных проектов, или предоставить права администратора команде, отвечающей за определённый проект, ограничив остальных доступом только для чтения.
Доступ на запись в окружениях
Некоторые наборы разрешений предоставляют пользователям доступ к заданиям и запускам только для чтения. Это ограничение можно переопределить, добавив пользователей в группу с Environment write access. После этого они смогут создавать, редактировать и удалять задания и запуски в выбранных вами типах окружений.
Эта настройка применяется к наборам разрешений, отмеченным звёздочкой в таблице наборов разрешений для проектов:
- Analyst
- Database admin
- Developer
- Git admin
- Job creator
- Team admin
Она не позволяет создавать или удалять само окружение.
Environment write access не предоставляет разрешения на создание или удаление окружений. Для этих действий пользователям нужен набор разрешений с расширенными правами (например, Admin или Job admin).
В следующем примере группе назначен набор разрешений analyst для всех проектов, который по умолчанию предоставляет доступ к заданиям только для чтения; однако для Environment write access выбрано значение All Environments. Это позволяет всем пользователям этой группы создавать, редактировать и удалять задания во всех окружениях и проектах.
Используйте Environment write access только в том случае, если хотите разрешить пользователям создавать, редактировать и удалять задания и запуски в этих окружениях. Чтобы предоставить пользователям только разрешения, предусмотренные их набором, оставьте эту настройку пустой (все флажки сняты).
Сопоставления SSO EnterpriseEnterprise +
Сопоставления SSO связывают членство в группе поставщика удостоверений (IdP) с группой dbt. Когда пользователи входят в dbt через поддерживаемого поставщика удостоверений, их членство в группах IdP синхронизируется с dbt. После успешного входа членство пользователя в группах (и разрешения) автоматически корректируется в dbt.
Хотя dbt поддерживает сопоставление нескольких групп IdP с одной группой dbt, мы рекомендуем использовать сопоставление 1:1, чтобы максимально упростить администрирование. Используйте одинаковые имена для групп dbt и групп IdP.
Создайте сопоставление SSO на странице группы:
- Откройте существующую группу для редактирования или создайте новую.
- В разделе SSO на странице группы введите имя группы SSO точно так, как оно указано в IdP. Если имя не совпадает, пользователи не будут корректно добавляться в группу.
- В разделе Users убедитесь, что параметр Add all users by default отключён.
- Сохраните конфигурацию группы. Новые пользователи SSO будут добавлены в группу при входе, а существующие — при следующем входе.
Дополнительную информацию о сопоставлении групп SSO для добавления пользователей в группы dbt см. в разделе Управление доступом на основе ролей.
Предоставление доступа
У пользователей dbt есть лицензия (назначаемая отдельному пользователю или через членство в группе) и разрешения (назначаемые только через членство в группе), которые определяют доступные им действия. Лицензии действуют на уровне всего аккаунта, а разрешения позволяют более детально предоставлять или ограничивать доступ к определённым функциям.
Лицензии
Каждому пользователю dbt назначается лицензия. Лицензии занимают «места», которые влияют на оплату вашего аккаунта в зависимости от тарифного плана.
В dbt есть четыре типа лицензий:
- Analyst* — Доступна только на тарифах Enterprise и Enterprise+.
- Пользователю можно назначить любые наборы разрешений.
- * Лицензия типа Analyst недоступна для новых покупок.
- Developer — Пользователю можно назначить любые наборы разрешений.
- IT — Доступна только на тарифах Starter, Enterprise и Enterprise+. Пользователю назначаются разрешения Security Admin и Billing Admin, а также разрешения на редактирование Connections на странице Account settings.
- Среди прочего, пользователь может управлять пользователями, группами, подключениями и лицензиями.
- Пользователи с лицензией IT не наследуют права из каких-либо наборов разрешений.
- У всех пользователей с лицензией IT одинаковый доступ ко всему аккаунту, независимо от назначенных разрешений групп.
- Read-Only — Доступна только на тарифах Starter, Enterprise и Enterprise+.
- Пользователю предоставляются разрешения только на чтение для всех ресурсов dbt.
- Предназначена для просмотра артефактов и раздела развёртывания (задания, запуски, расписания) в аккаунте dbt, но не позволяет вносить изменения.
- Пользователи с лицензией Read-Only не наследуют права из каких-либо наборов разрешений.
- У всех пользователей с лицензией Read-Only одинаковый доступ ко всему аккаунту, независимо от назначенных разрешений групп.
* Лицензия типа Analyst недоступна для новых покупок.
Лицензии Developer будут составлять большинство лицензий пользователей в вашей среде и сильнее всего влиять на оплату, поэтому важно постоянно отслеживать их количество.
Подробнее об этих типах лицензий см. в разделе Места и пользователи
Типы пользовательских лицензий всегда имеют приоритет над наборами разрешений, назначенными через группы. Например, пользователь с лицензией Read-Only не может выполнять административные действия, даже если он состоит в группе Account Admin.
Это гарантирует, что ограничения, связанные с лицензией, всегда применяются независимо от членства в группах.
Включение детальных разрешений для пользователей Read-Only EnterpriseEnterprise +
Детальные разрешения позволяют ограничить список проектов, доступных пользователям Read-Only, и задавать разрешения по группам вместо применения разрешений по умолчанию для лицензий Read-Only.
Обратите внимание: новым аккаунтам эта настройка не требуется, поскольку пользователи Read-Only в новых аккаунтах получают детальные разрешения по умолчанию.
Что нужно знать перед включением:
- Эта настройка доступна только на тарифах Enterprise и Enterprise+.
- Доступ остаётся только для чтения: настройка управляет доступом к проектам, а не разрешениями (пользователи остаются Read-Only).
- Изменение необратимо: включить эту настройку можно только один раз, отменить её включение нельзя.
- Подготовьтесь заранее: пользователи Read-Only сохранят доступ ко всем своим проектам, только если входят в группу с набором разрешений Read-Only, охватывающим все проекты. Если пользователь не входит в группу или набор разрешений его группы охватывает лишь часть проектов, он потеряет доступ к проектам, которые этим набором не охвачены.
Чтобы включить детальные разрешения:
- Перейдите в Account settings → Groups & Licenses.
- Нажмите Enable granular permissions.
- Установите флажок, подтверждающий, что после включения этой настройки изменение нельзя отменить.
- Нажмите Enable для подтверждения или Cancel, чтобы вернуться без внесения изменений.
Разрешения
Разрешения определяют, какие действия пользователи могут выполнять в вашем аккаунте dbt. По умолчанию участники групп Owner и Member имеют полный доступ ко всем разделам и функциям. Чтобы ограничить доступ к функциям, добавляйте пользователей в группы с более строгими наборами разрешений. Помните: если пользователь входит в несколько групп, приоритет имеет группа с наиболее широкими разрешениями.
Доступные разрешения зависят от того, используете ли вы тариф Enterprise, Enterprise+ или Starter с самостоятельным обслуживанием. В аккаунтах Developer есть только один пользователь, поэтому разрешения к ним неприменимы.
Доступ к некоторым настройкам пользователя (например, к настройкам Credentials в Your profile) можно предоставить с помощью дополнительных разрешений (таких как user_credential_write). Подробнее см. в разделе Разрешения Enterprise.
Некоторые разрешения (те, которые, в отличие от административных, не предоставляют полного доступа) позволяют «привязать» группы только к определённым проектам и окружениям. Подробнее об ограничении доступа к окружениям см. в разделе Разрешения на уровне окружений.
Настройка доступа пользователей только для чтения
Чтобы предоставить пользователям доступ только для чтения для анализа моделей dbt и ресурсов проектов, назначьте им набор разрешений Analyst read через группу. Пользователи не получат доступ, пока не будут добавлены в группу, которой назначен этот набор разрешений.
Интеграция OAuth, позволяющая пользователям с доступом только для чтения подключаться к функциям анализа (таким как сервер dbt MCP), доступна для использования.
1. Создайте группу с набором разрешений Analyst read
Вы также можете добавить набор разрешений Analyst read в существующую группу.
- Перейдите в Account settings → Groups & Licenses.
- Задайте группе понятное имя.
- Нажмите Add permission и выберите набор разрешений Analyst read.
- Выберите проекты, к которым должен применяться набор разрешений. По умолчанию выбран вариант All projects.
- Нажмите Save.
2. Назначьте пользователям лицензию только для чтения и добавьте их в группу
Этот шаг можно пропустить или автоматизировать, если сопоставление лицензий и групп включено через SSO или SCIM. Используйте эту последовательность действий для проверки на одном пользователе.
- Перейдите в Account settings → Users.
- Выберите пользователя, которого хотите добавить в группу.
- Выберите группу, в которую хотите добавить пользователя, и нажмите Save.
Подробнее см. в разделе Предоставление доступа.
Управление доступом на основе ролей EnterpriseEnterprise +
Управление доступом на основе ролей (RBAC) позволяет предоставлять пользователям доступ к функциям и возможностям на основании их членства в группах. С помощью этого метода можно предоставлять пользователям разные уровни доступа к различным проектам и окружениям. Вы можете вывести управление доступом и безопасность на новый уровень, интегрировав dbt со сторонним поставщиком удостоверений (IdP), чтобы предоставлять пользователям доступ при аутентификации через вашу службу SSO или OAuth.
Перед настройкой RBAC для пользователей SSO необходимо учитывать следующее:
- Новые пользователи SSO добавляются во все группы, в которых включён параметр Add all new users by default. По умолчанию этот параметр включён для групп
EveryoneиMember. Для наиболее эффективного использования RBAC отключите его во всех группах. - В разделе SSO сведений о группе должны быть настроены соответствующие группы SSO. Если имя группы SSO не совпадает в точности, пользователи не будут корректно добавляться в группу.
- dbt Labs рекомендует использовать для групп dbt те же имена, что и для групп IdP.
Допустим, вы подключаете нового сотрудника к своей организации, используя Okta в качестве IdP и группы dbt с сопоставлениями SSO. В этом сценарии пользователи работают над The Big Project, и к группе присоединяется новый аналитик по имени Euclid Ean.
Ознакомьтесь со следующими примерами конфигурации, чтобы понять, как можно внедрить RBAC в вашей организации (в этих примерах предполагается, что вы уже настроили SSO):
После настройки RBAC вы получаете детальный контроль над доступом пользователей к функциям dbt.
Управление лицензиями через SCIM
При настройке SSO для поддерживаемых IdP вы также можете настроить System for Cross-Domain Identity Management (SCIM), чтобы повысить безопасность управления жизненным циклом пользователей. В рамках этого процесса можно встроить распределение лицензий пользователей в процесс создания и настройки учётных записей через ваш IdP. Подробнее см. в инструкциях по управлению лицензиями через SCIM.




















