From 845bd85e0ec1d7b8d5c80f5ef707982df0cc1500 Mon Sep 17 00:00:00 2001 From: Christian Rehm Date: Fri, 9 Feb 2024 11:40:26 +0100 Subject: [PATCH 1/5] chore(concept): #568 create concept --- .../#568-policy-management.md | 449 ++++++++++++++++++ 1 file changed, 449 insertions(+) create mode 100644 docs/concept/#568-policy-management/#568-policy-management.md diff --git a/docs/concept/#568-policy-management/#568-policy-management.md b/docs/concept/#568-policy-management/#568-policy-management.md new file mode 100644 index 0000000000..8df7a0400c --- /dev/null +++ b/docs/concept/#568-policy-management/#568-policy-management.md @@ -0,0 +1,449 @@ +# #568 Policy management + +| Key | Value | +|---------------|--------------------------------------------------------------------------| +| Autor | @ds-crehm | +| Creation date | 08.02.2024 | +| Ticket Id | [#568](https://github.com/eclipse-tractusx/traceability-foss/issues/568) | +| State | WIP | + +# Table of Contents +1. [Overview](#overview) +2. [Summary](#summary) +3. [Problem Statement](#problem-statement) +4. [Requirements](#requirements) +5. [NFR](#nfr) +6. [Out of scope](#out-of-scope) +7. [Assumptions](#assumptions) +8. [Concept](#concept) +9. [Glossary](#glossary) +10. [References](#references) +11. [Additional Details](#additional-details) + + +# Overview +In the Catena-X ecosystem every partner can potentially communicate to every other connected partner. +To remain in control of their own data, each partner can use policies to place conditions on the access of their data. +In order to use these policies they must first be created and attached to the assets of a partner. + + +# Summary +It must be possible for an Administrator of Trace-X to create, read, update and delete policies, which are then stored in the IRS policy store. + +# Problem Statement + +# Requirements +- [ ] Frontend UI is implemented (see https://miro.com/app/board/uXjVO5JVoho=/?moveToWidget=3458764577267183586&cot=14) +- [ ] CRUD operations for policies are implemented +- [ ] Communication to IRS policy store is implemented + +# NFR + +# Out of scope +- Policies used for sending and receiving notifications +- Policies used to define which assets to be consumed over the IRS + +# Assumptions + +# Concept + +## CREATE policies + +| | | +|-------------|------------------| +| HTTP method | POST | +| Endpoint | /tracex/policies | +| Parameters | - | + +### Responses + +| Code | Definition | +|------|-------------------------------------------| +| 201 | Policy created | +| 400 | Policy registration failed | +| 401 | No valid authentication credentials found | +| 403 | Authorization refused by server | + +#### Examples +**201** +*No response body* + +**400** +```json +{ + "error": "Bad request", + "messages": [ + "BadRequestException" + ], + "statusCode": "400 BAD_REQUEST" +} +``` +___ +**401** +```json +{ + "error": "Unauthorized", + "messages": [ + "UnauthorizedException" + ], + "statusCode": "401 UNAUTHORIZED" +} +``` +___ +**403** +```json +{ + "error": "Forbidden", + "messages": [ + "ForbiddenException" + ], + "statusCode": "403 FORBIDDEN" +} +``` +___ +**Creation of policies:** +```mermaid +sequenceDiagram + participant FE + participant BE + participant IRSLib + participant IRSPolicyStore + participant DB + FE->>BE: POST /tracex/policies + activate BE + alt Valid policy + BE->>IRSLib: Verify policy + activate IRSLib + IRSLib-->>BE: Success + deactivate IRSLib + BE->>IRSPolicyStore: POST /irs/policies + activate IRSPolicyStore + IRSPolicyStore-->>BE: Success + deactivate IRSPolicyStore + BE->>DB: Save policy + BE-->>FE: 200 Success + else Invalid policy + BE->>IRSLib: Verify policy + activate IRSLib + IRSLib-->>BE: Error + deactivate IRSLib + BE-->>FE: 400 Bad request + deactivate BE + end +``` + +## GET policies + +| | | +|-------------|------------------| +| HTTP method | GET | +| Endpoint | /tracex/policies | +| Parameters | - | + +### Responses + +| Code | Definition | +|------|-------------------------------------------| +| 200 | Returns all policies | +| 401 | No valid authentication credentials found | +| 403 | Authorization refused by server | + +#### Examples +**200** +```json +{ + "payload": [ + { + "id": "8231-dfg-d234324-324-324", + "createdOn": "2023-05-17T16:42:00Z", + "validUntil": "2023-05-24T12:57:29Z", + "permissions": [ + { + policytype: "USE", + "constraints": { + or [ + { + "leftOperand": "Membership", + "operator: eq + "rightOperand": "active" + }, + { + "leftOperand": "FrameworkAgreement.traceability", + "operator: in + "rightOperand": ["active"] + }, + { + + "leftOperand": "PURPOSE", + "operator: eq + "rightOperand": "ID 3.1 Trace" + } + ] + } + } + ] + }, + { + "id": "9231-dfg-d2654324-764-544", + "createdOn": "2024-01-05T14:29:02Z", + "validUntil": "2024-04-29T09:34:44Z", + "permissions": [ + { + policytype: "USE", + "constraints": { + or [ + { + "leftOperand": "Membership", + "operator: eq + "rightOperand": "active" + } + ] + } + } + ] + } + ] +} +``` +___ +**401** +```json +{ + "error": "Unauthorized", + "messages": [ + "UnauthorizedException" + ], + "statusCode": "401 UNAUTHORIZED" +} +``` +___ +**403** +```json +{ + "error": "Forbidden", + "messages": [ + "ForbiddenException" + ], + "statusCode": "403 FORBIDDEN" +} +``` +___ +**Getting policies:** +```mermaid +sequenceDiagram + participant FE + participant BE + participant DB + FE->>BE: GET /tracex/policies + activate BE + BE->>DB: GET /tracex/policies + activate DB + DB-->>BE: Policies (JSON) + deactivate DB + BE-->>FE: Policies (JSON) + deactivate BE +``` + +## UPDATE policies + +| | | +|-------------|------------------------------| +| HTTP method | PUT | +| Endpoint | /tracex/policies/{policy_id} | +| Parameters | policy_id (required string) | + +### Request body +#### Example +```json +{ + "id": "8231-dfg-d234324-324-324", + "createdOn": "2023-05-17T16:42:00Z", + "validUntil": "2023-05-24T12:57:29Z", + "permissions": [ + { + policytype: "USE", + "constraints": { + or [ + { + "leftOperand": "Membership", + "operator: eq + "rightOperand": "active" + }, + { + "leftOperand": "FrameworkAgreement.traceability", + "operator: in + "rightOperand": ["active"] + }, + { + + "leftOperand": "PURPOSE", + "operator: eq + "rightOperand": "ID 3.1 Trace" + } + ] + } + } + ] +} +``` + +### Responses + +| Code | Definition | +|------|-------------------------------------------| +| 200 | Policy updated | +| 400 | Policy update failed | +| 401 | No valid authentication credentials found | +| 403 | Authorization refused by server | + +#### Examples +**200** +*No response body* + +**400** +```json +{ + "error": "Bad request", + "messages": [ + "BadRequestException" + ], + "statusCode": "400 BAD_REQUEST" +} +``` +___ +**401** +```json +{ + "error": "Unauthorized", + "messages": [ + "UnauthorizedException" + ], + "statusCode": "401 UNAUTHORIZED" +} +``` +___ +**403** +```json +{ + "error": "Forbidden", + "messages": [ + "ForbiddenException" + ], + "statusCode": "403 FORBIDDEN" +} +``` +___ +**Updating policies:** +```mermaid +sequenceDiagram + participant FE + participant BE + participant IRSLib + participant IRSPolicyStore + participant DB + FE->>BE: PUT tracex/policy (&policy_id="ABC123") + activate BE + alt Valid policy + BE->>IRSLib: Verify policy + activate IRSLib + IRSLib-->>BE: Success + deactivate IRSLib + BE->>IRSPolicyStore: PUT /irs/policy (&policy_id="ABC123") + activate IRSPolicyStore + IRSPolicyStore-->>BE: Success + deactivate IRSPolicyStore + BE->>DB: Update policy + BE-->>FE: 200 Success + else Invalid policy + BE->>IRSLib: Verify policy + activate IRSLib + IRSLib-->>BE: Error + deactivate IRSLib + BE-->>FE: 400 Bad request + deactivate BE + end +``` + +## DELETE policies + +| | | +|-------------|------------------------------| +| HTTP method | DELETE | +| Endpoint | /tracex/policies/{policy_id} | +| Parameters | policy_id (required string) | + +### Responses + +| Code | Definition | +|------|-------------------------------------------| +| 200 | Policy deleted | +| 400 | Policy deletion failed | +| 401 | No valid authentication credentials found | +| 403 | Authorization refused by server | + +#### Examples +**200** +*No response body* + +**400** +```json +{ + "error": "Bad request", + "messages": [ + "BadRequestException" + ], + "statusCode": "400 BAD_REQUEST" +} +``` +___ +**401** +```json +{ + "error": "Unauthorized", + "messages": [ + "UnauthorizedException" + ], + "statusCode": "401 UNAUTHORIZED" +} +``` +___ +**403** +```json +{ + "error": "Forbidden", + "messages": [ + "ForbiddenException" + ], + "statusCode": "403 FORBIDDEN" +} +``` +___ +**Deleting policies:** +```mermaid +sequenceDiagram + participant FE + participant BE + participant IRSPolicyStore + participant DB + FE->>BE: DELETE /tracex/policy (&policy_id="ABC123") + activate BE + BE->>IRSPolicyStore: DELETE /irs/policy (&policy_id="ABC123") + activate IRSPolicyStore + IRSPolicyStore-->>BE: Success + deactivate IRSPolicyStore + BE->>DB: Delete policy + BE-->>FE: 200 Success + deactivate BE +``` + +# Glossary + +| Abbreviation | Name | Description | +|--------------|------|---------------| +| | | | +| | | | + +# References + +# Additional Details +Given the dynamic nature of ongoing development, there might be variations between the conceptualization and the current implementation. For the latest status, refer to the documentation. From ee398127c2db811903f51facedd252c58d6626ef Mon Sep 17 00:00:00 2001 From: Christian Rehm Date: Tue, 13 Feb 2024 09:59:24 +0100 Subject: [PATCH 2/5] chore(concept): #568 add section --- .../#568-policy-management.md | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/docs/concept/#568-policy-management/#568-policy-management.md b/docs/concept/#568-policy-management/#568-policy-management.md index 8df7a0400c..f9abbef139 100644 --- a/docs/concept/#568-policy-management/#568-policy-management.md +++ b/docs/concept/#568-policy-management/#568-policy-management.md @@ -36,12 +36,12 @@ It must be possible for an Administrator of Trace-X to create, read, update and - [ ] Frontend UI is implemented (see https://miro.com/app/board/uXjVO5JVoho=/?moveToWidget=3458764577267183586&cot=14) - [ ] CRUD operations for policies are implemented - [ ] Communication to IRS policy store is implemented +- [ ] Policies are used when sending notifications # NFR # Out of scope -- Policies used for sending and receiving notifications -- Policies used to define which assets to be consumed over the IRS +- Policies used to define which assets to be consumed over the IRS -> IRS team # Assumptions @@ -436,6 +436,41 @@ sequenceDiagram deactivate BE ``` +## Sending notifications + +```mermaid +sequenceDiagram + participant FE + participant BE + participant EDCDiscoveryService + participant IRSPolicyStore + FE->>BE: Create notification + activate BE + BE-->>FE: Notification created + deactivate BE + FE->>BE: Send notification + activate BE + BE->>EDCDiscoveryService: GET BPN + activate EDCDiscoveryService + EDCDiscoveryService-->>BE: BPN + deactivate EDCDiscoveryService + BE->>IRSPolicyStore: GET /irs/policies (BPN) + activate IRSPolicyStore + IRSPolicyStore-->>BE: Policies + deactivate IRSPolicyStore + BE->>BE: Verify if notification may be sent + alt Notification may be sent + BE->>EDC: Send notification + activate EDC + EDC-->>BE: Notification sent + deactivate EDC + BE-->>FE: Notification sent (Status = "Sent") + else Notification may not be sent + BE-->>FE: PolicyException (Status = "Exception") + end + deactivate BE +``` + # Glossary | Abbreviation | Name | Description | From 14b4829283f18cbf88365e6b5d40eac87ab1e4bc Mon Sep 17 00:00:00 2001 From: Christian Rehm Date: Mon, 19 Feb 2024 13:50:24 +0100 Subject: [PATCH 3/5] chore(concept): #436 include review suggestions --- .../#568-policy-management.md | 376 ++++++------------ .../send-notification-policy-verification.png | Bin 0 -> 176177 bytes ...send-notification-policy-verification.puml | 106 +++++ 3 files changed, 236 insertions(+), 246 deletions(-) create mode 100644 docs/concept/#568-policy-management/send-notification-policy-verification.png create mode 100644 docs/concept/#568-policy-management/send-notification-policy-verification.puml diff --git a/docs/concept/#568-policy-management/#568-policy-management.md b/docs/concept/#568-policy-management/#568-policy-management.md index f9abbef139..e35a31e8f8 100644 --- a/docs/concept/#568-policy-management/#568-policy-management.md +++ b/docs/concept/#568-policy-management/#568-policy-management.md @@ -49,11 +49,48 @@ It must be possible for an Administrator of Trace-X to create, read, update and ## CREATE policies -| | | -|-------------|------------------| -| HTTP method | POST | -| Endpoint | /tracex/policies | -| Parameters | - | +| | | +|-------------|---------------| +| HTTP method | POST | +| Endpoint | /api/policies | +| Parameters | - | + +### Request body +#### Example +```json +[ + { + "createdOn": "2024-02-19T12:48:23.786Z", + "permissions": [ + { + "action": "USE", + "constraint": { + "and": [ + { + "leftOperand": "string", + "odrl:rightOperand": "string", + "operator": { + "@id": "odrl:eq" + } + } + ], + "or": [ + { + "leftOperand": "string", + "odrl:rightOperand": "string", + "operator": { + "@id": "odrl:eq" + } + } + ] + } + } + ], + "policyId": "f253718e-a270-4367-901b-9d50d9bd8462", + "validUntil": "2024-02-19T12:48:23.786Z" + } +] +``` ### Responses @@ -73,60 +110,30 @@ It must be possible for an Administrator of Trace-X to create, read, update and { "error": "Bad request", "messages": [ - "BadRequestException" + "createdOn parameter value invalid" ], "statusCode": "400 BAD_REQUEST" } ``` ___ -**401** -```json -{ - "error": "Unauthorized", - "messages": [ - "UnauthorizedException" - ], - "statusCode": "401 UNAUTHORIZED" -} -``` -___ -**403** -```json -{ - "error": "Forbidden", - "messages": [ - "ForbiddenException" - ], - "statusCode": "403 FORBIDDEN" -} -``` -___ **Creation of policies:** ```mermaid sequenceDiagram participant FE participant BE - participant IRSLib participant IRSPolicyStore participant DB - FE->>BE: POST /tracex/policies + FE->>BE: POST /api/policies activate BE + BE->>BE: Verify policy alt Valid policy - BE->>IRSLib: Verify policy - activate IRSLib - IRSLib-->>BE: Success - deactivate IRSLib BE->>IRSPolicyStore: POST /irs/policies activate IRSPolicyStore + IRSPolicyStore->>DB: Save policy IRSPolicyStore-->>BE: Success deactivate IRSPolicyStore - BE->>DB: Save policy BE-->>FE: 200 Success else Invalid policy - BE->>IRSLib: Verify policy - activate IRSLib - IRSLib-->>BE: Error - deactivate IRSLib BE-->>FE: 400 Bad request deactivate BE end @@ -134,11 +141,11 @@ sequenceDiagram ## GET policies -| | | -|-------------|------------------| -| HTTP method | GET | -| Endpoint | /tracex/policies | -| Parameters | - | +| | | +|-------------|---------------| +| HTTP method | GET | +| Endpoint | /api/policies | +| Parameters | - | ### Responses @@ -151,81 +158,38 @@ sequenceDiagram #### Examples **200** ```json -{ - "payload": [ - { - "id": "8231-dfg-d234324-324-324", - "createdOn": "2023-05-17T16:42:00Z", - "validUntil": "2023-05-24T12:57:29Z", - "permissions": [ - { - policytype: "USE", - "constraints": { - or [ - { - "leftOperand": "Membership", - "operator: eq - "rightOperand": "active" - }, - { - "leftOperand": "FrameworkAgreement.traceability", - "operator: in - "rightOperand": ["active"] - }, - { - - "leftOperand": "PURPOSE", - "operator: eq - "rightOperand": "ID 3.1 Trace" +[ + { + "createdOn": "2024-02-19T12:48:23.786Z", + "permissions": [ + { + "action": "USE", + "constraint": { + "and": [ + { + "leftOperand": "string", + "odrl:rightOperand": "string", + "operator": { + "@id": "odrl:eq" + } + } + ], + "or": [ + { + "leftOperand": "string", + "odrl:rightOperand": "string", + "operator": { + "@id": "odrl:eq" } - ] - } + } + ] } - ] - }, - { - "id": "9231-dfg-d2654324-764-544", - "createdOn": "2024-01-05T14:29:02Z", - "validUntil": "2024-04-29T09:34:44Z", - "permissions": [ - { - policytype: "USE", - "constraints": { - or [ - { - "leftOperand": "Membership", - "operator: eq - "rightOperand": "active" - } - ] } - } - ] - } - ] -} -``` -___ -**401** -```json -{ - "error": "Unauthorized", - "messages": [ - "UnauthorizedException" - ], - "statusCode": "401 UNAUTHORIZED" -} -``` -___ -**403** -```json -{ - "error": "Forbidden", - "messages": [ - "ForbiddenException" - ], - "statusCode": "403 FORBIDDEN" -} + ], + "policyId": "f253718e-a270-4367-901b-9d50d9bd8462", + "validUntil": "2024-02-19T12:48:23.786Z" + } +] ``` ___ **Getting policies:** @@ -234,9 +198,9 @@ sequenceDiagram participant FE participant BE participant DB - FE->>BE: GET /tracex/policies + FE->>BE: GET /api/policies activate BE - BE->>DB: GET /tracex/policies + BE->>DB: GET /api/policies activate DB DB-->>BE: Policies (JSON) deactivate DB @@ -246,45 +210,47 @@ sequenceDiagram ## UPDATE policies -| | | -|-------------|------------------------------| -| HTTP method | PUT | -| Endpoint | /tracex/policies/{policy_id} | -| Parameters | policy_id (required string) | +| | | +|-------------|-----------------------------| +| HTTP method | PUT | +| Endpoint | /api/policies/{policy_id} | +| Parameters | policy_id (required string) | ### Request body #### Example ```json -{ - "id": "8231-dfg-d234324-324-324", - "createdOn": "2023-05-17T16:42:00Z", - "validUntil": "2023-05-24T12:57:29Z", - "permissions": [ - { - policytype: "USE", - "constraints": { - or [ - { - "leftOperand": "Membership", - "operator: eq - "rightOperand": "active" - }, - { - "leftOperand": "FrameworkAgreement.traceability", - "operator: in - "rightOperand": ["active"] - }, - { - - "leftOperand": "PURPOSE", - "operator: eq - "rightOperand": "ID 3.1 Trace" - } - ] +[ + { + "createdOn": "2024-02-19T12:48:23.786Z", + "permissions": [ + { + "action": "USE", + "constraint": { + "and": [ + { + "leftOperand": "string", + "odrl:rightOperand": "string", + "operator": { + "@id": "odrl:eq" + } + } + ], + "or": [ + { + "leftOperand": "string", + "odrl:rightOperand": "string", + "operator": { + "@id": "odrl:eq" + } + } + ] + } } - } - ] -} + ], + "policyId": "f253718e-a270-4367-901b-9d50d9bd8462", + "validUntil": "2024-02-19T12:48:23.786Z" + } +] ``` ### Responses @@ -305,60 +271,30 @@ sequenceDiagram { "error": "Bad request", "messages": [ - "BadRequestException" + "policytype parameter value invalid" ], "statusCode": "400 BAD_REQUEST" } ``` ___ -**401** -```json -{ - "error": "Unauthorized", - "messages": [ - "UnauthorizedException" - ], - "statusCode": "401 UNAUTHORIZED" -} -``` -___ -**403** -```json -{ - "error": "Forbidden", - "messages": [ - "ForbiddenException" - ], - "statusCode": "403 FORBIDDEN" -} -``` -___ **Updating policies:** ```mermaid sequenceDiagram participant FE participant BE - participant IRSLib participant IRSPolicyStore participant DB FE->>BE: PUT tracex/policy (&policy_id="ABC123") + BE->>BE: Verify policy activate BE alt Valid policy - BE->>IRSLib: Verify policy - activate IRSLib - IRSLib-->>BE: Success - deactivate IRSLib BE->>IRSPolicyStore: PUT /irs/policy (&policy_id="ABC123") activate IRSPolicyStore + IRSPolicyStore->>DB: Update policy IRSPolicyStore-->>BE: Success deactivate IRSPolicyStore - BE->>DB: Update policy BE-->>FE: 200 Success else Invalid policy - BE->>IRSLib: Verify policy - activate IRSLib - IRSLib-->>BE: Error - deactivate IRSLib BE-->>FE: 400 Bad request deactivate BE end @@ -366,11 +302,11 @@ sequenceDiagram ## DELETE policies -| | | -|-------------|------------------------------| -| HTTP method | DELETE | -| Endpoint | /tracex/policies/{policy_id} | -| Parameters | policy_id (required string) | +| | | +|-------------|-----------------------------| +| HTTP method | DELETE | +| Endpoint | /api/policies/{policy_id} | +| Parameters | policy_id (required string) | ### Responses @@ -396,28 +332,6 @@ sequenceDiagram } ``` ___ -**401** -```json -{ - "error": "Unauthorized", - "messages": [ - "UnauthorizedException" - ], - "statusCode": "401 UNAUTHORIZED" -} -``` -___ -**403** -```json -{ - "error": "Forbidden", - "messages": [ - "ForbiddenException" - ], - "statusCode": "403 FORBIDDEN" -} -``` -___ **Deleting policies:** ```mermaid sequenceDiagram @@ -425,51 +339,20 @@ sequenceDiagram participant BE participant IRSPolicyStore participant DB - FE->>BE: DELETE /tracex/policy (&policy_id="ABC123") + FE->>BE: DELETE /api/policy (&policy_id="ABC123") activate BE BE->>IRSPolicyStore: DELETE /irs/policy (&policy_id="ABC123") activate IRSPolicyStore + IRSPolicyStore->>DB: Delete policy IRSPolicyStore-->>BE: Success deactivate IRSPolicyStore - BE->>DB: Delete policy BE-->>FE: 200 Success deactivate BE ``` ## Sending notifications -```mermaid -sequenceDiagram - participant FE - participant BE - participant EDCDiscoveryService - participant IRSPolicyStore - FE->>BE: Create notification - activate BE - BE-->>FE: Notification created - deactivate BE - FE->>BE: Send notification - activate BE - BE->>EDCDiscoveryService: GET BPN - activate EDCDiscoveryService - EDCDiscoveryService-->>BE: BPN - deactivate EDCDiscoveryService - BE->>IRSPolicyStore: GET /irs/policies (BPN) - activate IRSPolicyStore - IRSPolicyStore-->>BE: Policies - deactivate IRSPolicyStore - BE->>BE: Verify if notification may be sent - alt Notification may be sent - BE->>EDC: Send notification - activate EDC - EDC-->>BE: Notification sent - deactivate EDC - BE-->>FE: Notification sent (Status = "Sent") - else Notification may not be sent - BE-->>FE: PolicyException (Status = "Exception") - end - deactivate BE -``` +![send-notification-policy-verification.png](send-notification-policy-verification.png) # Glossary @@ -479,6 +362,7 @@ sequenceDiagram | | | | # References +EDC policy definition: https://github.com/eclipse-tractusx/ssi-docu/blob/main/docs/architecture/cx-3-2/edc/policy.definitions.md # Additional Details Given the dynamic nature of ongoing development, there might be variations between the conceptualization and the current implementation. For the latest status, refer to the documentation. diff --git a/docs/concept/#568-policy-management/send-notification-policy-verification.png b/docs/concept/#568-policy-management/send-notification-policy-verification.png new file mode 100644 index 0000000000000000000000000000000000000000..067819b319eb0f5bb5fdd27572d4e7a675d0157d GIT binary patch literal 176177 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%0AByEkUp^o2@Xm}v_mG85= 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%0AK*cz_yem#X00YjkA86N!% z=;nVs-5=lS-@|(*Tbm7KcH@72N?*>0aRul$Gi=$D8xA;H75jIe*wTkT{rMdWkmZ?# z5~mJv6T8-pRTx9c>kkIfiA&?@hIua zMT2^hE^7$(e-YL|-v@|xb$Ffo=Ze0h{$rqs=72@i$;izgXn^+C<*r=hisTNe0)KKU zN90bW)gm|L#6ck=`jy_=zi5kdRr|$Hjy5O2!17Q~7oE6VoOEXv&5VWXvi{D=7euEg z8vlNu%)Mt~j6=bh{iaQF^6o&heA*oR(hQbzfxrB}&p5De_;| C#Eh{3 literal 0 HcmV?d00001 diff --git a/docs/concept/#568-policy-management/send-notification-policy-verification.puml b/docs/concept/#568-policy-management/send-notification-policy-verification.puml new file mode 100644 index 0000000000..e5052ae015 --- /dev/null +++ b/docs/concept/#568-policy-management/send-notification-policy-verification.puml @@ -0,0 +1,106 @@ +@startuml + +title + ==Send Quality Investigation +end title + +autonumber "[00]" +autoactivate on + +box "Trace-X" +participant "Trace-X Frontend" as TraceX order 0 +participant "Trace-X Backend" as TraceXB order 1 +participant "Trace-X EDC Adapter" as NAdapter order 2 + +participant "EDC" as SEDC order 3 +end box +participant "IRS Policy Store" as PS order 4 +participant "Discovery Service" as DS order 5 +box "Receiver" +participant "EDC" as REDC order 6 +participant "Some (Traceability) App" as TraceApp2 order 7 +end box + +TraceApp2 -> REDC: Create EDC Asset for \n"Quality Investigation Receipt"\nwith ""DataAddress"" as ""HTTP POST"" endpoint +return OK +TraceApp2 -> REDC: Create Access Policy, Usage Policy, Contract Definition +return OK +TraceX -> TraceX: Select suspect child Part(s) / Batch(es) +deactivate TraceX +TraceX -> TraceXB: Create Quality Investigation +TraceXB -> TraceXB: Identify BPN for Suspect Part(s) / Batch(es) +deactivate TraceXB +TraceXB -> TraceXB: Create Notifications separated by BPN\nStatus := CREATED +deactivate TraceXB +TraceXB -> TraceX: Quality Investigation list +deactivate TraceXB +TraceX -> TraceXB: Release Notification(s) +deactivate TraceX +TraceXB -> DS: Resolve EDC Endpoint +rnote right TraceXB +BPN of Receiver +end note +return OK +TraceXB -> PS: Fetch policies for Receiver BPN +activate PS +PS --> TraceXB: Policies +TraceXB -> TraceXB: Verify if notification may be sent +rnote right TraceXB +Verification based on policy constraints +end note +deactivate TraceXB + +alt Notification may be sent +TraceXB -> TraceXB: Update Notification Status\nStatus := SENT +deactivate TraceXB +TraceXB -> NAdapter: Send Notification **Receipt** +rnote right TraceXB +Payload as described in the interface and API specification. +end rnote +NAdapter -> SEDC: Fetch Catalog +SEDC <--> REDC: Fetch Catalog +NAdapter -> NAdapter: Find and Select Contract +rnote right NAdapter +Find the correct contract offer with: + +"asset:prop:notificationtype": "qualityinvestigation", +"asset:prop:notificationmethod": "receive" +end rnote +deactivate NAdapter +NAdapter -> SEDC: Initiate Contract Negotiation +SEDC <--> REDC: Contract Negotiation +NAdapter -> SEDC: Initiate Data Transfer +SEDC <--> REDC: Establish Channel +NAdapter -> SEDC: POST /public/... +rnote right NAdapter +Payload as described in the interface and API specification. +end rnote +SEDC -> REDC: POST /public/... +rnote right SEDC +Payload as described in the interface and API specification. +end rnote +REDC -> TraceApp2: POST /notifications/qualityinvestigations/receive +rnote right REDC +Payload as described in the interface and API specification. +end rnote +rnote right REDC +The http path depends on the DataAddress +in the EDC Data Asset. Thus, it depends on the +(Trace) app. +end rnote +TraceApp2 -->REDC: ""201"" OK +REDC --> SEDC: ""201"" OK +SEDC --> NAdapter: ""201"" OK +NAdapter --> TraceXB: ""201"" OK +TraceXB -> TraceXB: Update Notification Status\nStatus := RECEIVED +deactivate TraceXB +TraceXB -> TraceX: Update Notification Status +deactivate TraceX +else Notification may not be sent +TraceXB -> TraceXB: Update Notification Status\nStatus := EXCEPTION +deactivate TraceXB +TraceXB -> TraceX: Update Notification Status +deactivate TraceXB +deactivate TraceX +end +@enduml From 0ce7e4cd9df6b8f6d756ee037fe413bc98330ee8 Mon Sep 17 00:00:00 2001 From: Christian Rehm Date: Mon, 19 Feb 2024 13:51:06 +0100 Subject: [PATCH 4/5] chore(concept): #436 include review suggestions --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ade097a27..ca5d06c040 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,8 +8,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [UNRELEASED - DD.MM.YYYY] ### Added -- added tombstone icon to parts table and error description in parts detail view +- Added tombstone icon to parts table and error description in parts detail view - Endpoint (assets/import/report/{importJobId}) for retrieving import report +- Added concept #568: Policy management ### Changed - actions/chache bumped from v3 to v4 From b3cb2464f6ffc11b32bfa4cae2bc92c76a48ca78 Mon Sep 17 00:00:00 2001 From: Christian Rehm Date: Tue, 20 Feb 2024 09:12:06 +0100 Subject: [PATCH 5/5] chore(concept): #436 include review suggestions --- .../#568-policy-management.md | 72 +++---------------- 1 file changed, 10 insertions(+), 62 deletions(-) diff --git a/docs/concept/#568-policy-management/#568-policy-management.md b/docs/concept/#568-policy-management/#568-policy-management.md index e35a31e8f8..3151c0dc6d 100644 --- a/docs/concept/#568-policy-management/#568-policy-management.md +++ b/docs/concept/#568-policy-management/#568-policy-management.md @@ -10,41 +10,30 @@ # Table of Contents 1. [Overview](#overview) 2. [Summary](#summary) -3. [Problem Statement](#problem-statement) -4. [Requirements](#requirements) -5. [NFR](#nfr) -6. [Out of scope](#out-of-scope) -7. [Assumptions](#assumptions) -8. [Concept](#concept) -9. [Glossary](#glossary) -10. [References](#references) -11. [Additional Details](#additional-details) - +3. [Requirements](#requirements) +4. [Out of scope](#out-of-scope) +5. [Concept](#concept) +6. [Glossary](#glossary) +7. [References](#references) +8. [Additional Details](#additional-details) # Overview In the Catena-X ecosystem every partner can potentially communicate to every other connected partner. To remain in control of their own data, each partner can use policies to place conditions on the access of their data. In order to use these policies they must first be created and attached to the assets of a partner. - # Summary It must be possible for an Administrator of Trace-X to create, read, update and delete policies, which are then stored in the IRS policy store. -# Problem Statement - # Requirements - [ ] Frontend UI is implemented (see https://miro.com/app/board/uXjVO5JVoho=/?moveToWidget=3458764577267183586&cot=14) - [ ] CRUD operations for policies are implemented - [ ] Communication to IRS policy store is implemented - [ ] Policies are used when sending notifications -# NFR - # Out of scope - Policies used to define which assets to be consumed over the IRS -> IRS team -# Assumptions - # Concept ## CREATE policies @@ -60,7 +49,6 @@ It must be possible for an Administrator of Trace-X to create, read, update and ```json [ { - "createdOn": "2024-02-19T12:48:23.786Z", "permissions": [ { "action": "USE", @@ -100,21 +88,8 @@ It must be possible for an Administrator of Trace-X to create, read, update and | 400 | Policy registration failed | | 401 | No valid authentication credentials found | | 403 | Authorization refused by server | +| 404 | Not found | -#### Examples -**201** -*No response body* - -**400** -```json -{ - "error": "Bad request", - "messages": [ - "createdOn parameter value invalid" - ], - "statusCode": "400 BAD_REQUEST" -} -``` ___ **Creation of policies:** ```mermaid @@ -154,13 +129,13 @@ sequenceDiagram | 200 | Returns all policies | | 401 | No valid authentication credentials found | | 403 | Authorization refused by server | +| 404 | Not found | #### Examples **200** ```json [ { - "createdOn": "2024-02-19T12:48:23.786Z", "permissions": [ { "action": "USE", @@ -221,7 +196,6 @@ sequenceDiagram ```json [ { - "createdOn": "2024-02-19T12:48:23.786Z", "permissions": [ { "action": "USE", @@ -261,21 +235,8 @@ sequenceDiagram | 400 | Policy update failed | | 401 | No valid authentication credentials found | | 403 | Authorization refused by server | +| 404 | Not found | -#### Examples -**200** -*No response body* - -**400** -```json -{ - "error": "Bad request", - "messages": [ - "policytype parameter value invalid" - ], - "statusCode": "400 BAD_REQUEST" -} -``` ___ **Updating policies:** ```mermaid @@ -316,21 +277,8 @@ sequenceDiagram | 400 | Policy deletion failed | | 401 | No valid authentication credentials found | | 403 | Authorization refused by server | +| 404 | Not found | -#### Examples -**200** -*No response body* - -**400** -```json -{ - "error": "Bad request", - "messages": [ - "BadRequestException" - ], - "statusCode": "400 BAD_REQUEST" -} -``` ___ **Deleting policies:** ```mermaid