Перейти к основному содержимому
Управление безопасностью с помощью доступа к разделу

НА ЭТОЙ СТРАНИЦЕ

Управление безопасностью с помощью доступа к разделу

Можно использовать доступ к секции в скрипте загрузки данных для управления доступом к данным на уровне строк. Этим способом можно использовать один файл для хранения данных для пользователей или групп пользователей. Qlik Sense использует информацию в доступе к секции для авторизации на уровне строк и динамически сокращает данные, чтобы пользователь мог просматривать только данные, на которые у него есть право.

Защита встроена в сам файл, что означает также защиту загруженного файла в некоторой степени. Тем не менее, если требования к безопасности высоки, нельзя допускать загрузки и использования файлов в автономном режиме. Файлы должны публиковаться только сервером Qlik Sense. Так как все данные находятся в одном файле, размер данного файла может быть очень большим.

Перед тем, как применить элементы управления доступом к секции, необходимо опубликовать приложение. Новые и измененные скрипты доступа к секции не применяются после перезагрузки приложения.

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

Разделы скрипта

Управление доступом на уровне строки осуществляется с помощью одной или нескольких таблиц безопасности, загруженных так же, как обычно загружаются данные. Таким образом, эти таблицы можно хранить в стандартной базе данных или в электронной таблице. Операторы скрипта, управляющие таблицами безопасности, даны в секции авторизации, которая в скрипте запускается оператором Section Access.

Если в скрипте определена секция авторизации, то часть скрипта, загружающая данные приложения, должна быть помещена в другую секцию, запускаемую оператором Section Application.

Example:  

Section Access;

AuthorizationTable:

Load ACCESS, USERID, REGION From ... ;

 

Section Application;

Load ... From ... ;

Системные поля секции доступа

Уровни доступа назначаются пользователям в одной или нескольких таблицах, загруженных в рамках доступа к секции. Эти таблицы могут содержать различные пользовательские системные поля (как правило, USERID) и поле, определяющее уровень доступа (ACCESS). Все системные поля доступа к секции используются для проверки подлинности или авторизации. Ниже описан полный набор системных полей доступа к секции.

ACCESS

Определяет, какой уровень доступа должен иметь соответствующий пользователь.

Доступ к приложениям Qlik Sense может быть авторизован для указанных пользователей или групп пользователей. В таблице безопасности пользователям могут быть назначены уровни доступа ADMIN или USER. Если уровень доступа не назначен, пользователь не сможет открыть приложение.

Пользователь с правами ADMIN имеет доступ ко всем данным в приложении. Пользователь с правами USER имеет доступ только к данным, определенным в таблице безопасности.

Если в сценарии создания приложения On-demand (ODAG) в приложении шаблона используется доступ к секции, пользователя INTERNAL\SA_API необходимо включить в таблицу доступа к секции в качестве ADMIN. Пример.

Section Access; LOAD * inline [ ACCESS, USERID ADMIN, INTERNAL\SA_API ];

NTNAME

Поле, в котором должна содержаться строка, соответствующая имени пользователя или имени группы домена Windows NT. Если применяется другая система проверки подлинности, она должна содержать имя аутентифицируемого пользователя.

Программа Qlik Sense получит сведения о входе в систему из ОС и сравнит ее со значением в данном поле.

USERID

Содержит строку, соответствующую имени пользователя Qlik Sense. Программа Qlik Sense получит сведения о входе в систему из прокси-сервера и сравнит ее со значением в данном поле.

Примечание об информации USERID и NTNAME используют ту же самую информацию для проверки подлинности, таким образом, не нужно проверять их обоих в той же строке в таблице авторизации. Разница между этими двумя полями в том, что NTNAME также проверяет группы.

USER.EMAIL

В настоящее время не поддерживается, будет в Qlik Sense совпадать только с подстановочным знаком.

GROUP

Содержит строку, соответствующую группе в программе Qlik Sense. Программа Qlik Sense разрешит вопрос с пользователем, отсылаемым прокси-сервером, в отношении этой группы.

Примечание об информацииЕсли при использовании групп для сокращения количества данных необходимо получить доступ к Qlik Management Console, это, как и прежде, должен выполнять пользователь учетной записи INTERNAL\SA_SCHEDULER.

SERIAL

Содержит строку, соответствующую платформе. Если поле содержит строку ‘QLIKSENSE’ или подстановочный знак ‘*’, доступ может быть предоставлен в зависимости от других полей в таблице авторизации.

Примечание об информацииЕсли поле SERIAL содержит номер лицензии, то строка доступа к секции запретит доступ к документу. Этот параметр допустим только в QlikView.

OMIT

Содержит имя поля, которое должно быть опущено для этого конкретного пользователя. Могут использоваться подстановочные знаки, и поле может быть пустым. Простой способ сделать это — использовать подполе.

Примечание об информацииНе рекомендуется применять OMIT к ключевым полям. Исключенные ключевые поля видны в просмотре модели данных, но их содержимое недоступно. Это может запутать пользователя. Кроме того, применение OMIT к полям, использующимся в визуализации, может привести к неполному отображению визуализации для пользователей, не имеющих доступа к опущенным полям.

Qlik Sense сравнивает пользователя с UserID и разрешает его с помощью групп в таблице. Если пользователь принадлежит группе, к которой доступ разрешен, или пользователь совпадет с идентификатором, он получает доступ к приложению.

Примечание об информации

Если вы заблокировали себе доступ к приложению с помощью параметров доступа к секции, можно открыть приложение без данных и отредактировать секцию доступа в скрипте загрузки данных. Для этого требуется доступ для редактирования и перезагрузки скрипта загрузки данных.

Для получения дополнительной информации см. Открытие приложения без данных.

Поскольку та же внутренняя логика, являющаяся отличительной особенностью Qlik Sense, также используется и в секции доступа, поля безопасности могут быть помещены в различные таблицы. Все поля, перечисленные в операторах LOAD или SELECT в доступе к секции, должны быть написаны в верхнем регистре. Имя любого поля с буквами в нижнем регистре в базе данных должно быть преобразовано в верхний регистр с помощью функции Upper до чтения поля с помощью оператора LOAD или SELECT.

Для получения дополнительной информации см. Upper — функция скриптa и диаграммы.

Знак подстановки, *, интерпретируется как все (перечисленные) значения этого поля, т. е. значение, указанное в каком-либо другом месте в этой таблице. При использовании в одном из системных полей (USERID, GROUP) в таблице, загруженной в секцию доступа скрипта, этот символ интерпретируется как все (также и неперечисленные) возможные значения этого поля.

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

Example:

В этом примере открыть документ могут только пользователи из группы Finance.

Доступ к документу
Доступ Группа
USER Finance

Динамическое сокращение данных

Программа Qlik Sense поддерживает функцию динамического сокращения данных, позволяющую скрыть некоторые данные в приложении от пользователя на основе логина доступа к секции:

  • Поля (столбцы) можно скрыть с помощью системного поля OMIT.
  • Записи (строки) можно скрыть путем привязки данных доступа к секции к реальным данным: выбор значений для отображения или исключения управляется с помощью одного или нескольких полей с общими именами в доступе к секции и приложении секции. После входа пользователя в систему программа Qlik Sense сопоставляет выборки в полях доступа к секции с любыми полями приложения секции с точно такими же именами (имена полей должны быть написаны в верхнем регистре). После создания выборок программа Qlik Sense будет постоянно скрывать все данные, исключенные этими выборками, от пользователя.
Примечание об информацииИмена всех полей, используемых в описанной выше передаче, и все значения в этих полях должны быть в верхнем регистре, поскольку все имена и значения полей по умолчанию преобразуются в верхний регистр в доступе к секции.
Примечание об информацииВключение перезагрузки скрипта в задании Qlik Management Console должен выполнять пользователь учетной записи INTERNAL\SA_SCHEDULER с правами доступа ADMIN.

Example: Сокращение количества данных на основе идентификатора пользователя

Section Access; LOAD * inline [ ACCESS, USERID, REDUCTION, OMIT USER, AD_DOMAIN\ADMIN, *, USER, AD_DOMAIN\A, 1, USER, AD_DOMAIN\B, 2, NUM USER, AD_DOMAIN\C, 3, ALPHA ADMIN, INTERNAL\SA_SCHEDULER, *, ]; section application; T1: LOAD *, NUM AS REDUCTION; LOAD Chr( RecNo()+ord('A')-1) AS ALPHA, RecNo() AS NUM AUTOGENERATE 3;

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

Поле OMIT в доступе к секции определяет поля, которые должны быть скрыты от пользователя.

Будет получен следующий результат:

  • Пользователь ADMIN может просматривать все поля и только те записи, которые другие пользователи могут просматривать в данном примере, когда для поля REDUCTION указано значение 1, 2 или 3.
  • Пользователь A может просматривать все поля, но только тех записей, которые связаны с REDUCTION=1.
  • Пользователь B может просматривать все поля, кроме NUM, и только тех записей, которые связаны с REDUCTION=2.
  • Пользователь C может просматривать все поля, кроме ALPHA, и только тех записей, которые связаны с REDUCTION=3.

Example: Сокращение количества данных на основе групп пользователей

Section Access; LOAD * inline [ ACCESS, USERID, GROUP, REDUCTION, OMIT USER, *, ADMIN, *, USER, *, A, 1, USER, *, B, 2, NUM USER, *, C, 3, ALPHA USER, *, GROUP1, 3, ADMIN, INTERNAL\SA_SCHEDULER, *, *, ]; section application; T1: LOAD *, NUM AS REDUCTION; LOAD Chr( RecNo()+ord('A')-1) AS ALPHA, RecNo() AS NUM AUTOGENERATE 3;

Будет получен следующий результат:

  • Пользователи, принадлежащие к группе ADMIN, могут просматривать все данные и все поля.
  • Пользователи, принадлежащие к группе A, могут просматривать данные всех полей, связанные с REDUCTION=1.
  • Пользователи, принадлежащие к группе B, могут просматривать данные, связанные с REDUCTION=2, во всех полях, кроме поля NUM.
  • Пользователи, принадлежащие к группе C, могут просматривать данные, связанные с REDUCTION=3, во всех полях, кроме поля ALPHA.
  • Пользователи, принадлежащие к группе GROUP1, могут просматривать данные всех полей, связанные с REDUCTION=3.
  • Пользователь INTERNAL\SA_SCHEDULER не принадлежит ни к одной из групп, но может просматривать данные всех полей.

    Примечание об информации

    Знак подстановки * в данной строке относится только ко всем значениям, входящим в таблицу доступа к секции. Если в приложении секции существуют значения, недоступные в поле REDUCTION доступа к секции, эти значения будут сокращены.

Унаследованные ограничения доступа

Загрузка двоичного файла вызовет наследование ограничений доступа новым приложением Qlik Sense.