Analytiska privilegier i SAP HANA: Hur skapar man?

⚡ Smart sammanfattning

Analytiska privilegier i SAP HANA lägger till auktorisering på radnivå utöver objektprivilegier, så att två användare som frågar samma informationsvy bara ser de poster som deras tilldelade begränsningar tillåter inuti SAP HANA Studio.

  • 🔘 Syfte: En objektbehörighet öppnar en hel vy, medan en analysbehörighet filtrerar raderna som vyn returnerar.
  • ☑️ Omfattning: Attributvyer, analysvyer och beräkningsvyer kan alla skyddas av en analysbehörighet.
  • begränsningar: Värden inom ett attribut kombineras med ELLER, och begränsningar för olika attribut kombineras med OCH.
  • 🧪 Exempel: En behörighet i beräkningsvyn CA_FI_LEDGER begränsar användaren ABHI_TEST till företag 1000.
  • 🛠️ Uppdrag: Begränsningen gäller endast efter validering, aktivering, tilldelning till användaren eller rollen och distribution.
  • 📈 riktning: XML-baserade behörigheter är föråldrade, så nya begränsningar skrivs som SQL-analysbehörigheter.

Analytiska behörigheter som begränsar åtkomst till data på radnivå i SAP HANA

Vad är analytiska privilegier i SAP HANA?

Analytiska behörigheter begränsar en användare till de data som användaren har behörighet att se, så de är en central del av SAP HANA-säkerhet.

SQL-behörigheter ger behörighet på objektnivå, inte på postnivå. En användare som har SELECT i en vy kan läsa varje rad i den. Där en begränsning på radnivå behövs används istället en analytisk behörighet.

Analytiska behörigheter ger den behörigheten för följande informationsvyer.

En analysbehörighet skapas nedan och tilldelas användaren "ABHI_TEST", så att användaren endast kan se data för företaget med värdet 1000. Båda behörigheterna behövs tillsammans: objektbehörigheten öppnar vyn och analysbehörigheten avgör vilka rader som kommer tillbaka.

Hur man skapar en analytisk behörighet i SAP HANA

De sex stegen nedan körs in SAP HANA Studio, från att skapa privilegiet till att testa det med en andra användare.

Steg 1) Gå till Analytiska behörigheter. Högerklicka på modelleringspaketet och välj sedan Nytt –> Analytiska behörigheter, som visas nedan.

Nytt alternativ för analytiska behörigheter på snabbmenyn för modelleringspaketet

Steg 2) Popup-fönstret Nytt visas. Ange informationen om analysbehörighet som visas nedan.

  1. Ange namnet och etiketten för den analytiska behörigheten.
  2. Paketnamnet väljs automatiskt.
  3. Valalternativet skapar en ny behörighet.

Ny dialogruta för analysbehörighet med fälten namn, etikett och paket

I nästa steg visas redigeraren för analytiska behörigheter för att lägga till och redigera behörigheter.

Steg 3) Klicka på knappen 'OK'. Redigeraren för analysprivilegier öppnas och referensmodellen väljs först.

  1. I avsnittet Allmänt visas namnet och etiketten.
  2. Klicka på knappen ”Lägg till” i avsnittet Referensmodeller, som visas nedan.
  3. Välj den beräkningsvy (CA_FI_LEDGER) som skapades tidigare.

Knappen Lägg till i avsnittet Referensmodeller i redigeraren för analysbehörigheter

Giltigheten och attributbegränsningen definieras sedan i samma editor.

  1. Klicka på knappen Lägg till för att skapa giltigheten för privilegiet.
  2. Tilldela privilegiets giltighet.
  3. Klicka på knappen Lägg till för att välja det attribut som har begränsningen.
  4. Välj attributet Företag.
  5. Klicka på knappen Lägg till för att tilldela ett värde till attributet.
  6. Tilldela värdet genom att välja typ eller operator och värdet. Här är användaren begränsad till data från beräkningsvyn för företag 1000, som visas nedan.

Analytisk privilegiumsredigerare med referensmodell, validitet och företagsbegränsning

Validera och aktivera analysbehörigheten. Den skapas sedan i mappen Analytic Privileges under Modelling-paketet, som visas nedan.

Aktiverad analysbehörighet listad i mappen Analytiska behörigheter

Steg 4) Tilldela analysbehörigheten till användaren "ABHI_TEST", som redan har behörighet för modelleringspaketet. Double-klicka på användaren “ABHI_TEST” under Säkerhet -> Användare.

  1. Välj fliken Analytiska behörigheter.
  2. Klicka på knappen “+”.
  3. Ett popup-fönster för Välj analysbehörigheter visas. Ange namnet på den analysbehörighet som skapades tidigare.
  4. Välj analysbehörigheten.
  5. Klicka på OK-knappen, som visas nedan.

Välj popup-fönstret Analytiska behörigheter på skärmen för användarunderhåll

Analysbehörigheten läggs till för användaren, som visas nedan.

Fliken Analytiska behörigheter för användaren ABHI_TEST efter att behörigheten har lagts till

Steg 5) Distribuera ändringen till användaren genom att klicka på distributionsknappen. Ett meddelande visas som anger att användaren 'ABHI_TEST' har ändrats, som visas nedan.

Distribuera bekräftelsemeddelande som anger att användaren ABHI_TEST har ändrats

Steg 6) Kontrollera analysbehörigheten. Logga in som "ABHI_TEST" från HANAUSER-systemet för att bekräfta att tilldelningen fungerar.

  1. Markera det aktuella HDB-systemet (HANAUSER) och högerklicka på det.
  2. Välj ”Lägg till system med annan användare” och ange sedan användarnamnet och lösenordet för ”ABHI_TEST” som visas nedan.
  3. En system-HDB (ABHI_TEST) läggs till i systemlistan.

Lägg till system med annan användare-alternativ som används för att logga in som ABHI_TEST

Användaren ABHI_TEST har inte fullständig åtkomst till data i beräkningsvyn som skapats av HANAUSER, eftersom HANAUSER skapade en analysbehörighet som begränsade vyn till företag 1000 och tilldelade den till ABHI_TEST.

Gå till mappen Innehåll -> välj paketet -> beräkningsvyn (CA_FI_LEDGER) -> högerklicka -> Dataförhandsgranskning. Dataförhandsgranskningsskärmen visas enligt nedan.

Dataförhandsgranskning av beräkningsvyn begränsad till företag 1000

Data i beräkningsvyn är begränsade till företagskod 1000, vilket bekräftar att analysbehörigheten är aktiv för den användaren.

Jämförelse av klassiska XML- och SQL-analysprivilegier

Det finns två typer av analytiska privilegier, och valet spelar roll för all ny utveckling. Redigeraren som visas ovan skapar den klassiska, XML-baserade privilegiet. SQL-analytiska privilegier introducerades i SAP HANA 1.0 SPS 10 och uttrycker samma begränsning som ett SQL-filtervillkor.

Aspect Klassisk (XML-baserad) SQL-analysbehörighet
Definition Bibehålls grafiskt i modelleraren och lagras som ett XML-objekt under designtid. Definieras av ett SQL-filtervillkor, så att komplex logik förblir läsbar.
Villkor Attributbegränsningar med enkla operatorer. Fullständiga SQL-uttryck, inklusive kapslade och kombinerade villkor.
Status Föråldrad från och med SAP HANA 2.0 SPS 02. Rekommenderas för varje nytt privilegium.
Tillgänglighet Ej tillgänglig i SAP HANA-molnet. Stöds i SAP HANA 2.0 och SAP HANA-molnet.

Ocuco-landskapet SAP HANA-modelleraren levererar en migreringsaktivitet som konverterar klassiska XML-baserade privilegier till SQL-baserade, så att befintliga begränsningar inte behöver skrivas om manuellt. SAP I HANA Cloud blir privilegiet en artefakt under designtiden inuti en HDI-container och når användaren via en roll snarare än via användarredigeraren.

Hur begränsningar av analytiska privilegier utvärderas

Att veta hur villkoren kombineras undviker restriktioner som antingen ger för mycket eller ingenting alls.

  • Flera värden som listas för ett attribut kombineras med en logisk OR, så en användare kan se företag 1000 eller företag 2000.
  • Begränsningar för olika attribut kombineras med en logisk AND, så både företag och land måste matcha.
  • När en användare har flera analysbehörigheter i samma vy läggs resultaten ihop, vilket utökar snarare än begränsar åtkomsten.
  • En statisk begränsning lagrar fasta värden, medan en dynamisk begränsning läser de tillåtna värdena vid körning från en procedur, så ett privilegium kan betjäna många användare.

En vy kontrolleras bara när dess egenskap Apply Privileges namnger privilegiumstypen, och kontrollen körs utöver SELECT-objektprivilegiet. Kolumnvyer som genereras genom aktivering finns i _SYS_BIC-schemat, och de effektiva begränsningarna för en användare kan läsas från systemvyn EFFECTIVE_STRUCTURED_PRIVILEGES.

Vanliga fel och åtgärder för analytiska privilegier

De flesta auktoriseringsproblem i en informationsvy uppstår i någon av situationerna nedan.

  • Ej auktoriserat fel i en vy. Användaren har analysbehörighet men inte SELECT-behörighet på den genererade kolumnvyn eller på det underliggande schemat. Bevilja båda.
  • Förhandsgranskningen returnerar inga rader. Attributet restricted har inget matchande värde, eller så har privilegiets giltighetstid redan löpt ut.
  • Begränsningen ignoreras. Privilegiet skapades men aktiverades aldrig, eller så har vyn inte egenskapen Tillämpa privilegier angett.
  • Ändringen har ingen effekt. Tilldelningen distribuerades inte, eller så startade användarsessionen före distributionen och måste anslutas igen.
  • Allt syns ändå. Användaren har _SYS_BI_CP_ALL, vilket ger obegränsad åtkomst till alla informationsvyer och bör hålla sig utanför produktionsroller.

Ge analytiska privilegier genom roller snarare än direkt till användare, så att samma begränsning kan granskas, transporteras och återkallas på ett ställe. Modelleringskontext för de skyddade vyerna behandlas i SAP HANA-modellering och SAP HANA guider.

Vanliga frågor

SAP HANA använder systembehörigheter för administrationsuppgifter, objektbehörigheter för tabeller och vyer, paketbehörigheter för databasinnehåll, programbehörigheter för XS-applikationer och analysbehörigheter för åtkomst på radnivå till insiderinformationsvyer.

Ja. Avsnittet Referensmodeller accepterar flera informationsvyer, och samma attributbegränsning gäller sedan för var och en av dem, förutsatt att det begränsade attributet finns i varje listad vy.

_SYS_BI_CP_ALL är en genererad analysbehörighet som ger obegränsad åtkomst till alla informationsvyer. Det är praktiskt för en modellerare i en sandlåda, men det omintetgör säkerhet på radnivå och hör inte hemma i produktionsroller.

Maskininlärning i åtkomstloggar profilerar normalt frågebeteende och flaggar konton som plötsligt läser ovanliga företag eller regioner. Sådana verktyg rankar riskfyllda beviljanden för granskning, men en säkerhetsadministratör bestämmer fortfarande vilken behörighet som ska ändras.

GitHub Copilot skapar utkast till filtervillkor och omgivande SQL från en kort kommentar, vilket förkortar arbetet med komplexa begränsningar. Varje genererat villkor måste testas mot verkliga data, eftersom en felaktig operator tyst utökar åtkomsten.

SAP HANA Cloud stöder endast SQL-analysprivilegier. Privilegiet är en designtidsartefakt inuti en HDI-behållare, det beviljas via en roll och den klassiska XML-redigeraren från SAP HANA Studio är inte längre tillgänglig.

Nej. Begränsningen utvärderas för informationsvyer vars egenskap "Tillämpa behörigheter" är inställd. En fråga mot bastabellen styrs enbart av objektbehörigheter, så känsliga tabeller bör exponeras via vyer.

En roll paketerar behörigheter och är den rekommenderade behållaren för transport och granskning. En analysbehörighet är ett av objekten i det paketet, och att bevilja den direkt till en användare gör det svårare att granska samma begränsning senare.

Sammanfatta detta inlägg med: