Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Inleiding

Dit document beschrijft de entiteiten en bevoegdheden op de beheerschermen. De beheerschermen bevat o.a. gegevens van domeinen, applicaties, applicatieinstanties, gebruikers (beheerders), applicatierollen, en logging. Verschillende gegevens zijn tevens bepalend voor het verlenen van toegang tot resources.

Vooraf zijn vanuit discussie tussen testteam en architectuur verschillende eisen en wensen aangegeven. Tijdens het ontwikkelproces met Itzos zijn hierop enkele aanpassingen of keuzes gemaakt om een werkbaar geheel te krijgen. Voor logging van de beheerschermen waren de eisen zeer minimaal en is de logging naar beste inzicht vorm gegeven.

Beschrijving

Applicatierollen en autorisatieregels (zie ook KT-TOP-005).

Rollen en autorisatieregels kunnen vastgelegd worden. De naam van de rol is uniek en niet wijzigbaar. Binnen de rol moet per resource vastgelegd kunnen worden of een Create, Read, Update en Delete actie is toegestaan. Daarnaast moet bij Read, Update en Delete aangegeven worden of dit alleen voor de resource is toegestaan die de applicatieinstantie zelf heeft aangemaakt (OWN), of dat de applicatieinstantie de actie op al deze resources in hetzelfde domein mag uitvoeren (ALL).

...

Het domein bevat (minimaal) de volgende gegevens/attributen:

  • Een unieke domein identifier. (Deze is aanwezig, maar niet zichtbaar op het scherm.)

  • Een (leesbare) naam van het domein. (verplicht, en niet wijzigbaar).

    • Maximaal 32 karakters.

    • Toegestaan: alfanumeriek, spatie, uitroepteken, underscore, minteken en punt.

  • Url van de autorisatieserver (verplicht, begint met 'https'). (Eventuele spaties en hoofletters zijn uit domeinnaam verwijderd. Dit geldt ook voor de urls hieronder.)

  • Url van de endpoint van de autorisatieserver (verplicht, begint met 'https').

  • Url van de FHIR server (verplicht, begint met 'https').

  • Contactpersoon voor het domein :

    • Naam (verplicht)

    • Email (verplicht)

    • Telefoonnummer (optioneel).

Daarbij bevat het domein ook gegevens van de bijbehorende domeinbeheerders, applicatieinstanties, connectieaanvragen en logging.

...

De applicatie bevat (minimaal) de volgende gegevens/attributen:

  • Een unieke applicatie identifier. (Deze is aanwezig, maar niet zichtbaar op het scherm.)

  • Een (leesbare) naam van de applicatie (verplicht, en niet wijzigbaar).

    • Maximaal 32 karakters.

    • Toegestaan: alfanumeriek, spatie, uitroepteken, underscore, minteken en punt.

  • Aanmaakdatum. (Deze wordt automatisch gevuld bij aanmaken en is niet wijzigbaar.)

  • Eén of meer rollen. Te selecteren uit de lijst van (actieve) rollen. Minimaal 1 rol verplicht. (Bevinding: Deze is na aanmaken van de applicatie niet meer te wijzigen.)

  • Contactpersoon voor de applicatie :

    • Naam (verplicht)

    • Email (verplicht)

    • Telefoonnummer (optioneel).

Daarbij bevat de applicatie ook gegevens van de bijbehorende applicatiebeheerders en connectieaanvragen.

...

Indien de applicatie reeds een connectieaanvraag heeft gedaan, dus bij status 'open', 'geaccepteerd' of 'geweigerd', is het niet meer mogelijk voor de applicatie een nieuwe connectieaanvraag te doen. De volgende melding verschijnt dan:  'Applicatieinstantie bestaat al.' à Zelfde melding verschijnt ook als 1e Indien de aanvraag is afgewezen. Dat is niet correct. Bevinding om melding aan te passen naar: ‘, verschijnt melding: “Er is eerder een connectieaanvraag ingediend. Het is niet mogelijk dit nogmaals te doen.'”.

Een connectieaanvraag kan niet geaccepteerd worden als de applicatie de status 'Afgesloten' heeft. De volgende melding verschijnt bij het accepteren: "De Connectieaanvraag kan niet geaccepteerd worden, de applicatie heeft de status 'Afgesloten'."

...

Connectieaanvraag bevat (minimaal) de volgende gegevens/attributen:

  • Een JWKS uri. Is een unieke resource identifier dat refereert naar een applicatie JSON Web Key Set bestand dat (roulerende) publieke sleutels van de applicatie bevat. Veld bevat controle of deze bereikbaar is. Getoonde melding: 'De JWKS URL is niet bereikbaar; controleer of de URL correct is

    . De Redirect URL (positie 1) is niet bereikbaar; controleer of de URL correct is.'.

    .' Er zal geen controle plaatsvinden als het veld leeg gelaten wordt. Reden voor het leeg laten van het veld kan zijn als IT-deelnemer het ClientId van de applicatieinstantie nodig heeft om een JWKS uri aan te maken. De JWKS uri moet daarna alsnog toegevoegd worden aan de applicatieinstantie om deze te kunnen gebruiken. 

  • De redirect_uri(s). Max. 3 uri's mogelijk. Is optioneel veld, maar moet wel ingevuld worden om een SHOF launch uit te kunnen voeren.

  • De applicatienaam (wordt automatisch overgenomen en is niet wijzigbaar).

  • Eén rol die gekoppeld is aan de applicatie. Het is niet mogelijk om een andere rol te selecteren, dan die bij de applicatie is vastgelegd.

  • Domein waarnaar de connectieaanvraag gestuurd wordt. Het domein wordt geselecteerd uit een lijst van domeinen met status 'Actief' en 'In onderhoud'.

Indien de connectieaanvraag is ingediend, zijn alleen de velden JWKS uri en status aan te passen door geautoriseerden. De andere velden zijn niet muteerbaar.

...

Mailnotificatie connectieaanvraag:

  • Het indienen van een connectieaanvraag resulteert in een mailnotificatie naar alle actieve domeinbeheerders die vastgelegd zijn bij het domein uit de connectieaanvraag.

    • Onderwerp: Nieuwe connectieaanvraag voor domein <domeinnaam> op <omgeving>

    • Tekst: Er is een connectieaanvraag ingediend voor applicatie <applicatienaam> in uw domein <domeinnaam>.

  • Het accepteren van een connectieaanvraag resulteert in een mailnotificatie naar de indiener van de connectieaanvraag.

    • Onderwerp: Connectieaanvraag geaccepteerd.

    • Tekst: Uw aanvraag om applicatie <applicatienaam> toe te voegen aan domein <domeinnaam> is geaccepteerd.

    • Voor de applicatie-domein combinatie zijn de volgende gegevens geregistreerd:

Applicatieinstantie: <naam applicatieinstantie>

Client-Id: <client-id>.

Omgeving: <omgeving>

  • Het weigeren van een connectieaanvraag resulteert in een mailnotificatie naar alle applicatiebeheerders die vastgelegd zijn bij de applicatie.

    • Onderwerp: Connectieaanvraag geweigerd

    • Tekst: Uw aanvraag om applicatie <applicatienaam> toe te voegen aan domein <domeinnaam> op <omgeving> is afgewezen.

Voor deze functionaliteit is de omgeving uitgebreid met een mailserver.

...

De applicatieinstantie bevat (minimaal) de volgende gegevens/attributen:

  • Een unieke client identifier (Client ID) (format: UUID).

  • Een (leesbare) naam (format: <applicatienaam>@<domeinnaam>, max 128 karakters, wordt automatisch gegenereerd en is niet wijzigbaar).

  • Een (logische) naam. (Deze is aanwezig, maar niet zichtbaar op het scherm.)

  • De JWKS uri. Is een unieke resource identifier dat refereert naar een applicatie JSON Web Key Set bestand dat (roulerende) publieke sleutels van de applicatie bevat.

  • De redirect_uri(s). Max. 3 uri's mogelijk. Is optioneel veld, maar moet wel ingevuld worden om een SHOF launch uit te kunnen voeren.

  • De domeinnaam.

  • De applicatienaam.

  • De rol.

Het overzicht van applicatieinstanties bevat ook een datum van aanmaken, maar dit is geen onderdeel van het detailscherm.

...

In het domein is het mogelijk om de resource AuditEvent in te zien. Iedere beheerder die toegang heeft tot het domein, kan de AuditEvents inzien. Ook als het domein de status 'afgesloten' heeft.

Algemeen:

  • Het overzichtsscherm wordt standaard met een lege respons getoond en pas gevuld na het invoeren van een zoekactie.

  • Er wordt maximaal 100 resultaten getoond op het scherm, met vervolgschermen tot maximaal 1000 resultaten. Levert de zoekopdracht meer dan 1000 resultaten op dan verschijnt een melding om de zoekfilters te verfijnen.

  • Sortering is standaard op datum van nieuw naar oud.

  • Het zoeken moet, net als elke GET actie, een AuditEvent aanmaken.

  • Het moet mogelijk zijn om van de resultaten van de zoekopdracht een csv bestand te maken. (Dit bevat dus alleen de informatie van het overzicht, niet van de details. Bevat dus max. 1000 records.)

Het overzichtsscherm logging bevat de volgende gegevens boven de kolommen:

  • DeviceId (resource-origin)

  • Datum (lastUpdated)

  • RequestId

  • TraceId

  • CorrelationId

  • Actie (type)

  • Resultaat (outcome)

Het detailscherm toont de hele resource AuditEvent in Json format.

...

Zoeken van de logging is mogelijk op:

  • DeviceId (resource-origin), zodat op applicatieinstantie gefilterd kan worden.

  • Datum/tijd, vanaf - t/m (lastUpdated). Verplicht veld van maken i.v.m. performance. Standaard datum van vandaag t/m vandaag vullen.

  • RequestId.

  • TraceId.

  • CorrelationId.

  • Actie (type), zodat op type gefilterd kan worden.

  • Resultaat (outcome), zodat bijvoorbeeld alleen op fouten (<>0) gefilterd kan worden.

Logging - Beheerschermen

De applicatie Beheerschermen bevat een loggingscherm van de acties die op de beheerschermen worden uitgevoerd. Dit betreft het inloggen en uitloggen van beheerders, en alle create, update en delete acties die op de gegevens in de beheerschermen worden uitgevoerd.

Algemeen:

  • Het overzichtsscherm wordt standaard met een lege respons getoond en pas gevuld na het invoeren van een zoekactie.

  • Sortering is standaard op datum van nieuw naar oud.

Het overzichtsscherm logging bevat de volgende gegevens boven de kolommen:

  • Datum/tijd.

  • Resultaat.

  • Gebruiker.

  • Actie.

Het detailscherm toont de hele logging in Json format. De inhoud is afhankelijk van het soort logging. Wachtwoorden worden niet getoond in de logging. Deze worden vervangen door asterisken “*”.

Zoeken van de logging is mogelijk op:

  • Datum/tijd, vanaf - t/m. Verplicht veld i.v.m. performance. Standaard datum van vandaag t/m vandaag vullen.

  • Resultaat. Er kan geselecteerd worden uit een lijst, waarin gekozen kan worden voor logging van acties die goed gegaan zijn, of acties die fout gegaan zijn.

  • Gebruiker. Vrij veld waar de user van de beheerder ingevuld kan worden. De volledige user moet ingevoerd worden.

  • Actie. Er kan geselecteerd worden uit een lijst met verschillende activiteiten.

N.B. De logging van foute inlog door beheerders is niet opgenomen in de logging van de Beheerschermen. Dit wordt gelogd in de tooling van KT Support.

Servicelog Koppeltaal

Er is een Servicelog Koppeltaal (tabel kt2_mgmt_log.ServerEvents). Hierin wordt o.a. vastgelegd welke
mogelijke emailnotificaties worden verzonden. Het record wordt vastgelegd met een TimeStamp. Zie
onderstaand voorbeeld. Verder worden de volgende gegevens gelogd:

By fout: "Email Notificatie " _templateName _ " naar gebruiker " _ username _ " failed" met fout

Bij goed "Email Notificatie " _templateName _ " naar gebruiker " _ username _ " successvol"

Een notificatie voor een beëindigde gebruiker (verlopen einddatum en/of inactief) wordt niet verzonden en krijgt de melding:

FOUT #5001: User is inactive.
Het is voor de logging niet vast te stellen of de email ook daadwerkelijk aankomt (door bijv. foute
emailadres).
De Servicelog is niet benaderbaar vanuit de Beheerschermen.

Voorbeeld:

...

BEB - Eisen (en aanbevelingen) Beheren van entiteiten en bevoegdheden

#

Eis

001

Naam applicatierol is uniek en niet wijzigbaar.

002

Een applicatierol bevat een verzameling autorisatieregels.

003

Autorisatieregels: Per resource wordt vastgelegd of CRUD actie toegestaan is.

004

Autorisatieregels: Per RUD actie wordt vastgelegd of dit alleen mag voor 'eigen' resource (OWN) of voor alle van deze resources in domein (ALL).

005

Beheer applicatierollen is onafhankelijk van domein of applicatie uit te voeren.

006

Alleen de systeembeheerder heeft rechten om rollen te beheren.

007

Domein bevat unieke identifier.

008

Domein bevat de genoemde attributen met restricties.

009

Alleen de systeembeheerder heeft rechten om een domein aan te maken.

010

Applicatie bevat unieke identifier.

011

Applicatie bevat de genoemde attributen en restricties.

012

Alleen de systeembeheerder heeft rechten om een applicatie aan te maken.

013

De applicatiebeheerder (of systeembeheerder) kan een connectieaanvraag indienen van de applicatie. De applicatie mag dan niet de status 'Aanmaken' of 'Afgesloten' hebben.

014

De domeinbeheerder (of systeembeheerder) kan een connectieaanvraag accepteren/weigeren.

015

Geaccepteerde connectieaanvraag wordt een applicatieinstantie binnen het domein en krijgt daarmee ook een ClientId en Device.

016

Van een geweigerde connectieaanvraag wordt nooit een applicatieinstantie gemaakt, en kan daarna ook niet meer geaccepteerd worden.

017

In de connectieaanvraag kan slechts één rol, die vastgelegd is bij de applicatie, gekozen worden.

018

Het is voor een applicatie niet mogelijk meer dan één connectieaanvraag uit te voeren naar hetzelfde domein.

019

Het is te adviseren om een bereikbaarheids controle uit te voeren van de jwks uri.

020

De connectieaanvraag bevat genoemde attributen en restricties.

021

Proces van connectieaanvraag bevat genoemde mailnotificaties.

022

De applicatieinstantie bevat genoemde attributen en restricties.

023

Loggingscherm (view AuditEvents) moet de elementen bevatten voor zoeken zoals beschreven en de beschreven elementen ook tonen boven de kolommen in het overzicht.

024

Loggingscherm (view AuditEvents): Zoekacties kunnen worden uitgevoerd op beschreven elementen.

025

Loggingscherm (view AuditEvents): Zoekresultaten per scherm is max. 100, in totaal max. 1000 (in vervolgschermen). Bij meer dan 1000 zoekresultaten verschijnt melding om zoekfilter te verfijnen.

026

Loggingscherm (view AuditEvents): Elke zoekactie moet resulteren in een nieuwe AuditEvent.

027

Loggingscherm (view AuditEvents): Het overzicht van resultaten kan geëxporteerd worden naar een csv bestand.

028

Loggingscherm (view AuditEvents), optioneel: Mogelijkheid om te selecteren/filteren om logregels te archiveren. (Specificaties moeten hiervoor nog uitgewerkt worden.)

029

Logging (beheerschermen): Elke wijziging die via een beheerscherm wordt doorgevoerd moet door het systeem gelogd worden (wie, wanneer, wat).

030

Logging (beheerschermen): Voor statuswijzigingen moet min. het volgende worden vastgelegd: reden, datum/tijdstip, rol en naam van uitvoerend persoon.

031

Voor elke entiteit (record), die onder beheer valt, zoals rollen, domeinen, applicaties, applicatieinstanties, enz., wordt door het (beheer) systeem een uniek logische id aangemaakt en uitgegeven, om de entiteit uniek te kunnen identificeren.

032

Een uitgegeven logische id is NOOIT en te nimmer wijzigbaar.

033

Bij verwijderen van gegeven middels 'prullenbak' wordt altijd om een extra bevestiging gevraagd.

{}