eclipse-tractusx / sig-release

https://eclipse-tractusx.github.io/sig-release
Apache License 2.0
8 stars 10 forks source link

Draft: Make any places in Tractus-X EDC which hardcode specific CX Verifiable Credentials configurable #935

Open DanielaWuensch opened 4 days ago

DanielaWuensch commented 4 days ago

Overview

Currently, the process of data sovereignty is bound to a predefined set of ODRL policies and Verifiable Credentials - the Catena-X Policy Profile. This concept and the reference implementation should be enabled to be reused by other data spaces such as Factory-X or other Manufacturing-X dataspaces. Furthermore, it should be easy to include additional VCs, e.g. for Company Certificates. This requires a flexible and configurable reference implementation, which enables any Verifiable Credentials or any ODRL policies to be maintained, negotiated and verified.

Explain the topic in 2 sentences

Transform the hardcoded references to CX Credentials from the edc-extension to configurable one, which can be configured for a deployed EDC initially and updated at a later point in time after a restart without any data loss.

What's the benefit?

ODRL policy framework based on Verifiable Credentials can be easily extended and applied to other data spaces.

What are the Risks/Dependencies ?

It must not influence existing deployments to ensure that running Catena-X data exchange still works as before.

Detailed explanation

Current implementation

Hardcoded reference to CX Verifiable Credentials

Proposed improvements

At the following steps in E2E negotiation and data transfer processes, CX VCs are hardcoded in Tractus-X EDC implementation:

  1. on Data Consumer Side: Initial call from EDC to Wallet: get STS Token uses deployment variable default-sts-scope... = e.g. https//w3id.org/catenax/DataExchangeGovernanceCredential , https//w3id.org/catenax/MembershipCredential , https//w3id.org/catenax/DismantlerCredential , https//w3id.org/catenax/BPNCredential ,

  2. on Data Provider Side: after catalog request by Data Consumer and get Verifiable Presentation by Data Provider: check of Verifiable Presentation content against ODRL constraints (credentialResult) like in examples [1]

  3. and 4. Analog calls like 1 and 2 if negotiation is triggered

  4. and 6. Analog calls like 1 and 2 if data access token is refreshed is triggered

  5. and 8. Analog calls like 1 and 2 if data are accessed and transferred

Links:

Configuration should be done

Most likely this means it will happen in Helm Chart but further proposals are welcome.

Most likely only provider side need to be adapted. Consumer side uses in scope already the VCs based on configuration before.

Out of scope

...

Feature Team

Contributor

Committer

User Stories

Acceptance Criteria

Test Cases

Test Case 1

Steps

  1. Do something
  2. Click something
  3. Add something

Expected Result

  1. Expectation
  2. Expectation
  3. Expectation

Architectural Relevance

The following items are ensured (answer: yes) after this issue is implemented:

Justification: (Fill this out, if at least one of the checkboxes above cannot be ticked. Contact the Architecture Management Committee to get an approval for the justification)

Additional information

[1]

Constraint (in Policy) VC Type claim value
```json { "leftOperand": "cx-policy:FrameworkAgreement", "operator": "eq", "rightOperand": "DataExchangeGovernance:1.0" } ``` DataExchangeGovernanceCredential type & credentialSubject.contractVersion DataExchangeGovernanceCredential & 1.0
```json { "leftOperand": "Membership", "operator": "eq", "rightOperand": "active" } ``` MembershipCredential type MembershipCredential
```json { "leftOperand": "BusinessPartner", "operator": "eq", "rightOperand": "BPNLPLACEHOLDER" } ``` MembershipCredential credentialSubject.holderIdentifier BPNLPLACEHOLDER
DanielaWuensch commented 4 days ago

Refinement in progress. Refinement will be ready for review only by Nov 6, 2024. Please do not review this issue now.

axelalbrechtatsap commented 1 day ago

I like to contribute