Analytische rechten in SAP HANA: Hoe te creƫren?

⚔ Slimme samenvatting

Analytische privileges in SAP HANA voegt autorisatie op rijniveau toe bovenop objectrechten, zodat twee gebruikers die dezelfde informatieweergave opvragen, alleen de records zien die binnen hun toegewezen beperkingen vallen. SAP HANA Studio.

  • šŸ”˜ Doel: Een objectprivilege opent een volledige weergave, terwijl een analytisch privilege de rijen filtert die de weergave retourneert.
  • ā˜‘ļø Domein: Attribuutweergaven, analytische weergaven en berekeningsweergaven kunnen elk worden beschermd door een analytisch privilege.
  • āœ… beperkingen: Waarden binnen ƩƩn attribuut worden gecombineerd met OF, en beperkingen op verschillende attributen worden gecombineerd met EN.
  • 🧪 Voorbeeld: Een privilege op de berekeningsweergave CA_FI_LEDGER beperkt gebruiker ABHI_TEST tot bedrijf 1000.
  • ļø Opdracht: De beperking geldt pas na validatie, activering, toewijzing aan de gebruiker of rol en implementatie.
  • šŸ“ˆ Richting: XML-gebaseerde privileges zijn verouderd, daarom worden nieuwe beperkingen vastgelegd als SQL-analytische privileges.

Analytische privileges die de toegang tot gegevens op rijniveau beperken in SAP HANA

Wat zijn analytische privileges in SAP HANA?

Analytische privileges beperken de toegang van een gebruiker tot de gegevens die hij of zij mag inzien, en vormen daarom een ​​essentieel onderdeel van... SAP HANA-beveiliging.

SQL-rechten verlenen autorisatie op objectniveau, niet op recordniveau. Een gebruiker met SELECT-rechten op een view kan elke rij in die view lezen. Wanneer een beperking op rijniveau nodig is, wordt in plaats daarvan een analytisch recht gebruikt.

Analytische privileges geven toegang tot de volgende informatie.

Hieronder wordt een analytisch privilege aangemaakt en toegewezen aan de gebruiker "ABHI_TEST", zodat deze gebruiker alleen gegevens kan zien voor het bedrijf met waarde 1000. Beide privileges zijn samen nodig: het objectprivilege opent de weergave en het analytische privilege bepaalt welke rijen worden weergegeven.

Hoe maak je een analytisch privilege aan in SAP HANA

De zes onderstaande stappen lopen in SAP HANA StudioVan het aanmaken van het privilege tot het testen ervan met een tweede gebruiker.

Stap 1) Ga naar Analytische bevoegdheden. Klik met de rechtermuisknop op het modelleringspakket en kies vervolgens Nieuw -> Analytische bevoegdheden, zoals hieronder weergegeven.

Nieuwe optie 'Analytische privileges' in het contextmenu van het modelleringspakket.

Stap 2) Het nieuwe pop-upvenster verschijnt. Voer de onderstaande gegevens voor analytische toegang in.

  1. Voer de naam en het label van de analytische machtiging in.
  2. De pakketnaam wordt automatisch geselecteerd.
  3. De selectieoptie creƫert een nieuw privilege.

Nieuw dialoogvenster voor analytische privileges met de velden naam, label en pakket.

In de volgende stap wordt de editor voor analytische privileges weergegeven, waarmee u privileges kunt toevoegen en bewerken.

Stap 3) Klik op de knop 'OK'. De editor voor analytische rechten wordt geopend en het referentiemodel wordt als eerste geselecteerd.

  1. In het gedeelte 'Algemeen' worden de naam en het label weergegeven.
  2. Klik op de knop 'Toevoegen' in het gedeelte 'Referentiemodellen', zoals hieronder weergegeven.
  3. Selecteer de eerder aangemaakte berekeningsweergave (CA_FI_LEDGER).

Voeg een knop toe in het gedeelte Referentiemodellen van de editor voor analytische bevoegdheden.

De geldigheid en de attribuutbeperking worden vervolgens in dezelfde editor gedefinieerd.

  1. Klik op de knop 'Toevoegen' om de geldigheid van het privilege te bevestigen.
  2. Wijs de geldigheid van het privilege toe.
  3. Klik op de knop 'Toevoegen' om het kenmerk te selecteren waarop de beperking van toepassing is.
  4. Selecteer het kenmerk Bedrijf.
  5. Klik op de knop 'Toevoegen' om een ​​waarde aan dat attribuut toe te wijzen.
  6. Wijs de waarde toe door het type of de operator en de waarde te selecteren. Hier is de gebruiker beperkt tot de gegevens van de berekeningsweergave voor bedrijf 1000, zoals hieronder weergegeven.

Analytische privilege-editor met referentiemodel, validiteit en bedrijfsbeperkingen

Valideer en activeer het analytische privilege. Het wordt vervolgens aangemaakt in de map 'Analytic Privileges' onder het pakket 'Modelling', zoals hieronder weergegeven.

Geactiveerde analytische bevoegdheden staan ​​vermeld in de map Analytische bevoegdheden.

Stap 4) Wijs de analytische bevoegdheid toe aan de gebruiker "ABHI_TEST", die al bevoegdheden heeft voor het modelleringspakket. Double- Klik op de gebruiker "ABHI_TEST" onder Beveiliging -> Gebruikers.

  1. Selecteer het tabblad Analytische bevoegdheden.
  2. Klik op de knop "+".
  3. Er verschijnt een pop-upvenster voor het selecteren van analytische privileges. Voer de naam in van het analytische privilege dat u eerder hebt aangemaakt.
  4. Selecteer de analytische machtiging.
  5. Klik op de OK-knop, zoals hieronder weergegeven.

Selecteer het pop-upmenu 'Analytische privileges' op het scherm voor gebruikersbeheer.

De analytische bevoegdheid wordt aan de gebruiker toegevoegd, zoals hieronder weergegeven.

Het tabblad 'Analytische privileges' van gebruiker ABHI_TEST nadat het privilege is toegevoegd.

Stap 5) Voer de wijziging door voor de gebruiker door op de knop 'Implementeren' te klikken. Er verschijnt een bericht dat gebruiker 'ABHI_TEST' is gewijzigd, zoals hieronder weergegeven.

Implementatiebevestigingsbericht waarin staat dat gebruiker ABHI_TEST is gewijzigd

Stap 6) Controleer de analytische bevoegdheden. Meld u aan als ā€œABHI_TESTā€ in het HANAUSER-systeem om te bevestigen dat de toewijzing werkt.

  1. Selecteer het huidige HDB (HANAUSER)-systeem en klik er met de rechtermuisknop op.
  2. Selecteer ā€œSysteem toevoegen met andere gebruikerā€ en voer vervolgens de gebruikersnaam en het wachtwoord voor ā€œABHI_TESTā€ in, zoals hieronder weergegeven.
  3. Een systeem HDB (ABHI_TEST) wordt toegevoegd aan de systeemlijst.

Voeg de optie 'Systeem toevoegen met andere gebruiker' toe om in te loggen als ABHI_TEST.

De gebruiker ABHI_TEST heeft geen volledige toegang tot de gegevens van de berekeningsweergave die door HANAUSER is gemaakt, omdat HANAUSER een analytisch privilege heeft aangemaakt dat die weergave beperkt tot bedrijf 1000 en dit privilege heeft toegewezen aan ABHI_TEST.

Ga naar de map 'Content' -> selecteer het pakket -> berekeningsweergave (CA_FI_LEDGER) -> klik met de rechtermuisknop -> Gegevensvoorbeeld. Het gegevensvoorbeeldscherm wordt als volgt weergegeven.

Gegevensvoorbeeld van de berekeningsweergave, beperkt tot bedrijf 1000.

De gegevens in de berekeningsweergave zijn beperkt tot bedrijfscode 1000, wat bevestigt dat de analysebevoegdheid voor die gebruiker actief is.

Vergelijking van analytische privileges in klassieke XML en SQL

Er bestaan ​​twee soorten analytische privileges, en de keuze is van belang voor elke nieuwe ontwikkeling. De bovenstaande editor creĆ«ert het klassieke, op XML gebaseerde privilege. SQL-analytische privileges werden geĆÆntroduceerd in SAP HANA 1.0 SPS 10 en drukt dezelfde beperking uit als een SQL-filtervoorwaarde.

Aspect Klassiek (op XML gebaseerd) SQL-analytisch privilege
Definitie Grafisch bijgehouden in de modelleeromgeving en opgeslagen als een XML-ontwerpobject. Gedefinieerd door een SQL-filtervoorwaarde, zodat complexe logica leesbaar blijft.
Voorwaarden Attribuutbeperkingen toepassen met eenvoudige operatoren. Volledige SQL-expressies, inclusief geneste en gecombineerde voorwaarden.
Status Niet meer geldig vanaf SAP HANA 2.0 SPS 02. Aanbevolen voor elk nieuw privilege.
Beschikbaarheid Niet beschikbaar in SAP HANA Cloud. Ondersteund in SAP HANA 2.0 en SAP HANA Cloud.

De SAP HANA Modeler levert een migratieactiviteit mee die klassieke XML-gebaseerde privileges omzet naar SQL-gebaseerde privileges, zodat bestaande beperkingen niet handmatig hoeven te worden herschreven. SAP In HANA Cloud wordt het privilege een ontwerpelement binnen een HDI-container en bereikt het de gebruiker via een rol in plaats van via de gebruikerseditor.

Hoe worden beperkingen op analytische bevoegdheden geƫvalueerd?

Door te weten hoe de omstandigheden zich combineren, voorkom je beperkingen die ofwel te veel ofwel helemaal niets opleveren.

  • Verschillende waarden die voor ƩƩn attribuut worden vermeld, worden gecombineerd met een logische operator. OREen gebruiker kan bijvoorbeeld bedrijf 1000 of bedrijf 2000 zien.
  • Beperkingen op verschillende kenmerken worden gecombineerd met een logische ENHet bedrijf en het land moeten dus aan elkaar gewaagd zijn.
  • Wanneer een gebruiker meerdere analyserechten heeft voor dezelfde weergave, worden de resultaten bij elkaar opgeteld, wat de toegang juist verruimt in plaats van vernauwt.
  • Een statische beperking slaat vaste waarden op, terwijl een dynamische beperking de toegestane waarden tijdens de uitvoering van een procedure uitleest, waardoor ƩƩn privilege meerdere gebruikers kan bedienen.

Een weergave wordt alleen gecontroleerd wanneer de eigenschap 'Apply Privileges' het privilegetype aangeeft, en de controle wordt uitgevoerd naast het SELECT-objectprivilege. Kolomweergaven die door activering worden gegenereerd, bevinden zich in het _SYS_BIC-schema en de effectieve beperkingen van een gebruiker kunnen worden afgelezen uit de systeemweergave EFFECTIVE_STRUCTURED_PRIVILEGES.

Veelvoorkomende fouten met analytische privileges en oplossingen daarvoor

De meeste problemen met autorisatie in een informatieweergave komen voort uit een van de onderstaande situaties.

  • Foutmelding 'Niet geautoriseerd' bij een weergave. De gebruiker heeft wel het analytische privilege, maar niet het SELECT-privilege op de gegenereerde kolomweergave of op het onderliggende schema. Verleen beide privileges.
  • De preview geeft geen rijen weer. Het beperkte attribuut heeft geen overeenkomende waarde, of de geldigheidsperiode van het privilege is reeds verlopen.
  • De beperking wordt genegeerd. Het privilege is wel aangemaakt, maar nooit geactiveerd, of de eigenschap 'Privileges toepassen' is niet ingesteld voor de betreffende weergave.
  • De wijziging heeft geen effect. De opdracht is niet uitgevoerd, of de gebruikerssessie is gestart vóór de uitvoering en moet opnieuw verbinding maken.
  • Alles is toch zichtbaar. De gebruiker heeft de machtiging _SYS_BI_CP_ALL, die onbeperkte toegang verleent tot alle informatieweergaven en daarom niet in productieomgevingen gebruikt mag worden.

Verleen analytische privileges via rollen in plaats van rechtstreeks aan gebruikers, zodat dezelfde beperking op ƩƩn plek kan worden bekeken, overgedragen en ingetrokken. Het modelleren van de context voor de beveiligde weergaven wordt behandeld in de SAP HANA-modellering en SAP HANA gidsen.

Veelgestelde vragen

SAP HANA gebruikt systeemrechten voor beheertaken, objectrechten voor tabellen en weergaven, pakketrechten voor repository-inhoud, applicatierechten voor XS-applicaties en analytische rechten voor toegang op rijniveau binnen informatieweergaven.

Ja. De sectie Referentiemodellen accepteert meerdere informatieweergaven, en dezelfde attribuutbeperking is vervolgens van toepassing op elk ervan, mits het beperkte attribuut in elke vermelde weergave aanwezig is.

_SYS_BI_CP_ALL is een gegenereerd analytisch privilege dat onbeperkte toegang verleent tot elke informatieview. Het is handig voor een modelleur in een sandbox, maar het ondermijnt beveiliging op rijniveau en hoort niet thuis in productieomgevingen.

Machine learning op toegangslogboeken brengt normaal querygedrag in kaart en markeert accounts die plotseling toegang krijgen tot ongebruikelijke bedrijven of regio's. Dergelijke tools rangschikken risicovolle toegangsrechten voor beoordeling, maar een beveiligingsbeheerder beslist nog steeds welke rechten moeten worden gewijzigd.

GitHub Copilot genereert filtervoorwaarden en de bijbehorende SQL-query's op basis van een korte opmerking, wat de werkdruk bij complexe beperkingen verhoogt. Elke gegenereerde voorwaarde moet worden getest met echte data, omdat een verkeerde operator ongemerkt de toegang kan verruimen.

SAP HANA Cloud ondersteunt alleen SQL-analyserechten. Het recht is een ontwerpelement binnen een HDI-container, wordt verleend via een rol en de klassieke XML-editor van SAP HANA Studio is niet langer beschikbaar.

Nee. De beperking wordt geƫvalueerd voor informatieweergaven waarvan de eigenschap 'Privileges toepassen' is ingesteld. Een query op de basistabel wordt uitsluitend beheerd door objectprivileges, dus gevoelige tabellen moeten via weergaven worden weergegeven.

Een rol bundelt privileges en is de aanbevolen container voor transport en controle. Een analytisch privilege is een van de objecten in die bundel, en het rechtstreeks toekennen ervan aan een gebruiker maakt dezelfde beperking later moeilijker te controleren.

Vat dit bericht samen met: