cloudstack/setup/db/db
Rohit Yadav 20ce346f3a CLOUDSTACK-8457: SAML auth plugin improvements for production usage
* Move config options to SAML plugin
  This moves all configuration options from Config.java to SAML auth manager. This
  allows us to use the config framework.
* Make SAML2UserAuthenticator validate SAML token in httprequest
* Make logout API use ConfigKeys defined in saml auth manager
* Before doing SAML auth, cleanup local states and cookies
* Fix configurations in 4.5.1 to 4.5.2 upgrade path
* Fail if idp has no sso URL defined
* Add a default set of SAML SP cert for testing purposes
  Now to enable and use saml, one needs to do a deploydb-saml after doing a deploydb
* UI remembers login selections, IDP server

- CLOUDSTACK-8458:
    * On UI show dropdown list of discovered IdPs
    * Support SAML Federation, where there may be more than one IdP
        - New datastructure to hold metadata of SP or IdP
        - Recursive processing of IdP metadata
        - Fix login/logout APIs to get new interface and metadata data structure
        - Add org/contact information to metadata
        - Add new API: listIdps that returns list of all discovered IdPs
        - Refactor and cleanup code and tests

- CLOUDSTACK-8459:
    * Add HTTP-POST binding to SP metadata
    * Authn requests must use either HTTP POST/Artifact binding

- CLOUDSTACK-8461:
    * Use unspecified x509 cert as a fallback encryption/signing key
      In case a IDP's metadata does not clearly say if their certificates need to be
      used as signing or encryption and we don't find that, fallback to use the
      unspecified key itself.

- CLOUDSTACK-8462:
    * SAML Auth plugin should not do authorization
      This removes logic to create user if they don't exist. This strictly now
      assumes that users have been already created/imported/authorized by admins.
      As per SAML v2.0 spec section 4.1.2, the SP provider should create authn requests using
      either HTTP POST or HTTP Artifact binding to transfer the message through a
      user agent (browser in our case). The use of HTTP Redirect was one of the reasons
      why this plugin failed to work for some IdP servers that enforce this.
    * Add new User Source
      By reusing the source field, we can find if a user has been SAML enabled or not.
      The limitation is that, once say a user is imported by LDAP and then SAML
      enabled - they won't be able to use LDAP for authentication
    * UI should allow users to pass in domain they want to log into, though it is
      optional and needed only when a user has accounts across domains with same
      username and authorized IDP server
    * SAML users need to be authorized before they can authenticate
        - New column entity to track saml entity id for a user
        - Reusing source column to check if user is saml enabled or not
        - Add new source types, saml2 and saml2disabled
        - New table saml_token to solve the issue of multiple users across domains and
          to enforce security by tracking authn token and checking the samlresponse for
          the tokens
        - Implement API: authorizeSamlSso to enable/disable saml authentication for a
          user
        - Stubs to implement saml token flushing/expiry

- CLOUDSTACK-8463:
    * Use username attribute specified in global setting
      Use username attribute defined by admin from a global setting
      In case of encrypted assertion/attributes:
      - Decrypt them
      - Check signature if provided to check authenticity of message using IdP's
        public key and SP's private key
      - Loop through attributes to find the username

- CLOUDSTACK-8538:
    * Add new global config for SAML request sig algorithm

- CLOUDSTACK-8539:
    * Add metadata refresh timer task and token expiring
        - Fix domain path and save it to saml_tokens
        - Expire hour old saml tokens
        - Refresh metadata based on timer task
        - Fix unit tests

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #489
2015-06-29 12:25:02 +02:00
..
data-217to218.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-20to21.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-21to22-cleanup.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-21to22-premium.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-21to22.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-22beta1to22beta2.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-22beta3to22beta4.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-30to301.sql Ensuring system user has password set. 2012-10-07 12:51:52 -07:00
schema-40to410-cleanup.sql db: Fix Upgrade40to41 and add cleaning path schema-40to410-cleanup.sql 2013-02-16 12:28:00 +05:30
schema-40to410.sql CLOUDSTACK-6603 [Upgrade]DB Exception while Autoscale monitoring after upgrading from 4.3 to 4.4 2014-10-12 23:46:05 -04:00
schema-217to218.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-221to222-cleanup.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-221to222-premium.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-221to222.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-222to224-cleanup.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-222to224-premium.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-222to224.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-224to225-cleanup.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-224to225.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-225to226.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-227to228-premium.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-227to228.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-228to229.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-229to2210.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-301to302-cleanup.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-301to302.sql Ensuring system user has password set. 2012-10-07 12:51:52 -07:00
schema-302to40-cleanup.sql Fixed version number in upgrade script comment (replaced 3.0.3 with 3.0.2) 2012-08-13 16:50:06 -07:00
schema-302to40.sql CLOUDSTACK-528: Config value has to be encrypted for Hidden category configs 2013-05-24 12:37:18 +05:30
schema-302to303.sql CLOUDSTACK-3936: db upgrade - added upgrade path from CCP 2.2.15,2.2.16 to CS 4.2 2013-07-30 10:53:23 -07:00
schema-304to305-cleanup.sql DB upgrade: upgraded the bunch of db upgrade files with Apache license header 2013-07-26 15:37:07 -07:00
schema-304to305.sql DB upgrade: upgraded the bunch of db upgrade files with Apache license header 2013-07-26 15:37:07 -07:00
schema-305to306-cleanup.sql DB upgrade: upgraded the bunch of db upgrade files with Apache license header 2013-07-26 15:37:07 -07:00
schema-305to306.sql DB upgrade: upgraded the bunch of db upgrade files with Apache license header 2013-07-26 15:37:07 -07:00
schema-306to307.sql DB upgrade: upgraded the bunch of db upgrade files with Apache license header 2013-07-26 15:37:07 -07:00
schema-307to410-cleanup.sql CLOUDSTACK-3898: fixed 303-42 db upgrade - handle situation when the field is already inserted, when try to insert it again with 41-42 upgrade 2013-07-29 10:43:04 -07:00
schema-307to410.sql schema: fix foreign key checks for 3.0.7 to 4.1.0 upgrade path 2015-05-13 14:11:11 +02:00
schema-410to420-cleanup.sql 41-42 db upgrade - added `cloud` db reference to the upgrade statements for remote access vpn 2013-04-02 11:11:18 -07:00
schema-410to420.sql Revert "CLOUDSTACK-6967: Initial OVM3 drop" 2014-06-24 10:24:01 +02:00
schema-420to421.sql Cloudstack-5077: reserve cpu and memory only when vmware.reserve.cpu/mem are set to true. Insted of setting the ovecommit values to one on upgrade, we popultate them from the global values. 2014-05-05 11:39:10 +05:30
schema-421to430-cleanup.sql Add upgrade path from 4.2.1 to 4.3.0. 2013-10-14 21:56:34 -07:00
schema-421to430.sql CLOUDSTACK-6204: removing realhostip dependency 2014-03-09 13:46:57 -07:00
schema-430to440-cleanup.sql CLOUDSTACK-6231: network acl item cidrs loaded from a seperate table 2014-04-30 15:39:00 +02:00
schema-430to440.sql setup/db: Fix database blunders 2015-01-20 11:24:20 +05:30
schema-440to441-cleanup.sql schema: add upgrade path from 4.4.0 to 4.5.0 via 4.4.1 2014-07-29 00:21:39 +02:00
schema-440to441.sql cleaning more conflicts 2014-10-13 00:19:20 -04:00
schema-441to442.sql 4.4.2 upgrade schema 2014-11-24 15:08:49 +01:00
schema-442to450-cleanup.sql 4.4.2 upgrade schema 2014-11-24 15:08:49 +01:00
schema-442to450.sql disable foreign key checks when altering them 2015-04-14 14:53:12 +05:30
schema-443to444.sql 4.4.4 to 4.5.2 upgrade 2015-06-26 00:02:35 +02:00
schema-450to451-cleanup.sql engine: Add Upgrade path from 4.5.0 to 4.5.1 2015-03-12 12:13:28 +05:30
schema-450to451.sql CLOUDSTACK-5236 : ability to identify where the user is from (ex. LDAP) 2015-03-16 12:35:37 +05:30
schema-451to452-cleanup.sql CLOUDSTACK-8457: SAML auth plugin improvements for production usage 2015-06-29 12:25:02 +02:00
schema-451to452.sql CLOUDSTACK-8457: SAML auth plugin improvements for production usage 2015-06-29 12:25:02 +02:00
schema-2210to2211.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-2211to2212-premium.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-2211to2212.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-2212to2213.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-2213to2214.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-2214to30-cleanup.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-2214to30.sql CLOUDSTACK-3005: fix template_spool_ref.local_patch error after upgrade from 2.2.14 to 3.X 2013-06-14 10:32:47 +02:00
schema-level.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-snapshot-217to224.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00
schema-snapshot-223to224.sql applying the commits from Chip Childers licensing cleanup 2012-06-26 10:44:04 -04:00