TUTORIEL · QLIK SENSE

Sécuriser les données avec Section Access

Comprendre la table de sécurité, la réduction de lignes et le masquage de champs dans Qlik Sense.

À quoi sert Section Access ?

Section Access permet de définir dans le script quels utilisateurs peuvent ouvrir l’application et, si nécessaire, quelles données chacun peut voir.

La table de sécurité est chargée dans une section dédiée. Les données métier sont ensuite chargées dans Section Application.

Une modification du script de sécurité prend effet après rechargement de l’application.

Exemple

SECTION ACCESS;
// table de sécurité

SECTION APPLICATION;
// données de l'application
Section Accessautorisations
Section Applicationdonnées métier

Définir les utilisateurs autorisés

La table Section Access contient notamment ACCESS et un identifiant utilisateur adapté à l’environnement Qlik.

ACCESS prend les valeurs ADMIN ou USER. L’identifiant doit correspondre à celui fourni par l’environnement d’authentification.

Les identifiants et champs système à utiliser dépendent de l’environnement Qlik Sense. Validez-les avant de déployer la sécurité.

Exemple

SECTION ACCESS;

Autorisation:
LOAD * INLINE [
ACCESS, USERID
ADMIN, DOMAINE\QLIKADMIN
USER,  DOMAINE\SOPHIE
USER,  DOMAINE\LUCAS
];

SECTION APPLICATION;
ACCESSADMIN / USER
USERIDidentité reconnue par Qlik

Réduire les lignes selon l’utilisateur

Un champ commun entre la table de sécurité et les données métier permet de limiter les lignes visibles.

Ici, chaque utilisateur reçoit une région. Le champ REGION existe également dans la table Ventes.

Attention : dans REGION, le caractère * correspond aux valeurs de réduction explicitement présentes dans Section Access (ici NORD et SUD), pas à toutes les régions de Ventes.qvd. Si EST existe uniquement dans les données métier, cette région ne sera pas couverte par ce *. Les champs et valeurs de réduction doivent être en majuscules ; Upper() harmonise le côté données.

Exemple

SECTION ACCESS;
Autorisation:
LOAD * INLINE [
ACCESS, USERID, REGION
ADMIN, DOMAINE\QLIKADMIN, *
USER,  DOMAINE\SOPHIE, NORD
USER,  DOMAINE\LUCAS, SUD
];

SECTION APPLICATION;
Ventes:
LOAD
    Upper(REGION) AS REGION,
    ID_VENTE,
    CA_HT
FROM [lib://Donnees/Ventes.qvd] (qvd);
SophieNORD
LucasSUD
LienREGION

Masquer certains champs avec OMIT

Section Access peut également empêcher certains utilisateurs de voir un champ.

Le champ système OMIT contient le nom du champ à masquer pour l’utilisateur concerné.

Une visualisation qui dépend d’un champ masqué peut ne plus disposer des données nécessaires pour s’afficher.

Exemple

SECTION ACCESS;
Autorisation:
LOAD * INLINE [
ACCESS, USERID, REGION, OMIT
ADMIN, DOMAINE\QLIKADMIN, *,
USER,  DOMAINE\SOPHIE, NORD,
USER,  DOMAINE\LUCAS, SUD, MARGE
];
OMIT videaucun champ masqué
OMIT=MARGEchamp MARGE masqué

Tester sans se verrouiller dehors

Section Access doit être testé avec prudence, car une erreur d’identité ou de réduction peut empêcher l’ouverture de l’application.

Travaillez sur une copie, conservez un accès administrateur valide et testez avec plusieurs profils avant publication.

La sécurité ne doit pas reposer sur la simple visibilité d’un graphique : la réduction doit être appliquée aux données. Sur Qlik Sense Enterprise on Windows, vérifiez aussi le compte technique de rechargement (souvent INTERNAL\SA_SCHEDULER avec accès ADMIN pour une tâche QMC), selon votre configuration.

Exemple

Avant publicationCopie → rechargement → tests ADMIN/USER → publicationne jamais tester une nouvelle sécurité uniquement sur l’application de référence
À conserverun accès administrateur
À testeridentités + réductions + objets

Références Qlik