Skip to main content

Flow: Data Access and Download

Status: discovery, grant authoring, OpenFGA projection, query APIs, and file access paths are Partially implemented. Composite OPA evaluation and carried obligations are Planned.

data_access · discover, authorize, enforce, audit01 / 08
A consumer discovers a resource, obtains a grant, and the grant is projected through RabbitMQ. The gateway requests a composite authorization decision and sends a carried decision to the Data Plane. The Data Plane validates and enforces filters or masks, delivers data, and emits audit events.discover metadataobtain grantpolicy eventprojectionquery / downloadcomposite decisioncarried obligationsfiltered result / scoped objectaudit eventConsumerdiscover · request · useCatalogueresource + access modesPolicy Servicegrant + outboxIMPLEMENTEDRabbitMQversioned eventsAuthorizationOpenFGA + planned OPAPARTIALGateway / app PEPresolve · decide · carryPARTIALData executorverify · filter · deliverPARTIALAudit Servicedecision + outcome
consumer/providergrant projectionauthorizationfiltered datadeny/revoke

Access-mode specifics

  • NGSI-LD/OGC: row and field obligations compile into parameterized, allowlisted Elasticsearch/PostGIS queries.
  • Files: object metadata is resolved by owner/databank before presigning; URLs are short-lived and scoped to one object/action.
  • Subscriptions: creation and ongoing delivery follow the subscription's authorization and revocation policy.
  • Marketplace: purchase creates an ordinary Policy Service grant; data services do not recognize a separate payment bypass.

Failure and recovery

New grants remain denied until projection completes. A denied or stale decision, unsupported filter/mask, store outage, quota outage, or ownership mismatch produces no partial result. Projection lag, outbox/DLQ depth, decision failure, and obligation-translation failures are monitored and reconciled.