Toegangscontrole: Raadplegen van VerzoekAanbieder en Verzoek door de aanbieder (UCLR-0002)¶
Beschrijving van de toegangscontrole door de Policy Decision Point (PDP) en indien van toepassing Policy Information Point (PIP).
N.b. Het valideren van de Acces-token door de PEP is geen onderdeel van deze beschrijving.
Toegangscontrole PDP¶
Subject¶
- Entiteit: Aanbieder
- Kenmerk: In bezit van een access-token met daarin de eigen
agbcode.
Action¶
- Type:
raadplegen(read) - Omschrijving: Uitvoeren van GraphQL-query QLR-0002-ZA.graphqlgraphql op het Leveringsregister door een aanbieder.
Resource¶
- Type:
Leveringsregister - ID:
verzoekAanbiederID - Beperking: Alleen toegang tot gegevens die horen bij VerzoekAanbieder waarin de aanbieder is opgenomen.
- Inhoud: Alleen de nodes VerzoekAanbieder, Verzoek en de gerelateerde Levering en Client die horen bij de opgevraagde VerzoekAanbieder mogen worden opgevraagd.
Context¶
- Query-parameters: vereist: Het
verzoekAanbiederIDen deagbcodemoeten aanwezig zijn in de query - Toegangsvoorwaarde: Er is alleen toegang als aan alle volgende voorwaarden is voldaan:
- De parameter
verzoekAanbiederIDis aanwezig in de query; - De parameter
agbcodeis aanwezig in de query; - De acces-token bevat een geldige
agbcodevan de aanbieder; - De in de query meegegeven
agbcodekomt overeen met deagbcodein de acces-token
- De parameter
Resultaat¶
Toegang tot het Leveringsregister via query QLR-0002-ZA.graphql is alleen toegestaan als: - Parameter
verzoekAanbiederIDis meegegeven in de query; - Parameteragbcodeis meegegeven in de query; - De acces-token bevat een geldigeagbcode; - De in de query meegegevenagbcodekomt overeen met deagbcodein de acces-token.Als aan alle voorwaarden i voldaan, mogen de nodes
VerzoekAanbieder,Verzoek,LeveringenClientdie horen bij ditverzoekAanbiederIDworden opgevraagd.
Toegangscontrole-flows Aanbieder: QLR-0002-ZA¶
Beschrijving van het autorisatieproces door de PEP.
Schematisch:¶
---
config:
theme: neutral
look: classic
---
stateDiagram
direction TB
[*] --> indienen
indienen --> validerenT
state PEP {
direction TB
validerenT --> validerenR: access-token is geldig
state PDP {
validerenR --> checkInput01
state check01 <<choice>>
checkInput01 --> check01
check01 --> checkInput02:ja
check01 --> error:nee
state check02 <<choice>>
checkInput02 --> check02
check02 --> error:nee
check02 --> access:ja
error
access
}
}
error --> [*]
access --> resource
resource --> [*]
PEP:Autorisatie controle PEP
PDP:Toegangscontrole PDP
indienen: Ontvang QLR-0002-ZA + Access-token
validerenT: Valideer access token
validerenR: Valideer Request
checkInput01:Check input aanwezig?
checkInput01:- verzoekAanbiederID
checkInput01:- aanbieder
checkInput02:Check
checkInput02:input aanbieder matcht
checkInput02: waarde in Access-token
error:geen toegang tot Resource
access:toegang tot Resource
resource: Query mag door naar Leveringsregister
style validerenR,checkInput01,checkInput02 fill:#FFD600
style valideer2 fill:#C8E6C9
style error fill:#D50000
style access,Query,resource fill:#00C853
style indienen fill:#BBDEFB,color:none
| # | Toelichting |
|---|---|
| 1. | Ontvangst GraphQL-request + access-token door PEP |
| 2. | De PEP valideert de access-token en geeft na goedkeur het request door aan de PDP |
| 3. | De PDP controleert op: 1. Of het request voldoet aan de template en er geen ongeoorloofde gegevens worden opgevraagd. 2. Aanwezigheid van de verplichte parameters in het request; 3. Of de agbcode in request overeenkomt met de waarde in de access-token;Is aan alle voorwaarden voldaan? - Ja → Ga verder naar stap 4 - Nee → Einde proces (geen toegang.) |
| 4. | De aanbieder krijgt toegang tot het Leveringsregister. |
| 5. | Einde |