SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
FIWARE Data Usage Control
Context Management (Core) Chapter
Data/API Management, Publication and Monetization Chapter
Universidad Politécnica de Madrid (ETSIT)
Privacy and Data Usage Control:
Next War over internet
Data Access / Usage Control
● Data Access Control:
■ Specify who can access what resource
■ Also the rights to access it (actions)
● Data Usage Control:
■ Ensures data sovereignty
■ Regulates what is allowed to happen with the data (future
usage).
■ Related to data ingestion and processing
■ Context of intellectual property protection, privacy protection,
compliance with regulations and digital rights management
Source: IDS Reference Architecture Model Version 2.0
Data Usage Control in FIWARE
Policies definition
We define the FI-UCON model. Based
on the UCON specification and model.
Define :
● Obligations
● Authorizations
● Conditions
Over data and processing.
Pre Decision
permit access
start access
Ongoing Decision
revoke access
end access Timetry access
Data Access Control in FIWARE
Resources protection
access-token
permissions
check
Data Usage Control in FIWARE
Proposed scenario
▪ The Security Framework provides Usage Control (FI-UCON)
• To Data processed in Big Data components
• Provided by Orion Context Broker
▪ Usage Control policies are defined using an extension for ODRL model
based (through a UI)
• And stored in Keyrock’s PAP
▪ Policies are transformed into a program that processes the traces
generated by the user data-processing engines
• And enforces punishments if the user does not comply with the
policies ( Algebra transform into a CSP-like behaviour detection)
➔ A user with permissions to access a specific entity in the CB will be able to
use it if compliance with the data usage policies is ensured.
Data Usage Control in FIWARE
Policies definition: ODRL 2.2 ( W3C)
It is a policy expression language that provides a flexible and
interoperable information model, vocabulary, and encoding mechanisms
for representing statements about the usage of content and services.
We define our own profile FI-DUsageML (we are based on a modified
RIGHTML profile)
Entities :
● Dataset ( url )
● NGSIStream ( url )
● Processing Engines ( Apache Flink, Spark Scala)
Data Usage Control in FIWARE
FI-ODRL: an ODRL extension for data processing and data
provenance.
Extension for the ODRL 2.2 W3C standard (Open Digital Rights
Language) with
● New vocabulary (based on https://www.w3.org/TR/odrl-vocab/)
● New profile more oriented for data processing.
This will provide an algebraic specification (label transition system) for
Obligations and Permissions in a quite abstract way.
This will be translated into a extended automata processing tool. To
implement this in a simple way we have chosen to use the Complex
Event Processing capabilities from Flink (FI-ODRL compiler to be
integrated).
This will trigger events to avoid the processed data to be delivered or
serialized.
Data Usage Control in FIWARE
Policies definition: Attributes
● Constraints
● Permissions
● Prohibitions
● Obligations
This is the ODRL 2.2 // RightML model
Data Usage Control in FIWARE
Reference Architecture Model 1
Data Consumer Data Provider
Processing Engines
Define
Access/ Usage
Control Policies
Data Controller
Storage Systems
PIP / PAP
(IDM Keyrock)
PXP/PDP
policy rules
ODRL policies
Stored Data
“Real-Time” Data
Shared Data
Usage
Control
Ongoing
Decisions
Data-processing
Engine
Traces
Data Consumer
Data Provider
Data Usage Control in FIWARE
Reference Architecture Model 2
Processing Engines
Define Access/ Usage
Control Policies
Storage Systems
PDP / PAP
(IDM Keyrock)
PXP/PDP
policy rules
ODRL policies
Stored Data
“Real-Time” Data
Shared Data
Usage Control Ongoing
Decisions
Data-processing
Engine Traces
Data Usage Control in FIWARE
Architecture
Data Consumer Data provider
PDP / PAP
(IDM Keyrock)
NGSIv2
Notification
PXP/PDP
Apache Flink
policy rules
Traces
Control Signals
FIWARE
Context Broker
(Orion)
PEP
PEPPEP
PEP
Proxy (Wilma)
ODRL policies
FIWARE
DRACO
Access control
Data Usage Control in FIWARE
Architecture (detail)
Streaming Engine
Usage Control
PDP / PAP
(Keyrock)
Streaming Job
Data Events Data Events Logs
Execution Graph Logs
PXP/PDP PTP
ODRL policies
DATA CONSUMER DATA PROVIDER
FI-ODRL
Specification
Control Signals
Usage control
ODRL specification is transformed into a PXP
(extended automata) execution engine
Usage Control
Apache Flink PXPApache Flink
FIWARE
Context Broker
(Orion)
PEP
PEPPEP
PEP
Proxy (Wilma)
Data Events Logs
Execution Graph Logs
Control Signals
NGSI Data
Events
Access
control
PXP/PDP Engine
IdM
(Keyrock)
FI-ODRL
Policy Translation Point
(Extended Automata)
FI-ODRL
Specification
Data Usage Control in FIWARE
Deployment Diagram
Data Usage Control in FIWARE
Policies check
Logs used for monitoring and control:
⭓ Execution Logs
It is the chain of operations to be performed by the program run on
the processing engine (Flink- Data User Side)
⭓ Events Logs
All the events received at the source of the Processing Engine
(Flink- Data User Side)
This events will be fed into the FI-ODRL CEP translation to verify its
conformance with the specified policy.
May be integrated with the Container Log interface or the Cluster
Manager.
Data Usage Control in FIWARE
Policies check
■ Execution Logs example:
2019-05-14 11:22:23.820 [flink-akka.actor.default-dispatcher-3] INFO
org.apache.flink.runtime.executiongraph.ExecutionGraph - Source: Custom Source -> Flat
Map -> Map -> Map (1/1)
2019-05-14 11:22:23.993 [flink-akka.actor.default-dispatcher-2] INFO
org.apache.flink.runtime.executiongraph.ExecutionGraph -
TriggerWindow(TumblingProcessingTimeWindows(15000),
AggregatingStateDescriptor{name=window-contents, defaultValue=null,
serializer=org.fiware.cosmos.orion.flink.cep.examples.example1.AveragePrice$$anon$26$$a
non$11@963b52f9}, ProcessingTimeTrigger(),
AllWindowedStream.aggregate(AllWindowedStream.java:475)) -> Sink: Print to Std. Out
(1/1)
■ Execution Graph
Data Source FlatMap Combine Sink
Data Events
Data Usage Control in FIWARE
Policies check
■ Events Logs example:
2019-05-14 11:41:19.725 [nioEventLoopGroup-3] INFO
org.fiware.cosmos.orion.flink.connector.OrionHttpHandler -
{"creationTime":1557834079723,"fiwareService":"400","fiwareServicePath":"a
pplication/json;charset=utf-8","entities":[{"id":"ticket","type":"ticket",
"attrs":{"_id":{"type":"String","value":1027,"metadata":{}},"items":{"type
":"object","value":[{"net_am":3.9,"n_unit":6,"desc":"GOURMET
85GR"}],"metadata":{}},"mall":{"type":"String","value":2,"metadata":{}},"d
ate":{"type":"date","value":"01/14/2016","metadata":{}},"client":{"type":"
int","value":77021708271,"metadata":{}}}}],"subscriptionId":"5cdaa95e73a0d
eb8df34cb77"}
Data Source
NGSI Events
Event Logs
{
"id":"ticket",
"type":"ticket",
"attrs":{
"_id":{
"type":"String",
"value":1027,
"metadata":{}
},
"items":{
"type":"object",
"value":[{
"net_am":3.9,
"n_unit":6,
"desc":"GOURMET 85GR"
}],
"metadata":{}
},
"mall":{
"type":"String",
"value":2,
"metadata":{}
},
"date":{
"type":"date",
"value":"01/14/2016",
"metadata":{}
},
"client":{
"type":"int",
"value":77021708271,
"metadata":{}
}
}
}
Data Usage Control in FIWARE
Use case
Cash registers generate tickets and publish
purchase data on the CB
Ticket
Supermarket Store 1
Cash
Registers
FIWARE
Context
Broker
(Orion)
PEP
P
E
P
P
E
P
PEP
Supermarket Store 2
TicketCash
Registers
Data Usage Control in FIWARE
Use case
subscription to
processed data
Client A
Ticket
Supermarket Store 1
Cash
Registers
FIWARE
Context
Broker
(Orion)
PEP
P
E
P
P
E
P
PEP
Supermarket Store 2
TicketCash
Registers
Client A wants to subscribe to the entity that
contains the tickets’ information
Data Usage Control in FIWARE
Use case
Data Processing
and
Usage Control
subscription to
processed data
Client A
Ticket
Supermarket Store 1
Cash
Registers
FIWARE
Context
Broker
(Orion)
PEP
P
E
P
P
E
P
PEP
Supermarket Store 2
TicketCash
Registers
Client A deploys a Flink Job that performs
analytics on the data received from Orion
using the Cosmos connector
All the operations performed and events
received are registered in the logs
Data Usage Control in FIWARE
Use case
Data Processing
and
Usage Control
subscription to
processed data
Client A
Ticket
Supermarket Store 1
Cash
Registers
FIWARE
Context
Broker
(Orion)
PEP
P
E
P
P
E
P
PEP
Supermarket Store 2
TicketCash
Registers
The logs generated by the Flink Job are sent
to the PDP/PXP, who makes sure the
operations performed on the data comply with
the policies.
Data Usage Control in FIWARE
Use case: defining entities and policies
Context broker Entities
Ticket
● date
● client_id
● supermarket_id
● product_list
− description
− n_items
− price
Usage Policies
● The user shall NOT save the data without aggregating them each
15 seconds first or else the processing job will be terminated
● The user shall NOT receive more than 200 notifications from Orion
in a minute or else the subscription to the entity will be deleted
Data Usage Control in FIWARE
Use case implementation: Policy translation
Policy in natural language
● The user shall NOT
save the data without
aggregating them
every 15 seconds first
or else the processing
job will be terminated
● The user shall NOT
receive more than 200
notifications from Orion
in a minute or else the
subscription to the
entity will be deleted
{
"@context": ["http://www.w3.org/ns/odrl.jsonld",
"http://keyrock.fiware.org/FIDusageML/profile/FIDusageML.jsonld"],
"@type": "Set",
"uid": " http://keyrock.fiware.org/FIDusageML/policy:1010",
"profile": "http://keyrock.fiware.org/FIDusageML/profile/",
"permission": [{
"target": "http://orion.fiware.org/NGSInotification",
"action": "ReadNGSIWindow",
"constraint": [{
"leftOperand": "WindowNotification",
"operator": "gt",
"rightOperand": { "@value": "3", "@type": "xsd:integer"
}
},{
"leftOperand": "WindowNotificationValueSet",
{ "@value": "zip", "@type": "xsd:string" }
"operator": "gt",
"rightOperand": { "@value": "2", "@type": "xsd:integer"
}]
}]
"prohibition": [{
"target": "http://orion.fiware.org/NGSInotification",
"action": "SingleEventProcessing"
}]
}
Data Usage Control in FIWARE
Use case implementation: creating policies
Manage app policies
Data Usage Control in FIWARE
Use case implementation: creating policies
Data Usage Control in FIWARE
Use case implementation: creating policies
Assign policy to role
Data Usage Control in FIWARE
Use case implementation: Flink Job (User side)
val env = StreamExecutionEnvironment.getExecutionEnvironment
// Create Orion Source. Receive notifications on port 9001
val eventStream = env.addSource(new OrionSource(9001))
// Process event stream
val processedDataStream = eventStream
.flatMap(event => event.entities)
.map(entity => {
val id = entity.attrs("_id").value.toString
val items = entity.attrs("items").value.asInstanceOf[List[Map[String,Any]]]
items.map(product => {
val productName = product("desc").asInstanceOf[String]
val unitPrice = product("net_am").asInstanceOf[Number].floatValue()
val unitNumber = product("n_unit").asInstanceOf[Number].floatValue()
SupermarketProduct(id, productName, unitPrice * unitNumber)
})
})
.map(_.map(_.price).sum)
.timeWindowAll(Time.seconds(15))
.aggregate(new AverageAggregate)
// Print the results with a single thread, rather than in parallel
processedDataStream.print().setParallelism(1)
env.execute("Supermarket Job")
Data Usage Control in FIWARE
Use case implementation: Flink CEP generated code
// First pattern: At least N events in T.
val countPattern2 = Pattern.begin[Entity]("events" )
.timesOrMore(200).within(Time.seconds(15))
CEP.pattern(entityStream, countPattern2).select(events =>
Signals.createAlert(Policy.COUNT_POLICY, events, Punishment.UNSUBSCRIBE))
// Second pattern: Source -> Sink. Aggregation TimeWindow
val aggregatePattern = Pattern.begin[ExecutionGraph]("start",
AfterMatchSkipStrategy.skipPastLastEvent())
.where(Policies.executionGraphChecker(_, "source"))
.notFollowedBy("middle").where(Policies.executionGraphChecker(_,
"aggregation", 15000))
.followedBy("end").where(Policies.executionGraphChecker(_,
"sink")).timesOrMore(1)
CEP.pattern(operationStream, aggregatePattern).select(events =>
Signals.createAlert(Policy.AGGREGATION_POLICY, events,
Punishment.KILL_JOB))
Data Usage Control in FIWARE
Use case implementation: Control panel
Data Usage Control
(Demo)
https://github.com/ging/fiware-usage-control
Future work
▪ Consider integration with apache Atlas and Apache Ranger
(evolution of Cosmos Fiware GE). These projects are centered
on batch scenarios right now.
▪ Propose the FI-ODRL extension on the ODRL 2.2 W3C
standard.
▪ Consider the provenance of the data and even provide it as an
additional result (even if the policy denial of execution is not
triggered)
▪ Possible integration with containers’ infrastructure to automatize
the logs and block of execution and serialization.
▪ Ongoing research activity ….
FIWARE Data usage control
FIWARE Data usage control

Mais conteúdo relacionado

Mais procurados

FIWARE Global Summit - FIWARE Implementation of IDS Reference Architecture Co...
FIWARE Global Summit - FIWARE Implementation of IDS Reference Architecture Co...FIWARE Global Summit - FIWARE Implementation of IDS Reference Architecture Co...
FIWARE Global Summit - FIWARE Implementation of IDS Reference Architecture Co...FIWARE
 
FIWARE Wednesday Webinars - Architecting Your Smart Solution Using FIWARE
FIWARE Wednesday Webinars - Architecting Your Smart Solution Using FIWAREFIWARE Wednesday Webinars - Architecting Your Smart Solution Using FIWARE
FIWARE Wednesday Webinars - Architecting Your Smart Solution Using FIWAREFIWARE
 
FIWARE Overview (University Cairo 20Aug2017)
FIWARE Overview (University Cairo 20Aug2017)FIWARE Overview (University Cairo 20Aug2017)
FIWARE Overview (University Cairo 20Aug2017)FIWARE
 
FIWARE Global Summit - Smart Parking for Electric Vehicles
FIWARE Global Summit - Smart Parking for Electric VehiclesFIWARE Global Summit - Smart Parking for Electric Vehicles
FIWARE Global Summit - Smart Parking for Electric VehiclesFIWARE
 
FIWARE Global Summit - FIWARE on a Global Scale - Building a FIWARE Ecosystem...
FIWARE Global Summit - FIWARE on a Global Scale - Building a FIWARE Ecosystem...FIWARE Global Summit - FIWARE on a Global Scale - Building a FIWARE Ecosystem...
FIWARE Global Summit - FIWARE on a Global Scale - Building a FIWARE Ecosystem...FIWARE
 
FIWARE Tech Summit - Accelerating Materialization of the IDS Architecture
FIWARE Tech Summit - Accelerating Materialization of the IDS ArchitectureFIWARE Tech Summit - Accelerating Materialization of the IDS Architecture
FIWARE Tech Summit - Accelerating Materialization of the IDS ArchitectureFIWARE
 
FIWARE Global Summit - AUDP – the Atos Urban Data Platform
FIWARE Global Summit - AUDP – the Atos Urban Data Platform FIWARE Global Summit - AUDP – the Atos Urban Data Platform
FIWARE Global Summit - AUDP – the Atos Urban Data Platform FIWARE
 
FIWARE Global Summit - Next Steps
FIWARE Global Summit - Next StepsFIWARE Global Summit - Next Steps
FIWARE Global Summit - Next StepsFIWARE
 
FIWARE From Open Data to Open APIs
FIWARE From Open Data to Open APIsFIWARE From Open Data to Open APIs
FIWARE From Open Data to Open APIsSergio Garcia Gomez
 
FIWARE Global Summit - Creating Secured Value Chains for Smart Industries
FIWARE Global Summit - Creating Secured Value Chains for Smart IndustriesFIWARE Global Summit - Creating Secured Value Chains for Smart Industries
FIWARE Global Summit - Creating Secured Value Chains for Smart IndustriesFIWARE
 
FIWARE Global Summit - The Future of FIWARE 4 Industry - New Technology Trend...
FIWARE Global Summit - The Future of FIWARE 4 Industry - New Technology Trend...FIWARE Global Summit - The Future of FIWARE 4 Industry - New Technology Trend...
FIWARE Global Summit - The Future of FIWARE 4 Industry - New Technology Trend...FIWARE
 
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...FIWARE
 
FIWARE Global Summit - FIWARE For Industry Reference Architecture, RAMI 4.0 a...
FIWARE Global Summit - FIWARE For Industry Reference Architecture, RAMI 4.0 a...FIWARE Global Summit - FIWARE For Industry Reference Architecture, RAMI 4.0 a...
FIWARE Global Summit - FIWARE For Industry Reference Architecture, RAMI 4.0 a...FIWARE
 
FIWARE Global Summit - International Data Spaces - A New Idea for Sharing Data
FIWARE Global Summit - International Data Spaces - A New Idea for Sharing DataFIWARE Global Summit - International Data Spaces - A New Idea for Sharing Data
FIWARE Global Summit - International Data Spaces - A New Idea for Sharing DataFIWARE
 
FIWARE Tech Summit - OpenMTC – OneM2M Middleware
FIWARE Tech Summit - OpenMTC – OneM2M MiddlewareFIWARE Tech Summit - OpenMTC – OneM2M Middleware
FIWARE Tech Summit - OpenMTC – OneM2M MiddlewareFIWARE
 
FIWARE Global Summit - Implementing the European Data Space with FIWARE Techn...
FIWARE Global Summit - Implementing the European Data Space with FIWARE Techn...FIWARE Global Summit - Implementing the European Data Space with FIWARE Techn...
FIWARE Global Summit - Implementing the European Data Space with FIWARE Techn...FIWARE
 
Session 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers ProgramSession 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers ProgramFIWARE
 
FIWARE Global Summit - Knowage: FIWARE Data Visualization GE
FIWARE Global Summit - Knowage: FIWARE Data Visualization GEFIWARE Global Summit - Knowage: FIWARE Data Visualization GE
FIWARE Global Summit - Knowage: FIWARE Data Visualization GEFIWARE
 
Schema.fiware.org: FIWARE Harmonized Data Models
Schema.fiware.org: FIWARE Harmonized Data ModelsSchema.fiware.org: FIWARE Harmonized Data Models
Schema.fiware.org: FIWARE Harmonized Data ModelsFIWARE
 

Mais procurados (20)

FIWARE Global Summit - FIWARE Implementation of IDS Reference Architecture Co...
FIWARE Global Summit - FIWARE Implementation of IDS Reference Architecture Co...FIWARE Global Summit - FIWARE Implementation of IDS Reference Architecture Co...
FIWARE Global Summit - FIWARE Implementation of IDS Reference Architecture Co...
 
FIWARE Wednesday Webinars - Architecting Your Smart Solution Using FIWARE
FIWARE Wednesday Webinars - Architecting Your Smart Solution Using FIWAREFIWARE Wednesday Webinars - Architecting Your Smart Solution Using FIWARE
FIWARE Wednesday Webinars - Architecting Your Smart Solution Using FIWARE
 
FIWARE Overview (University Cairo 20Aug2017)
FIWARE Overview (University Cairo 20Aug2017)FIWARE Overview (University Cairo 20Aug2017)
FIWARE Overview (University Cairo 20Aug2017)
 
FIWARE Global Summit - Smart Parking for Electric Vehicles
FIWARE Global Summit - Smart Parking for Electric VehiclesFIWARE Global Summit - Smart Parking for Electric Vehicles
FIWARE Global Summit - Smart Parking for Electric Vehicles
 
FIWARE Global Summit - FIWARE on a Global Scale - Building a FIWARE Ecosystem...
FIWARE Global Summit - FIWARE on a Global Scale - Building a FIWARE Ecosystem...FIWARE Global Summit - FIWARE on a Global Scale - Building a FIWARE Ecosystem...
FIWARE Global Summit - FIWARE on a Global Scale - Building a FIWARE Ecosystem...
 
FIWARE Tech Summit - Accelerating Materialization of the IDS Architecture
FIWARE Tech Summit - Accelerating Materialization of the IDS ArchitectureFIWARE Tech Summit - Accelerating Materialization of the IDS Architecture
FIWARE Tech Summit - Accelerating Materialization of the IDS Architecture
 
FIWARE Global Summit - AUDP – the Atos Urban Data Platform
FIWARE Global Summit - AUDP – the Atos Urban Data Platform FIWARE Global Summit - AUDP – the Atos Urban Data Platform
FIWARE Global Summit - AUDP – the Atos Urban Data Platform
 
FIWARE Global Summit - Next Steps
FIWARE Global Summit - Next StepsFIWARE Global Summit - Next Steps
FIWARE Global Summit - Next Steps
 
FIWARE From Open Data to Open APIs
FIWARE From Open Data to Open APIsFIWARE From Open Data to Open APIs
FIWARE From Open Data to Open APIs
 
FIWARE Global Summit - Creating Secured Value Chains for Smart Industries
FIWARE Global Summit - Creating Secured Value Chains for Smart IndustriesFIWARE Global Summit - Creating Secured Value Chains for Smart Industries
FIWARE Global Summit - Creating Secured Value Chains for Smart Industries
 
FIWARE Global Summit - The Future of FIWARE 4 Industry - New Technology Trend...
FIWARE Global Summit - The Future of FIWARE 4 Industry - New Technology Trend...FIWARE Global Summit - The Future of FIWARE 4 Industry - New Technology Trend...
FIWARE Global Summit - The Future of FIWARE 4 Industry - New Technology Trend...
 
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...
 
FIWARE Global Summit - FIWARE For Industry Reference Architecture, RAMI 4.0 a...
FIWARE Global Summit - FIWARE For Industry Reference Architecture, RAMI 4.0 a...FIWARE Global Summit - FIWARE For Industry Reference Architecture, RAMI 4.0 a...
FIWARE Global Summit - FIWARE For Industry Reference Architecture, RAMI 4.0 a...
 
FIWARE Global Summit - International Data Spaces - A New Idea for Sharing Data
FIWARE Global Summit - International Data Spaces - A New Idea for Sharing DataFIWARE Global Summit - International Data Spaces - A New Idea for Sharing Data
FIWARE Global Summit - International Data Spaces - A New Idea for Sharing Data
 
FIWARE Tech Summit - OpenMTC – OneM2M Middleware
FIWARE Tech Summit - OpenMTC – OneM2M MiddlewareFIWARE Tech Summit - OpenMTC – OneM2M Middleware
FIWARE Tech Summit - OpenMTC – OneM2M Middleware
 
Introduction to FIWARE Open Ecosystem
Introduction to FIWARE Open EcosystemIntroduction to FIWARE Open Ecosystem
Introduction to FIWARE Open Ecosystem
 
FIWARE Global Summit - Implementing the European Data Space with FIWARE Techn...
FIWARE Global Summit - Implementing the European Data Space with FIWARE Techn...FIWARE Global Summit - Implementing the European Data Space with FIWARE Techn...
FIWARE Global Summit - Implementing the European Data Space with FIWARE Techn...
 
Session 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers ProgramSession 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers Program
 
FIWARE Global Summit - Knowage: FIWARE Data Visualization GE
FIWARE Global Summit - Knowage: FIWARE Data Visualization GEFIWARE Global Summit - Knowage: FIWARE Data Visualization GE
FIWARE Global Summit - Knowage: FIWARE Data Visualization GE
 
Schema.fiware.org: FIWARE Harmonized Data Models
Schema.fiware.org: FIWARE Harmonized Data ModelsSchema.fiware.org: FIWARE Harmonized Data Models
Schema.fiware.org: FIWARE Harmonized Data Models
 

Semelhante a FIWARE Data usage control

Agata overview
Agata overviewAgata overview
Agata overviewUdi Levin
 
Platform Observability and Infrastructure Closed Loops
Platform Observability and Infrastructure Closed LoopsPlatform Observability and Infrastructure Closed Loops
Platform Observability and Infrastructure Closed LoopsLiz Warner
 
RA TechED 2019 - SY08 - Developing Information Ready Applications using Smart...
RA TechED 2019 - SY08 - Developing Information Ready Applications using Smart...RA TechED 2019 - SY08 - Developing Information Ready Applications using Smart...
RA TechED 2019 - SY08 - Developing Information Ready Applications using Smart...Rockwell Automation
 
Data in Motion - tech-intro-for-paris-hackathon
Data in Motion - tech-intro-for-paris-hackathonData in Motion - tech-intro-for-paris-hackathon
Data in Motion - tech-intro-for-paris-hackathonCisco DevNet
 
Product Presentation - Motadata Unified Platform for IT Monitoring, flow anal...
Product Presentation - Motadata Unified Platform for IT Monitoring, flow anal...Product Presentation - Motadata Unified Platform for IT Monitoring, flow anal...
Product Presentation - Motadata Unified Platform for IT Monitoring, flow anal...Motadata
 
FIWARE Global Summit - Keyrock: Protecting Microservices
FIWARE Global Summit - Keyrock: Protecting MicroservicesFIWARE Global Summit - Keyrock: Protecting Microservices
FIWARE Global Summit - Keyrock: Protecting MicroservicesFIWARE
 
Addressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh IntegrationAddressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh IntegrationThomasGraf42
 
Application Programming Interface
Application Programming InterfaceApplication Programming Interface
Application Programming InterfaceSeculert
 
Soa12c launch 5 event processing shmakov eng cr
Soa12c launch 5 event processing shmakov eng crSoa12c launch 5 event processing shmakov eng cr
Soa12c launch 5 event processing shmakov eng crVasily Demin
 
Is 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingIs 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingPhil Wilkins
 
IRJET- Securing Cloud Data Under Key Exposure
IRJET- Securing Cloud Data Under Key ExposureIRJET- Securing Cloud Data Under Key Exposure
IRJET- Securing Cloud Data Under Key ExposureIRJET Journal
 
FOISDBA-Ver1.1.pptx
FOISDBA-Ver1.1.pptxFOISDBA-Ver1.1.pptx
FOISDBA-Ver1.1.pptxssuser20fcbe
 
Streaming real time data with Vibe Data Stream
Streaming real time data with Vibe Data StreamStreaming real time data with Vibe Data Stream
Streaming real time data with Vibe Data StreamInformaticaMarketplace
 
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...Liz Warner
 
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...Liz Warner
 
SplunkLive! Munich 2018: Data Onboarding Overview
SplunkLive! Munich 2018: Data Onboarding OverviewSplunkLive! Munich 2018: Data Onboarding Overview
SplunkLive! Munich 2018: Data Onboarding OverviewSplunk
 
Using Data Mining for Discovering Anomalies from Firewall Logs: a Comprehensi...
Using Data Mining for Discovering Anomalies from Firewall Logs: a Comprehensi...Using Data Mining for Discovering Anomalies from Firewall Logs: a Comprehensi...
Using Data Mining for Discovering Anomalies from Firewall Logs: a Comprehensi...IRJET Journal
 
SplunkLive! Frankfurt 2018 - Data Onboarding Overview
SplunkLive! Frankfurt 2018 - Data Onboarding OverviewSplunkLive! Frankfurt 2018 - Data Onboarding Overview
SplunkLive! Frankfurt 2018 - Data Onboarding OverviewSplunk
 
Stream Analytics
Stream Analytics Stream Analytics
Stream Analytics Franco Ucci
 

Semelhante a FIWARE Data usage control (20)

DRM
DRMDRM
DRM
 
Agata overview
Agata overviewAgata overview
Agata overview
 
Platform Observability and Infrastructure Closed Loops
Platform Observability and Infrastructure Closed LoopsPlatform Observability and Infrastructure Closed Loops
Platform Observability and Infrastructure Closed Loops
 
RA TechED 2019 - SY08 - Developing Information Ready Applications using Smart...
RA TechED 2019 - SY08 - Developing Information Ready Applications using Smart...RA TechED 2019 - SY08 - Developing Information Ready Applications using Smart...
RA TechED 2019 - SY08 - Developing Information Ready Applications using Smart...
 
Data in Motion - tech-intro-for-paris-hackathon
Data in Motion - tech-intro-for-paris-hackathonData in Motion - tech-intro-for-paris-hackathon
Data in Motion - tech-intro-for-paris-hackathon
 
Product Presentation - Motadata Unified Platform for IT Monitoring, flow anal...
Product Presentation - Motadata Unified Platform for IT Monitoring, flow anal...Product Presentation - Motadata Unified Platform for IT Monitoring, flow anal...
Product Presentation - Motadata Unified Platform for IT Monitoring, flow anal...
 
FIWARE Global Summit - Keyrock: Protecting Microservices
FIWARE Global Summit - Keyrock: Protecting MicroservicesFIWARE Global Summit - Keyrock: Protecting Microservices
FIWARE Global Summit - Keyrock: Protecting Microservices
 
Addressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh IntegrationAddressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh Integration
 
Application Programming Interface
Application Programming InterfaceApplication Programming Interface
Application Programming Interface
 
Soa12c launch 5 event processing shmakov eng cr
Soa12c launch 5 event processing shmakov eng crSoa12c launch 5 event processing shmakov eng cr
Soa12c launch 5 event processing shmakov eng cr
 
Is 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingIs 12 Factor App Right About Logging
Is 12 Factor App Right About Logging
 
IRJET- Securing Cloud Data Under Key Exposure
IRJET- Securing Cloud Data Under Key ExposureIRJET- Securing Cloud Data Under Key Exposure
IRJET- Securing Cloud Data Under Key Exposure
 
FOISDBA-Ver1.1.pptx
FOISDBA-Ver1.1.pptxFOISDBA-Ver1.1.pptx
FOISDBA-Ver1.1.pptx
 
Streaming real time data with Vibe Data Stream
Streaming real time data with Vibe Data StreamStreaming real time data with Vibe Data Stream
Streaming real time data with Vibe Data Stream
 
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
 
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
 
SplunkLive! Munich 2018: Data Onboarding Overview
SplunkLive! Munich 2018: Data Onboarding OverviewSplunkLive! Munich 2018: Data Onboarding Overview
SplunkLive! Munich 2018: Data Onboarding Overview
 
Using Data Mining for Discovering Anomalies from Firewall Logs: a Comprehensi...
Using Data Mining for Discovering Anomalies from Firewall Logs: a Comprehensi...Using Data Mining for Discovering Anomalies from Firewall Logs: a Comprehensi...
Using Data Mining for Discovering Anomalies from Firewall Logs: a Comprehensi...
 
SplunkLive! Frankfurt 2018 - Data Onboarding Overview
SplunkLive! Frankfurt 2018 - Data Onboarding OverviewSplunkLive! Frankfurt 2018 - Data Onboarding Overview
SplunkLive! Frankfurt 2018 - Data Onboarding Overview
 
Stream Analytics
Stream Analytics Stream Analytics
Stream Analytics
 

Mais de Joaquín Salvachúa (20)

Eemov data
Eemov dataEemov data
Eemov data
 
Etica big data
Etica big dataEtica big data
Etica big data
 
Kubernetes2
Kubernetes2Kubernetes2
Kubernetes2
 
Introducción al ecosistema de React.js
Introducción al ecosistema de React.jsIntroducción al ecosistema de React.js
Introducción al ecosistema de React.js
 
FIWARE Identity Manager Exercises
FIWARE Identity Manager ExercisesFIWARE Identity Manager Exercises
FIWARE Identity Manager Exercises
 
FIware Identity Manager
FIware Identity ManagerFIware Identity Manager
FIware Identity Manager
 
Fi ware en Hack for good (#H4G)
Fi ware en Hack for good  (#H4G) Fi ware en Hack for good  (#H4G)
Fi ware en Hack for good (#H4G)
 
Id fiware upm-dit
Id fiware  upm-ditId fiware  upm-dit
Id fiware upm-dit
 
Vagrant
VagrantVagrant
Vagrant
 
Big data Jornada Fundación Ramón Areces
Big data Jornada Fundación Ramón ArecesBig data Jornada Fundación Ramón Areces
Big data Jornada Fundación Ramón Areces
 
Intro20 socioeconomia
Intro20 socioeconomiaIntro20 socioeconomia
Intro20 socioeconomia
 
Master w20 01
Master w20 01Master w20 01
Master w20 01
 
Blogs micro
Blogs microBlogs micro
Blogs micro
 
Social networks upm
Social networks upmSocial networks upm
Social networks upm
 
Nube redes
Nube redesNube redes
Nube redes
 
Identidad2
Identidad2Identidad2
Identidad2
 
Blogs Micro
Blogs MicroBlogs Micro
Blogs Micro
 
Blogs Micro
Blogs MicroBlogs Micro
Blogs Micro
 
Blogs y Microblogging
Blogs y MicrobloggingBlogs y Microblogging
Blogs y Microblogging
 
Blogs y Microblogging
Blogs y MicrobloggingBlogs y Microblogging
Blogs y Microblogging
 

Último

Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...shambhavirathore45
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Onlineanilsa9823
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Delhi Call girls
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxolyaivanovalion
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 

Último (20)

Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptx
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 

FIWARE Data usage control

  • 1. FIWARE Data Usage Control Context Management (Core) Chapter Data/API Management, Publication and Monetization Chapter Universidad Politécnica de Madrid (ETSIT)
  • 2. Privacy and Data Usage Control: Next War over internet
  • 3. Data Access / Usage Control ● Data Access Control: ■ Specify who can access what resource ■ Also the rights to access it (actions) ● Data Usage Control: ■ Ensures data sovereignty ■ Regulates what is allowed to happen with the data (future usage). ■ Related to data ingestion and processing ■ Context of intellectual property protection, privacy protection, compliance with regulations and digital rights management Source: IDS Reference Architecture Model Version 2.0
  • 4. Data Usage Control in FIWARE Policies definition We define the FI-UCON model. Based on the UCON specification and model. Define : ● Obligations ● Authorizations ● Conditions Over data and processing. Pre Decision permit access start access Ongoing Decision revoke access end access Timetry access
  • 5. Data Access Control in FIWARE Resources protection access-token permissions check
  • 6. Data Usage Control in FIWARE Proposed scenario ▪ The Security Framework provides Usage Control (FI-UCON) • To Data processed in Big Data components • Provided by Orion Context Broker ▪ Usage Control policies are defined using an extension for ODRL model based (through a UI) • And stored in Keyrock’s PAP ▪ Policies are transformed into a program that processes the traces generated by the user data-processing engines • And enforces punishments if the user does not comply with the policies ( Algebra transform into a CSP-like behaviour detection) ➔ A user with permissions to access a specific entity in the CB will be able to use it if compliance with the data usage policies is ensured.
  • 7. Data Usage Control in FIWARE Policies definition: ODRL 2.2 ( W3C) It is a policy expression language that provides a flexible and interoperable information model, vocabulary, and encoding mechanisms for representing statements about the usage of content and services. We define our own profile FI-DUsageML (we are based on a modified RIGHTML profile) Entities : ● Dataset ( url ) ● NGSIStream ( url ) ● Processing Engines ( Apache Flink, Spark Scala)
  • 8. Data Usage Control in FIWARE FI-ODRL: an ODRL extension for data processing and data provenance. Extension for the ODRL 2.2 W3C standard (Open Digital Rights Language) with ● New vocabulary (based on https://www.w3.org/TR/odrl-vocab/) ● New profile more oriented for data processing. This will provide an algebraic specification (label transition system) for Obligations and Permissions in a quite abstract way. This will be translated into a extended automata processing tool. To implement this in a simple way we have chosen to use the Complex Event Processing capabilities from Flink (FI-ODRL compiler to be integrated). This will trigger events to avoid the processed data to be delivered or serialized.
  • 9. Data Usage Control in FIWARE Policies definition: Attributes ● Constraints ● Permissions ● Prohibitions ● Obligations This is the ODRL 2.2 // RightML model
  • 10. Data Usage Control in FIWARE Reference Architecture Model 1 Data Consumer Data Provider Processing Engines Define Access/ Usage Control Policies Data Controller Storage Systems PIP / PAP (IDM Keyrock) PXP/PDP policy rules ODRL policies Stored Data “Real-Time” Data Shared Data Usage Control Ongoing Decisions Data-processing Engine Traces
  • 11. Data Consumer Data Provider Data Usage Control in FIWARE Reference Architecture Model 2 Processing Engines Define Access/ Usage Control Policies Storage Systems PDP / PAP (IDM Keyrock) PXP/PDP policy rules ODRL policies Stored Data “Real-Time” Data Shared Data Usage Control Ongoing Decisions Data-processing Engine Traces
  • 12. Data Usage Control in FIWARE Architecture Data Consumer Data provider PDP / PAP (IDM Keyrock) NGSIv2 Notification PXP/PDP Apache Flink policy rules Traces Control Signals FIWARE Context Broker (Orion) PEP PEPPEP PEP Proxy (Wilma) ODRL policies FIWARE DRACO Access control
  • 13. Data Usage Control in FIWARE Architecture (detail) Streaming Engine Usage Control PDP / PAP (Keyrock) Streaming Job Data Events Data Events Logs Execution Graph Logs PXP/PDP PTP ODRL policies DATA CONSUMER DATA PROVIDER FI-ODRL Specification Control Signals Usage control ODRL specification is transformed into a PXP (extended automata) execution engine
  • 14. Usage Control Apache Flink PXPApache Flink FIWARE Context Broker (Orion) PEP PEPPEP PEP Proxy (Wilma) Data Events Logs Execution Graph Logs Control Signals NGSI Data Events Access control PXP/PDP Engine IdM (Keyrock) FI-ODRL Policy Translation Point (Extended Automata) FI-ODRL Specification Data Usage Control in FIWARE Deployment Diagram
  • 15. Data Usage Control in FIWARE Policies check Logs used for monitoring and control: ⭓ Execution Logs It is the chain of operations to be performed by the program run on the processing engine (Flink- Data User Side) ⭓ Events Logs All the events received at the source of the Processing Engine (Flink- Data User Side) This events will be fed into the FI-ODRL CEP translation to verify its conformance with the specified policy. May be integrated with the Container Log interface or the Cluster Manager.
  • 16. Data Usage Control in FIWARE Policies check ■ Execution Logs example: 2019-05-14 11:22:23.820 [flink-akka.actor.default-dispatcher-3] INFO org.apache.flink.runtime.executiongraph.ExecutionGraph - Source: Custom Source -> Flat Map -> Map -> Map (1/1) 2019-05-14 11:22:23.993 [flink-akka.actor.default-dispatcher-2] INFO org.apache.flink.runtime.executiongraph.ExecutionGraph - TriggerWindow(TumblingProcessingTimeWindows(15000), AggregatingStateDescriptor{name=window-contents, defaultValue=null, serializer=org.fiware.cosmos.orion.flink.cep.examples.example1.AveragePrice$$anon$26$$a non$11@963b52f9}, ProcessingTimeTrigger(), AllWindowedStream.aggregate(AllWindowedStream.java:475)) -> Sink: Print to Std. Out (1/1) ■ Execution Graph Data Source FlatMap Combine Sink Data Events
  • 17. Data Usage Control in FIWARE Policies check ■ Events Logs example: 2019-05-14 11:41:19.725 [nioEventLoopGroup-3] INFO org.fiware.cosmos.orion.flink.connector.OrionHttpHandler - {"creationTime":1557834079723,"fiwareService":"400","fiwareServicePath":"a pplication/json;charset=utf-8","entities":[{"id":"ticket","type":"ticket", "attrs":{"_id":{"type":"String","value":1027,"metadata":{}},"items":{"type ":"object","value":[{"net_am":3.9,"n_unit":6,"desc":"GOURMET 85GR"}],"metadata":{}},"mall":{"type":"String","value":2,"metadata":{}},"d ate":{"type":"date","value":"01/14/2016","metadata":{}},"client":{"type":" int","value":77021708271,"metadata":{}}}}],"subscriptionId":"5cdaa95e73a0d eb8df34cb77"} Data Source NGSI Events Event Logs { "id":"ticket", "type":"ticket", "attrs":{ "_id":{ "type":"String", "value":1027, "metadata":{} }, "items":{ "type":"object", "value":[{ "net_am":3.9, "n_unit":6, "desc":"GOURMET 85GR" }], "metadata":{} }, "mall":{ "type":"String", "value":2, "metadata":{} }, "date":{ "type":"date", "value":"01/14/2016", "metadata":{} }, "client":{ "type":"int", "value":77021708271, "metadata":{} } } }
  • 18. Data Usage Control in FIWARE Use case Cash registers generate tickets and publish purchase data on the CB Ticket Supermarket Store 1 Cash Registers FIWARE Context Broker (Orion) PEP P E P P E P PEP Supermarket Store 2 TicketCash Registers
  • 19. Data Usage Control in FIWARE Use case subscription to processed data Client A Ticket Supermarket Store 1 Cash Registers FIWARE Context Broker (Orion) PEP P E P P E P PEP Supermarket Store 2 TicketCash Registers Client A wants to subscribe to the entity that contains the tickets’ information
  • 20. Data Usage Control in FIWARE Use case Data Processing and Usage Control subscription to processed data Client A Ticket Supermarket Store 1 Cash Registers FIWARE Context Broker (Orion) PEP P E P P E P PEP Supermarket Store 2 TicketCash Registers Client A deploys a Flink Job that performs analytics on the data received from Orion using the Cosmos connector All the operations performed and events received are registered in the logs
  • 21. Data Usage Control in FIWARE Use case Data Processing and Usage Control subscription to processed data Client A Ticket Supermarket Store 1 Cash Registers FIWARE Context Broker (Orion) PEP P E P P E P PEP Supermarket Store 2 TicketCash Registers The logs generated by the Flink Job are sent to the PDP/PXP, who makes sure the operations performed on the data comply with the policies.
  • 22. Data Usage Control in FIWARE Use case: defining entities and policies Context broker Entities Ticket ● date ● client_id ● supermarket_id ● product_list − description − n_items − price Usage Policies ● The user shall NOT save the data without aggregating them each 15 seconds first or else the processing job will be terminated ● The user shall NOT receive more than 200 notifications from Orion in a minute or else the subscription to the entity will be deleted
  • 23. Data Usage Control in FIWARE Use case implementation: Policy translation Policy in natural language ● The user shall NOT save the data without aggregating them every 15 seconds first or else the processing job will be terminated ● The user shall NOT receive more than 200 notifications from Orion in a minute or else the subscription to the entity will be deleted { "@context": ["http://www.w3.org/ns/odrl.jsonld", "http://keyrock.fiware.org/FIDusageML/profile/FIDusageML.jsonld"], "@type": "Set", "uid": " http://keyrock.fiware.org/FIDusageML/policy:1010", "profile": "http://keyrock.fiware.org/FIDusageML/profile/", "permission": [{ "target": "http://orion.fiware.org/NGSInotification", "action": "ReadNGSIWindow", "constraint": [{ "leftOperand": "WindowNotification", "operator": "gt", "rightOperand": { "@value": "3", "@type": "xsd:integer" } },{ "leftOperand": "WindowNotificationValueSet", { "@value": "zip", "@type": "xsd:string" } "operator": "gt", "rightOperand": { "@value": "2", "@type": "xsd:integer" }] }] "prohibition": [{ "target": "http://orion.fiware.org/NGSInotification", "action": "SingleEventProcessing" }] }
  • 24. Data Usage Control in FIWARE Use case implementation: creating policies Manage app policies
  • 25. Data Usage Control in FIWARE Use case implementation: creating policies
  • 26. Data Usage Control in FIWARE Use case implementation: creating policies Assign policy to role
  • 27. Data Usage Control in FIWARE Use case implementation: Flink Job (User side) val env = StreamExecutionEnvironment.getExecutionEnvironment // Create Orion Source. Receive notifications on port 9001 val eventStream = env.addSource(new OrionSource(9001)) // Process event stream val processedDataStream = eventStream .flatMap(event => event.entities) .map(entity => { val id = entity.attrs("_id").value.toString val items = entity.attrs("items").value.asInstanceOf[List[Map[String,Any]]] items.map(product => { val productName = product("desc").asInstanceOf[String] val unitPrice = product("net_am").asInstanceOf[Number].floatValue() val unitNumber = product("n_unit").asInstanceOf[Number].floatValue() SupermarketProduct(id, productName, unitPrice * unitNumber) }) }) .map(_.map(_.price).sum) .timeWindowAll(Time.seconds(15)) .aggregate(new AverageAggregate) // Print the results with a single thread, rather than in parallel processedDataStream.print().setParallelism(1) env.execute("Supermarket Job")
  • 28. Data Usage Control in FIWARE Use case implementation: Flink CEP generated code // First pattern: At least N events in T. val countPattern2 = Pattern.begin[Entity]("events" ) .timesOrMore(200).within(Time.seconds(15)) CEP.pattern(entityStream, countPattern2).select(events => Signals.createAlert(Policy.COUNT_POLICY, events, Punishment.UNSUBSCRIBE)) // Second pattern: Source -> Sink. Aggregation TimeWindow val aggregatePattern = Pattern.begin[ExecutionGraph]("start", AfterMatchSkipStrategy.skipPastLastEvent()) .where(Policies.executionGraphChecker(_, "source")) .notFollowedBy("middle").where(Policies.executionGraphChecker(_, "aggregation", 15000)) .followedBy("end").where(Policies.executionGraphChecker(_, "sink")).timesOrMore(1) CEP.pattern(operationStream, aggregatePattern).select(events => Signals.createAlert(Policy.AGGREGATION_POLICY, events, Punishment.KILL_JOB))
  • 29. Data Usage Control in FIWARE Use case implementation: Control panel
  • 31. Future work ▪ Consider integration with apache Atlas and Apache Ranger (evolution of Cosmos Fiware GE). These projects are centered on batch scenarios right now. ▪ Propose the FI-ODRL extension on the ODRL 2.2 W3C standard. ▪ Consider the provenance of the data and even provide it as an additional result (even if the policy denial of execution is not triggered) ▪ Possible integration with containers’ infrastructure to automatize the logs and block of execution and serialization. ▪ Ongoing research activity ….