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.
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 Access | autorisations |
|---|---|
| Section Application | données métier |
Définir les utilisateurs autorisés
La table Section Access contient notamment ACCESS et un identifiant utilisateur adapté à l’environnement Qlik.
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;| ACCESS | ADMIN / USER |
|---|---|
| USERID | identité 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.
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);| Sophie | NORD |
|---|---|
| Lucas | SUD |
| Lien | REGION |
Masquer certains champs avec OMIT
Section Access peut également empêcher certains utilisateurs de voir un champ.
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 vide | aucun champ masqué |
|---|---|
| OMIT=MARGE | champ 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.
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 publication | Copie → rechargement → tests ADMIN/USER → publication | ne jamais tester une nouvelle sécurité uniquement sur l’application de référence |
|---|
| À conserver | un accès administrateur |
|---|---|
| À tester | identités + réductions + objets |