Beveiliging beheren met sectietoegang
U kunt sectietoegang gebruiken in het load-script voor gegevens om de beveiliging af te handelen. Op die manier kan een enkel bestand worden gebruikt om de gegevens in onder te brengen voor een aantal gebruikers of gebruikersgroepen. Qlik Sense gebruikt de informatie in de sectietoegang voor de verificatie en autorisatie en zorgt voor de dynamische reductie van de gegevens, zodat de gebruikers alleen hun eigen gegevens zien.
De beveiliging is in het bestand zelf ingebouwd, zodat ook een gedownload bestand in zekere mate is beveiligd. Als echter strenge eisen aan de beveiliging worden gesteld, dienen het downloaden van bestanden en offline gebruik te worden vermeden, en mogen bestanden uitsluitende worden gepubliceerd door de Qlik Sense-server. Aangezien alle gegevens in één bestand zijn ondergebracht, kan de bestandsgrootte fors oplopen.
De app moet worden gepubliceerd voordat sectietoegangsbesturingen worden toegepast. Als de app opnieuw wordt geladen, worden geen van de nieuwe of gewijzigde sectietoegangsscripts toegepast.
Verwijder voordat u de app publiceert alle bijgevoegde bestanden met sectietoegangsinstellingen als u blootstelling van vertrouwelijke gegevens wilt voorkomen.
Bijgevoegde bestanden worden meegeleverd wanneer de app wordt gepubliceerd. Als de gepubliceerde app wordt gekopieerd, worden de bijgevoegde bestanden meegeleverd met de kopie. Indien echter beperkingen voor sectietoegang zijn toegepast op de bijgevoegde gegevensbestanden, blijven de toegangsinstellingen niet behouden wanneer de bestanden worden gekopieerd. Gebruikers van de gekopieerde app kunnen daardoor alle gegevens in de bijgevoegde bestanden bekijken.
U mag geen kleuren toewijzen aan masterdimensiewaarden als u sectietoegang gebruikt of als u met gevoelige gegevens werkt, omdat de waarden door de kleurconfiguratie kunnen worden onthuld.
Secties in het script
Toegangsbeheer wordt geregeld via een of meer beveiligingstabellen die op dezelfde wijze in Qlik Sense worden geladen als reguliere gegevens. Deze tabellen kunnen daardoor worden opgeslagen in een normale database. De scriptinstructies voor de beveiligingstabellen worden opgegeven in de toegangssectie, die in het script wordt gestart met de instructie Section Access.
Als in het script een toegangssectie is gedefinieerd, moet het gedeelte van het script dat de appgegevens laadt, in een andere sectie worden geplaatst. Deze sectie wordt dan gestart met de instructie Section Application.
Example:
Systeemvelden in sectietoegang
De toegangsniveaus worden toegewezen aan gebruikers in een of meer tabellen die worden geladen in de sectietoegang van het script. Deze tabellen kunnen verschillende gebruikersspecifieke systeemvelden bevatten, meestal USERID en het veld ACCESS waarin het toegangsniveau wordt vastgelegd. Alle systeemvelden voor sectietoegang zullen worden gebruikt voor verificatie of autorisatie. De volledige set systeemvelden voor sectietoegang wordt hieronder beschreven.
ACCESS
Definieert de bevoegdheden van de corresponderende gebruiker.
Toegang tot Qlik Sense-apps kan worden verleend aan bepaalde gebruikers of gebruikersgroepen. In de beveiligingstabel kunnen aan gebruikers de toegangsniveaus ADMIN of USER worden toegewezen. Als er geen geldig toegangsniveau is toegewezen, kan de gebruiker de app niet openen.
Een gebruiker met ADMIN-bevoegdheden heeft toegang tot alle gegevens in de app. Een gebruiker met USER-bevoegdheden heeft alleen toegang tot gegevens zoals gedefinieerd in de beveiligingstabel.
Als sectietoegang wordt gebruikt bij het genereren van een on-demand-app (ODAG) in de sjabloon-app, moet de INTERNAL\SA_API-gebruiker worden opgenomen als ADMIN in de sectietoegangstabel. Bijvoorbeeld:
USERID
Bevat een tekenreeks die overeenkomt met een Qlik Sense-gebruikersnaam. In Qlik Sense worden de aanmeldgegevens opgehaald uit de proxy en vergeleken met de waarde in dit veld.
GROUP
Bevat een tekenreeks die overeenkomt met een groep in Qlik Sense. Qlik Sense herleidt de gebruiker die door de proxy wordt geleverd aan de hand van deze groep.
OMIT
Bevat de naam van het veld dat moet worden weggelaten voor deze specifieke gebruiker. Er kunnen jokertekens worden gebruikt, maar het veld mag ook leeg zijn. Een eenvoudige manier om dit te doen is het gebruik van een subveld.
Qlik Sense vergelijkt de gebruiker die door de proxy wordt verstrekt met UserID en herleidt de gebruiker aan de hand van groepen in de tabel. Als de gebruiker deel uitmaakt van een groep die toegang heeft, of als de gebruiker overeenkomt, krijgt deze gebruiker toegang tot de app.
Omdat de interne logica, het kenmerk van Qlik Sense, ook wordt gebruikt in de toegangssectie, kunnen de beveiligingsvelden in verschillende tabellen worden geplaatst. Alle velden in LOAD- of SELECT-instructies in de sectietoegang moeten in HOOFDLETTERS worden geschreven. Zet een veldnaam met kleine letters in de database om naar hoofdletters met de functie Upper voordat het veld wordt gelezen door de LOAD- of SELECT-instructie.
Ga voor meer informatie naar Upper - script- en diagramfunctie.
Een jokerteken (*) wordt geïnterpreteerd als alle waarden (in de lijst) voor dit veld, dat wil zeggen een waarde elders in deze tabel. Bij het gebruik in een van de systeemvelden (USERID, GROUP) in een tabel die in de toegangssectie van het script wordt geladen, is de interpretatie alle mogelijke waarden van dit veld (ook als ze niet in de lijst staan).
Example:
In dit voorbeeld kunnen alleen gebruikers in de financiële groep het document openen.
openen. | Groeps- |
---|---|
User | Financiën |
Dynamische gegevensreductie
Qlik Sense ondersteunt dynamische gegevensreductie, waarbij sommige gegevens in een app op basis van de aanmeldgegevens voor sectietoegang voor een gebruiker kunnen worden verborgen:
- Velden (kolommen) kunnen worden verborgen via het systeemveld OMIT.
- Records (rijen) kunnen worden verborgen door de gegevens in de sectietoegang te koppelen aan de werkelijke gegevens: Welke waarden moeten worden weergegeven of uitgesloten, wordt geregeld door een of meer velden met dezelfde naam in de sectietoegang en sectietoepassing. Nadat een gebruiker zich heeft aangemeld, probeert Qlik Sense de selecties in velden in de sectietoegang te kopiëren naar de velden in de sectietoegang met precies dezelfde veldnamen (de veldnamen moeten worden geschreven in HOOFDLETTERS). Nadat de selecties zijn gemaakt, worden alle gegevens die door deze selecties zijn uitgesloten, in Qlik Sense permanent voor de gebruiker verborgen.
Example: Gegevensreductie op basis van gebruikers-id
Het veld REDUCTION (hoofdletters) komt nu in zowel sectietoegang als sectietoepassing voor (alle veldwaarden zijn ook in hoofdletters). De twee velden zouden normaal gesproken geheel verschillend en gescheiden zijn, maar bij gebruik van sectietoegang worden deze velden gekoppeld en wordt het aantal records dat de gebruiker te zien krijgt beperkt.
Het veld OMIT in sectietoegang legt vast welke velden moeten worden verborgen voor de gebruiker.
Het resultaat is:
- Gebruiker ADMIN ziet alle velden en alleen de records die andere gebruikers in dit voorbeeld kunnen zien als REDUCTION gelijk is aan 1, 2 of 3.
- Gebruiker A ziet alle velden, maar alleen de records die zijn gekoppeld aan REDUCTION=1.
- Gebruiker B ziet alle velden behalve NUM, en alleen de records die zijn gekoppeld aan REDUCTION=2.
- Gebruiker C ziet alle velden behalve ALPHA, en alleen de records die zijn gekoppeld aan REDUCTION=3.
Example: Gegevensreductie op basis van gebruikersgroepen
Het resultaat is:
- Gebruikers die behoren tot de ADMIN-groep hebben toestemming om alle gegevens en alle velden te zien.
- Gebruikers die behoren tot de A-groep hebben toestemming om gegevens te zien die zijn gekoppeld aan REDUCTION=1 in alle velden.
- Gebruikers die behoren tot de B-groep hebben toestemming om gegevens te zien die zijn gekoppeld aan REDUCTION=2, maar niet in het NUM-veld.
- Gebruikers die behoren tot de C-groep hebben toestemming om gegevens te zien die zijn gekoppeld aan REDUCTION=3, maar niet in het ALPHA-veld.
- Gebruikers die behoren tot de GROUP1-groep hebben toestemming om gegevens te zien die zijn gekoppeld aan REDUCTION=3 in alle velden.
-
De gebruiker INTERNAL\SA_SCHEDULER behoort tot geen enkele groep, maar heeft toestemming om alle gegevens in alle velden te zien.
InformatieHet jokerteken (*) in deze rij verwijst alleen naar alle waarden binnen de sectietoegangstabel. Als er waarden in de sectietoepassing zijn die niet beschikbaar zijn in het veld REDUCTION in de sectietoegang, worden ze beperkt.
Overgenomen toegangsbeperkingen
Door een laadinstructie met binary worden de toegangsbeperkingen overgenomen door de nieuwe Qlik Sense-app.