Privilèges analytiques dans SAP HANA : Comment créer ?
⚡ Résumé intelligent
Privilèges analytiques dans SAP HANA ajoute une autorisation au niveau des lignes en plus des privilèges d'objet, de sorte que deux utilisateurs consultant la même vue d'informations ne voient que les enregistrements autorisés par leurs restrictions. SAP Hana Studio.
Que sont les privilèges analytiques dans SAP HANA ?
Les privilèges analytiques limitent l'accès d'un utilisateur aux données qu'il est autorisé à consulter ; ils constituent donc un élément essentiel de SAP Sécurité HANA.
Les privilèges SQL accordent une autorisation au niveau de l'objet, et non au niveau de l'enregistrement. Un utilisateur disposant du droit SELECT sur une vue peut lire toutes ses lignes. Lorsqu'une restriction au niveau de la ligne est nécessaire, un privilège analytique est utilisé.
Les privilèges analytiques permettent d'accéder aux informations suivantes.
Un privilège analytique est créé ci-dessous et attribué à l'utilisateur « ABHI_TEST », afin que celui-ci puisse consulter uniquement les données de l'entreprise dont la valeur est égale à 1000. Les deux privilèges sont nécessaires conjointement : le privilège d'accès à l'objet permet d'ouvrir la vue, tandis que le privilège analytique détermine les lignes à afficher.
Comment créer un privilège analytique dans SAP HANA
Les six étapes ci-dessous se déroulent en SAP Studio Hana, de la création du privilège à son test avec un deuxième utilisateur.
Étape 1) Accédez à Privilèges analytiques. Cliquez avec le bouton droit sur le package de modélisation, puis choisissez Nouveau → Privilèges analytiques, comme indiqué ci-dessous.

Étape 2) Une nouvelle fenêtre contextuelle apparaît. Saisissez les informations d'autorisation analytique indiquées ci-dessous.
- Saisissez le nom et l'étiquette du privilège analytique.
- Le nom du paquet est sélectionné automatiquement.
- L'option de sélection crée un nouveau privilège.

L'étape suivante consiste à afficher l'éditeur de privilèges analytiques pour ajouter et modifier les privilèges.
Étape 3) Cliquez sur le bouton « OK ». L’éditeur de privilèges analytiques s’ouvre et le modèle de référence est sélectionné en premier.
- La section Général affiche le nom et l'étiquette.
- Cliquez sur le bouton « Ajouter » dans la section Modèles de référence, comme indiqué ci-dessous.
- Sélectionnez la vue de calcul (CA_FI_LEDGER) créée précédemment.

La validité et la restriction des attributs sont alors définies dans le même éditeur.
- Cliquez sur le bouton Ajouter pour créer la validité du privilège.
- Attribuer la validité du privilège.
- Cliquez sur le bouton Ajouter pour sélectionner l'attribut qui comporte la restriction.
- Sélectionnez l'attribut Société.
- Cliquez sur le bouton Ajouter pour attribuer une valeur à cet attribut.
- Attribuez la valeur en sélectionnant le type ou l'opérateur et la valeur. Ici, l'utilisateur est limité aux données de la vue de calcul de la société 1000 uniquement, comme indiqué ci-dessous.

Validez et activez le privilège analytique. Il est alors créé dans le dossier « Privilèges analytiques » du package « Modélisation », comme indiqué ci-dessous.

Étape 4) Attribuez le privilège analytique à l'utilisateur « ABHI_TEST », qui possède déjà des privilèges sur le package de modélisation. Double-cliquez sur l'utilisateur « ABHI_TEST » sous Sécurité -> Utilisateurs.
- Sélectionnez l'onglet Privilèges analytiques.
- Cliquez sur le bouton "+".
- Une fenêtre contextuelle « Sélectionner les privilèges analytiques » s’affiche. Saisissez le nom du privilège analytique créé précédemment.
- Sélectionnez le privilège analytique.
- Cliquez sur le bouton OK, comme indiqué ci-dessous.

Le privilège analytique est ajouté à l'utilisateur, comme indiqué ci-dessous.

Étape 5) Déployez la modification pour l'utilisateur en cliquant sur le bouton Déployer. Un message s'affiche indiquant que l'utilisateur « ABHI_TEST » a été modifié, comme illustré ci-dessous.
![]()
Étape 6) Vérifiez les privilèges analytiques. Connectez-vous en tant qu’« ABHI_TEST » depuis le système HANAUSER pour confirmer que l’affectation fonctionne.
- Sélectionnez le système actuel HDB (HANAUSER) et cliquez dessus avec le bouton droit.
- Sélectionnez « Ajouter un système avec un utilisateur différent », puis saisissez le nom d'utilisateur et le mot de passe pour « ABHI_TEST », comme indiqué ci-dessous.
- Un système HDB (ABHI_TEST) est ajouté à la liste des systèmes.

L'utilisateur ABHI_TEST n'a pas un accès complet aux données de la vue de calcul créée par HANAUSER, car HANAUSER a créé un privilège analytique limitant cette vue à la société 1000 et l'a attribué à ABHI_TEST.
Accédez au dossier Contenu -> sélectionnez le package -> vue de calcul (CA_FI_LEDGER) -> clic droit -> Aperçu des données. L'écran d'aperçu des données s'affiche comme ci-dessous.

Les données affichées dans la vue de calcul sont limitées au code société 1000, ce qui confirme que le privilège analytique est actif pour cet utilisateur.
Comparaison des privilèges analytiques XML et SQL classiques
Il existe deux types de privilèges analytiques, et le choix est important pour tout nouveau développement. L'éditeur présenté ci-dessus crée le privilège classique, basé sur XML. Les privilèges analytiques SQL ont été introduits en SAP HANA 1.0 SPS 10 et exprimez la même restriction qu'une condition de filtre SQL.
| Aspect | Classique (basé sur XML) | privilège analytique SQL |
|---|---|---|
| Définition | Géré graphiquement dans le modeleur et stocké sous forme d'objet XML de conception. | Définie par une condition de filtre SQL, la logique complexe reste ainsi lisible. |
| Conditions | Restrictions d'attributs avec des opérateurs simples. | Expressions SQL complètes, y compris les conditions imbriquées et combinées. |
| Statut | Déprécié à compter du SAP HANA 2.0 SPS 02. | Recommandé pour chaque nouveau privilège. |
| Disponibilité | Non disponible en SAP HANA Cloud. | Pris en charge dans SAP HANA 2.0 et SAP HANA Cloud. |
Le SAP HANA Modeler intègre une activité de migration qui convertit les privilèges classiques basés sur XML en privilèges basés sur SQL, évitant ainsi de devoir réécrire manuellement les restrictions existantes. SAP Dans HANA Cloud, ce privilège devient un artefact de conception au sein d'un conteneur HDI et parvient à l'utilisateur via un rôle plutôt que via l'éditeur utilisateur.
Comment les restrictions relatives aux privilèges analytiques sont évaluées
La connaissance de la combinaison des conditions permet d'éviter les restrictions qui ne rapportent soit que trop, soit rien du tout.
- Plusieurs valeurs répertoriées pour un attribut sont combinées avec une logique OR, donc un utilisateur peut voir l'entreprise 1000 ou l'entreprise 2000.
- Les restrictions sur différents attributs sont combinées avec une logique ETL'entreprise et le pays doivent donc tous deux correspondre.
- Lorsqu'un utilisateur détient plusieurs privilèges analytiques sur la même vue, les résultats sont additionnés, ce qui élargit l'accès au lieu de le restreindre.
- Une restriction statique stocke des valeurs fixes, tandis qu'une restriction dynamique lit les valeurs autorisées au moment de l'exécution à partir d'une procédure, de sorte qu'un seul privilège peut servir plusieurs utilisateurs.
Une vue n'est vérifiée que si sa propriété Apply Privileges spécifie le type de privilège, et cette vérification s'ajoute au privilège d'objet SELECT. Les vues de colonnes générées par l'activation résident dans le schéma _SYS_BIC, et les restrictions effectives d'un utilisateur sont accessibles via la vue système EFFECTIVE_STRUCTURED_PRIVILEGES.
Erreurs courantes liées aux privilèges analytiques et leurs solutions
La plupart des problèmes d'autorisation sur une vue d'information proviennent de l'une des situations ci-dessous.
- Erreur d'autorisation sur une vue. L'utilisateur possède le privilège analytique mais pas le droit de sélectionner sur la vue de colonne générée ni sur le schéma sous-jacent. Accordez-lui les deux.
- L'aperçu ne renvoie aucune ligne. L'attribut restreint ne possède aucune valeur correspondante, ou la période de validité du privilège est déjà expirée.
- La restriction est ignorée. Le privilège a été créé mais n'a jamais été activé, ou la propriété « Appliquer les privilèges » de la vue n'est pas définie.
- Ce changement est sans effet. La tâche n'a pas été déployée, ou la session utilisateur a démarré avant le déploiement et doit être reconnectée.
- De toute façon, tout est visible. L'utilisateur détient le droit _SYS_BI_CP_ALL, qui lui confère un accès illimité à toutes les vues d'information, et ne doit pas occuper de rôles de production.
Accordez les privilèges analytiques via des rôles plutôt que directement aux utilisateurs, afin que la même restriction puisse être examinée, transférée et révoquée à un seul endroit. La modélisation du contexte des vues protégées est abordée dans la section suivante : SAP Modélisation HANA et SAP HANA guides.
