ukc - msc project - providing moonshot access to openstack

33
Providing Moonshot access to OpenStack Supervisor: David Chadwick Vincent Giersch - vg66 MSc Computer Security - University of Kent Moonshot

Upload: vincent-giersch

Post on 06-Dec-2014

645 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: UKC - Msc Project - Providing Moonshot access to OpenStack

Providing Moonshot access to OpenStack

Supervisor: David Chadwick

Vincent Giersch - vg66MSc Computer Security - University of Kent

Moonshot

Page 2: UKC - Msc Project - Providing Moonshot access to OpenStack

Contents• Moonshot overview• OpenStack overview• Providing Moonshot access to OpenStack

• Federated Keystone• How it will work ?• Technical architecture

• Roadmap• Questions

Page 3: UKC - Msc Project - Providing Moonshot access to OpenStack

Moonshot Overview

Moonshot

Page 4: UKC - Msc Project - Providing Moonshot access to OpenStack

Federated authentication and authorizationMoonshot

For web and non-web services and applications

Page 5: UKC - Msc Project - Providing Moonshot access to OpenStack

Example: IE à Apache

Moonshot

Source: Janet

Page 6: UKC - Msc Project - Providing Moonshot access to OpenStack

Example: PuTTY à OpenSSH

Moonshot

Source: Janet

Page 7: UKC - Msc Project - Providing Moonshot access to OpenStack

Moonshot is built on:• Strong authentication: EAP/RADIUS• Strong authorisation: SAML• Easy service/application integration: SASL/GSS-API

Moonshot technologies

Standardisation approaching completion within the Internet Engineering Task Force (IETF)

Moonshot

Page 8: UKC - Msc Project - Providing Moonshot access to OpenStack

OpenStack Overview

Page 9: UKC - Msc Project - Providing Moonshot access to OpenStack

Starting the virtualization...

Source: OpenStack Foundation

Page 10: UKC - Msc Project - Providing Moonshot access to OpenStack

Starting the virtualization...

Host 2 Host 3 Host 4, etc.Host 1

Hypervisor(VMWare ESX, Citrix XEN Server, KVM, etc.)

Source: OpenStack Foundation

Hardware abstraction for each server

Page 11: UKC - Msc Project - Providing Moonshot access to OpenStack

... but how to manage the resources ?

Provisioning ? User management ?

Page 12: UKC - Msc Project - Providing Moonshot access to OpenStack

Add the missing cloud management layer

CreatesPools of Resources

APIs Self-service for users

Automates deployment

Page 13: UKC - Msc Project - Providing Moonshot access to OpenStack

Applications

ComputeNova

StorageSwift

NetworkQuantum

Standard Hardware

IdentityKeystone

APIs

Main components of OpenStack

Page 14: UKC - Msc Project - Providing Moonshot access to OpenStack

Moonshot +

Page 15: UKC - Msc Project - Providing Moonshot access to OpenStack

Federated Keystone

Allows to use external Identity Providers (IdP)

Easy user provisioning

Provides Single Sign On (SSO) to the users

Developed as a Keystone middleware

Page 16: UKC - Msc Project - Providing Moonshot access to OpenStack

How it will work ?

Page 17: UKC - Msc Project - Providing Moonshot access to OpenStack

How it will work ?

User Keystone

Asks a list of Identity providers

Page 18: UKC - Msc Project - Providing Moonshot access to OpenStack

How it will work ?

User Keystone

Returns the Identity Providers available

Page 19: UKC - Msc Project - Providing Moonshot access to OpenStack

How it will work ?

User Keystone

Chooses a IdP (Moonshot)

Page 20: UKC - Msc Project - Providing Moonshot access to OpenStack

How it will work ?

User Keystone

ReturnsMoonshot details

Page 21: UKC - Msc Project - Providing Moonshot access to OpenStack

How it will work ?

User Keystone

Chooses the identity that he will use

Page 22: UKC - Msc Project - Providing Moonshot access to OpenStack

How it will work ?

User Keystone Identity Provider

Negotiate authentication

Page 23: UKC - Msc Project - Providing Moonshot access to OpenStack

How it will work ?

User Keystone

Returnslist of tenants

Page 24: UKC - Msc Project - Providing Moonshot access to OpenStack

How it will work ?

User Keystone

Chooses a tenant

Page 25: UKC - Msc Project - Providing Moonshot access to OpenStack

How it will work ?

User Keystone

Returnsa tenant token

Page 26: UKC - Msc Project - Providing Moonshot access to OpenStack

How it will work ?

User Keystone

Page 27: UKC - Msc Project - Providing Moonshot access to OpenStack

Technical architecture

OpenStack Keystone Identity ProviderOpenStack Client

Page 28: UKC - Msc Project - Providing Moonshot access to OpenStack

Technical architecture

Federated Keystone

OpenStack Keystone Identity ProviderOpenStack Client

Federated KeystoneHTTP

Page 29: UKC - Msc Project - Providing Moonshot access to OpenStack

Technical architecture

Federated Keystone

Moonshot module

OpenStack Keystone Identity ProviderOpenStack Client

Federated KeystoneHTTP

Moonshot module

Page 30: UKC - Msc Project - Providing Moonshot access to OpenStack

Technical architecture

Federated Keystone

Moonshot module

GSS-API AAA

OpenStack Keystone Identity Provider

AAA

OpenStack Client

Federated Keystone

GSS-API

HTTP

GSSEAP mech

AAAtransportMoonshot module

Page 31: UKC - Msc Project - Providing Moonshot access to OpenStack

Technical architecture

Federated Keystone

Moonshot module

GSS-API AAA

OpenStack Keystone Identity Provider

AAA

OpenStack Client

Federated Keystone

GSS-API

EAP peer

HTTP

EAP server

GSSEAP mech

EAP method

AAAtransportMoonshot module

Page 32: UKC - Msc Project - Providing Moonshot access to OpenStack

Project roadmap• Study of the existing Moonshot implementations (e.g. Apache / Firefox).

• Fork the PyKerberos library to add flexibility in the usage of the GSS-API C library.

• Study of the potential needed improvements of the Keystone Federated protocol.

• Implement the authentication / authorization Moonshot module.

• Validation testing using a OpenStack client (e.g. python-swiftclient).

Page 33: UKC - Msc Project - Providing Moonshot access to OpenStack

Questions ?

Vincent Giersch - vg66

Moonshot