200 likes | 341 Vues
This document outlines both short and medium-term solutions for implementing access control to FI-WARE Generic Enablers (GEs) deployed on the FI-WARE Testbed. The medium-term solution will adapt to incorporate Fi-WARE's OAuth v2.0 and its comprehensive security features. The focus includes various client applications, covering different scenarios such as web servers, browsers, and native apps. Additionally, it discusses the role of the Identity Management (IdM) web portal and how authentication, authorization, and user management will be handled in both immediate and forthcoming solutions.
E N D
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
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. Basic ingredients of the solution
Scenarios to be covered • Client Apps may run on: • Web Servers • Web Browsers (user agents) • On top of an Operating Systems (Native apps)
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 IdMweb page • The IdM maintains the confidentiality
FI-WARE TestbedIdM Client App (WS backend) IdM Web Portal Keystone FI-Ware GE Instance Access App Login via Fi-Ware Create Token Login to WebAppvia IdM Send redirect URI with authentication code Access Redirect URL Keystone Middleware Send authentication code, client_id, client_secret Return access token User logged in App URL (interaction) FI-WARE GE API request with token Validate token Ok FI-WARE GE API request
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)
FI-WARE TestbedIdM Client App (User Agent) IdM Web Portal Keystone FI-Ware GE Instance Access App Login via Fi-WARE Create Token Login to ClientApp via IdM Send redirect URI with access token Keystone Middleware Access Redirect URL Client App loads token from fragment FI-WARE GE API requests with token Validate token Ok FI-WARE GE API request
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)
FI-WARE TestbedIdM Client App IdM Web Portal Keystone FI-Ware GE Instance Create Token Return access token Keystone Middleware Access with token Validate token Access Ok
Fixed IP: a.b.c.d FI-WARE TestbedIdM Client App (WS backend) IdM Web Portal Keystone FI-Ware GE Instance Access App Login web page Login to ClientApp Validation(1) Validation User Logged In App URL (interaction) FI-WARE Testbed Firewall FI-WARE GE API requests Registration of IP a.b.c.d FI-WARE Testbed Admin (1) Validation via request using Keystone API
first (temporal) IP: a1.b1.c1.d1 FI-WARE TestbedIdM Client App (User Agent) IdM Web Portal Keystone FI-Ware GE Instance Access App Login via Fi-WARE Login to ClientApp via IdM(1) a1.b1.c1.d1 Validation User Logged In FI-WARE Testbed Firewall FI-WARE GE API requests (1) Login via request using Keystone API or via javascript library provided by FI-WARE
first (temporal) IP: a1.b1.c1.d1 FI-WARE TestbedIdM Client App (User Agent) IdM Web Portal Keystone FI-Ware GE Instance Access App (new a2.b2.c2.d2 assigned) (re-login, a2.b2.c2.d2) a2.b2.c2.d2 FI-WARE Testbed Firewall FI-WARE GE API requests
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
IDM Web Portal • ProvidesIdentity Management • ProvidesOAuth 2 modes • API withKeystonetomanage GE tokens • Interface withKeystonetomanagetokens and providethemviaOAuth
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
Keystone • Provides management of GE (Services) • Each GE owns a list of endpoint URLs • Users access to these URLs