Slide 1

Slide 1 text

WHO THE HECK ARE YOU? INTEGRATING SSO INTO APACHE CLOUDSTACK John Burwell ([email protected] | [email protected] @john_burwell) Tuesday, June 25, 13

Slide 2

Slide 2 text

Who The Heck Am I • Apache CloudStack PMC Member • Consulting Engineer @ Basho Technologies • Ran operations and designed automated provisioning for hybrid analytic/virtualization clouds • Led architectural design and server-side development of a SaaS physical security platform Tuesday, June 25, 13

Slide 3

Slide 3 text

CloudStack Authentication 1.

Slide 4

Slide 4 text

Current Capabilities • Username/password authentication • Pluggable credential repositories (MySQL, LDAP) • Pluggable password hashing (SHA256, MD5) Tuesday, June 25, 13

Slide 5

Slide 5 text

Some Users Require More • Regulated environments (HIPPA, SOX) • Enterprises with existing security infrastructure • Service providers Tuesday, June 25, 13

Slide 6

Slide 6 text

Authenticate Once, Access Many CloudStack User Session Ticket Object Store PaaS Internal Application Tuesday, June 25, 13

Slide 7

Slide 7 text

Governance • Multi-factor authentication (tokens, biometrics, ...) • Password policy enforcement • System access audit trails • Location-based access rules Tuesday, June 25, 13

Slide 8

Slide 8 text

To meet these requirements ... Tuesday, June 25, 13

Slide 9

Slide 9 text

SSO = Single Sign-On Tuesday, June 25, 13

Slide 10

Slide 10 text

Centralized authentication mechanism that permits a user to authenticate once to access multiple systems. Tuesday, June 25, 13

Slide 11

Slide 11 text

Doesn’t LDAP already do that? Tuesday, June 25, 13

Slide 12

Slide 12 text

LDAP is a credential store SSO provides an authentication service that uses credential stores where Tuesday, June 25, 13

Slide 13

Slide 13 text

Capabilities • Multiple Authentication Methods • Password Policy Enforcement/Reset • Session Management including Remember Me? • Integration with Multiple Credential Stores Tuesday, June 25, 13

Slide 14

Slide 14 text

HOW IT WORKS 1.

Slide 15

Slide 15 text

SSO so great. Why not everyone use? Tuesday, June 25, 13

Slide 16

Slide 16 text

COMPLEXITY Tuesday, June 25, 13

Slide 17

Slide 17 text

Complicating Factors • Potential single point of failure • Additional service to configure, deploy, and monitor • Potential performance/scalability bottleneck Tuesday, June 25, 13

Slide 18

Slide 18 text

Safety Convenience Let users determine the balance that best meets their requirements. Tuesday, June 25, 13

Slide 19

Slide 19 text

We need pluggable authentication providers ... Tuesday, June 25, 13

Slide 20

Slide 20 text

... but you can’t be a little bit secure. Tuesday, June 25, 13

Slide 21

Slide 21 text

Security Domain Account User Ticket Session Profile Permission Role Credential Tuesday, June 25, 13

Slide 22

Slide 22 text

Security Services • Authentication and Authorization Providers • User/Role Provisioning/Termination • Session Management • Credential Management Tuesday, June 25, 13

Slide 23

Slide 23 text

SSO Integration Proposal Tuesday, June 25, 13

Slide 24

Slide 24 text

Next Release (4.3) • Implement security framework • Factor current CloudStack authentication/authorization into a framework plugin • Develop an SSO authentication framework plugin • Current CloudStack authentication/authorization will be configured by default Tuesday, June 25, 13

Slide 25

Slide 25 text

We build a cloud orchestration platform. Tuesday, June 25, 13

Slide 26

Slide 26 text

JAAS • Pros • Standard • Cons • Requires a JEE application server • No runtime pluggability Tuesday, June 25, 13

Slide 27

Slide 27 text

Spring Security • Pros • Robust declarative programming model • Natural integration with current Spring implementation • Cons • Complex runtime extension model • Increases coupling with Spring Tuesday, June 25, 13

Slide 28

Slide 28 text

Apache Shiro • Pros • Straight-forward extension model • Lightweight POJO model with support for Spring integration • Cons • May not be capable of meeting the data storage requirements Tuesday, June 25, 13

Slide 29

Slide 29 text

... and the winner is None yet but no JAAS Tuesday, June 25, 13

Slide 30

Slide 30 text

Which SSO? CAS +0440 Keystone Facebook Login Google Single Sign-On OpenID Amazon  IAM Active Directory Oracle Identity Management Server IBM Security Access Manager OAuth SASL 4".- KERBEROS Multi-factor Authentication Password hashing Password Aging Password Strength Session Management LDAP Tuesday, June 25, 13

Slide 31

Slide 31 text

SSO Landscape Protocols/Standards Keystone, Kerberos, OAuth, OpenID, SAML, SASL Platforms Amazon IAM, Active Directory, CAS, Facebook Login, JOSSO, Google Single Sign- On, Keystone, IBM Security Access Manager, Oracle Identity Management Methods/Operations Multi-factor Authentication, Password Reset, Remember me? Policies Password aging, strength, and hashing, Session Management Stores LDAP, Relational Databases Tuesday, June 25, 13

Slide 32

Slide 32 text

Selection Criteria • Protocols/Standards with open source implementations • Allow the integration of additional cloud services (object storage, PaaS, ...) Finalists: OAuth, Keystone, and SAML Tuesday, June 25, 13

Slide 33

Slide 33 text

OAuth/Oauth2 • Pros • Wide adoption • Support both user and application authentication • Cons • Turmoil around the OAuth2 specification • Potential security holes due to design flaws • Lack of support from complementary cloud technologies Tuesday, June 25, 13

Slide 34

Slide 34 text

Keystone • Pros • Momentum • Designed to support cloud identity management • Supported by technologies complementary to CloudStack (e.g. Riak CS, Swift ...) • Cons • Limited, but growing to third party support • Evolving standard specification and operation Tuesday, June 25, 13

Slide 35

Slide 35 text

SAML • Pros • Stable specification • Wide support • Cons • Complexity • Lack of support from complementary cloud technologies Tuesday, June 25, 13

Slide 36

Slide 36 text

Keystone ... and the winner is Tuesday, June 25, 13

Slide 37

Slide 37 text

Future Directions • AWS API support for Amazon IAM • Fine grained Authorization • Automated Password Reset • Application Audit Trails • SAML Plugin Tuesday, June 25, 13

Slide 38

Slide 38 text

Summary • Current CloudStack authentication supports many use cases • SSO integration would allow CloudStack to meet advanced authentication requirements • Introduce a security framework to provide users the flexility to balance operational complexity and security • For 4.3, factor current authentication mechanism into the new framework and provide a Keystone implementation Tuesday, June 25, 13

Slide 39

Slide 39 text

Thoughts? Questions? Tuesday, June 25, 13

Slide 40

Slide 40 text

Thank you! Slides available @ http://speakerdeck.com/jburwell Tuesday, June 25, 13