Gaia-X and Policies What policies do we want and can have in our ecosystem? A look into how policies can be implemented in GXFS. What I will talk about Today
to do in particular situation that has been agreed to officially by a group of people, a business organization, a government, or a political party” – Cambridge Dictionary
the EuProGigant project that run a data and service ecosystem! • Goals: What are the general ideas behind the policy? • Smart and sovereign use of data • Objectives: What is the policy going to address? • Transparency, controllability, portability and interoperability across data and services • Setting: What are the environmental nuances where the policy is going to be applied? • Manufacturing • Europe
goals What are the ideas governing policy development? (Smart and sovereign use of data in manufacturing) Program objectives What does the policy address? (Data transfer observable, interoperable, control stays with data producer, …) Operational settings What are the specifications? (Manufacturing companies know and can deploy smart solutions based on sovereign data usage) Tools Instrument logic What are the preferred instruments? (Suasion, authorization, subsidies) Program mechanisms What specific instruments are going to be used? (encryption, pki,authorization mechanisms, monitoring services, …) Tool calibration Are there any specifics for the instruments? (Standards, regulations, certifications, provided software, …) Adapted from Ricardo Ferreira: Policy Design in the Age of Digital Adoption, 2022
aligned) • Consistent (instruments are aligned) • Congruent (instruments are aligned with goals) • Practical/Operational: • Monitoring/Auditing: What plan has actually been executed in which situation? • Development: See how a new policy would work before implementing it. • Testing to ensure changes in one policy doesn’t alter another. • …
from policy enforcement. When your software needs to make policy decisions it queries OPA and supplies structured data (e.g., JSON) as input. - OPA docs
code • Decoupling allows for quicker and easy policy changes. • Independently deployable • One language for policies, even if microservices use different programming languages • Policies become reusable blocks. • Useful in microservice architectures (looking at GXFS) https://gitlab.com/gaia-x/lab/compliance/gx-compliance/-/blob/development/src/service-offering/services/content-validation.service.ts#L94
values, a digital governance that can be applied to any existing cloud/edge technology stack to obtain transparency, controllability, portability and interoperability across data and services. - gaia-x.eu
practices, or regulations governing the activities of Participants within Gaia-X. From a technical perspective Policies are statements, rules or assertions that specify the correct or expected behaviour of an entity. • 129. Usage Policy Usage Policies constrains the Consumer‘s use of a Resource. • 11. Consumer Policy Consumer Policy describes a Consumer‘s restrictions of a requested Resource. Trust Framework Architecture Document gaia-x.gitlab.io/glossary/
of policies expressed using a DSL (e.g., Rego or ODRL) • For • Access control • Throttling • Usage • Retention gaia-x.gitlab.io/policy-rules-committee/trust-framework/service_and_subclasses/
how are this policies evaluated? • What functionalities are available for writing policies? • How can policies access data, other services? Open Questions
natural person) • Attributes • leiCode, vatID, … • Operational Limitations • Not too many new participants in a timeframe? • Blacklisting of some registrationNumbers? Federator Identity & Authentication Participants Producer P
• Data protection regime • Allowed licenses • At least one resource • When? • Create • Update • Regular checks by federator • Delete • Publish / Unpublish • Search / Visibility • Who do you want to see your service offering / resources? Federator Service Catalog Participants & Services & Resources Consumer C Service Offering SO Producer P Resource A Resource B
(with sensitive information) • Store files (with sensitive information) • Logging and Auditing • Access to logs • Retention (life cycle) • Quotas Resource A Instantiated Resource A Service Offering SO Producer P data.json Consumer C
What if the service calls other services with input data from consumer? Resource B Instantiated Resource A Service Offering SO Producer P API Consumer C Other service API
Who can read/write to which topic? Resource C Instantiated Resource A Service Offering SO Producer P DB Consumer C Resource D Instantiated Resource A Service Offering SO Producer P Message Queue
fits? • Authorization • Filter for catalog • When and at what points should that policies be enforced? • What information is needed to make policy decisions • Who do you trust to provide/attest that information? • Maybe we need some additional data sources?
decisions) • aas: Authentication and Authorization Service Microservice in Trust Service API (TSA) tsa/policy db tsa/policy- sync Reads Policy from git repo and stores them in db tsa/cache tsa/signer tsa/did- resolver ocm/proof- manager portal/did- management tsa/infohub tsa/task aas/aas OPA based with extended functionality
the end you get access, with an id_token and access_token. https://docs.gaia-x.eu/technical- committee/identity-credential-access- management/22.10/system_features/
a set of rules • Rules-checker-service • Basic API to send VC’s to and have them checked against rules • Used by compliance, see documentation: • data-infrastructure-federation-services/deployment- scenario/scenario-22.11/components.md
what policies makes sense for our use cases. Based on that, develop a concept for policies for our project (one of the goals of AP14/6 EuPG) See how far we get with implementing it.