FI-WARE Testbed Access Control temporary solution.

20
FI-WARE Testbed Access Control temporary solution

Transcript of FI-WARE Testbed Access Control temporary solution.

Page 1: FI-WARE Testbed Access Control temporary solution.

FI-WARE Testbed Access Control temporary solution

Page 2: FI-WARE Testbed Access Control temporary solution.

Introduction

We will define a short and a medium term solution to deal with the issues regarding access control to FI-WARE GEs deployed on the FI-WARE Testbed

The medium term solution will evolve as to incorporate components developed in the FI-WARE Security chapter for the 2nd Release of FI-WARE

Page 3: FI-WARE Testbed Access Control temporary solution.

Basic ingredients of the solution

Oauth v2.0 Keystone

User Profile Management

Multi-tenancy

Management and access to FI-WARE GE

Authentication

Authorization and Trust Management

Single Sign-On (SSO) among services/apps

Web/JavaScript/APIs access • Client Apps: Web Apps, Server

Apps or Desktop Apps.

Page 4: FI-WARE Testbed Access Control temporary solution.

MEDIUM TERM Solution

Page 5: FI-WARE Testbed Access Control temporary solution.

Scenarios to be covered

Client Apps may run on:•Web Servers

•Web Browsers (user agents)

•On top of an Operating Systems (Native apps)

Page 6: FI-WARE Testbed Access Control temporary solution.

Client Apps running on Web Servers

Three-tier Web applications

Clients that invoke FI-WARE GE APIs run on web servers (e.g., servlets)

Users authenticate via IdM web page

The IdM maintains the confidentiality

Page 7: FI-WARE Testbed Access Control temporary solution.

FI-WARE Testbed IdM

Client App (WS backend) Keystone FI-Ware GE

InstanceIdM Web

Portal

Access App

Login via Fi-Ware

Login to WebApp via IdM

Send redirect URI with authentication code

Access Redirect URLSend authentication code,

client_id, client_secret

Return access tokenUser logged in

FI-WARE GE API request with token

KeystoneMiddleware

Validate token

OkFI-WARE GE API request

App URL (interaction)

Create Token

Page 8: FI-WARE Testbed Access Control temporary solution.

User-agent-based Application

It is a public Client App

Downloadable from Web Servers

It runs in a user-agent (e.g., javascript in a web browser)

Users authenticate via IdM web page

Confidentiality is not maintained (Downloaded Client App assumes your identity)

Page 9: FI-WARE Testbed Access Control temporary solution.

FI-WARE Testbed IdM

KeystoneIdM Web Portal

Access App

Login via Fi-WARE

Login to ClientApp via IdM

Send redirect URI with access token

Create Token

Access Redirect URL

Client App loads token from fragment

Client App (User Agent)

Validate token

OkFI-WARE GE API request

FI-WARE GE API requests with token

KeystoneMiddleware

FI-Ware GE Instance

Page 10: FI-WARE Testbed Access Control temporary solution.

Native Application

Native apps, scripts, etc.

Credentials are sent via the Client App

User gives credentials to the Client App

Confidentiality is not maintained (Downloaded Client App assumes your identity)

Page 11: FI-WARE Testbed Access Control temporary solution.

FI-WARE Testbed IdM

Client App KeystoneIdM Web

Portal

Create Token

Return access token

Access with token

KeystoneMiddleware

Validate token

Ok Access

FI-Ware GE Instance

Page 12: FI-WARE Testbed Access Control temporary solution.

SHORT TERM Solution

Page 13: FI-WARE Testbed Access Control temporary solution.

FI-WARE Testbed IdM

Client App (WS backend) Keystone FI-Ware GE

InstanceIdM Web

Portal

Access App

Login web page

FI-WARE GE API requests

App URL (interaction)

FI-WARE TestbedFirewall

Registration of IP a.b.c.d

FI-WARE Testbed Admin

Fixed IP: a.b.c.d

Login to ClientApp

ValidationUser Logged In

(1) Validation via request using Keystone API

Validation(1)

Page 14: FI-WARE Testbed Access Control temporary solution.

FI-WARE Testbed IdM

KeystoneIdM Web Portal

Access App

Login via Fi-WARE

Login to ClientApp via IdM(1)

Validation

Client App (User Agent)

FI-WARE GE API requestsFI-WARE TestbedFirewall

first (temporal) IP: a1.b1.c1.d1

a1.b1.c1.d1

FI-Ware GE Instance

User Logged In

(1) Login via request using Keystone API or via javascript library provided by FI-WARE

Page 15: FI-WARE Testbed Access Control temporary solution.

(re-login, a2.b2.c2.d2)

FI-WARE Testbed IdM

KeystoneIdM Web Portal

Access App

Client App (User Agent)

FI-WARE GE API requestsFI-WARE TestbedFirewall

first (temporal) IP: a1.b1.c1.d1

(new a2.b2.c2.d2 assigned)

a2.b2.c2.d2

FI-Ware GE Instance

Page 16: FI-WARE Testbed Access Control temporary solution.

IdM Web Portal functionality in the short term

Every UC project will be associated to an “Organization”

Every UC project will have an admin user account

Using the IdM Web Portal, admin users will be able to create new user accounts linked to the same Organization

Page 17: FI-WARE Testbed Access Control temporary solution.

MORE DETAILS

Page 18: FI-WARE Testbed Access Control temporary solution.

IDM Web Portal

Provides Identity Management

Provides OAuth 2 modes

API with Keystone to manage GE tokens• Interface with Keystone to manage tokens and provide them via

OAuth

Page 19: FI-WARE Testbed Access Control temporary solution.

Keystone

It provides management of•Users, roles and organizations

•Only one Keystone admin

Credentials: username and password

Tuples <user, organization, role>

Tokens associate to <user, organization>

Many roles per user and organization

GEs establish permissions per role

Page 20: FI-WARE Testbed Access Control temporary solution.

Keystone

Provides management of GE (Services)

Each GE owns a list of endpoint URLs•Users access to these URLs