Разрешения на папки SQL сниппетов

В этой статье рассматриваются папки сниппетов SQL, которые позволяют организовать и установить разрешения на сниппеты SQL.

Разрешения на папки не следует рассматривать с точки зрения функции безопасности, а скорее как функцию, которая помогает организовать и стандартизировать сниппеты. Хотя папки отличаются и являются отдельными элементами, отличными от коллекций, они обеспечивают организационную функцию: коллекции собирают разрешения на дашборды и на вопросы; папки собирают разрешения на сниппеты. Для получения дополнительной информации см. обсуждение разрешений ниже.

Папки

Папки работают похоже на то, как они работают в файловой системе. Вы можете добавлять сниппеты в папки и помещать папки внутри других папок. Вы можете вложить столько папок, сколько ваш экземпляр GlarusBI сможет обработать (или сколько позволят законы физики).

Верхняя папка - это папка по умолчанию в боковой панели сниппетов. Это корневая папка, содержащая все другие папки и сниппеты.

Создание новой папки для SQL сниппетов

Вы можете создать папку сниппетов SQL из меню Сниппеты в SQL редакторе.

Create new snippet folder

  1. Нажмите на значок меню Сниппеты (иконка сниппета выглядит как блок текста или кода с тремя неравными горизонтальными линиями).

  2. Нажмите на значок + и выберите Новая папка.

  3. Дайте вашей папке имя, и при желании добавьте описание и/или расположите папку в существующей папке (опция Папка должна быть в).

Create new folder modal

Создание нового SQL сниппета

Add a snippet enterprise modal

Местоположение по умолчанию - это Верхняя папка, которая является корневой папкой для всех сниппетов и других папок. Вы можете добавить сниппет в папку в любое время (или переместить сниппет в другую папку, если у вас есть разрешение на редактирование обеих папок).

Обратите внимание, что имена сниппетов должны быть уникальными; папки не влияют на это требование.

Разрешения

Только администраторы могут устанавливать видимость и редактируемость сниппетов, расположив их в папках, а затем предоставляя группам один из трех уровней разрешений в отношении этих папок. Если вы знакомы с разрешениями коллекций, то функциональность похожа. Для получения дополнительной информации о том, как работают разрешения коллекций и папок, см. ниже раздел “Как работают разрешения папок”.

Изменение разрешений на папку

Администраторы могут установить разрешения для папки, нажав на троеточие (…) рядом с папкой и выбрав Изменить разрешения.

Вы также можете изменить текущую выбранную папку, наведя курсор на верхнюю часть боковой панели Сниппетов, нажав на троеточие (…) слева от знака +, и выбрав Изменить разрешения. Когда вы находитесь в Верхней папке, выбор троеточия (…) в верхней части боковой панели даст администраторам возможность установить разрешения для всех сниппетов, папок и подпапок.

Изменяя разрешения для папки, у которой есть подпапки, у вас есть возможность распространить эти разрешения на подпапки, переключив параметр Также изменить подпапки.

Опции для разрешений на папку

Change permissions

Есть три варианта для изменения разрешений на папку сниппетов SQL:

  • Доступ на редактирование (иконка зеленой галочки). Настройка по умолчанию. Когда создается папка, все пользователи (которые имеют разрешения на редактирование SQL для по крайней мере одной базы данных) могут просматривать, редактировать и архивировать или разархивировать сниппеты в папке.

  • Доступ на просмотр (иконка желтого глаза). Пользователи в группах с доступом на просмотр могут просматривать сниппеты в папке, но не редактировать или архивировать/разархивировать их. Они, конечно, могут копировать код сниппета и создавать новые сниппеты, без каких-либо последствий для существующих сниппетов.

  • Отозвать доступ (иконка красного Х). Пользователи в группах, не имеющих разрешения на редактирование или просмотр папки сниппетов, не увидят эти сниппеты в боковой панели и никакие сниппеты в этой папке не появятся в предложениях автодополнения для этих пользователей. Обратите внимание, что если у людей есть доступ к вопросу со сниппетом, к которому у них нет разрешения, они все еще смогут получить результаты из этого вопроса. См. абзац ниже о том, как работают права доступа к папкам

Архивирование не влияет на разрешения

Архивирование или разархивирование сниппетов не влияет на разрешения для сниппетов. Например, если только одна группа, например, группа Бухгалтерия, имеет разрешения на редактирование папки, то только люди в группе Бухгалтерия (и админы) смогут архивировать и разархивирование сниппеты в этой папке, так как архивирование и разархивирование считается редактированием сниппета.

Как работают разрешения на папки

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

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

Основное правило: данные являются более чувствительными, чем код, поэтому права, которые применяются к данным, будут иметь преимущество над правами, которые применяются к коду. Давайте рассмотрим пример, чтобы показать, как это работает на практике.

Пример разрешений

Представьте следующий сценарий: группа может иметь разрешения на коллекцию, которая содержит вопрос, который использует сниппет, находящийся в папке, к которой группа не имеет разрешения. Или другими словами пользователи этой группы имеют право на запуск вопросов в коллекции, но не имеют права доступа к сниппету одного из вопросов. Как GlarusBI решит конфликт в этом случае?

За три шага:

  1. Люди в этой группе могут запустить вопрос и получить результаты. У них есть разрешение на просмотр этих данных (результатов вопроса), поэтому они должны быть в состоянии видеть эти данные. Разрешение группы на коллекцию имеет преимущество над разрешениями на папку (код сниппета).

  2. Сниппет не появится в боковой панели Сниппет. Однако, просто потому, что люди в этой группе могут запустить вопрос без проблем, они все еще не имеют разрешения на папку сниппета, поэтому они не смогут видеть или редактировать этот сниппет (или папку сниппета) в боковой панели Сниппет.

  3. Люди с доступом к SQL-запросам все еще могут запустить сниппет, если они знают его имя, независимо от того, имеют ли они разрешения на папку сниппета. Они не смогут просматривать или редактировать сниппет, но могут включить его в запрос, если знают его имя, например, {% raw %}{{snippet: Пример сниппета У меня недостаточно разрешений, но я все равно могу использовать этот сниппет }}{% endraw %}.”

Принимая во внимание то, как работают разрешения на папки сниппетов, мы рекомендуем чтобы вы использовали папки сниппетов как дополнительный инструмент организации сниппетов, а не как способ ограничения доступа к SQL коду, который содержат эти сниппеты. Используйте разрешения на папки, чтобы команды могли работать со своими аналитическими доменами и ограничивайте разрешения на редактирование сниппетов в вашей организации, чтобы держать SQL код аккуратным и очищенным от ошиобок.

Дополнительное чтение