SlideShare a Scribd company logo
1 of 95
Download to read offline
i4Trust Website
i4Trust Community
i4Trust components for
Identity Management and
Access Control
Speakers:
Rajiv Rajani - CTO iSHARE Foundation
Álvaro Arranz - CEO FICODES
Francisco de la Vega - CTO FICODES
i4Trust Identity and Access Management (IAM)
■ About:
■ This part of the session will introduce you to i4Trust IAM components in detail.
■ This session will:
■ Explain iSHARE Identity and Access Management concepts in detail
■ Explain the FIWARE components which comply with iSHARE specifications in detail
■ How to deploy them
■ How to use them
■ Goals:
■ After this session you will be able to implement a service using i4Trust IAM components
■ Target Audience:
■ LEBDs
Technical Deepdive on IAM in iSHARE
Data Space
Recap: Roles in a Data Space
Data Consumer Data Provider Data Owner
Identity Provider Authorisations
Provider
Marketplace
Trust Provider
4
Recap: iSHARE role model
5
Data Space or Domain
International Legal Framework governed by iSHARE Foundation
What is iSHARE Satellite?
■ iSHARE satellite is a federated certified role
■ It essentially does:
■ Onboard and maintain list of participants and its statues
■ Enables multilateral trust when participants signup
■ Provide APIs for participants to get detailed information along with statues of other participants
with whom they want to interact or are interacting
■ Plays the facilitator role for common agreements like, but not limited to business agreements,
operational agreements, etc.
■ Is federated part of the governing body of data spaces that interoperate
Identity Provider role is designed for users to reuse their
existing identity provider at various service/data providers
Identity Provider
• The Identity Provider role deals with the human identities
with varying level of assurances, as defined in eIDAS
framework, to support various use cases
• It is based on OpenID Connect as standard, however, with
slight adjustment to make it better suitable for B2B, B2G,
G2G and of course B2C and G2C
• Depending on the criticality of the data, appropriate level of
assurance for an identity can be requested
• iSHARE specifications are designed such that service/data
provider does not necessarily need to pre-register an
identity provider as it can verify if it is an iSHARE certified
provider from iSHARE satellite
7
Authorisations Registry (provider) role
Example response of a fine-grained authorisation
Example of a coarse-grained authorisation
Interaction Machine-to-Machine (M2M)
Communication between machines,
without interference by a human
Human-to-Machine (H2M)
Communication between a human and (a)
machine(s). Requires a user interface
Facilitate Flexible authorizations
• Coarse-grained: broad authorization
• Fine-grained: specific authorization
• Flexibility on where to store
authorizations
Portable identities
Identities can be spread out and recognised, i.e.
portable, across multiple, independent systems
Enable Delegations
Functions as evidence that a party is
directly or indirectly operating on
behalf of a known party
Customer in control
parties are allowed to modify or withdraw access
rights to their data or services, whenever they wish
Trustworthy Identification, Authentication and
Authorisations
11
Basics of every IAM transaction
A certificate is a digital file used for integrity and authenticity
A certificate consists of a public and a private part
iSHARE relies on PKI-certificates to verify organisational
identities
A private keys signs data
A public keys verifies this signature
JSON Web Tokens (JWTs) are base64- encoded JSON
objects
JSON Web Tokens (JWTs) are base64- encoded JSON
objects
JSON Web Tokens (JWTs) are base64- encoded JSON
objects
In iSHARE, client assertions are JWTs with iSHARE
specific Header and Payload
In iSHARE, client assertions are JWTs with iSHARE
specific Header and Payload
An iSHARE party uses the client_assertion to get an access
token from another iSHARE Party
An iSHARE party uses the client_assertion to get an access
token from another iSHARE Party
An iSHARE party uses the client_assertion to get an access
token from another iSHARE Party
Fictional use case
Case:
■ ABC Trucking wants to access container
data at the terminal on behalf of Banana &
Co.
■ Banana & Co needs to register at
AskMeAnything Authorization Registry that
they delegate access rights to ABC
Trucking
■ When ABC Trucking requests the data at
the Service Provider, Warehouse 13, it
checks with AskMeAnything for delegation
evidence
■ If AskMeAnything returns valid delegation
evidence, Warehouse 13 can exchange
data with ABC Trucking
All calls are iSHARE calls, except if noted otherwise.
These exceptions are marked with a RED arrow.
Participants of the fictional use case
Case:
■ ABC Trucking wants to access container data at the terminal on behalf of Banana & Co.
Beforehand: Getting the trusted list
iSHARE Satellite
iSHARE Satellite
Participants of the fictional use case
Further reading and useful links
■ iSHARE framework covering all aspects - https://scheme.ishareworks.org
■ iSHARE developer portal - https://dev.ishareworks.org
■ Postman collections for fictional use case - https://dev.ishareworks.org/demo-and-
testing/postman.html#postman-collections
■ Dummy participants in various roles for testing purposes - https://dev.ishareworks.org/demo-and-
testing/test-participants.html
■ JSON Web Tokens (JWT) reference and libraries - https://jwt.io
■ OAuth specifications and other materials - https://oauth.net/2/
■ OpenID Connect specifications and other materials - https://openid.net/connect/
■ eIDAS regulation
■ PKI wikipedia - https://en.wikipedia.org/wiki/Public_key_infrastructure
i4Trust IAM components
iSHARE Architecture using FIWARE
● Keyrock is the FIWARE component responsible for identity management.
○ It supports, among others, the OAuth2 and Open ID Connect standards
○ It is being extended to support the iSHARE specifications
○ Plays the role of the identity provider
○ In a near future, it will also provide the authorization registry features.
● API Umbrella is an open source API management platform for exposing and securing web
service APIs.
○ It acts as a proxy that provides access control, rate limiting, analytics, … to API services. We will
use it to protect our context broker instances.
○ It is being extended to comply with iSHARE specifications.
● Until officially released, release candidate docker images should be used. At the moment:
○ fiware/idm:i4trust-rc2 for Keyrock
○ And fiware/api-umbrella:i4trust-rc3 for API Umbrella
iSHARE Architecture using FIWARE
Requirements to deploy
● To be registered as a iSHARE party. This means to have a certificate signed by a test CA
with the associated private key. Also means to have access credentials to the iSHARE
Satellite and Authorization Registry instance to be used.
● Please, contact Rajiv for requesting testing credentials and access to those services.
Setting up Keyrock: i4Trust related environment variables
■ IDM_PR_URL:
■ URL of the iSHARE Satellite instance to use (e.g. https://scheme.isharetest.net)
■ This setting also is the one that enables i4Trust support on Keyrock
■ IDM_PR_CLIENT_ID:
■ party identifier (EORI) associated with this Keyrock instance
■ IDM_PR_CLIENT_KEY_FILE:
■ path to the private key file (PEM format)
■ IDM_PR_CLIENT_CRT_FILE:
■ path to the certificate chain (PEM format)
■ IDM_AR_URL:
■ URL of Authorization Registry instance to use (e.g. https://ar.isharetest.net)
■ IDM_AR_IDENTIFIER:
■ Party identifier (EORI) associated with the Authorization Registry instance
Setting up API umbrella: i4Trust related configuration
…
jws:
identifier: EU.EORI.NLHAPPYPETS
root_ca: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
private_key: |
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC8yeRuxDI2/vyJ
…
-----END PRIVATE KEY-----
x5c:
- MIIE...Uw==
- MIIF...vic=
- MIIF...AQ==
authorisation_registry:
host: https://ar.isharetest.net
identifier: EU.EORI.NL000000004
token_endpoint: https://ar.isharetest.net/token
delegation_endpoint: https://ar.isharetest.net/delegation
In this case, configuration
is provided through the
api-umbrella.yml file.
API Management with API Umbrella
■ It support two types of entries:
■ API Backends (this is the one we are interested in)
■ And Website Backends
■ Changes are not automatically applied. Once you
have created/updated/deleted the API Backend
configuration, you have to publish them.
Basic API Backend configuration
You can configure a list of backend
services. In this case there is only one
backend server (http://orion.local:1026).
“Frontend Host” is the DNS that will be
associated with this API backend
(Umbrella can be associated with
multiple DNS names). The “Backend
Host” setting allows you to pass a
different “Host” header to the backend
server (usually not required).
Also, it is possible to transform path
prefixes.
Enabling i4Trust support
API Umbrella is able to
automatically analyse the
incoming NGSI-LD request
and to determine the
necessary policy required for
each request. This is achieved
by setting the “Authorization
Mode” to “Context Broker
attribute based - iSHARE
compliant (automatically)” in
the Global Request Settings
section.
Context Broker policy
example
This policy is telling that
EU.EORI.NLPACKETDEL is allowing
EU.EORI.NLNOCHEAPER to issue GET
requests to read DELIVERYORDER
entities, including any of their attributes.
{
"delegationEvidence": {
"notBefore": 1541058939,
"notOnOrAfter": 2147483647,
"policyIssuer": "EU.EORI.NLPACKETDEL",
"target": {
"accessSubject": "EU.EORI.NLNOCHEAPER"
},
"policySets": [
{
"maxDelegationDepth": 1,
"target": {
"environment": {
"licenses": ["ISHARE.0001"]
}
},
"policies": [
{
"target": {
"resource": {
"type": "DELIVERYORDER",
"identifiers": ["*"],
"attributes": ["*"]
},
"actions": ["GET"]
},
"rules": [
{
"effect": "Permit"
}
]
}
]
}
]
}
}
}
Login (step 1)
First, generate an iSHARE
JWT signed using the JSON
Web Signature standard
(JWS)
> Headers
{
"alg": "RS256",
"typ": "JWT",
"x5c": [ // Complete certificate chain of the party
"MIIEhjCC….Zy9w==",
...
]
}
> Payload
{
"jti": "99ab5bca41bb45b78d242a46f0157b7d", // Unique JWT ID
"iss": "EU.EORI.NLMARKETPLA",
"sub": "EU.EORI.NLMARKETPLA",
"aud": "EU.EORI.NLHAPPYPETS", // ID (EORI) of the IDP to be accessed
"iat": "1540827435",
"nbf": "1540827435",
"exp": "1540827435", // 30 seconds after iat
"response_type": "code",
"client_id": "EU.EORI.NLMARKETPLA",
"scope": "openid iSHARE profile email",
"redirect_uri": "https://www.marketplace.com/openid_connect1.0/return",
"state": "af0ifjsldkj",
"nonce": "c428224ca5a",
"acr_values": "urn:http://eidas.europa.eu/LoA/NotNotified/high",
"language": "en"
}
Login (step 2)
Make a POST request to the
/authorize endpoint, so the
target Identity Provider (in this
case a Keyrock instance) can
validate we are a trusted
iSHARE party.
The JWT generated in step 1
has to be provided in the
request parameter.
If everything goes well, a 204
status code will be returned
along with a Location header.
> Content-Type: application/x-www-form-urlencoded
POST https://idp-pdc.i4trust.fiware.io/authorize
response_type=code&
client_id=EU.EORI.NLMARKETPLA&
scope=iSHARE openid&
request=eyJ0eXA…YkNKOQ
Redirect user’s browser to the
URL provided on the Location
headers. This way, the user
can provide his credentials
and consent through the login
page of Keyrock.
If everything goes well,
Keyrock will return an
authorization code using the
provided redirect URI.
Login (step 3)
< Location: https://marketplace.i4trust.fiware.io/openid_connect1.0/return?
code=Dmn-TbSj7OcKl5ym1j5xZsgkabzVP8dMugC81nzmeW4&
state=ZqVQm4zHaEDyBhzpm1ZRH7fsxy703lq2
A new request to the /token
endpoint of the Identity
Provider has to be made to
retrieve the final access token.
The signed JWT created in
step 1 has to be provided in
the client_assertion parameter
of the request.
The authorization code
obtained in step 3 is provided
within the code parameter.
Login (step 4)
> Content-Type: application/x-www-form-urlencoded
POST https://idp-pdc.i4trust.fiware.io/token
grant_type=authorization_code&
client_id=EU.EORI.NLMARKETPLA&
client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&
client_assertion=eyJ0eXA…YkNKOQ&
redirect_uri=https://marketplace.i4trust.fiware.io/openid_connect1.0/return&
code=Dmn-TbSj7OcKl5ym1j5xZsgkabzVP8dMugC81nzmeW4
Finally, Keyrock will provide an
access token that can be used
to access services.
In addition, an iSHARE JWT
compliant id_token is also
returned which is associated
with the authenticated session.
Login (step 5)
< Content-Type: application/json
< Cache-Control: no-store
< Pragma: no-cache
{
"id_token": "eyJhb...V2jA",
"access_token": "aW2ys...LIOw",
"expires_in": 3600,
"token_type": "Bearer"
}
Decoded id_token parameter
{
"iss": "EU.EORI.NLPACKETDEL",
"sub": "419404e1-07ce-4d80-9e8a-eca94vde0003de",
"aud": "EU.EORI.NLMARKETPLA",
"jti": "378a47c4-2822-4ca5-a49a-7e5a1cc7ea59",
"iat": 1504683445,
"exp": 1504683475,
"auth_time": 1504683435,
"nonce": "c428224ca5a",
"acr": "urn:http://eidas.europa.eu/LoA/NotNotified/low",
"azp": "EU.EORI.NLMARKETPLA",
}
Managing Keyrock accounts
Further reading and useful links
■ Official Keyrock Documentation - https://fiware-idm.readthedocs.io/
■ Tutorials and descriptions on how to setup the components within an i4Trust data space
■ https://github.com/i4Trust/tutorials/tree/main/Data-Service-Provider
■ Example Keyrock Theme - https://github.com/i4Trust/keyrock-theme-pdc
■ Helm Charts (kubernetes) to deploy i4Trust IAM components:
■ https://github.com/FIWARE/helm-charts/tree/i4trust
■ Passport strategy for authentication with FIWARE Keyrock using iShare JWT:
■ https://github.com/Ficodes/passport-i4trust
■ iSHARE framework covering all aspects - https://scheme.ishareworks.org
■ iSHARE developer portal - https://dev.ishareworks.org
Thank you!
i4Trust has received funding from the European Union’s Horizon 2020 research
and innovation programme under the Grant Agreement no 951975.

More Related Content

What's hot

FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and Legacy
FIWARE
 

What's hot (20)

Data persistency (draco, cygnus, sth comet, quantum leap)
Data persistency (draco, cygnus, sth comet, quantum leap)Data persistency (draco, cygnus, sth comet, quantum leap)
Data persistency (draco, cygnus, sth comet, quantum leap)
 
FIWARE Training: Identity Management and Access Control
FIWARE Training: Identity Management and Access ControlFIWARE Training: Identity Management and Access Control
FIWARE Training: Identity Management and Access Control
 
FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and Legacy
 
OpenID for SSI
OpenID for SSIOpenID for SSI
OpenID for SSI
 
FIWARE Training: NGSI-LD Advanced Operations
FIWARE Training: NGSI-LD Advanced OperationsFIWARE Training: NGSI-LD Advanced Operations
FIWARE Training: NGSI-LD Advanced Operations
 
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理
 
Secure your app with keycloak
Secure your app with keycloakSecure your app with keycloak
Secure your app with keycloak
 
FIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large Scale
 
OpenID 4 Verifiable Credentials + HAIP (Update)
OpenID 4 Verifiable Credentials + HAIP (Update)OpenID 4 Verifiable Credentials + HAIP (Update)
OpenID 4 Verifiable Credentials + HAIP (Update)
 
FIWARE implementation of IDS concepts
FIWARE implementation of IDS conceptsFIWARE implementation of IDS concepts
FIWARE implementation of IDS concepts
 
Scim overview
Scim overviewScim overview
Scim overview
 
OIDC4VP for AB/C WG
OIDC4VP for AB/C WGOIDC4VP for AB/C WG
OIDC4VP for AB/C WG
 
Bringing the Pieces Together - Detailed Walkthrough of the Reference Example
Bringing the Pieces Together - Detailed Walkthrough of the Reference ExampleBringing the Pieces Together - Detailed Walkthrough of the Reference Example
Bringing the Pieces Together - Detailed Walkthrough of the Reference Example
 
Pentesting jwt
Pentesting jwtPentesting jwt
Pentesting jwt
 
DDD 구현기초 (거의 Final 버전)
DDD 구현기초 (거의 Final 버전)DDD 구현기초 (거의 Final 버전)
DDD 구현기초 (거의 Final 버전)
 
OPA: The Cloud Native Policy Engine
OPA: The Cloud Native Policy EngineOPA: The Cloud Native Policy Engine
OPA: The Cloud Native Policy Engine
 
DevSum: Azure AD B2C Application security made easy
DevSum: Azure AD B2C Application security made easyDevSum: Azure AD B2C Application security made easy
DevSum: Azure AD B2C Application security made easy
 
Integrating Fiware Orion, Keyrock and Wilma
Integrating Fiware Orion, Keyrock and WilmaIntegrating Fiware Orion, Keyrock and Wilma
Integrating Fiware Orion, Keyrock and Wilma
 
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE PerseoCreating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
 

Similar to i4Trust IAM Components

APIs_ An Introduction.pptx
APIs_ An Introduction.pptxAPIs_ An Introduction.pptx
APIs_ An Introduction.pptx
AkashThorat25
 
Sp 29 two_factor_auth_guide
Sp 29 two_factor_auth_guideSp 29 two_factor_auth_guide
Sp 29 two_factor_auth_guide
Hai Nguyen
 

Similar to i4Trust IAM Components (20)

APIs_ An Introduction.pptx
APIs_ An Introduction.pptxAPIs_ An Introduction.pptx
APIs_ An Introduction.pptx
 
2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...
2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...
2022 APIsecure_Why Assertion-based Access Token is preferred to Handle-based ...
 
Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?
 
Exploring Advanced Authentication Methods in Novell Access Manager
Exploring Advanced Authentication Methods in Novell Access ManagerExploring Advanced Authentication Methods in Novell Access Manager
Exploring Advanced Authentication Methods in Novell Access Manager
 
WSO2Con EU 2015: API Management Strategies and Best Practices
WSO2Con EU 2015: API Management Strategies and Best PracticesWSO2Con EU 2015: API Management Strategies and Best Practices
WSO2Con EU 2015: API Management Strategies and Best Practices
 
Sp 29 two_factor_auth_guide
Sp 29 two_factor_auth_guideSp 29 two_factor_auth_guide
Sp 29 two_factor_auth_guide
 
Federation Services
Federation ServicesFederation Services
Federation Services
 
SSO Manager
SSO ManagerSSO Manager
SSO Manager
 
Demystifying AuthN/AuthZ Using OIDC & OAuth2
Demystifying AuthN/AuthZ Using OIDC & OAuth2Demystifying AuthN/AuthZ Using OIDC & OAuth2
Demystifying AuthN/AuthZ Using OIDC & OAuth2
 
20190523 archiver fim
20190523 archiver fim20190523 archiver fim
20190523 archiver fim
 
Microservices security - jpmc tech fest 2018
Microservices security - jpmc tech fest 2018Microservices security - jpmc tech fest 2018
Microservices security - jpmc tech fest 2018
 
Brkarc 2034 smart-licensing
Brkarc 2034 smart-licensingBrkarc 2034 smart-licensing
Brkarc 2034 smart-licensing
 
PCI 3.0 Compliance and Security for Retailers
PCI 3.0 Compliance and Security for RetailersPCI 3.0 Compliance and Security for Retailers
PCI 3.0 Compliance and Security for Retailers
 
Defining Advanced AAA Policies for Access Networks
Defining Advanced AAA Policies for Access NetworksDefining Advanced AAA Policies for Access Networks
Defining Advanced AAA Policies for Access Networks
 
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -NadalinNew FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
 
What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...
 
FIDO UAF 1.0 Specs: Overview and Insights
FIDO UAF 1.0 Specs: Overview and InsightsFIDO UAF 1.0 Specs: Overview and Insights
FIDO UAF 1.0 Specs: Overview and Insights
 
Deciphering 'Claims-based Identity'
Deciphering 'Claims-based Identity'Deciphering 'Claims-based Identity'
Deciphering 'Claims-based Identity'
 
Security issues in RADIUS based Wi-Fi AAA
Security issues in RADIUS based Wi-Fi AAASecurity issues in RADIUS based Wi-Fi AAA
Security issues in RADIUS based Wi-Fi AAA
 
Oracle Blockchain Platform
Oracle Blockchain PlatformOracle Blockchain Platform
Oracle Blockchain Platform
 

More from FIWARE

Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptxCameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
FIWARE
 
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptxBoris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
FIWARE
 
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
FIWARE
 
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdfAbdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
FIWARE
 
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdfFGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FIWARE
 

More from FIWARE (20)

Behm_Herne_NeMo_akt.pptx
Behm_Herne_NeMo_akt.pptxBehm_Herne_NeMo_akt.pptx
Behm_Herne_NeMo_akt.pptx
 
Katharina Hogrebe Herne Digital Days.pdf
 Katharina Hogrebe Herne Digital Days.pdf Katharina Hogrebe Herne Digital Days.pdf
Katharina Hogrebe Herne Digital Days.pdf
 
Christoph Mertens_IDSA_Introduction to Data Spaces.pptx
Christoph Mertens_IDSA_Introduction to Data Spaces.pptxChristoph Mertens_IDSA_Introduction to Data Spaces.pptx
Christoph Mertens_IDSA_Introduction to Data Spaces.pptx
 
Behm_Herne_NeMo.pptx
Behm_Herne_NeMo.pptxBehm_Herne_NeMo.pptx
Behm_Herne_NeMo.pptx
 
Evangelists + iHubs Promo Slides.pptx
Evangelists + iHubs Promo Slides.pptxEvangelists + iHubs Promo Slides.pptx
Evangelists + iHubs Promo Slides.pptx
 
Lukas Künzel Smart City Operating System.pptx
Lukas Künzel Smart City Operating System.pptxLukas Künzel Smart City Operating System.pptx
Lukas Künzel Smart City Operating System.pptx
 
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptx
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptxPierre Golz Der Transformationsprozess im Konzern Stadt.pptx
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptx
 
Dennis Wendland_The i4Trust Collaboration Programme.pptx
Dennis Wendland_The i4Trust Collaboration Programme.pptxDennis Wendland_The i4Trust Collaboration Programme.pptx
Dennis Wendland_The i4Trust Collaboration Programme.pptx
 
Ulrich Ahle_FIWARE.pptx
Ulrich Ahle_FIWARE.pptxUlrich Ahle_FIWARE.pptx
Ulrich Ahle_FIWARE.pptx
 
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptx
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptxAleksandar Vrglevski _FIWARE DACH_OSIH.pptx
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptx
 
Water Quality - Lukas Kuenzel.pdf
Water Quality - Lukas Kuenzel.pdfWater Quality - Lukas Kuenzel.pdf
Water Quality - Lukas Kuenzel.pdf
 
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptxCameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
 
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptxFiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
 
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptxBoris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
 
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
 
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdfAbdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
 
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdfFGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
 
HTAG_Skalierung_Plattform_lokal_final_versand.pptx
HTAG_Skalierung_Plattform_lokal_final_versand.pptxHTAG_Skalierung_Plattform_lokal_final_versand.pptx
HTAG_Skalierung_Plattform_lokal_final_versand.pptx
 
WE_LoRaWAN _ IoT.pptx
WE_LoRaWAN  _ IoT.pptxWE_LoRaWAN  _ IoT.pptx
WE_LoRaWAN _ IoT.pptx
 
EU Opp_Clara Pezuela - German chapter.pptx
EU Opp_Clara Pezuela - German chapter.pptxEU Opp_Clara Pezuela - German chapter.pptx
EU Opp_Clara Pezuela - German chapter.pptx
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 

i4Trust IAM Components

  • 1. i4Trust Website i4Trust Community i4Trust components for Identity Management and Access Control Speakers: Rajiv Rajani - CTO iSHARE Foundation Álvaro Arranz - CEO FICODES Francisco de la Vega - CTO FICODES
  • 2. i4Trust Identity and Access Management (IAM) ■ About: ■ This part of the session will introduce you to i4Trust IAM components in detail. ■ This session will: ■ Explain iSHARE Identity and Access Management concepts in detail ■ Explain the FIWARE components which comply with iSHARE specifications in detail ■ How to deploy them ■ How to use them ■ Goals: ■ After this session you will be able to implement a service using i4Trust IAM components ■ Target Audience: ■ LEBDs
  • 3. Technical Deepdive on IAM in iSHARE
  • 4. Data Space Recap: Roles in a Data Space Data Consumer Data Provider Data Owner Identity Provider Authorisations Provider Marketplace Trust Provider 4
  • 5. Recap: iSHARE role model 5 Data Space or Domain International Legal Framework governed by iSHARE Foundation
  • 6. What is iSHARE Satellite? ■ iSHARE satellite is a federated certified role ■ It essentially does: ■ Onboard and maintain list of participants and its statues ■ Enables multilateral trust when participants signup ■ Provide APIs for participants to get detailed information along with statues of other participants with whom they want to interact or are interacting ■ Plays the facilitator role for common agreements like, but not limited to business agreements, operational agreements, etc. ■ Is federated part of the governing body of data spaces that interoperate
  • 7. Identity Provider role is designed for users to reuse their existing identity provider at various service/data providers Identity Provider • The Identity Provider role deals with the human identities with varying level of assurances, as defined in eIDAS framework, to support various use cases • It is based on OpenID Connect as standard, however, with slight adjustment to make it better suitable for B2B, B2G, G2G and of course B2C and G2C • Depending on the criticality of the data, appropriate level of assurance for an identity can be requested • iSHARE specifications are designed such that service/data provider does not necessarily need to pre-register an identity provider as it can verify if it is an iSHARE certified provider from iSHARE satellite 7
  • 9. Example response of a fine-grained authorisation
  • 10. Example of a coarse-grained authorisation
  • 11. Interaction Machine-to-Machine (M2M) Communication between machines, without interference by a human Human-to-Machine (H2M) Communication between a human and (a) machine(s). Requires a user interface Facilitate Flexible authorizations • Coarse-grained: broad authorization • Fine-grained: specific authorization • Flexibility on where to store authorizations Portable identities Identities can be spread out and recognised, i.e. portable, across multiple, independent systems Enable Delegations Functions as evidence that a party is directly or indirectly operating on behalf of a known party Customer in control parties are allowed to modify or withdraw access rights to their data or services, whenever they wish Trustworthy Identification, Authentication and Authorisations 11
  • 12. Basics of every IAM transaction
  • 13. A certificate is a digital file used for integrity and authenticity
  • 14. A certificate consists of a public and a private part
  • 15. iSHARE relies on PKI-certificates to verify organisational identities
  • 16. A private keys signs data A public keys verifies this signature
  • 17. JSON Web Tokens (JWTs) are base64- encoded JSON objects
  • 18. JSON Web Tokens (JWTs) are base64- encoded JSON objects
  • 19. JSON Web Tokens (JWTs) are base64- encoded JSON objects
  • 20. In iSHARE, client assertions are JWTs with iSHARE specific Header and Payload
  • 21. In iSHARE, client assertions are JWTs with iSHARE specific Header and Payload
  • 22. An iSHARE party uses the client_assertion to get an access token from another iSHARE Party
  • 23. An iSHARE party uses the client_assertion to get an access token from another iSHARE Party
  • 24. An iSHARE party uses the client_assertion to get an access token from another iSHARE Party
  • 25. Fictional use case Case: ■ ABC Trucking wants to access container data at the terminal on behalf of Banana & Co. ■ Banana & Co needs to register at AskMeAnything Authorization Registry that they delegate access rights to ABC Trucking ■ When ABC Trucking requests the data at the Service Provider, Warehouse 13, it checks with AskMeAnything for delegation evidence ■ If AskMeAnything returns valid delegation evidence, Warehouse 13 can exchange data with ABC Trucking All calls are iSHARE calls, except if noted otherwise. These exceptions are marked with a RED arrow.
  • 26. Participants of the fictional use case Case: ■ ABC Trucking wants to access container data at the terminal on behalf of Banana & Co.
  • 27. Beforehand: Getting the trusted list iSHARE Satellite iSHARE Satellite
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. Participants of the fictional use case
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77. Further reading and useful links ■ iSHARE framework covering all aspects - https://scheme.ishareworks.org ■ iSHARE developer portal - https://dev.ishareworks.org ■ Postman collections for fictional use case - https://dev.ishareworks.org/demo-and- testing/postman.html#postman-collections ■ Dummy participants in various roles for testing purposes - https://dev.ishareworks.org/demo-and- testing/test-participants.html ■ JSON Web Tokens (JWT) reference and libraries - https://jwt.io ■ OAuth specifications and other materials - https://oauth.net/2/ ■ OpenID Connect specifications and other materials - https://openid.net/connect/ ■ eIDAS regulation ■ PKI wikipedia - https://en.wikipedia.org/wiki/Public_key_infrastructure
  • 79. iSHARE Architecture using FIWARE ● Keyrock is the FIWARE component responsible for identity management. ○ It supports, among others, the OAuth2 and Open ID Connect standards ○ It is being extended to support the iSHARE specifications ○ Plays the role of the identity provider ○ In a near future, it will also provide the authorization registry features. ● API Umbrella is an open source API management platform for exposing and securing web service APIs. ○ It acts as a proxy that provides access control, rate limiting, analytics, … to API services. We will use it to protect our context broker instances. ○ It is being extended to comply with iSHARE specifications. ● Until officially released, release candidate docker images should be used. At the moment: ○ fiware/idm:i4trust-rc2 for Keyrock ○ And fiware/api-umbrella:i4trust-rc3 for API Umbrella
  • 81. Requirements to deploy ● To be registered as a iSHARE party. This means to have a certificate signed by a test CA with the associated private key. Also means to have access credentials to the iSHARE Satellite and Authorization Registry instance to be used. ● Please, contact Rajiv for requesting testing credentials and access to those services.
  • 82. Setting up Keyrock: i4Trust related environment variables ■ IDM_PR_URL: ■ URL of the iSHARE Satellite instance to use (e.g. https://scheme.isharetest.net) ■ This setting also is the one that enables i4Trust support on Keyrock ■ IDM_PR_CLIENT_ID: ■ party identifier (EORI) associated with this Keyrock instance ■ IDM_PR_CLIENT_KEY_FILE: ■ path to the private key file (PEM format) ■ IDM_PR_CLIENT_CRT_FILE: ■ path to the certificate chain (PEM format) ■ IDM_AR_URL: ■ URL of Authorization Registry instance to use (e.g. https://ar.isharetest.net) ■ IDM_AR_IDENTIFIER: ■ Party identifier (EORI) associated with the Authorization Registry instance
  • 83. Setting up API umbrella: i4Trust related configuration … jws: identifier: EU.EORI.NLHAPPYPETS root_ca: | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- private_key: | -----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC8yeRuxDI2/vyJ … -----END PRIVATE KEY----- x5c: - MIIE...Uw== - MIIF...vic= - MIIF...AQ== authorisation_registry: host: https://ar.isharetest.net identifier: EU.EORI.NL000000004 token_endpoint: https://ar.isharetest.net/token delegation_endpoint: https://ar.isharetest.net/delegation In this case, configuration is provided through the api-umbrella.yml file.
  • 84. API Management with API Umbrella ■ It support two types of entries: ■ API Backends (this is the one we are interested in) ■ And Website Backends ■ Changes are not automatically applied. Once you have created/updated/deleted the API Backend configuration, you have to publish them.
  • 85. Basic API Backend configuration You can configure a list of backend services. In this case there is only one backend server (http://orion.local:1026). “Frontend Host” is the DNS that will be associated with this API backend (Umbrella can be associated with multiple DNS names). The “Backend Host” setting allows you to pass a different “Host” header to the backend server (usually not required). Also, it is possible to transform path prefixes.
  • 86. Enabling i4Trust support API Umbrella is able to automatically analyse the incoming NGSI-LD request and to determine the necessary policy required for each request. This is achieved by setting the “Authorization Mode” to “Context Broker attribute based - iSHARE compliant (automatically)” in the Global Request Settings section.
  • 87. Context Broker policy example This policy is telling that EU.EORI.NLPACKETDEL is allowing EU.EORI.NLNOCHEAPER to issue GET requests to read DELIVERYORDER entities, including any of their attributes. { "delegationEvidence": { "notBefore": 1541058939, "notOnOrAfter": 2147483647, "policyIssuer": "EU.EORI.NLPACKETDEL", "target": { "accessSubject": "EU.EORI.NLNOCHEAPER" }, "policySets": [ { "maxDelegationDepth": 1, "target": { "environment": { "licenses": ["ISHARE.0001"] } }, "policies": [ { "target": { "resource": { "type": "DELIVERYORDER", "identifiers": ["*"], "attributes": ["*"] }, "actions": ["GET"] }, "rules": [ { "effect": "Permit" } ] } ] } ] } } }
  • 88. Login (step 1) First, generate an iSHARE JWT signed using the JSON Web Signature standard (JWS) > Headers { "alg": "RS256", "typ": "JWT", "x5c": [ // Complete certificate chain of the party "MIIEhjCC….Zy9w==", ... ] } > Payload { "jti": "99ab5bca41bb45b78d242a46f0157b7d", // Unique JWT ID "iss": "EU.EORI.NLMARKETPLA", "sub": "EU.EORI.NLMARKETPLA", "aud": "EU.EORI.NLHAPPYPETS", // ID (EORI) of the IDP to be accessed "iat": "1540827435", "nbf": "1540827435", "exp": "1540827435", // 30 seconds after iat "response_type": "code", "client_id": "EU.EORI.NLMARKETPLA", "scope": "openid iSHARE profile email", "redirect_uri": "https://www.marketplace.com/openid_connect1.0/return", "state": "af0ifjsldkj", "nonce": "c428224ca5a", "acr_values": "urn:http://eidas.europa.eu/LoA/NotNotified/high", "language": "en" }
  • 89. Login (step 2) Make a POST request to the /authorize endpoint, so the target Identity Provider (in this case a Keyrock instance) can validate we are a trusted iSHARE party. The JWT generated in step 1 has to be provided in the request parameter. If everything goes well, a 204 status code will be returned along with a Location header. > Content-Type: application/x-www-form-urlencoded POST https://idp-pdc.i4trust.fiware.io/authorize response_type=code& client_id=EU.EORI.NLMARKETPLA& scope=iSHARE openid& request=eyJ0eXA…YkNKOQ
  • 90. Redirect user’s browser to the URL provided on the Location headers. This way, the user can provide his credentials and consent through the login page of Keyrock. If everything goes well, Keyrock will return an authorization code using the provided redirect URI. Login (step 3) < Location: https://marketplace.i4trust.fiware.io/openid_connect1.0/return? code=Dmn-TbSj7OcKl5ym1j5xZsgkabzVP8dMugC81nzmeW4& state=ZqVQm4zHaEDyBhzpm1ZRH7fsxy703lq2
  • 91. A new request to the /token endpoint of the Identity Provider has to be made to retrieve the final access token. The signed JWT created in step 1 has to be provided in the client_assertion parameter of the request. The authorization code obtained in step 3 is provided within the code parameter. Login (step 4) > Content-Type: application/x-www-form-urlencoded POST https://idp-pdc.i4trust.fiware.io/token grant_type=authorization_code& client_id=EU.EORI.NLMARKETPLA& client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer& client_assertion=eyJ0eXA…YkNKOQ& redirect_uri=https://marketplace.i4trust.fiware.io/openid_connect1.0/return& code=Dmn-TbSj7OcKl5ym1j5xZsgkabzVP8dMugC81nzmeW4
  • 92. Finally, Keyrock will provide an access token that can be used to access services. In addition, an iSHARE JWT compliant id_token is also returned which is associated with the authenticated session. Login (step 5) < Content-Type: application/json < Cache-Control: no-store < Pragma: no-cache { "id_token": "eyJhb...V2jA", "access_token": "aW2ys...LIOw", "expires_in": 3600, "token_type": "Bearer" } Decoded id_token parameter { "iss": "EU.EORI.NLPACKETDEL", "sub": "419404e1-07ce-4d80-9e8a-eca94vde0003de", "aud": "EU.EORI.NLMARKETPLA", "jti": "378a47c4-2822-4ca5-a49a-7e5a1cc7ea59", "iat": 1504683445, "exp": 1504683475, "auth_time": 1504683435, "nonce": "c428224ca5a", "acr": "urn:http://eidas.europa.eu/LoA/NotNotified/low", "azp": "EU.EORI.NLMARKETPLA", }
  • 94. Further reading and useful links ■ Official Keyrock Documentation - https://fiware-idm.readthedocs.io/ ■ Tutorials and descriptions on how to setup the components within an i4Trust data space ■ https://github.com/i4Trust/tutorials/tree/main/Data-Service-Provider ■ Example Keyrock Theme - https://github.com/i4Trust/keyrock-theme-pdc ■ Helm Charts (kubernetes) to deploy i4Trust IAM components: ■ https://github.com/FIWARE/helm-charts/tree/i4trust ■ Passport strategy for authentication with FIWARE Keyrock using iShare JWT: ■ https://github.com/Ficodes/passport-i4trust ■ iSHARE framework covering all aspects - https://scheme.ishareworks.org ■ iSHARE developer portal - https://dev.ishareworks.org
  • 95. Thank you! i4Trust has received funding from the European Union’s Horizon 2020 research and innovation programme under the Grant Agreement no 951975.