Сегодня хочу рассказать о распределении ролей в QMC (Qlik Management Console) для приложений Qlik Sense. Из статьи вы узнаете, как распределить административные роли между пользователями.
QMC: Распределение административных ролей
Давайте обратимся немного к теории и определим, как назначить роль администратора, как определить его права и ограничения для пользователей.
Определите, кто должен быть администратором | Определить роль в правилах | Ограничьте то, что вы сможете администрировать |
Пользовательские настройки | Позвольте администратору просматривать раздел QMС | Пользовательские настройки |
Роли | Позвольте администратору создавать ресурсы | Потоки |
Атрибуты директории пользвателей | Позвольте администратору читать ресурсы | Владельцы |
Позвольте администратору править ресурсы | Имя | |
Позвольте администратору удалять ресурсы |
Три ключевых элемента, которые важны для управления ролями:
- Определение роли, используя правила.
- Назначение роли пользователю.
- Определение масштаба административных задач для пользователя.
НА ЗАМЕТКУ! Типы ролей администратора по умолчанию:
В консоли по умолчанию есть преднастроенные роли администраторов. Каждая роль связана с правилами безопасности:
Роль | Описание |
RootAdmin | Создается при установке. Это роль автоматически назначается пользователю, который вводит первый действующий лицензионный ключ в QMC. У RootAdmin есть права доступа ко всем ресурсам Qlik Sense. |
AuditAdmin | Имеет права чтения всех ресурсов. Имеет права чтения и публикации прав в потоке администратора. |
ContentAdmin | Создает, читает, обновляет и удаляет права для всех ресурсов, за исключением узлов, хранилищ, прокси-серверов, планировщиков, а также синхронизаций. Имеет права чтения и публикации прав в потоке администратора. |
DeploymentAdmin | Создает, читает, обновляет и удаляет права для приложений, задач, лицензий, узлов, планировщиков, прокси и виртуальных прокси-серверов. Имеет права чтения и публикации прав в потоке администратора. |
SecurityAdmin | Такой же как ContentAdmin, но может создавать, читать, обновлять и удалять права для прокси, не имеет доступа к задачам. Имеет права чтения конфигурации узлов сервера. Имеет права чтения и публикации прав в потоке администратора. |
У вас должны быть права администратора, чтобы настроить пользовательские параметры, роли и атрибуты директории пользователя.
Для определения роли у вас есть набор опций, которые нужно назначить, например:
- Чтение
- Создание
- Правка
- Удаление
Иногда, несколько правил можно объединить в одно, например, когда пользователю можно читать и удалять одни и те же ресурсы, тогда нужно только одно правило.
Для некоторых ролей вам часто нужно ограничить доступ к конкретным ресурсам, тем самым, отфильтровав только то, что нужно именно этому пользователю. Чаще всего в управлении ролями фильтруют потоки, имен и владельцев. Например, чтобы создать документ администратора вы можете отфильтровать приложение по имени или, если хотите создать поток администратора, вы отфильтруете ресурсы, с учетом связанного потока.
НА ЗАМЕТКУ! Официальное руководство по управлению ролями в Qlik Sense.
Qlik Sense администрирование: Доступ к ресурсам
Администратору для нормальной работы нужен доступ к ресурсам и разрешение на работу с ними. Один из таких доступов, например – копирование. Таблица ниже поможет вам понять, для чего нужны множественные разрешения на работу с ресурсами:
Административные задачи | App | Поток | App.Object | Объединение данных | UserSyncTask | ReloadTask | UserDirectory |
Импорт | Сохранение и обновление | Создание (если есть новое соединение с источником данных в импортированном приложении) | |||||
Запуск UserSyncTask | Чтение | Обновление | |||||
Запуск задачи перезагрузки | Обновление | Чтение | |||||
Копирование приложение в QMC | Чтение и создание | Чтение (Иначе в приложение будут включены только откопированные объекты, которые прочитал пользователь) | |||||
Публикация приложения | Чтение и публикация | Чтение и публикация | Чтение (Иначе будут опубликованы только те объекты, которые прочитал пользователь) | ||||
Публикация и перемещение | Чтение, обновление и публикация | Чтение и публикация | Чтение и обновление |
Пример: Создание контента для роли администратора через QMC
Давайте для примера рассмотрим такую ситуацию: вам нужно распределить права доступа для потоков и их контента, сделав следующее:
- Назначить администратора для каждого потока.
- Назначить каждому администратору полные права на поток, приложения, листы, а также истории данных в потоке.
Эту задачу можно легко решить, задав права безопасности для каждого пользователя, но гораздо проще назначить права безопасности через роли администратора. Поскольку по умолчанию для потоков нет администраторов, то его нужно создать. Сначала нам нужно будет назначить правило, а затем применить его к роли пользователя.
В нашем примере мы работаем с потоком Stream 1, но вообще эти шаги работают универсально.
Инструкция
- ВыберитеSecurity rulesи нажмите Create new.
- Введите имя для правила безопасности в полеName.
- Фильтр ресурсов должен быть установлен на потоки, их приложения, листы, истории, а также задачи.
В разделе Advanced , заполните поле Resource filter кодом правила безопасности.
- Теперь нужно назначить условия, чтобы определить ресурсы и роль пользователя, к которым относится наше правило.
- Выберите действия, с которыми правило должно работать для конкретных ресурсов.
В разделе Basic, выберите Actions как и для кода правила безопасности.
- НажмитеApply.
- Далее нужно определить, кто будет администратором потока.
Перейдите в QMC > Users.
- Выберите пользователя и нажмитеEdit.
- НажмитеP под ролями администратора и выберите Stream1Admin.
- НажмитеApply.
Теперь вы создали нового администратора потока Stream1Admin.
Код правила безопасности
Для данного пример работает следующий код правила безопасности:
Поле | Код | Комментарии |
Фильтр ресурсов | Stream_*, App_*, App.Object_*, ReloadTask_* | Определите фильтры по типу ресурсов: Stream, App, AppObjects и ReloadTasks. |
Условия | user.roles = «Stream1Admin» and ((resource.resourcetype=»Stream» and resource.name=»Stream 1″) or (resource.resourcetype=»App» and resource.stream.name=»Stream 1″) or (resource.resourcetype=»App.Object» and resource.objectType=»sheet» and resource.app.stream.name=»Stream 1″) or (resource.resourcetype=»ReloadTask» and resource.app.stream.name=»Stream 1″)) | user.roles = «Stream1Admin» and
Условие, которые определяет роль для Stream1Admin, которое будет доступно в Users > Roles. ((resource.resourcetype=»Stream» and resource.name=»Stream 1″) or Правило работает только для потоков, в имени которых есть слово Stream1. (resource.resourcetype=»App» and resource.stream.name=»Stream 1″) or Правило применяется для всех приложений в потоке Stream 1. Если не указывать имя потока, это означает, что открыт доступ ко всем приложениям. (resource.resourcetype=»App.Object» and resource.objectType=»sheet» and resource.app.stream.name=»Stream 1″) or Работает для всех листов потока Stream 1. (resource.resourcetype=»ReloadTask» and resource.app.stream.name=»Stream 1″)) Правило работает для всех перезагруженных задач потока Stream 1. |
Actions | create, read, update, delete, export, publish, changeOwner, changeRole, exportData | Следующие действия будут выполнены, если выполняются все условия. |
Надеюсь, вам полезна эта статья! До новых встреч, друзья Qlik-Senser-ы!
Добрый день.
Вот это не отрабатывает:
resource.app.stream.name=”Stream 1″
Работает вот так:
resource.app.stream.name(”Stream 1″)
Вопрос вот в чем, а как дать аналогичный доступ по id потока?