PeopleSoft Single Sign-On & Shibboleth

advertisement
PeopleSoft Single Sign-On &
Shibboleth
Gary Windham
Senior Enterprise Systems Architect
University Information Technology Services
Why Single Sign-On?
 Use institutional credentials (username/password users
already know)
 Avoid headache of maintaining password security
policies, expirations, etc
 Login once, gain access to multiple services
 Portal integration
Signon PeopleCode
 PeopleSoft provides the ability to integrate with
external authentication providers via Signon PeopleCode
 Signon PeopleCode is record PeopleCode
 FUNCLIB_LDAP is the delivered record for signon
peoplecode; functions are tied to the LDAPAUTH field
 Signon PeopleCode runs whenever a user signs onto
PeopleSoft via PIA or 3-tier client/server
 Primary job is to authenticate the user and copy user
profile data from an external source to the local database
Signon PeopleCode (cont)
 Various external authentication solutions can be
accessed via signon PeopleCode:






LDAP
X509 client certificates
PS SSO (PS_TOKEN)
Oracle SSO
Windows NTLM authentication
Web Server Security (used for Shibboleth)
 Overloaded use of “SSO”—can be confusing!
Configuring SignOn PeopleCode
 Signon Peoplecode is configured and administered through a
dedicated screen (SIGNONPPC_PAGE), located at PeopleTools>Security->Security Objects->Signon PeopleCode
 Different signon peoplecode functions can be stacked in
sequence and enabled/disabled
 “Exec Auth Fail” allows a function to run only if authentication
did not succeed
 For Web Server Authentication, all initial sign-on to PeopleSoft is
done through a “default public user”
 set-up in PeopleTools->Web Profile->Web Profile Configuration>Security
 no permissions
 establishes initial user context such that signon PeopleCode can
execute (chicken and egg problem)
Signon PeopleCode Configuration
What is Shibboleth?
 An open software system for web single sign-on
 Developed by Internet2
 Enables web applications deployed in most typical web
server environments to authenticate and authorize users
via a single protocol
 Facilitates federated identity
 Enables fine-grained assertion of identity data to
federated and external partners
 privacy and security are key elements
What is Shibboleth? (cont)
 The "currency" of the Shibboleth software is attributes.
 named set of values about an authenticated user
 values are typically strings, but can be more complex XMLbased data.
 When a user attempts to authenticate to your service,
Shibboleth obtains a set of attributes for that user and
maps them to environment variables and/or HTTP
headers for your application to consume
 Attributes not stored within Shibboleth itself
 pulled from other sources (e.g. LDAP directory or database)
 EDS in our case
2. You are not
The
authenticated,
redirect to IdP SSO
1. User requests
Shibboleth
resource Protocol
WebAuth
3b
3. I don’t know
you. Authenticate
using WebAuth
3c
Client
Web Browser
7b
3a
4a
1a
Credentials
4. I know you now.
Send client (via
form POST) to
resource’s ACS
2
Web Resource
7a
Resource Manager
(RM)
Attributes
2
Assertion Consumer
Service
(ACS)
1b
SSO
Service
4c
4b
Handle
EDS
Handle
6b Requester
Attribute
Handle
5
Attributes
6a
Resource Provider Web Site
7. Based on attribute
values, allow access to
resource
5. I don’t know your attributes.
Ask the attribute authority
Source: Kathryn Huxtable, Internet2
Attribute
Authority (AA)
Identity Provider
Web Site
6. Return the attributes
allowed by release policy
9
Wiring-up Shibboleth to PS
 Shibboleth infrastructure resides on the web tier
 e.g. uaz-sa-w02.mosaic.arizona.edu
 Shibboleth software runs under Apache or IIS web
containers
 consists of two components:
 web-server plugin (mod_shib for Apache, or an ISAPI filter for
IIS)
 standalone UNIX daemon (shibd) or Windows service
 Our PeopleSoft app server infrastructure is Linux-based, so
we use the Apache version
 PeopleSoft web tier runs on WebLogic
Wiring-up Shibboleth to PS (cont)
 How to bridge Apache and WebLogic?
 mod_weblogic – Apache module delivered with WLS, similar
in concept to mod_jk / mod_proxy_ajp (Tomcat)
 All requests routed through Apache
 mod_shib directives enforce authentication and manage
session authentication context
 Shibboleth attributes inserted into HTTP request headers
 mod_weblogic proxies request to WebLogic (PIA) via backend connection
https://sa-dev.mosaic.arizona.edu
ACE
Browser
Shib
IdP
mod_shib
mod_weblogic
Apache
WLS
PS App Server
Accessing Shibboleth Attributes
In Signon PeopleCode
 Once the Shibboleth authentication sequence is
complete, attributes about the user are available
 Attributes can be retrieved from %Request object (HTTP
Request headers)
 All attributes contained in EDS are available
 named according to EDS schema, except prefaced by “Shib” (to disambiguate namespace)
Signon PeopleCode Examples
Signon PeopleCode Examples (cont)
Demo…
Download