From 78d77273b9a1041588ab0d157607e65b925517f0 Mon Sep 17 00:00:00 2001 From: "fabio.d.mota" Date: Mon, 5 Feb 2024 10:30:06 +0000 Subject: [PATCH] docs(frontend): Update doc for Arc42 documentation --- CHANGELOG.md | 3 ++ docs/Arc42-Documentation.md | 33 ++++++++++++++++-- .../StandardisedDataExchangeWithEdc.png | Bin 0 -> 76836 bytes docs/Images/keyckloak.png | Bin 0 -> 33474 bytes docs/mermaid/keycloak_integration_with_bpdm | 14 ++++++++ docs/mermaid/mermaid_edc_integration.md | 22 ++++++++++++ 6 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 docs/Images/StandardisedDataExchangeWithEdc.png create mode 100644 docs/Images/keyckloak.png create mode 100644 docs/mermaid/keycloak_integration_with_bpdm create mode 100644 docs/mermaid/mermaid_edc_integration.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 70c51890..e755645a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update dependency on vulnerability for @adobe/css-tools - Fix styles on Save Reports and Upload Ratings +### Changed +- Updated arc42 documentation to align with the EDC updated Country Risk application. + ## [1.3.0] - 2023-12-06 ### Added diff --git a/docs/Arc42-Documentation.md b/docs/Arc42-Documentation.md index 4aa9d4ce..1aebec12 100644 --- a/docs/Arc42-Documentation.md +++ b/docs/Arc42-Documentation.md @@ -122,7 +122,6 @@ Ignoring country risk factors can lead to damaging consequences like: - Lack of transparency - Theft (due to the perception of a lax attitude) - ##### Types of Risk in International Business There are many factors to consider, but those factors can largely be categorized as economic, political and social factors. @@ -194,11 +193,41 @@ Control Risk Political Stability Forecast 2021 - (e.g., uncertainties in jurisdi Euler Hermes Country Risk Ratings (189 Countries, Economic Risk, Business Environmental Risk, Political Risk, Commercial Risk, Financing Risk) Dun & Bradstreet, Country Risk ( http://www.dnbcountryrisk.com/, 14 Scores) +## System Scope and EDC Integration + +![EDC Integration](Images/StandardisedDataExchangeWithEdc.png) + +**EDC Operator** +* The diagram above shows two EDCs on Operator side. This is only for visualization purpose. On the prespective that both Country Risk and Gate are on the Operator Side. +* The other EDC Systems will work the same way with auth and flow if the connection its from other Operator + +## Keycloak Authentication & Autorization Flow + +![Keycloak](Images/keyckloak.png) + +### Handling Country Risk + +The handling of country risk within our system is managed by the Country Risk Application. + +It involves assessing and consuming data from the Country Risk EDC Consumer, which obtains necessary data from the EDC Gate Provider. + +This process ensures that the data related to country risk is accurate and up-to-date. The Country Risk Application doesn't filter the data; instead, it relies on the Gate service to validate user permissions and deliver the correct set of data based on the user's role and access rights. + +### Data EDC Handling + +The security of data and ensuring that companies only access the data they are permitted to see is achieved through a robust authentication and authorization flow provided by Keycloak. + +When a company requests data, the Gate service validates the OAuth2 token provided in the request. + +This token contains the roles and permissions associated with the client user. By checking the "resource_access" section of the OAuth2 token, the Gate service ensures that a company can only access data for which it has the correct credentials. + +Additionally, the EDC Discovery Service can be employed to manage service endpoints and their associated access policies, enhancing the control over which data each company can discover and access. + ## Business Context -## Technical Context +### Technical Context ![Technical Building](../docs/Images/image2022-10-26_18-42-52.png) diff --git a/docs/Images/StandardisedDataExchangeWithEdc.png b/docs/Images/StandardisedDataExchangeWithEdc.png new file mode 100644 index 0000000000000000000000000000000000000000..cc1d190d6a1369d5f642a3a7a1bcb20ea3a14196 GIT binary patch literal 76836 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 literal 0 HcmV?d00001 diff --git a/docs/Images/keyckloak.png b/docs/Images/keyckloak.png new file mode 100644 index 0000000000000000000000000000000000000000..fa633d4652b8ec0a7558445d24985aa1d8ff8ad1 GIT binary patch literal 33474 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≷1 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 BPDM EDC: Request Provider for Api With OAuth2 + BPDM EDC -->>OpenIDConnect Server: Send Client Credentials + OpenIDConnect Server-->> BPDM EDC: Respond OAuth2 Token + BPDM EDC -->> BPDM Gate: Send Request with OAuth2 Token in Authorization Header + BPDM Gate -->> OpenIDConnect Server: Validate Token + OpenIDConnect Server -->> BPDM Gate: Confirms validity of Token + BPDM Gate -->> BPDM Gate: Check "resource_access" section of OAuth Token \ No newline at end of file diff --git a/docs/mermaid/mermaid_edc_integration.md b/docs/mermaid/mermaid_edc_integration.md new file mode 100644 index 00000000..62db5e28 --- /dev/null +++ b/docs/mermaid/mermaid_edc_integration.md @@ -0,0 +1,22 @@ + + +graph TD +%% Scenario 1: Data Provision +subgraph S1["Scenario 1: Data Provision"] +OtherEDCSystems[("Other EDC Systems")]:::otherStyle -->|consumes data from| EDCProviderCR[("Country Risk EDC Provider")]:::providerStyle +EDCProviderCR -->|requests data from| CRApp[("Country Risk Application")]:::appStyle +end + + %% Scenario 2: Data Consumption + subgraph S2["Scenario 2: Data Consumption"] + CRApp2[("Country Risk Application")]:::appStyle -->|consumes data from| EDCC[("Country Risk EDC Consumer")]:::consumerStyle + EDCC -->|requests data from| EDCGateProvider[("EDC Gate Provider")]:::gateStyle + EDCGateProvider -->|requests data from| BPDM[("BPDM Application")]:::bpdmStyle + end + + classDef appStyle fill:#ffcccc,stroke:#333,stroke-width:4px; + classDef providerStyle fill:#ccffcc,stroke:#333,stroke-width:4px; + classDef consumerStyle fill:#ccccff,stroke:#333,stroke-width:4px; + classDef otherStyle fill:#fff0b3,stroke:#333,stroke-width:4px; + classDef gateStyle fill:#f0b3ff,stroke:#333,stroke-width:4px; + classDef bpdmStyle fill:#ffffb3,stroke:#333,stroke-width:4px;