...
- Registreren: Bij het toetreden van een domein wordt voor elke applicatie-instantie een
Device
resource aangemaakt. - Authenticeren: Alle communicatie met de FHIR resource service vereist een Bearer token. Dit token bevat (indirect) informatie over welke
Device
dit request uitvoert. - Eigenaarschap: Alle resources die aangemaakt worden op de FHIR resource service, krijgen automatisch een
resource-origin
extensie. Deze extensie refereert naar de gekoppeldeDevice
resource van de geauthenticeerde applicatie-instantie. - Autoriseren: Alle CRUD-acties die plaatsvinden op een resource, worden - aan de hand van de
resource-origin
extensie en de rol van de geauthenticeerde applicatie-instantie - geautoriseerd.****
Rollen en permissies
Het autorisatiemodel is een op RBAC-gebaseerd model. Een applicatie-instantie krijgt maximaal één rol toegekend vanuit het domeinbeheer stelselcomponent. Deze rol is gekoppeld aan een set van permissies. Elke permissie bevat de volgende informatie:
Resource: Een permissie is altijd gekoppeld aan een enkele FHIR Domain Resource.
Actie: Is van toepassing op een Create (C), Read (R), Update (U) of Delete (D) actie.
Scope: Heeft één van de volgende scopes:
Scope Beschrijving OWN De permissie is enkel van toepassing op resources waarvan de resource-origin overeenkomt met de geauthenticeerde applicatie. GRANTED De permissie is van toepassing op resources waarvan de resource-origin overeenkomt met één van de geselecteerde applicatie(s). ALL De permissie is van toepassing op alle resources in het domein.
Registreren van Devices
Wanneer een applicatie een domein toetreedt, krijgt deze applicatie-instantie een client_id
toegekend. Het domeinbeheer stelselcomponent heeft de verantwoordelijkheid om een Device
resource aan te maken op de FHIR resource service. Deze Device
MOET de volgende identifier
bevatten:
...
Het toevoegen van search narrowing kan als gevolg hebben dat de FHIR resource service een Subscription
afvuurt terwijl een applicatie-instantie daar geen toegang toe heeft. Bij het aanmaken van Subscriptions
dient dezelfde logica toegepast te worden als bij search narrowing, alleen dan op de Subscription.criteria
.
Eisen
Eis | Auth server | Domeinbeheer | Applicatie-instantie | FHIR Resource service |
---|---|---|---|---|
Elk access_token MOET een azp veld hebben waar de client_id van de applicatie-instantie in staat. | X | |||
De permissies gekoppeld aan de rol van een applicatie-instantie MOETEN meegegeven worden als scope waarde van de access_token. | X | |||
Er MOET een Device resource aangemaakt worden voor elke applicatie-instantie op het moment dat een domein wordt toegetreden. | X | |||
De client_id MOET uniek zijn over alle Devices. | X | |||
De aangemaakte Device MOET een identifier bevatten die refereert naar de toegekende client_id van de applicatie-instantie. Deze identifier MOET als system de volgende system hebben: https://koppeltaal.nl/client_id. | X | |||
Een applicatie-instantie MOET één rol bevatten. | X | |||
Rollen en permissies MOETEN beschikbaar gesteld worden op het niveau van applicatie-instanties. | X | |||
Elke CRUD request MOET een access_token bevatten. | X | |||
Er mag GEEN POST [base] (batch/transactie) uitgevoerd worden met Bundles. | X | X | ||
Er mag GEEN gebruik gemaakt worden van de _include , _revinclude, _contained of _containedType search parameters. | X | X | ||
De autorisatie-flow MOET uitgevoerd worden voor elke CRUD request | X | |||
De resource-origin extensie MOET toegevoegd worden bij het aanmaken van een Resource. | X | |||
De resource-origin extensie MOET gezet worden bij een PUT indien deze niet aangeleverd wordt. | X | |||
De resource-origin MAG meegegeven worden met een PUT, maar mag NIET veranderd zijn. | X | |||
Er MOET search narrowing toegepast worden. | X | |||
Er MOET subscription narrowing toegepast worden. | X |