Analytiske privilegier i SAP HANA: Hvordan skaber man?

⚡ Smart opsummering

Analytiske privilegier i SAP HANA tilføjer godkendelse på rækkeniveau oven i objektrettigheder, så to brugere, der forespørger den samme informationsvisning, kun ser de poster, som deres tildelte begrænsninger tillader indeni SAP HANA Studio.

  • 🔘 Formål: Et objektprivilegium åbner en hel visning, mens et analytisk privilegium filtrerer de rækker, som visningen returnerer.
  • ☑️ Anvendelsesområde: Attributvisninger, analytiske visninger og beregningsvisninger kan hver især beskyttes af et analytisk privilegium.
  • ✅ Begrænsninger: Værdier i én attribut kombineres med ELLER, og begrænsninger på forskellige attributter kombineres med OG.
  • 🧪 Eksempel: Et privilegium i beregningsvisningen CA_FI_LEDGER begrænser brugeren ABHI_TEST til firma 1000.
  • 🛠️ Opgave: Begrænsningen gælder kun efter validering, aktivering, tildeling til bruger eller rolle og implementering.
  • 📈 retning: XML-baserede rettigheder er udfaset, så nye begrænsninger skrives som SQL-analytiske rettigheder.

Analytiske rettigheder, der begrænser adgang til data på rækkeniveau i SAP HANA

Hvad er analytiske privilegier i SAP HANA?

Analytiske rettigheder begrænser en bruger til de data, som brugeren er autoriseret til at se, så de er en central del af SAP HANA-sikkerhed.

SQL-rettigheder giver autorisation på objektniveau, ikke på recordniveau. En bruger, der har SELECT på en visning, kan læse alle rækker i den. Hvor en begrænsning på rækkeniveau er nødvendig, bruges et analytisk privilegium i stedet.

Analytiske rettigheder giver denne autorisation til følgende informationsvisninger.

En analytisk rettighed oprettes nedenfor og tildeles brugeren "ABHI_TEST", så brugeren kun kan se data for virksomheden med værdien 1000. Begge rettigheder er nødvendige samtidig: objektrettigheden åbner visningen, og analytisk rettigheden bestemmer, hvilke rækker der kommer tilbage.

Sådan opretter du en analytisk rettighed i SAP HANA

De seks trin nedenfor kører ind SAP HANA Studio, fra oprettelse af privilegiet til testning af det med en anden bruger.

Trin 1) Gå til Analytiske rettigheder. Højreklik på modelleringspakken, og vælg derefter Ny –> Analytiske rettigheder, som vist nedenfor.

Ny indstilling for analytiske rettigheder i kontekstmenuen for modelleringspakken

Trin 2) Pop-up-vinduet Ny vises. Indtast oplysningerne om de analytiske privilegier, der er vist nedenfor.

  1. Indtast navnet og etiketten for den analytiske rettighed.
  2. Pakkenavnet vælges automatisk.
  3. Valgmuligheden opretter et nyt privilegium.

Ny dialogboks med analytiske privilegier med felterne navn, etiket og pakke

I næste trin vises editoren for analytiske rettigheder, så du kan tilføje og redigere rettigheder.

Trin 3) Klik på knappen 'OK'. Redigereren til analytiske rettigheder åbnes, og referencemodellen vælges først.

  1. Afsnittet Generelt viser navnet og etiketten.
  2. Klik på knappen "Tilføj" i afsnittet Referencemodeller, som vist nedenfor.
  3. Vælg den beregningsvisning (CA_FI_LEDGER), der blev oprettet tidligere.

Tilføj-knap i afsnittet Referencemodeller i den analytiske privilegieeditor

Gyldigheden og attributbegrænsningen defineres derefter i den samme editor.

  1. Klik på knappen Tilføj for at oprette gyldigheden af ​​privilegiet.
  2. Tildel privilegiegyldigheden.
  3. Klik på knappen Tilføj for at vælge den attribut, der har begrænsningen.
  4. Vælg attributten Virksomhed.
  5. Klik på knappen "Tilføj" for at tildele en værdi til den pågældende attribut.
  6. Tildel værdien ved at vælge typen eller operatoren og værdien. Her er brugeren begrænset til data fra beregningsvisningen for virksomhed 1000, som vist nedenfor.

Analytisk privilegieeditor med referencemodel, validitet og virksomhedsbegrænsning

Valider og aktiver den analytiske rettighed. Den oprettes derefter i mappen Analytic Privileges under Modelling-pakken, som vist nedenfor.

Aktiveret analytisk privilegium angivet i mappen Analytiske privilegier

Trin 4) Tildel det analytiske privilegium til brugeren "ABHI_TEST", som allerede har privilegier på modelleringspakken. Double-klik på brugeren “ABHI_TEST” under Sikkerhed -> Brugere.

  1. Vælg fanen Analytiske rettigheder.
  2. Klik på knappen “+”.
  3. Der vises et pop op-vindue for at vælge analytiske rettigheder. Indtast navnet på det analytiske privilegium, der blev oprettet tidligere.
  4. Vælg den analytiske rettighed.
  5. Klik på OK-knappen, som vist nedenfor.

Vælg pop op-vinduet Analytiske rettigheder på brugervedligeholdelsesskærmen

Den analytiske rettighed tilføjes til brugeren, som vist nedenfor.

Fanen Analytiske rettigheder for brugeren ABHI_TEST efter at rettigheden er tilføjet

Trin 5) Implementer ændringen til brugeren ved at klikke på knappen Implementer. Der vises en meddelelse om, at brugeren 'ABHI_TEST' blev ændret, som vist nedenfor.

Implementeringsbekræftelsesmeddelelse, der angiver, at brugeren ABHI_TEST blev ændret

Trin 6) Kontrollér de analytiske privilegier. Log på som "ABHI_TEST" fra HANAUSER-systemet for at bekræfte, at tildelingen fungerer.

  1. Vælg det aktuelle HDB (HANAUSER) system, og højreklik på det.
  2. Vælg "Tilføj system med anden bruger", og indtast derefter brugernavn og adgangskode til "ABHI_TEST", som vist nedenfor.
  3. En system-HDB (ABHI_TEST) er tilføjet til systemlisten.

Tilføj system med anden brugerindstilling, der bruges til at logge på som ABHI_TEST

Brugeren ABHI_TEST har ikke fuld adgang til dataene i den beregningsvisning, der er oprettet af HANAUSER, fordi HANAUSER har oprettet en analytisk rettighed, der begrænser visningen til virksomhed 1000, og tildelt den til ABHI_TEST.

Gå til mappen Indhold -> vælg pakken -> beregningsvisning (CA_FI_LEDGER) -> højreklik -> Datavisning. Datavisningsskærmen vises som vist nedenfor.

Dataforhåndsvisning af beregningsvisningen er begrænset til virksomhed 1000

Data i beregningsvisningen er begrænset til virksomhedskode 1000, hvilket bekræfter, at den analytiske rettighed er aktiv for den pågældende bruger.

Sammenligning af klassiske XML- og SQL-analytiske privilegier

Der findes to slags analytiske rettigheder, og valget er vigtigt for enhver ny udvikling. Editoren vist ovenfor opretter det klassiske, XML-baserede privilegium. SQL-analytiske rettigheder blev introduceret i SAP HANA 1.0 SPS 10 og udtrykker den samme begrænsning som en SQL-filterbetingelse.

Aspect Klassisk (XML-baseret) SQL-analytiske privilegier
Definition Vedligeholdes grafisk i modeleringsværktøjet og gemmes som et XML-designtidsobjekt. Defineret af en SQL-filterbetingelse, så kompleks logik forbliver læsbar.
Betingelser Attributbegrænsninger med simple operatorer. Fuldstændige SQL-udtryk, inklusive indbyggede og kombinerede betingelser.
Status Udfaset fra og med SAP HANA 2.0 SPS 02. Anbefales til ethvert nyt privilegium.
tilgængelighed Ikke tilgængelig i SAP HANA Cloud. Understøttet i SAP HANA 2.0 og SAP HANA Cloud.

SAP HANA-modeleringsværktøjet sender en migreringsaktivitet, der konverterer klassiske XML-baserede privilegier til SQL-baserede, så eksisterende begrænsninger ikke behøver at blive omskrevet manuelt. SAP I HANA Cloud bliver privilegiet et designtidsartefakt i en HDI-container og når brugeren gennem en rolle i stedet for via brugereditoren.

Hvordan begrænsninger af analytiske privilegier evalueres

Ved at vide, hvordan betingelserne kombineres, undgås restriktioner, der enten giver for meget eller slet ingenting.

  • Flere værdier angivet for én attribut kombineres med en logisk OR, så en bruger kan muligvis se virksomhed 1000 eller virksomhed 2000.
  • Begrænsninger på forskellige attributter kombineres med en logisk AND, så både virksomhed og land skal stemme overens.
  • Når en bruger har flere analytiske rettigheder i den samme visning, lægges resultaterne sammen, hvilket udvider snarere end indsnævrer adgangen.
  • En statisk begrænsning lagrer faste værdier, mens en dynamisk begrænsning læser de tilladte værdier under kørsel fra en procedure, så ét privilegium kan betjene mange brugere.

En visning kontrolleres kun, når dens egenskab Anvend privilegier navngiver privilegietypen, og kontrollen kører ud over SELECT-objektprivilegiet. Kolonnevisninger genereret ved aktivering findes live i _SYS_BIC-skemaet, og de effektive begrænsninger for en bruger kan læses fra systemvisningen EFFECTIVE_STRUCTURED_PRIVILEGES.

Almindelige fejl og rettelser vedrørende analytiske rettigheder

De fleste godkendelsesproblemer i en informationsvisning stammer fra en af ​​situationerne nedenfor.

  • Ikke-autoriseret fejl i en visning. Brugeren har analytiske rettigheder, men ikke SELECT-rettigheder på den genererede kolonnevisning eller på det underliggende skema. Tillad begge.
  • Forhåndsvisningen returnerer ingen rækker. Den begrænsede attribut har ingen matchende værdi, eller privilegiets gyldighedsperiode er allerede udløbet.
  • Begrænsningen ignoreres. Rettigheden blev oprettet, men aldrig aktiveret, eller visningen har ikke egenskaben Anvend rettigheder angivet.
  • Ændringen har ingen effekt. Tildelingen blev ikke implementeret, eller brugersessionen startede før implementeringen og skal oprette forbindelse igen.
  • Alt er synligt alligevel. Brugeren har _SYS_BI_CP_ALL, som giver ubegrænset adgang til alle informationsvisninger og bør holde sig uden for produktionsroller.

Giv analytiske privilegier gennem roller i stedet for direkte til brugere, så den samme begrænsning kan gennemgås, transporteres og tilbagekaldes ét sted. Modelleringskontekst for de beskyttede visninger er dækket i SAP HANA-modellering og SAP HANA vejledninger.

Ofte Stillede Spørgsmål

SAP HANA bruger systemrettigheder til administrationsopgaver, objektrettigheder til tabeller og visninger, pakkerettigheder til arkivindhold, applikationsrettigheder til XS-applikationer og analytiske rettigheder til adgang til interne informationsvisninger på rækkeniveau.

Ja. Afsnittet Referencemodeller accepterer flere informationsvisninger, og den samme attributbegrænsning gælder derefter for hver af dem, forudsat at den begrænsede attribut findes i alle de anførte visninger.

_SYS_BI_CP_ALL er et genereret analytisk privilegium, der giver ubegrænset adgang til alle informationsvisninger. Det er praktisk for en modelbygger i en sandkasse, men det omgås sikkerhed på rækkeniveau og hører ikke hjemme i produktionsroller.

Maskinlæring på adgangslogfiler profilerer normal forespørgselsadfærd og markerer konti, der pludselig læser usædvanlige virksomheder eller regioner. Sådanne værktøjer rangerer risikable rettigheder til gennemgang, men en sikkerhedsadministrator beslutter stadig, hvilke rettigheder der skal ændres.

GitHub Copilot laver et kladdeudkast af filterbetingelser og den omgivende SQL fra en kort kommentar, hvilket forkorter arbejdet med komplekse begrænsninger. Hver genereret betingelse skal testes mod reelle data, fordi en forkert operator lydløst udvider adgangen.

SAP HANA Cloud understøtter kun SQL-analytiske privilegier. Privilegiet er et designtidsartefakt i en HDI-container, det tildeles via en rolle, og den klassiske XML-editor fra SAP HANA Studio er ikke længere tilgængelig.

Nej. Begrænsningen evalueres for informationsvisninger, hvis egenskab "Anvend rettigheder" er angivet. En forespørgsel mod basistabellen styres udelukkende af objektrettigheder, så følsomme tabeller bør eksponeres via visninger.

En rolle samler privilegier og er den anbefalede container til transport og gennemgang. Et analytisk privilegium er et af objekterne i den pakke, og at tildele det direkte til en bruger gør det sværere at revidere den samme begrænsning senere.

Opsummer dette indlæg med: