Federation of OpenStack clouds
|
|
|
- Toby Carroll
- 10 years ago
- Views:
Transcription
1 Federation of OpenStack clouds August 2014 Author: Luca Tartarini Supervisor(s): Marek Denis CERN openlab Summer Student Report 2014
2 Project Specification Rackspace and CERN are implementing federated identity of OpenStack clouds within the OpenStack cloud project. The project is to enhance the client tools in OpenStack to support the federated identity functionalities, work with the open source community to incorporate these changes into the product and adapt the documentation and testing. The student will learn about the internals of OpenStack, federated identity techniques such as SAML and working with open source communities.
3 Abstract The aim of this report is to describe and document the configuration steps of the Openlab Summer Student project. The main goal of the project was to create a testbed for cloud federation for performing federation tests with multiple Identity Providers at the same time and test them with both browser and CLI (Command Line Interface). At the beginning this report gives a general overview of the main concepts on which the project is based, with particular reference to Keystone, the OpenStack Identity Service, describing its main features and how it works. Later are described the protocols and the open source solutions and products (Shibboleth SP, Shibboleth IdP, Shibboleth EDS, ADFS) used for the creation and testing of the testbed. In the following chapters is documented step by step the testbed's configuration. This is the main part of the report and it gives the details of how to install OpenStack and configure its Identity Service running in HTTPD with Shibboleth Service Provider. Then is described how to federate each Identity Provider with Keystone Identity Service providing the main configuration files. The last part describes the testing in which each Identity Provider has been tested both via CLI (ECP - Enhanced Client or Proxy) and via web browser in order to receive from Keystone a token with which the end user could perform some OpenStack operations.
4 Table of Contents 1 Introduction Cloud Computing OpenStack OpenStack Components Keystone How Keystone works UUID token PKI token Cloud Federation SAML ECP (Enhanced Client or Proxy) Shibboleth Testbed for Federation Tests Install OpenStack via Packstack Configuring Keystone for Federation Keystone running in HTTPD with mod_shib OS-FEDERATION extension Federate Multiple Identity Providers Trust between IdPs and SP (Metadata) Configure Shibboleth working with Multiple IdPs via ECP at the same time Multiple Shibboleth IdPs (Testshib and IDPOPEN) ADFS Identity Provider in a multiple IdPs environment shibboleth2.xml file Attribute mapping Keystone Mapping...27
5 4.5 How the Testbed works (via ECP) Multiple Shibboleth IdPs via Browser (Discovery Service) Keystone-client wrapper Federate Ipsilon Identity Provider on FreeIPA Installing FreeIPA and Ipsilon-server Installing Ipsilon-client Conclusions...42
6 1 Introduction 1.1 Cloud Computing Cloud computing refers to a set of technologies and resources that provide computing services to the end users through the network. Cloud resources can be both hardware and software and are distribuited and virtualized over the network in a typical Client-Server architecture. Figure 1. Cloud computing overview We can distinguish three cloud computing services: IaaS (Infrastructure-as-a-Service): use of hardware resources in remote on request at the time when a platform needs them. The resources are typically virtual servers instances (an hypervisor or more often a pool of hypervisors are necessary to run the VMs). Examples of IaaS are OpenStack cloud computing environment and Amazon Web Services.
7 PaaS (Platform-as-a-Service): use of provider's platform over the network. Developers can create and run applications on the provider's platform without the cost of buying and managing hardware. SaaS (Software-as-a-Service): use of software installed on remote servers (often accessible via web server). The provider supplies the infrastructure and the platform where the application runs. Figure 2. IaaS, PaaS and SaaS service models Clouds can be classified in three different deployment models: Public cloud: a cloud that sells services to the end user over the network (Rackspace public cloud, Amazon Web Services, etc...). Private cloud: a proprietary cloud computing infrastructure that supplies services for a single organization (CERN private cloud). Hybrid cloud: an interconnection of two or more different cloud computing environments (private or public) through the network. 1.2 OpenStack OpenStack is a cloud computing platform which provides an IaaS service model. It supplies to the end user processing, networking and storage resources provided by VMs running on the data center's hosts. OpenStack allows customers to manage their own resources and applications transparently, as if they saw a server to their dedicated OpenStack Components The last version of OpenStack (Icehouse) consists in the following main services:
8 OpenStack Compute (Nova): manages the VMs lifecycle, their scheduling and security. OpenStack Identity Service (Keystone): provides the user authentication and authorization for all OpenStack components. OpenStack Image Service (Glance): provides the images for the VMs. OpenStack Dashboard (Horizon): provides a web interface for admin and users. OpenStack Networking Service (Neutron): allows users to create networks. OpenStack Object Storage Service (Swift): a redundant storage system. OpenStack Block Storage Service (Cinder): provides persistent block-level storage. Figure 3. OpenStack architecture
9 1.2.2 Keystone Keystone is a OpenStack service that provides token, policies and catalog via OpenStack API. It incorporates all information about users and their capabilities across other services. The main functions are: user authentication; grant token for authorization; policy management; manage catalog services. Figure 3. Keystone Identity Service overview How Keystone works To access some OpenStack service, users provide their credentials to Keystone Identity Service and receive a token with which users can perform the OpenStack commands. A token is given to user by Keystone if a valid username/password has been provided. For instance, if a user wants to boot a new VM using Nova Service: Figure 4. Example of Keystone usage
10 There are two token approach: Universally Unique IDentifier (UUID) token; Public Key Infrastructure (PKI) token UUID token User send to Keystone username and password; Keystone: generates UUID token; stores UUID token in its backend; sends a copy of UUID token to user. User caches the token and sends it along with each API called; For each user request the API endpoint sends the UUID token received back to Keystone for validation; Keystone validates the UUID token received from API endpoint with the UUID token previously stored; Keystone returns success or failure message to the API endpoint. username/password Keystone UUID User UUID? OK request + UUID Nova Figure 5. UUID token PKI token PKI token can be verified offline using the Keystone's public signing key. Each API endpoint holds a copy of Keystone's: Signing certificate; Revocation list;
11 CA certificate. The API endpoints use these information to validate the user requests without the need to validate each request to Keystone as in the case of UUID token. User username/password PKI Keystone signing key & cert request + PKI Nova Figure 6. PKI token
12 2 Cloud Federation Cloud federation refers to the interconnection of different service providers' cloud environments through the network. The main objective is to perform the login only once (SSO Single Sign- On) with transparent access in multiple cloud computing environments in order to manage resources (move the workload between clouds, demand new resources, etc...) reducing the administrative overhead of distributing multiple authentication tokens to the user. Once authenticated by an external Identity Provider, the user can perform operations in the cloud environment in which is authenticated. User Cloud 1 Cloud 2 federated users [ username ] [ password ] Identity backend Figure 7. Cloud Federation 2.1 SAML2 It is an XML based protocol that implements the SSO's idea in different security domains for exchanging authentication and authorization data (assertions) between parties: Identity Provider: entity that stores information about users; Service Provider: entity that provides services to the end users; User ( principal ): entity that wants to authenticate to access a service. The user need to be registered with at least on Identity Provider, the Identity Provider must provide to authenticate the user and the Service Provider relies on the Identity Provider to identify the user.
13 At user's request (phase 3 in the Figure 8 below), the Identity Provider must send a SAML assertion (it contains information about the user that wants to be authenticated) to the Service Provider specifying whether allow or deny the access to services for the user. Figure 8. SAML2 Web Browser SSO ECP (Enhanced Client or Proxy) It is a CLI (Command Line Interface) extension with the particular feature that the client is not a browser. ECP is and adaptation of the SAML2 protocol used by web browser and it allows users to directly contact the Identity Providers avoiding the Identity Provider Discovery and Redirection by the Service Provider as in the case of the web browser. The ECP is an intermediary between the Service Provider and the Identity Provider allowing the Service Provider to perform an authentication request without knowing the Identity Provider. ECP must support PAOS (reverse SOAP binding) which lets the Service Provider to obtain the assertion through the ECP, which is always directly accessible, unlike the Identity Provider.
14 Figure 9. SAML2 ECP SSO 2.2 Shibboleth Shibboleth is an open source federated identity solution built on SAML providing the Single Sign-On capabilities. It is a web-based technology that implements the HTTP/POST, artifact and attributes of SAML. The key concepts of Shibboleth are: Federated authentication; Access control based on attributes; Privacy management; Trust (implemented with metadata); Framework for multiple federations. The Shibboleth's products used in the project are: Shibboleth Service Provider; Shibboleth Identity Provider (Testshib and IDPOPEN); Shibboleth Embedded Discovery Service. In particular it has been used the Shibboleth 2.x version built on SAML 2.0 standards.
15 3 Testbed for Federation Tests In the following sections I will describe how to configure a testbed for performing federation tests with multiple Identity Providers at the same time. Figure 10. Testbed overview The configuration has been performed on a OpenStack Virtual Machine running SLC6 CERN Server x86_64, with OpenStack deployed via Packstack and Apache Install OpenStack via Packstack After launching a new Virtual Machine via CLI (nova boot --flavor <flavor_id> --image <image_id> --key-name <key> <vm_name>) or Dashboard and connected to it via SSH (ssh -i <key.pem> username@<vm_name>.cern.ch), I installed OpenStack via Packstack following these configuration steps: setenforce 0 /etc/init.d/iptables stop yum install -y yum install -y openstack-packstack
16 Note: For a single node OpenStack deployment: packstack allinone could be necessary to modify the priorities in /etc/yum.repos.d/ to allow the downloading of all the packages for Packstack: modify the priority for each.repo; yum clean-all yum distro-sync yum update during the installation something could go wrong, in case some workarounds may be useful: Then we are ready to initialize the database: keystone-manage db_sync keystone-manage pki-setup keystone-user keystone keystone-group keystone 3.2 Configuring Keystone for Federation The main concepts are: Keystone as a Service Provider; Keystone running in HTTPD with Shibboleth (mod_shib); Keystone consumes SAML assertions provided by an external Identity Provider. Federated users are not stored in the Keystone database. An external Identity Provider is responsible for authenticating users, and communicates the result of authentication to Keystone using SAML assertions. Keystone will maps the SAML assertions received from the Identity Provider to Keystone user groups and assignments created in Keystone Keystone running in HTTPD with mod_shib Stop Keystone service: service openstack-keystone stop
17 chkconfig openstack-keystone off Install httpd (Apache 2.x); Install mod_nss; Install mod_wsgi; Install Shibboleth SP: yum install shibboleth Configure Shibboleth with 1+ IdPs (see Chapter 4) service httpd restart service shibd start Configure Keystone running in Apache's vhost listening standard port 5000 and 35357: Create the wsgi-keystone.conf file; set the alias that will match with the Federation URI: '/v3/os- FEDERATION/identity_providers/.*?/protocols/.*?/auth'; copy it in /etc/httpd/conf.d/ WSGISocketPrefix /var/run/httpd Listen 5000 <VirtualHost *:5000> WSGIScriptAliasMatch ^(/v3/os-federation/identity_providers/.*?/protocols/.*?/auth)$ /var/www/cgibin/keystone/main/$1 ############################## WSGIScriptAlias /secure /home/www/wsgi-scripts/wsgi_app.py <Directory /home/www/wsgi-scripts> Order allow,deny Allow from all </Directory> ############################## WSGIScriptAlias / /var/www/cgi-bin/keystone/main WSGIDaemonProcess keystone-public user=keystone group=keystone processes=3 threads=10 home=/usr/share/keystone WSGIProcessGroup keystone-public WSGIApplicationGroup %GLOBAL} ErrorLog /var/log/httpd/keystone/keystone.log LogLevel debug CustomLog /var/log/httpd/keystone/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/ca.crt SSLCertificateKeyFile /etc/ssl/private/ca.key <Directory /var/www/cgi-bin> Options FollowSymLinks AllowOverride All Order allow,deny
18 Allow from all </Directory> </VirtualHost> Listen <VirtualHost *:35357> WSGIScriptAlias / /var/www/cgi-bin/keystone/admin WSGIDaemonProcess keystone-admin user=keystone group=keystone processes=3 threads=10 home=/usr/share/keystone WSGIProcessGroup keystone-admin WSGIApplicationGroup %GLOBAL} ErrorLog /var/log/httpd/keystone/keystone.log LogLevel debug CustomLog /var/log/httpd/access.log combined <Directory /var/www/cgi-bin> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <Location /Shibboleth.sso> </Location> SetHandler shib <LocationMatch /v3/os-federation/identity_providers/.*?/protocols/saml2/auth> ShibRequestSetting requiresession 1 ########################################################## #SSLRequireSSL # The modules only work using HTTPS AuthType shibboleth ShibRequireSession On ShibRequireAll On ShibExportAssertion Off Require valid-user #Require ADFS_GROUP "Some Users Group" "Some Other Users Group" ########################################################## </LocationMatch> <LocationMatch /v3/os-federation/websso> ShibRequestSetting requiresession 1 ########################################################## #SSLRequireSSL # The modules only work using HTTPS AuthType shibboleth ShibRequireSession On ShibRequireAll On ShibExportAssertion Off Require valid-user #Require ADFS_GROUP "Some Users Group" "Some Other Users Group" ########################################################## </LocationMatch> Hardlink the file: /usr/share/openstack-puppet/modules/keystone/files/httpd/keystone.py
19 in the /var/www/cgi-bin/keystone/ directory: ln /usr/share/openstack-puppet/modules/keystone/files/httpd/keystone.py admin ln /usr/share/openstack-puppet/modules/keystone/files/httpd/keystone.py main OS-FEDERATION extension Enable the Federation extension in etc/keystone/keystone.conf file: [federation] driver = keystone.contrib.federation.backends.sql.federation [auth] methods = external,password,token,saml2 saml2 = keystone.auth.plugins.saml2.saml2 Add the Federation extension in /usr/share/keystone/keystone-dist-paste.ini file: [pipeline:api_v3] pipeline = access_log sizelimit url_normalize token_auth admin_token_auth xml_body json_body ec2_extension s3_extension federation_extension service_v3 Create the federation extension tables in Keystone database: keystone-manage db_sync --extension federation In the next chapter I am going to describe how to create Keystone groups and roles required for the mapping between the SAML assertions and the authorized federated users (mapped into local groups and roles) for each Identity Provider (see Chapter 4.4).
20 4 Federate Multiple Identity Providers The following sections will describe how to configure the Service Provider with Keystone running on HTTPD to handle multiple Identity Providers at the same time. The Identity Providers that I federated are: Testshib IdP ( IDPOPEN IdP ( CERN IdP (ADFS). The first two are Shibboleth Identity Providers, the last one is ADFS (Active Directory Federation Services) Identity Provider by Microsoft. 4.1 Trust between IdPs and SP (Metadata) Download the metadata.xml files from the Identity Providers: Testshib IdP metadata: IDPOPEN metadata: CERN metadata: Upload the metadata from the Service Provider (in which Keystone is configured) to each Identity Provider creating a trust relationship between them, specify the following URL in the browser: and download the Metadata of your Service Provider, for example: <!-- This is example metadata only. Do *NOT* supply it as is without review, and do *NOT* provide it in real time to your partners. --> <md:entitydescriptor xmlns:md="urn:oasis:names:tc:saml:2.0:metadata" ID="_39a2d033c1a364bc6078b1023e38a447913cdd08" entityid=" <md:extensions xmlns:alg="urn:oasis:names:tc:saml:metadata:algsupport"> <alg:digestmethod Algorithm=" <alg:digestmethod Algorithm=" <alg:digestmethod Algorithm=" <alg:digestmethod Algorithm=" <alg:digestmethod Algorithm=" <alg:signingmethod Algorithm=" <alg:signingmethod Algorithm=" <alg:signingmethod Algorithm=" <alg:signingmethod Algorithm=" <alg:signingmethod Algorithm="
21 <alg:signingmethod Algorithm=" <alg:signingmethod Algorithm=" <alg:signingmethod Algorithm=" <alg:signingmethod Algorithm=" <alg:signingmethod Algorithm=" <alg:signingmethod Algorithm=" </md:extensions> <md:spssodescriptor protocolsupportenumeration="urn:oasis:names:tc:saml:2.0:protocol urn:oasis:names:tc:saml:1.1:protocol urn:oasis:names:tc:saml:1.0:protocol <md:extensions> <init:requestinitiator xmlns:init="urn:oasis:names:tc:saml:profiles:sso:request-init" Binding="urn:oasis:names:tc:SAML:profiles:SSO:request-init" Location=" </md:extensions> <md:keydescriptor> <ds:keyinfo xmlns:ds=" <ds:keyname>yourkeyname</ds:keyname> <ds:x509data> <ds:x509subjectname>cn=yourcn</ds:x509subjectname> <ds:x509certificate>miic4jccacqgawibagijaoz9zh27f+wyma0gcsqgsib3dqebbquambqxejaq BgNV BAMTCWx0YXJ0YXJpMjAeFw0xNDA3MDMwODUxMzBaFw0yNDA2MzAwODUxMzBaMBQx EjAQBgNVBAMTCWx0YXJ0YXJpMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggebal26nx6efyqpue7cxcmvelhaxrs/m8aedoq7tniisr2sk8xkjditbkccd7jt xt1lv6q9+4u8p7duufwyhpxdauluivad+3ofrx6heejfbctb6nnknuglxkx2rg5n UndhTzJllal+jbMCBAwuA/Jg+hHrPSYvLZrj0bRDCShojcZjjrT/3ikYhn/hQq56 5b6BcFQJGeO4L68nIRFG06mXG3CuU3UxboYm5QiDHgQQ68W9PlZtLi+9v/Pku8HD u7u39uyvbydpyes1la0flujxywds8276i81bf6cjywbj0stfqedxoq+yod4weaxa ovudy/w2tjjjaarrtu9+u2sozw0caweaaam3mduwfaydvr0rba0wc4ijbhrhcnrh cmkymb0ga1uddgqwbbsdtjz2u3dokvbydxqjjkgxtwergzanbgkqhkig9w0baquf AAOCAQEAFRIPViFI5vRfUs7kE5Kqc25cDn+qo933/Nbhpngde0ATG2IJB9MHN+63 uyzkfxhha5j3cexel+7ogupoh57i/n2aub2o7wkpe5dakol0cfwxygsrvbewe1zw PStIQhlzqe+1DieNKs4KZ0cA17b2tfK4YA3SD7+MH1MA0cy6lsUpToy4HK0lWsGa +PBNGklqEcOtQ7IhpRFQLha/k93ZNCUWOdIzgR7fWCAekkaQ0FqAEVnyiAmDazPA K7BsL6YgOeRFqpC1vlFN/FCUYOicm66cPyoTvpQqn35VfYdNsodiyr/WtiuXzZsc a9d7mdh+ky2vhpszkkgmqgxp+tbuva== </ds:x509certificate> </ds:x509data> </ds:keyinfo> <md:encryptionmethod Algorithm=" <md:encryptionmethod Algorithm=" <md:encryptionmethod Algorithm=" <md:encryptionmethod Algorithm=" <md:encryptionmethod Algorithm=" <md:encryptionmethod Algorithm=" <md:encryptionmethod Algorithm=" <md:encryptionmethod Algorithm=" <md:encryptionmethod Algorithm=" </md:keydescriptor> <md:artifactresolutionservice Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location=" index="1"/> <md:singlelogoutservice Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location=" <md:singlelogoutservice Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location=" <md:singlelogoutservice Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location=" <md:singlelogoutservice Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="
22 <md:singlelogoutservice Binding=" Location=" <md:assertionconsumerservice Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location=" index="1"/> <md:assertionconsumerservice Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location=" index="2"/> <md:assertionconsumerservice Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location=" index="3"/> <md:assertionconsumerservice Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" Location=" index="4"/> <md:assertionconsumerservice Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location=" index="5"/> <md:assertionconsumerservice Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location=" index="6"/> <md:assertionconsumerservice Binding=" Location=" index="7"/> </md:spssodescriptor> </md:entitydescriptor> Then you need to upload the metadata to each the Identity Provider according to its procedure. 4.2 Configure Shibboleth working with Multiple IdPs via ECP at the same time In the /etc/shibboleth2.xml file: in order to avoid the systematic choice of the attribute(s) to use as REMOTE_USER, in the <ApplicationDefaults> element remove: REMOTE_USER="eppn persistent-id targeted-id" in order to enable ECP support and to allow > 1 IdPs (this won't affect normal access by browsers), in the <SSO> element remove: entityid=" discoveryprotocol="samlds" discoveryurl=" ECP= true and add: Multiple Shibboleth IdPs (Testshib and IDPOPEN) copy the metadata.xml files previously download in the directory: /etc/shibboleth/ update the <Handler type= Session > element: <Handler type="session" Location="/Session" showattributevalues="true"/>
23 the attribute showattributevalues must to be true in order to include the actual attribute values in the session; add as many <MetadataProvider> element as there are IdPs: <MetadataProvider type="xml" uri=" backingfilepath="/etc/shibboleth/testshib-two-idp-metadata.xml reloadinterval="180000"/> <MetadataProvider type="xml" uri=" backingfilepath="/etc/shibboleth/metadata-idpopen.xml" reloadinterval="180000"/> specifying the URI in which to retrieve metadata and the path in which the metadata.xml files previously download are stored ADFS Identity Provider in a multiple IdPs environment In the /etc/shibboleth2.xml file: add the <OutOfProcess> element specifying the extension libraries: <OutOfProcess logger="/etc/shibboleth/shibd.logger"> <Extensions> <Library path="adfs.so" fatal="true"/> </Extensions> </OutOfProcess> add the <InProcess> element specifying extension libraries and supplementing the native IIS configuration: <InProcess logger="/etc/shibboleth/native.logger"> <Extensions> <Library path="adfs-lite.so" fatal="true"/> </Extensions> <ISAPI normalizerequest="true"> <Site id="1" name="ltartari2.cern.ch:5000"/> </ISAPI> </InProcess> add the <md:assertionconsumerservice> element to set the handler that is responsible for consuming the SAML assertion: <md:assertionconsumerservice Location="/ADFS" isdefault="true" index="1" Binding=" ResponseLocation="/shibbolethsp/wsignout.gif"/> add the <saml:audience> element to handle SAML products that produce unusual assertions that otherwise can't be processed: <saml:audience>
24 4.2.3 shibboleth2.xml file An example of your /etc/shibboleth/shibboleth2.xml (with both Shibboleth IdP and ADFS IdP) may look like: <SPConfig xmlns="urn:mace:shibboleth:2.0:native:sp:config" xmlns:conf="urn:mace:shibboleth:2.0:native:sp:config" xmlns:saml="urn:oasis:names:tc:saml:2.0:assertion" xmlns:samlp="urn:oasis:names:tc:saml:2.0:protocol" xmlns:md="urn:oasis:names:tc:saml:2.0:metadata" clockskew="180"> <!-- The OutOfProcess section contains properties affecting the shibd daemon. --> <OutOfProcess logger="/etc/shibboleth/shibd.logger"> <Extensions> <Library path="adfs.so" fatal="true"/> </Extensions> </OutOfProcess> <!-- The InProcess section conrains settings affecting web server modules/filters. --> <InProcess logger="/etc/shibboleth/native.logger"> <Extensions> <Library path="adfs-lite.so" fatal="true"/> </Extensions> <ISAPI normalizerequest="true"> <!-- Maps IIS Instance ID values to the host scheme/name/port/sslport. The name is required so that the proper <Host> in the request map above is found without having to cover every possible DNS/IP combination the user might enter. The port and scheme can usually be omitted, so the HTTP request's port and scheme will be used. --> <Site id="1" name="ltartari2.cern.ch:5000"/> </ISAPI> </InProcess> <!-- By default, in-memory StorageService, ReplayCache, ArtifactMap, and SessionCache are used. See example-shibboleth2.xml for samples of explicitly configuring them. --> <!-- To customize behavior for specific resources on Apache, and to link vhosts or resources to ApplicationOverride settings below, use web server options/commands. See for help. For examples with the RequestMap XML syntax instead, see the example-shibboleth2.xml file, and the topic. --> <!-- The ApplicationDefaults element is where most of Shibboleth's SAML bits are defined. --> <ApplicationDefaults entityid=" <!-- Controls session lifetimes, address checks, cookie handling, and the protocol handlers. You MUST supply an effectively unique handlerurl value for each of your applications. The value defaults to /Shibboleth.sso, and should be a relative path, with the SP computing a relative value based on the virtual host. Using handlerssl="true", the default, will force the protocol to be https. You should also add a cookieprops setting of "; path=/; secure" in that case. Note that while we default checkaddress to "false", this has a negative impact on the security of the SP. Stealing cookies/sessions is much easier with this disabled.
25 --> <Sessions lifetime="28800" timeout="3600" checkaddress="false" relaystate="ss:mem" handlerssl="false"> <!-- Configures SSO for a default IdP. To allow for >1 IdP, remove entityid property and adjust discoveryurl to point to discovery service. (Set discoveryprotocol to "WAYF" for legacy Shibboleth WAYF support.) You can also override entityid on /Login query string, or in RequestMap/htaccess. --> <SSO ECP="true">SAML2 SAML1</SSO> <!-- SAML and local-only logout. --> <Logout>SAML2 Local</Logout> <!-- md:assertionconsumerservice locations handle specific SSO protocol bindings, such as SAML 2.0 POST or SAML 1.1 Artifact. The isdefault and index attributes are used when sessions are initiated to determine how to tell the IdP where and how to return the response. --> <md:assertionconsumerservice Location="/ADFS" isdefault="true" index="1" Binding=" ResponseLocation="/shibboleth-sp/wsignout.gif"/> <!-- Extension service that generates "approximate" metadata based on SP configuration. --> <Handler type="metadatagenerator" Location="/Metadata" signing="false"/> <!-- Status reporting service. --> <Handler type="status" Location="/Status" acl=" "/> <!-- Session diagnostic service. --> <Handler type="session" Location="/Session" showattributevalues="true"/> <!-- JSON feed of discovery information. --> <Handler type="discoveryfeed" Location="/DiscoFeed"/> </Sessions> <!-- Allows overriding of error template information/filenames. You can also add attributes with values that can be plugged into the templates. --> <Errors supportcontact="root@localhost" logolocation="/shibboleth-sp/logo.jpg" stylesheet="/shibboleth-sp/main.css"/> <!-- Uncomment and modify to tweak settings for specific IdPs or groups. --> <!-- <RelyingParty Name="SpecialFederation" keyname="specialkey"/> --> <saml:audience> <!-- Example of remotely supplied batch of signed metadata. --> <!-- <MetadataProvider type="xml" uri=" backingfilepath="federation-metadata.xml" reloadinterval="7200"> <MetadataFilter type="requirevaliduntil" maxvalidityinterval=" "/> <MetadataFilter type="signature" certificate="fedsigner.pem"/> </MetadataProvider> --> <!-- Example of locally maintained metadata. --> <!-- <MetadataProvider type="xml" file="partner-metadata.xml"/>
26 --> <!-- Multiple IdPs MetadataProvider --> <MetadataProvider type="xml" uri=" backingfilepath="testshib-two-idp-metadata.xml" reloadinterval="180000"/> <MetadataProvider type="xml" uri=" backingfilepath="/etc/shibboleth/metadata-idpopen.xml" reloadinterval="180000"/> <MetadataProvider type="xml" uri=" backingfilepath="/etc/shibboleth/adfs-metadata.xml" reloadinterval="7200" /> <!-- Map to extract attributes from SAML assertions. --> <AttributeExtractor type="xml" validate="true" path="attribute-map.xml"/> <!-- Use a SAML query if no attributes are supplied during SSO. --> <AttributeResolver type="query" subjectmatch="true"/> <!-- Default filtering policy for recognized attributes, lets other data pass. --> <AttributeFilter type="xml" validate="true" path="attribute-policy.xml"/> <!-- Simple file-based resolver for using a single keypair. --> <CredentialResolver type="file" key="sp-key.pem" certificate="sp-cert.pem"/> <!-- The default settings can be overridden by creating ApplicationOverride elements (see the topic). Resource requests are mapped by web server commands, or the RequestMapper, to an applicationid setting. Example of a second application (for a second vhost) that has a different entityid. Resources on the vhost would map to an applicationid of "admin": --> <!-- <ApplicationOverride id="admin" entityid=" --> </ApplicationDefaults> <!-- Policies that determine how to process and authenticate runtime messages. --> <SecurityPolicyProvider type="xml" validate="true" path="security-policy.xml"/> <!-- Low-level configuration about protocols and bindings available for use. --> <ProtocolProvider type="xml" validate="true" reloadchanges="false" path="protocols.xml"/> </SPConfig> 4.3 Attribute mapping In order to process the SAML assertions about the user is necessary to define how to process that information. The Service Provider translates the SAML assertions using the attribute-map.xml configuration file in which are defined the mapping rules between the SAML information and the environment variables. To add a new mapping rule you need to define a new <Attribute> element, for example: <Attribute name=" address" nameformat=" id=" "/>
27 where the id attribute is the identifier for the variable you want to map. Note: In the case of multiple Identity Providers at the same time you can not map attributes differently based on the Identity Provider, eventually you can separate the resource URLs but the requests will be different. An option is to concatenate all the mapping rules in the same attribute-map.xml configuration file: <!-- Testshib attributes --> <Attribute name="urn:oid: " id="testshib_givenname"/> <!-- IDPOPEN attributes --> <Attribute name="urn:oid: " id="idpopen_mail"/> <!-- ADFS attributes --> <Attribute name="lastname" nameformat=" id="adfs_lastname"/> Keystone Mapping At this point is necessary to configure Keystone for the mapping with the SAML assertion received from the Identity Providers. The entities to create are: 1. Identity Provider: represents the Identity Provider responsible for the user authentication; 2. Mapping: a list of rules to map federation protocol attributes to Identity API objects; 3. Protocol: information to decide which mapping rule to use for an incoming request. These are the steps to configure the Keystone mapping (via HTTP requests) using the Federation extension API v3 and the Identity API v3: Create a domain: POST /v3/domains } "description": "Federation Domain", "enabled": true, "id": "<fed_domain_id>", "name": "federation-domain" Create a shared project for all Identity Provider: POST /v3/projects
28 } }, }, } }, }, } }, }, "description": "Project for federation test", "domain_id": "<fed_domain_id>", "enabled": true, "id": "<fed_project_id>", "name": "federation-project" Create a project for each Identity Provider: "description": "Project for adfs", "domain_id": "<fed_domain_id>", "enabled": true, "id": "<adfs_project_id>", "name": "adfs-project" "description": "Project for testshib idp", "domain_id": "<fed_domain_id>", "enabled": true, "id": "<testshib_project_id>", "name": "testshib-project" "description": "Project for idpopen idp", "domain_id": "<fed_domain_id>", "enabled": true, "id": "<idpopen_project_id>", "links": "name": "idpopen-project" Create a group for each Identity Provider: POST /v3/groups "description": "Group for idpopen idp", "domain_id": "<fed_domain_id>", "id": "<idpopen_group_id>", "name": "idpopen-group" "description": "Group for testshib idp", "domain_id": "<fed_domain_id>", "id": "<testshib_group_id>", "name": "testshib-group" "description": "Group for adfs", "domain_id": "<fed_domain_id>", "id": "<adfs_group_id>", "name": "adfs-group" Create a role for each group: POST /v3/roles "id": "<idpopen_role_id>", "name": "idpopen-role" "id": "<testshib_role_id>", "name": "testshib-role"
29 } "id": "<adfs_role_id>", "name": "adfs-role" Grant each role to the specified domain group: PUT /v3/domains/<fed_domain_id>/groups/<testshib_group_id>/roles/ <testshib_role_id> PUT /v3/domains/<fed_domain_id>/groups/<idpopen_group_id>/roles/ <idpopen_role_id> PUT /v3/domains/<fed_domain_id>/groups/<adfs_group_id>/roles/<adfs_role_id> Grant each role to the specified project group and to the shared project: PUT /v3/projects/<fed_project_id>}/groups/ <testshib_group_id>/roles/<testshib_role_id> PUT /v3/projects/<fed_project_id>}/groups/ <idpopen_group_id>/roles/<idpopen_role_id> PUT /v3/projects/<fed_project_id>}/groups/<adfs_group_id>/roles/<adfs_role_id> PUT /v3/projects/<testshib_project_id>}/groups/ <testshib_group_id>/roles/<testshib_role_id> PUT /v3/projects/<idpopen_project_id>}/groups/ <idpopen_group_id>/roles/<idpopen_role_id> PUT /v3/projects/<adfs_project_id>}/groups/<adfs_group_id>/roles/<adfs_role_id> Create each Identity Provider: PUT /OS-FEDERATION/identity_providers/testshib PUT /OS-FEDERATION/identity_providers/idpopen PUT /OS-FEDERATION/identity_providers/adfs }, }, "description": "adfs", "enabled": true, "id": "adfs" "description": "enabled": true, "id": "idpopen" "description": "enabled": true,
30 } "id": "testshib" Create each mapping: PUT /OS-FEDERATION/mappings/testshib_mapping PUT /OS-FEDERATION/mappings/idpopen_mapping PUT /OS-FEDERATION/mappings/adfs_mapping } Note: "id": "idpopen_mapping", "rules": [ "local": [ "remote": [ "user": name": "idpopen user" } }, "group": "id": "<idpopen_group_id>" } } ], "type": "mail", "any_one_of": ["< > ]} ] ]} for each mapping is necessary to specify the group identifier previously created; the value of the key 'type' must be an attribute of the environment variables produced from the SAML assertion by the attribute-map.xml file; the value of the key 'any_one_of' must be any one of the values of the attribute specified in the previous step. Create SAML2 protocol for each Identity Provider: PUT /OS-FEDERATION/identity_providers/testshib/protocols/saml2 PUT /OS-FEDERATION/identity_providers/idpopen/protocols/saml2 PUT /OS-FEDERATION/identity_providers/adfs/protocols/saml2 } } "id": "saml2", "mapping_id": "testshib_mapping" "id": "saml2", "mapping_id": "idpopen_mapping"
31 } Note: "id": "saml2", "mapping_id": "adfs_mapping" for each protocol is necessary to specify the mapping identifier previously created. 4.5 How the Testbed works (via ECP) The user who wants to authenticate and receive the unscoped token from Keystone Identity Service needs to specify the following HTTP request: GET/POST /OS- FEDERATION/identity_providers/<identity_provider_id>/protocols/<protocol_id>/auth The received token contains information about the groups to which the federated user is mapped. We need to distinguish two cases: Shibboleth Identity Provider; ADFS Identity Provider. In case of Shibboleth Identity Provider to perform the login I used the ecp.py python script ( with the following IDP_ENDPOINTS: # mapping from user friendly names or tags to IdP ECP enpoints IDP_ENDPOINTS = "testshib" : " "idpopen" : " } The endpoints for ECP can be easily retrieved from the metadata file of each Identity Provider. For instance, if we want to login with the IDPOPEN Identity Provider, we need to run the following command: python ecp.py -d idpopen FEDERATION/identity_providers/idpopen/protocols/saml2/auth <username> After entering the password the output will be the following: header: Date: Wed, 27 Aug :58:55 GMT header: Server: Apache/ (Red Hat) header: X-Subject-Token: <unscoped_token> header: Vary: X-Auth-Token,Accept-Encoding header: Content-Length: 338 header: Connection: close header: Content-Type: application/json
32 "token": "issued_at": " T08:58: Z", "extras": }, "methods": ["saml2"], "expires_at": " T09:58: Z", "user": "OS-FEDERATION": "identity_provider": "id": "idpopen"}, "protocol": "id": "saml2"}, "groups": ["id": "<idpopen_group_id>"}]}, "id": "idpopen%20user", "name": "idpopen user"}}} Where the 'X-Subject-Token' represents the unscoped token. In case of ADFS Identity Provider to perform the login I used a specified ADFS client ( --sp_url " FEDERATION/identity_providers/adfs/protocols/saml2/auth" --user=<username> --password=<pasword> --no-ssl --content With the following uscoped token: 'content-length': '232', 'content-encoding': 'gzip', 'x-subject-token': <unscoped_token>, 'vary': 'X-Auth- Token,Accept-Encoding', 'server': 'Apache/ (Red Hat)', 'connection': 'close', 'date': 'Wed, 27 Aug :05:34 GMT', 'content-type': 'application/json'} "token": "issued_at": " T09:05: Z", "extras": }, "methods": ["saml2"], "expires_at": " T10:05: Z", "user": "OS-FEDERATION": "identity_provider": "id": "adfs"}, "protocol": "id": "saml2"}, "groups": ["id": "<adfs_group_id>"}]}, "id": "adfs%20user", "name": "adfs user"}}} (adfs-client)[root@ltartari2 pyadfsclient]#./main.py --user=<user> --password=<password> --no-ssl --content'content-length': '2076', 'content-encoding': 'gzip', 'vary': 'Accept-Encoding', 'server': 'Apache/ (Red Hat)', 'connection': 'close', 'date': 'Wed, 27 Aug :05:48 GMT', 'content-type': 'text/plain'} For both Identity Providers, if we want to see the environment variables produced from the SAML assertion we need to specify the following URL: instead of the URL for the Keystone authentication and copy the wsgi script ( in the /home/www/wsgi-scripts/ directory (as previously configured in the wsgi-keystone.conf file) and use the ECP client (ecp.py for Shibboleth Identity Provider or pyadfsclient for ADFS Identity Provider). For instance, for the ADFS Identity Provider, the output will be the following: ADFS_AUTHLEVEL: Normal ADFS_BUILDING: <building> ADFS_DEPARTMENT: <department> ADFS_ < > ADFS_FEDERATION: <federation> ADFS_FIRSTNAME: <firstname> ADFS_FULLNAME: <fullname> ADFS_GROUP: <group> ADFS_IDENTITYCLASS: <identity_class> ADFS_LASTNAME: <latname> ADFS_LOGIN: <login> ADFS_PERSONID: <person_id> ADFS_PREFERREDLANGUAGE: EN ADFS_ROLE: <role>
33 AUTH_TYPE: shibboleth DOCUMENT_ROOT: /etc/httpd/htdocs GATEWAY_INTERFACE: CGI/1.1 HTTPS: 1 HTTP_ACCEPT: */* HTTP_ACCEPT_ENCODING: gzip, deflate HTTP_COOKIE: _shibsession_ c a2f2f6c e e2e63683a f f6c657468=_02d0b3bbc1b033e fdcd31e79f HTTP_HOST: ltartari2.cern.ch:5000 HTTP_USER_AGENT: python-requests/2.3.0 CPython/2.6.6 Linux/ el6.x86_64 PATH_INFO: QUERY_STRING: REMOTE_ADDR: REMOTE_PORT: REQUEST_METHOD: GET REQUEST_URI: /secure SCRIPT_FILENAME: /home/www/wsgi-scripts/wsgi_app.py SCRIPT_NAME: /secure SERVER_ADDR: SERVER_ADMIN: [no address given] SERVER_NAME: ltartari2.cern.ch SERVER_PORT: 5000 SERVER_PROTOCOL: HTTP/1.1 SERVER_SIGNATURE: <address>apache/ (Red Hat) Server at ltartari2.cern.ch Port 5000</address> SERVER_SOFTWARE: Apache/ (Red Hat) Shib-Application-ID: default Shib-Authentication-Instant: T09:05:50.350Z Shib-Authentication-Method: urn:oasis:names:tc:saml:1.0:am:password Shib-AuthnContext-Class: urn:oasis:names:tc:saml:1.0:am:password Shib-Identity-Provider: Shib-Session-ID: _02d0b3bbc1b033e fdcd31e79f mod_wsgi.application_group: mod_wsgi.callable_object: application mod_wsgi.handler_script: mod_wsgi.input_chunked: 0 mod_wsgi.listener_host: mod_wsgi.listener_port: 5000 mod_wsgi.process_group: keystone-public mod_wsgi.request_handler: wsgi-script mod_wsgi.script_reloading: 1 mod_wsgi.version: (3, 2) user: <user> wsgi.errors: <mod_wsgi.log object at 0x7f69aa2e3cf0> wsgi.file_wrapper: <built-in method file_wrapper of mod_wsgi.adapter object at 0x7f69a9d41198> wsgi.input: <mod_wsgi.input object at 0x7f69a9a60af0> wsgi.multiprocess: True wsgi.multithread: True wsgi.run_once: False wsgi.url_scheme: https wsgi.version: (1, 1) The environment variables are the attribute specified in attribute-map.xml file in the /etc/shibboleth/ directory.
34 4.6 Multiple Shibboleth IdPs via Browser (Discovery Service) Unlike ECP, a Service Provider that use the Shibboleth Embedded Discovery Service (a set of Javascript and CSS files) allows users to select the Identity Provider from a web UI at the moment of the authentication. For the installation and configuration of Shibboleth EDS on the host we need to perform the following steps: yum install shibboleth-embedded-ds or download the.rpm ( and install it: rpm -i <filename>.rpm after the installation will be created a new directory: /etc/shibboleth-ds/ in which are stored the Javascript and CSS files. Edit the /etc/shibboleth/shibboleth2.xml file: in each <MetadataProvider> element add: 'legacyorgnames= true <MetadataProvider type="xml" uri=" backingfilepath="/etc/shibboleth/metadata-testshib.xml" reloadinterval="180000"/> <MetadataProvider type="xml" uri=" backingfilepath="/etc/shibboleth/metadata-idpopen.xml" reloadinterval="180000"/> in the <SSO> element add: discoveryprotocol="samlds" discoveryurl=" and remove: ECP= true <SSO discoveryprotocol="samlds" discoveryurl=" SAML1</SSO> Now you can open a web browser and specify the URL: FEDERATION/identity_providers/<identity_provider_id>/protocols/saml2/auth
35 depending on which Identity Provider you want to use. The web UI is shown in Figure 11 below: Figure 11. Shibboleth EDS UI
36 After confirming the Identity Provider choice you are redirected the the Identity Provider's login page: Figure 12. Testshib login page Once logged in the user will see the unscoped token: Figure 13. Unscoped token via browser Note: in this case Shibboleth Embedded Discovery Service is working only with Shibboleth Identity Providers (not ADFS)
37 5 Keystone-client wrapper A federated user that has received an uscoped token can have access to a resource (project or domain): List the projects accessible to federated user: GET /OS-FEDERATION/projects List the domains accessible to federate user: GET /OS-FEDERATION/domains For instance, the IDPOPEN user can have access to the following projects: }, } "description": "Project for idpopen", "domain_id": "<fed_domain_id>", "enabled": true, "id": "<idpopen_project_id>", "description": "Project for federation test", "domain_id": "<fed_domain_id>", "enabled": true, "id": "<fed_project_id>", "name": "federation-project" In order to scope the unscoped token received from Keystone Identity Service I used a keystoneclient wrapper ( Using the <fed_domain_id> as a parameter in the python script: scopetokenplugin = saml2.saml2scopedtoken( SERVICE_PROVIDER_URL, token.auth_token, domain_id=valid_domain_id) we are able to scope the unscoped token: "auth_token": <scoped_token>, "catalog": [ "endpoints": [ "id": "5b99593a5a5b435eaf550a3c14d64796", "interface": "internal", "region": "RegionOne",
38 "url": " },... ], "id": "fc0daffc9c034ebd841d31a696ba70c1", "type": "ec2" } ], "domain": "id": "default", "name": "Default" }, "expires_at": " T14:00: Z", "extras": }, "issued_at": " T13:00: Z", "methods": [ "saml2" ], "roles": [ "id": "<idpopen_role_id>", "name": "idpopen-role" } ], "user": "id": "idpopen%20user", "name": "idpopen user" }, "version": "v3" } Issue: can not scope the token using the project identifier.
39 6 Federate Ipsilon Identity Provider on FreeIPA In this chapter I will describe the main configurations steps for the installation of Ipsilon Identity Provider ( on FreeIPA (both from Red Hat). Ipsilon implements an Identity Provider that exposes SAML while FreeIPA is a project which aims to provide an easily managed Identity, Policy and Audit (IPA). Figure 14. Ipsilon architecture In the VM in which Keystone (Service Provider) is running we are going to install and configure: Ipsilon-client; in a new VM we are going to install and configure: FreeIPA, Ipsilon-server. 6.1 Installing FreeIPA and Ipsilon-server The main configuration steps are: yum install ipa-server
40 ipa-server-install kinit admin git clone install lasso: git clone cd lasso edit: lasso/lasso.c line 178: if (xmlseccryptodlloadlibrary(bad_cast "openssl") < 0) edit: lasso/doc/reference/lasso/makefile.am line 98: EXTRA_DIST = lasso-sections.txt lasso-docs.sgml version.xml.in lasso.types.in style.css./autogen.sh --prefix=/usr/lib/python2.6/site-packages/ make install easy_install cherrypy (version 3.2.2) easy_install Jinja2 for SSL certificate edit: /usr/lib/python2.6/site-packages/requests/api.py line 55: kwargs.setdefault('verify', False) for python2.6 edit: /usr/lib/python2.6/site-packages/ipsilon/admin/login.py line48: plugins_by_name = dict((p.name, p) for p in self._site[facility]['enabled']) build ipsilon-server: cd ipsilon python setup.py build python setup.py install ipsilon-server-install ipa=yes 6.2 Installing Ipsilon-client Install lasso (see Chapter 6.1)
41 ipsilon-client-install saml-idp-metadata After this command the ipsilon-client will generate: idp-metadata.xml: Identity Provider's metadata file; metadata.xml: Service Provider's metadata file. Then it is necessary to upload the metadata.xml file to the Identity Provider (Ipsilon-server). Issue: can not login as administrator to Ipsilon-server.
42 7 Conclusions In this report is described the work that has been done during the two-months stay as an Openlab Summer Student at CERN. At the beginning, in the early chapters, the background concepts are explained to get a better understanding for the following sections in which is described in detail and step by step the development of the project. The main goal was to create a testbed for performing federation tests with different Identity Providers at the same time. Testshib IdP, IDPOPEN and ADFS have been installed successfully and tested with both web browser and CLI. Unfortunately Ipsilon IdP has not been tested because of some issues with authentication in the Ipsilon-server. In order to have different Identity Providers at the same time via ECP we focused primarily on the Shibboleth configuration files to achieve the goal. Several s were exchange with the opensource mailing lists to figure out and configure the various products and tools used during the project. The testbed has been developed on OpenStack Virtual Machines in which was installed the Service Provider with Keystone, while the Identity Providers are: Testshib (an Identity Provider provided by Shibboleth to perform tests), IDPOPEN (an Identity Provider used by the INFN of the University of Catania) and ADFS (used by CERN). Subsequently was used the Shibboleth Embedded Discovery Service in order to handle multiple Identity Providers via browser enabling the Discovery Service. This solution is only valid for the Identity Providers provided by Shibboleth. At the end we tried to scope the unscoped token received from Keystone Identity Service using a wrapper for keystone-client and use the scoped token to perform some OpenStack commands.
Cloud federation. Prelude to Hybrid Clouds. CHEP 2015 Okinawa, Japan. Marek Denis CERN Geneva, Switzerland
Cloud federation CHEP 2015 Okinawa, Japan Prelude to Hybrid Clouds Marek Denis CERN Geneva, Switzerland Basic definitions OpenStack: An Open Source Cloud Managing System which allows implementors to: --
Shibboleth SP Simple Installation Guide For LINUX
Division of IT Shibboleth SP Simple Installation Guide For LINUX University of Missouri Revision History AM July 2012 Created AM July 26, 2012 Changed links to SP download AM August 29, 2012 Updated for
Authentication Methods
Authentication Methods Overview In addition to the OU Campus-managed authentication system, OU Campus supports LDAP, CAS, and Shibboleth authentication methods. LDAP users can be configured through the
Standalone SAML Attribute Authority With Shibboleth
CESNET Technical Report 5/2013 Standalone SAML Attribute Authority With Shibboleth IVAN NOVAKOV Received 10. 12. 2013 Abstract The article defines what a standalone attribute authority is and how it can
Federating with Web Applications
Federating with Web Applications Janusz Ulawski HEAnet Ltd November 11, 2010 Agenda 1 Providing access to your WebApp 2 Federated Access Software with SAML 2.0 support 3 Federating your WebApp Shibboleth
Shibboleth Identity Provider (IdP) Sebastian Rieger [email protected]
Shibboleth Identity Provider (IdP) Sebastian Rieger [email protected] Gesellschaft für wissenschaftliche Datenverarbeitung mbh Göttingen, Germany CLARIN AAI Hands On Workshop, 25.02.2009, Oxford
This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections:
CHAPTER 1 SAML Single Sign-On This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections: Junos Pulse Secure Access
Copyright Pivotal Software Inc, 2013-2015 1 of 10
Table of Contents Table of Contents Getting Started with Pivotal Single Sign-On Adding Users to a Single Sign-On Service Plan Administering Pivotal Single Sign-On Choosing an Application Type 1 2 5 7 10
10. Java Servelet. Introduction
Chapter 10 Java Servlets 227 10. Java Servelet Introduction Java TM Servlet provides Web developers with a simple, consistent mechanism for extending the functionality of a Web server and for accessing
Configuring. Moodle. Chapter 82
Chapter 82 Configuring Moodle The following is an overview of the steps required to configure the Moodle Web application for single sign-on (SSO) via SAML. Moodle offers SP-initiated SAML SSO only. 1 Prepare
600-152 People Data and the Web Forms and CGI CGI. Facilitating interactive web applications
CGI Facilitating interactive web applications Outline In Informatics 1, worksheet 7 says You will learn more about CGI and forms if you enroll in Informatics 2. Now we make good on that promise. First
Tenrox. Single Sign-On (SSO) Setup Guide. January, 2012. 2012 Tenrox. All rights reserved.
Tenrox Single Sign-On (SSO) Setup Guide January, 2012 2012 Tenrox. All rights reserved. About this Guide This guide provides a high-level technical overview of the Tenrox Single Sign-On (SSO) architecture,
Installing an SSL certificate on the InfoVaultz Cloud Appliance
Installing an SSL certificate on the InfoVaultz Cloud Appliance This document reviews the prerequisites and installation of an SSL certificate for the InfoVaultz Cloud Appliance. Please note that the installation
Using SAML for Single Sign-On in the SOA Software Platform
Using SAML for Single Sign-On in the SOA Software Platform SOA Software Community Manager: Using SAML on the Platform 1 Policy Manager / Community Manager Using SAML for Single Sign-On in the SOA Software
GlobalSign Enterprise Solutions Google Apps Authentication User Guide
GlobalSign Enterprise Solutions Google Apps Authentication User Guide Using EPKI for Google Apps for Business Single Sign-on and Secure Document Sharing v.1.1 1 Table of Contents Table of Contents... 2
Running Multiple Shibboleth IdP Instances on a Single Host
CESNET Technical Report 6/2013 Running Multiple Shibboleth IdP Instances on a Single Host IVAN NOVAKOV Received 10.12.2013 Abstract The article describes a way how multiple Shibboleth IdP instances may
OpenStack Introduction. November 4, 2015
OpenStack Introduction November 4, 2015 Application Platforms Undergoing A Major Shift What is OpenStack Open Source Cloud Software Launched by NASA and Rackspace in 2010 Massively scalable Managed by
600-152 People Data and the Web Forms and CGI. HTML forms. A user interface to CGI applications
HTML forms A user interface to CGI applications Outline A simple example form. GET versus POST. cgi.escape(). Input controls. A very simple form a simple form
CS312 Solutions #6. March 13, 2015
CS312 Solutions #6 March 13, 2015 Solutions 1. (1pt) Define in detail what a load balancer is and what problem it s trying to solve. Give at least two examples of where using a load balancer might be useful,
Shibboleth SP Simple Installation Guide For Windows and IIS
Division of IT Shibboleth SP Simple Installation Guide For University of Missouri October 1. Background 1.1. What is a Service Provider? To put it simply, a service provider is the website you are trying
365 Services. 1.1 Configuring Access Manager. 1.1.1 Prerequisite. 1.1.2 Adding the Office 365 Metadata. docsys (en) 2 August 2012
1 1Configuring Single Sign-On For Office 365 Services NetIQ Access Manager is compatible with Office 365 and provides single sign on access to Office 365 services. Single sign on access is supported for
Configuring EPM System 11.1.2.1 for SAML2-based Federation Services SSO
Configuring EPM System 11.1.2.1 for SAML2-based Federation Services SSO Scope... 2 Prerequisites Tasks... 2 Procedure... 2 Step 1: Configure EPM s WebLogic domain for SP Federation Services... 2 Step 2:
Eucalyptus 3.4.2 User Console Guide
Eucalyptus 3.4.2 User Console Guide 2014-02-23 Eucalyptus Systems Eucalyptus Contents 2 Contents User Console Overview...4 Install the Eucalyptus User Console...5 Install on Centos / RHEL 6.3...5 Configure
Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3
Open-Xchange Authentication & Session Handling Table of Contents 1.Introduction...3 2.System overview/implementation...4 2.1.Overview... 4 2.1.1.Access to IMAP back end services...4 2.1.2.Basic Implementation
DocuSign Information Guide. Single Sign On Functionality. Overview. Table of Contents
DocuSign Information Guide Single Sign On Functionality Overview The DocuSign Single Sign On functionality allows your system administrators to maintain user information in one location and your users
SAML 2.0 SSO Deployment with Okta
SAML 2.0 SSO Deployment with Okta Simplify Network Authentication by Using Thunder ADC as an Authentication Proxy DEPLOYMENT GUIDE Table of Contents Overview...3 The A10 Networks SAML 2.0 SSO Deployment
A Standards-based Mobile Application IdM Architecture
A Standards-based Mobile Application IdM Architecture Abstract Mobile clients are an increasingly important channel for consumers accessing Web 2.0 and enterprise employees accessing on-premise and cloud-hosted
Automated Configuration of Open Stack Instances at Boot Time
Automated Configuration of Open Stack Instances at Boot Time N Praveen 1, Dr. M.N.Jayaram 2 Post Graduate Student 1, Associate Professor 2, EC Department, SJCE, Mysuru, India Abstract: Cloud Computing
Integrating VMware Horizon Workspace and VMware Horizon View TECHNICAL WHITE PAPER
Integrating VMware Horizon Workspace and VMware Horizon View TECHNICAL WHITE PAPER Table of Contents Introduction.... 3 Requirements.... 3 Horizon Workspace Components.... 3 SAML 2.0 Standard.... 3 Authentication
Introduction to OpenStack
Introduction to OpenStack Carlo Vallati PostDoc Reseracher Dpt. Information Engineering University of Pisa [email protected] Cloud Computing - Definition Cloud Computing is a term coined to refer
CA Performance Center
CA Performance Center Single Sign-On User Guide 2.4 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is
Building Secure Applications. James Tedrick
Building Secure Applications James Tedrick What We re Covering Today: Accessing ArcGIS Resources ArcGIS Web App Topics covered: Using Token endpoints Using OAuth/SAML User login App login Portal ArcGIS
Using Shibboleth for Single Sign- On
Using Shibboleth for Single Sign- On One Logon to Rule them all.. Kirk Yaros Director, Enterprise Services Mott Community College 1 Agenda Overview of Mott Overview of Shibboleth and Mott s Project Review
Siteminder Integration Guide
Integrating Siteminder with SA SA - Siteminder Integration Guide Abstract The Junos Pulse Secure Access (SA) platform supports the Netegrity Siteminder authentication and authorization server along with
Section 1, Configuring Access Manager, on page 1 Section 2, Configuring Office 365, on page 4 Section 3, Verifying Single Sign-On Access, on page 5
Configuring Single Sign-On For Office 365 Services NetIQ Access Manager is compatible with Microsoft Office 365 and provides single sign-on access to Office 365 services. Single sign-on access is supported
Implementation Guide SAP NetWeaver Identity Management Identity Provider
Implementation Guide SAP NetWeaver Identity Management Identity Provider Target Audience Technology Consultants System Administrators PUBLIC Document version: 1.10 2011-07-18 Document History CAUTION Before
New Single Sign-on Options for IBM Lotus Notes & Domino. 2012 IBM Corporation
New Single Sign-on Options for IBM Lotus Notes & Domino 2012 IBM Corporation IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole
Configuring Single Sign-On from the VMware Identity Manager Service to Office 365
Configuring Single Sign-On from the VMware Identity Manager Service to Office 365 VMware Identity Manager JULY 2015 V1 Table of Contents Overview... 2 Passive and Active Authentication Profiles... 2 Adding
Perceptive Experience Single Sign-On Solutions
Perceptive Experience Single Sign-On Solutions Technical Guide Version: 2.x Written by: Product Knowledge, R&D Date: January 2016 2016 Lexmark International Technology, S.A. All rights reserved. Lexmark
About Me. #ccceu. @shapeblue. Software Architect with ShapeBlue Specialise in. 3 rd party integrations and features in CloudStack
Software Architect with ShapeBlue Specialise in. 3 rd party integrations and features in CloudStack About Me KVM, API, DB, Upgrades, SystemVM, Build system, various subsystems Contributor and Committer
IBM Cloud Manager with OpenStack. REST API Reference, version 4.1
IBM Cloud Manager with OpenStack REST API Reference, version 4.1 IBM Cloud Manager with OpenStack REST API Reference, version 4.1 Note Before using this information and the product it supports, read the
Access Gateway Guide Access Manager 4.0 SP1
Access Gateway Guide Access Manager 4.0 SP1 May 2014 www.netiq.com/documentation Legal Notice THIS DOCUMENT AND THE SOFTWARE DESCRIBED IN THIS DOCUMENT ARE FURNISHED UNDER AND ARE SUBJECT TO THE TERMS
SecureAware on IIS8 on Windows Server 2008/- 12 R2-64bit
SecureAware on IIS8 on Windows Server 2008/- 12 R2-64bit Note: SecureAware version 3.7 and above contains all files and setup configuration needed to use Microsoft IIS as a front end web server. Installing
OAuth 2.0 Developers Guide. Ping Identity, Inc. 1001 17th Street, Suite 100, Denver, CO 80202 303.468.2900
OAuth 2.0 Developers Guide Ping Identity, Inc. 1001 17th Street, Suite 100, Denver, CO 80202 303.468.2900 Table of Contents Contents TABLE OF CONTENTS... 2 ABOUT THIS DOCUMENT... 3 GETTING STARTED... 4
Agenda. How to configure
[email protected] Agenda Strongly Recommend: Knowledge of ArcGIS Server and Portal for ArcGIS Security in the context of ArcGIS Server/Portal for ArcGIS Access Authentication Authorization: securing web services
PingFederate. Windows Live Cloud Identity Connector. User Guide. Version 1.0
Windows Live Cloud Identity Connector Version 1.0 User Guide 2011 Ping Identity Corporation. All rights reserved. Windows Live Cloud Identity Connector User Guide Version 1.0 April, 2011 Ping Identity
User-ID Best Practices
User-ID Best Practices PAN-OS 5.0, 5.1, 6.0 Revision A 2011, Palo Alto Networks, Inc. www.paloaltonetworks.com Table of Contents PAN-OS User-ID Functions... 3 User / Group Enumeration... 3 Using LDAP Servers
Configuration Worksheets for Oracle WebCenter Ensemble 10.3
Configuration Worksheets for Oracle WebCenter Ensemble 10.3 This document contains worksheets for installing and configuring Oracle WebCenter Ensemble 10.3. Print this document and use it to gather the
Novell Access Manager
Access Gateway Guide AUTHORIZED DOCUMENTATION Novell Access Manager 3.1 SP2 November 16, 2010 www.novell.com Novell Access Manager 3.1 SP2 Access Gateway Guide Legal Notices Novell, Inc., makes no representations
SAML-Based SSO Solution
About SAML SSO Solution, page 1 SAML-Based SSO Features, page 2 Basic Elements of a SAML SSO Solution, page 2 SAML SSO Web Browsers, page 3 Cisco Unified Communications Applications that Support SAML SSO,
External and Federated Identities on the Web
External and Federated Identities on the Web Jan Pazdziora Sr. Principal Software Engineer Identity Management Special Projects, Red Hat 1 st October 2015 Scope and problem statement Applications get deployed
SAML single sign-on configuration overview
Chapter 46 Configurin uring Drupal Configure the Drupal Web-SAML application profile in Cloud Manager to set up single sign-on via SAML with a Drupal-based web application. Configuration also specifies
How To Use Saml 2.0 Single Sign On With Qualysguard
QualysGuard SAML 2.0 Single Sign-On Technical Brief Introduction Qualys provides its customer the option to use SAML 2.0 Single Sign On (SSO) authentication with their QualysGuard subscription. When implemented,
JOSSO 2.4. Internet Information Server (IIS) Tutorial
JOSSO 2.4 Internet Information Server (IIS) Tutorial JOSSO 2.4 : Internet Information Server (IIS) Tutorial 1. Introduction... 1 2. Prerequisites... 2 3. Defining Identity Appliance Elements... 3 3.1.
CloudCIX Bootcamp. The essential IaaS getting started guide. http://www.cix.ie
The essential IaaS getting started guide. http://www.cix.ie Revision Date: 17 th August 2015 Contents Acronyms... 2 Table of Figures... 3 1 Welcome... 4 2 Architecture... 5 3 Getting Started... 6 3.1 Login
Setup Guide Access Manager 3.2 SP3
Setup Guide Access Manager 3.2 SP3 August 2014 www.netiq.com/documentation Legal Notice THIS DOCUMENT AND THE SOFTWARE DESCRIBED IN THIS DOCUMENT ARE FURNISHED UNDER AND ARE SUBJECT TO THE TERMS OF A LICENSE
Introduction to the EIS Guide
Introduction to the EIS Guide The AirWatch Enterprise Integration Service (EIS) provides organizations the ability to securely integrate with back-end enterprise systems from either the AirWatch SaaS environment
HOTPin Integration Guide: Salesforce SSO with Active Directory Federated Services
1 HOTPin Integration Guide: Salesforce SSO with Active Directory Federated Services Disclaimer Disclaimer of Warranties and Limitation of Liabilities All information contained in this document is provided
Flexible Identity Federation
Flexible Identity Federation Quick start guide version 1.0.1 Publication history Date Description Revision 2015.09.23 initial release 1.0.0 2015.12.11 minor updates 1.0.1 Copyright Orange Business Services
Migration of virtual machine to cloud using Openstack Python API Clients
Migration of virtual machine to cloud using Openstack Python API Clients Jyoti Joshi 1, Manasi Thakur 2, Saurabh Mhatre 3, Pradnya Usatkar 4, Afrin Parmar 5 1 Assistant Professor Computer, R.A.I.T., University
DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP system v10 with Microsoft Exchange Outlook Web Access 2007
DEPLOYMENT GUIDE Version 1.2 Deploying the BIG-IP system v10 with Microsoft Exchange Outlook Web Access 2007 Table of Contents Table of Contents Deploying the BIG-IP system v10 with Microsoft Outlook Web
DjNRO Release 0.9 July 14, 2015
DjNRO Release 0.9 July 14, 2015 Contents 1 About 3 2 Features 5 3 Requirements 7 3.1 Required Packages............................................ 7 4 Installation 9 4.1 Installation/Configuration........................................
DEPLOYMENT GUIDE. SAML 2.0 Single Sign-on (SSO) Deployment Guide with Ping Identity
DEPLOYMENT GUIDE SAML 2.0 Single Sign-on (SSO) Deployment Guide with Ping Identity Table of Contents SAML Overview...3 Integration Topology...3 Deployment Requirements...4 Configuration Steps...4 Step
Web Application Firewall
Web Application Firewall Getting Started Guide August 3, 2015 Copyright 2014-2015 by Qualys, Inc. All Rights Reserved. Qualys and the Qualys logo are registered trademarks of Qualys, Inc. All other trademarks
at () in C:\wamp\www\icaatom-1.2.0\icaatom- 1.2.0\plugins\sfLucenePlugin\lib\vendor\Zend\Search\Lucene\Document.php line 104...
500 Internal Server Error Zend_Search_Lucene_Exception Field name "do_thumbnail_fullpath" not found in document. stack trace at () in C:\wamp\www\icaatom-1.2.0\icaatom- 1.2.0\plugins\sfLucenePlugin\lib\vendor\Zend\Search\Lucene\Document.php
SAP NetWeaver AS Java
Chapter 75 Configuring SAP NetWeaver AS Java SAP NetWeaver Application Server ("AS") Java (Stack) is one of the two installation options of SAP NetWeaver AS. The other option is the ABAP Stack, which is
Getting Started with the CLI and APIs using Cisco Openstack Private Cloud
Tutorial Getting Started with the CLI and APIs using Cisco Openstack Private Cloud In this tutorial we will describe how to get started with the OpenStack APIs using the command line, the REST interface
WebNow Single Sign-On Solutions
WebNow Single Sign-On Solutions Technical Guide ImageNow Version: 6.7. x Written by: Product Documentation, R&D Date: June 2015 2012 Perceptive Software. All rights reserved CaptureNow, ImageNow, Interact,
Only LDAP-synchronized users can access SAML SSO-enabled web applications. Local end users and applications users cannot access them.
This chapter provides information about the Security Assertion Markup Language (SAML) Single Sign-On feature, which allows administrative users to access certain Cisco Unified Communications Manager and
McAfee Web Gateway Administration Intel Security Education Services Administration Course Training
McAfee Web Gateway Administration Intel Security Education Services Administration Course Training The McAfee Web Gateway Administration course from Education Services provides an in-depth introduction
How To Use Netiq Access Manager 4.0.1.1 (Netiq) On A Pc Or Mac Or Macbook Or Macode (For Pc Or Ipad) On Your Computer Or Ipa (For Mac) On An Ip
Setup Guide Access Manager 4.0 SP1 May 2014 www.netiq.com/documentation Legal Notice THIS DOCUMENT AND THE SOFTWARE DESCRIBED IN THIS DOCUMENT ARE FURNISHED UNDER AND ARE SUBJECT TO THE TERMS OF A LICENSE
Release Notes for Fuel and Fuel Web Version 3.0.1
Release Notes for Fuel and Fuel Web Version 3.0.1 June 21, 2013 1 Mirantis, Inc. is releasing version 3.0.1 of the Fuel Library and Fuel Web products. This is a cumulative maintenance release to the previously
FERMILAB CENTRAL WEB HOSTING SINGLE SIGN ON (SSO) ON CWS LINUX WITH SAML AND MOD_AUTH_MELLON
FERMILAB CENTRAL WEB HOSTING SINGLE SIGN ON (SSO) ON CWS LINUX WITH SAML AND MOD_AUTH_MELLON Contents Information and Security Contacts:... 3 1. Introduction... 4 2. Installing Module... 4 3. Create Metadata
Develop a process for applying updates to systems, including verifying properties of the update. Create File Systems
RH413 Manage Software Updates Develop a process for applying updates to systems, including verifying properties of the update. Create File Systems Allocate an advanced file system layout, and use file
Working with Indicee Elements
Working with Indicee Elements How to Embed Indicee in Your Product 2012 Indicee, Inc. All rights reserved. 1 Embed Indicee Elements into your Web Content 3 Single Sign-On (SSO) using SAML 3 Configure an
Connected Data. Connected Data requirements for SSO
Chapter 40 Configuring Connected Data The following is an overview of the steps required to configure the Connected Data Web application for single sign-on (SSO) via SAML. Connected Data offers both IdP-initiated
Getting Started with AD/LDAP SSO
Getting Started with AD/LDAP SSO Active Directory and LDAP single sign- on (SSO) with Syncplicity Business Edition accounts allows companies of any size to leverage their existing corporate directories
Fairsail REST API: Guide for Developers
Fairsail REST API: Guide for Developers Version 1.02 FS-API-REST-PG-201509--R001.02 Fairsail 2015. All rights reserved. This document contains information proprietary to Fairsail and may not be reproduced,
Introduction to Directory Services
Introduction to Directory Services Overview This document explains how AirWatch integrates with your organization's existing directory service such as Active Directory, Lotus Domino and Novell e-directory
DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5
DEPLOYMENT GUIDE Version 1.1 Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5 Table of Contents Table of Contents Deploying the BIG-IP system v10 with Citrix Presentation Server Prerequisites
Manila OpenStack File Sharing Service
Manila OpenStack File Sharing Service August 2015 Author: Mihai Patrascoiu Supervisor: Jose Castro Leon CERN openlab Summer Student Report 2015 Project Specification The CERN Computer Centre is host to
Ameritas Single Sign-On (SSO) and Enterprise SAML Standard. Architectural Implementation, Patterns and Usage Guidelines
Ameritas Single Sign-On (SSO) and Enterprise SAML Standard Architectural Implementation, Patterns and Usage Guidelines 1 Background and Overview... 3 Scope... 3 Glossary of Terms... 4 Architecture Components...
PARTNER INTEGRATION GUIDE. Edition 1.0
PARTNER INTEGRATION GUIDE Edition 1.0 Last Revised December 11, 2014 Overview This document provides standards and guidance for USAA partners when considering integration with USAA. It is an overview of
Shibboleth SP Hands-on. Shilen Patel - [email protected] Rob Carter - [email protected] Gonzalo Guzman - [email protected]
Shibboleth SP Hands-on Shilen Patel - [email protected] Rob Carter - [email protected] Gonzalo Guzman - [email protected] Credits and Acknowledgements 2 These slides were created by Lukas Hämmerle and Chad La Joie
The GOV.UK Verify onboarding process
To help us improve, this site uses cookies. Docs» GOV.UK Verify documentation GOV.UK Verify Onboarding Guide This guide is for government service providers wanting to learn about and integrate with GOV.UK
Implementing HTTPS in CONTENTdm 6 September 5, 2012
Implementing HTTPS in CONTENTdm 6 This is an overview for CONTENTdm server administrators who want to configure their CONTENTdm Server and Website to make use of HTTPS. While the CONTENTdm Server has supported
IAM Application Integration Guide
IAM Application Integration Guide Date 03/02/2015 Version 0.1 DOCUMENT INFORMATIE Document Title IAM Application Integration Guide File Name IAM_Application_Integration_Guide_v0.1_SBO.docx Subject Document
Dell One Identity Cloud Access Manager 8.0.1 - How to Develop OpenID Connect Apps
Dell One Identity Cloud Access Manager 8.0.1 - How to Develop OpenID Connect Apps May 2015 This guide includes: What is OAuth v2.0? What is OpenID Connect? Example: Providing OpenID Connect SSO to a Salesforce.com
EXTENDING SINGLE SIGN-ON TO AMAZON WEB SERVICES
pingidentity.com EXTENDING SINGLE SIGN-ON TO AMAZON WEB SERVICES Best practices for identity federation in AWS Table of Contents Executive Overview 3 Introduction: Identity and Access Management in Amazon
SalesForce SSO with Active Directory Federated Services (ADFS) v2.0 Authenticating Users Using SecurAccess Server by SecurEnvoy
SalesForce SSO with Active Directory Federated Services (ADFS) v2.0 Authenticating Users Using SecurAccess Server by SecurEnvoy Contact information SecurEnvoy www.securenvoy.com 0845 2600010 Merlin House
Safewhere*Identify 3.4. Release Notes
Safewhere*Identify 3.4 Release Notes Safewhere*identify is a new kind of user identification and administration service providing for externalized and seamless authentication and authorization across organizations.
MLSListings Single Sign On Implementation Guide. Compatible with MLSListings Applications
MLSListings Single Sign On Implementation Guide Compatible with MLSListings Applications February 2010 2010 MLSListings Inc. All rights reserved. MLSListings Inc. reserves the right to change details in
SAML 2.0 Configurations at SAP NetWeaver AS ABAP and Microsoft ADFS
SAML 2.0 Configurations at SAP NetWeaver AS ABAP and Microsoft ADFS Applies to: SAP Gateway 2.0 Summary This guide describes how you install and configure SAML 2.0 on Microsoft ADFS server and SAP NetWeaver
APACHE WEB SERVER. Andri Mirzal, PhD N28-439-03
APACHE WEB SERVER Andri Mirzal, PhD N28-439-03 Introduction The Apache is an open source web server software program notable for playing a key role in the initial growth of the World Wide Web Typically
Release Notes RSA Authentication Agent 7.1.3 for Web for IIS 7.0, 7.5, and 8.0 Web Server
Release Notes RSA Authentication Agent 7.1.3 for Web for IIS 7.0, 7.5, and 8.0 Web Server April, 2014 Introduction This document describes what is new and what has changed in RSA Authentication Agent 7.1.3
Developer Guide: REST API Applications. SAP Mobile Platform 2.3 SP03
Developer Guide: REST API Applications SAP Mobile Platform 2.3 SP03 DOCUMENT ID: DC01926-01-0233-01 LAST REVISED: September 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication pertains
