OpenAM
Written and
tested with
OpenAM Snapshot
9—the
Single Sign-On (SSO)
tool for
securing
your
web
applications
in
afast
and easy way
Indira
Thangasamy
[
PUBLISHING BIRMINGHAM- MUMBAI
1
open
source
Table of
Contents
Preface
1
Chapter
1:
Getting
Started
7
History
ofOpenSSO
9OpenSSO
vs.OpenAM
10OpenSSO—an
overview
11OpenSSO
services 11Federation services 12 Web Services
Security
and Secure Token Service 13OpenSSO
Entitlements Service 15What kind of
problems
doesOpenSSO
solve? 16Accessmanagement 16
Federation 16
Securingweb services 17
Entitlements 18
Summary
19Chapter
2:
OpenSSO Deployment
and
Configuration
21
Deployment
requirements
for
OpenSSO
webapplication
22Containers and
operating systems support
22Java SDK
support
23Disk and memory
requirements
23Browser
requirements
24Configuration
storeversusIdentity
Store 24Configuration
store 24Embedded
configuration
store 25 External SunDirectory
ServerEnterpriseEditionconfigurationstore 26Identity
store 27Howto obtain
OpenSSO
28
Building OpenSSO
from source 28Table
of
ContentsConfiguring
OpenSSO
31Installing
andconfiguring Apache
Tomcat
6.0.20 31OpenSSO
one clickconfiguration
34
Verifying
OpenSSO
configuration
37What
just
happened?
38OpenSSO-configuration
choices 39Single
serverconfiguration-using
embeddedconfiguration
store 40Layout
of theconfiguration directory
46Single
serverconfiguration-using
externalconfiguration
store
47Multi-server
configuration-embedded
configuration
store
50Prerequisites
for multi-serverconfiguration
51Adding
OpenSSOtoanexistingdeployment
52Verificationofmulti-serverdeployment 55
Configuring using
command line
configurator
56Configuring OpenSSO
with SSL/TLS 58Configuring
command line tools 58Uninstalling
OpenSSO
61
OpenSSO
release andsupport model
61Summary
62Chapter
3:
Administrating OpenSSO
63
Administration
interfaces
64Accessing
the administrative console 65Console views
andprivileges
66Console
landing
page-commontasks
69Access
control tab 70General 71 Authentication 71 Service 72 Datastores 73 Privileges 74 Policies 77
Subjects
79 Agents 81Configuration
83Retrieving
all theserverproperties
84Updating serverconfiguration properties 84
Removing
propertiesfromserverconfiguration
85Sessions
tab
85Managing
sessions usingssoadm 86Customizing
the console
86Extending
LDAP
schema 87Customizing
OpenSSO
User Service 88Table
of
ContentsRemoving
User Service schema 89Adding
theupdated
User Service schema 90Adding
the labels 90Addingthe custom attributesto data store
configurations
91Updating privileges
92Testing
thechanges
93Summary
94Chapter
4: Authentication and Session
Service
95
Authentication process
96
Cookies
inOpenSSO
97
Authentication
types
andURL
parameters
98Module 99 Level 100 Service 100 User 101 Role 101 Realm 101 Resource 102
Other authentication URL
parameters
103I DToken parameter 103
goto
andgotoOnFail parameters
103localeparameter 104
arg parameter 105
iPSPCookieparameter 106 ForceAuth
parameter
106 PersistAMCookie parameter 107Authentication
modules, instances,
and chains 107LDAP authentication
108
Creating
anauthentication instance 108Updatinganauthentication instance 109
Reading
anauthentication instance 109Using
an authentication instance 110Deletinganauthentication instance 110
Authentication chains
111Creating
anauthentication chain 112Updating
anauthentication chain 112Reading
anauthentication chain 113Using an authentication chain 113
Performing
auser-based authentication 113Deleting
anauthentication chain 114Authentication modules
114
LDAP 115 ActiveDirectory
115Data
store 115Anonymous
116 Certificate(X.509)
116Configuring
Tomcat inSSL
using
CAsigned
certificate
117 HTTP basicauthentication
120Membership
120 JDBC 120HOTP
121SecurlD
122SafeWord
122RADIUS
122
Unix123
Windows NT123
Windows
Desktop
SSO124
Core 124
User
profile requirement
124Setting userprofileattributes inan SSO token 126
Adding
custom authentication modules 128Session Service
129Session Service
schema130
Updating
Session Service 130Session life
cycle
131Session
structuring
131 Session state transition 132 Sessionproperties 133 Sessionchange
notification andpolling
134 Sessionpersistenceandconstraints 135Summary
136Chapter
5: Password Reset and Account
Management
137
Account lockout
138Configuring
account lockout 138Physical
lockout
140In-memory
lockout
141Applying
apassword
reset 142Prerequisites
142Configuring
thepassword
reset service inOpenSSO
143Assigning
service andupdate
service attributes 143Creating and
assigning OpenDS password policy
149Summary
153Chapter
6:
Protecting
aSimple
Web
Application
to Provide SSO
155OpenSSO
Policy
Framework
156Protecting
asample
application
on Tomcat 158Creating
theagentprofile
159Table
of
ContentsDeploying
and configuringtheJavaapplication
160Creating policies
and associated identities 161Testing
the SSO 164Fetching userprofileattributes 167
Summary
168Chapter
7:
Integrating
Salesforce and
Apps
169
Integrating
OpenSSO
with Salesforceapplications
170Configuring
hosted
identity provider
and circle
of trust171
Configuring OpenSSO
metadatafor Salesforce.com
172Configuring
users forSalesforce.com
174Verifying
the SSO 176Integrating
withApps
177
Configuring
thehosted
identity provider
178
Configuring
SSO
parameters
atGoogle Apps
179Configuring
usersforGoogle Apps
180Verifying
SSO
181Summary
183
Chapter
8:Identity
Stores
185
Identity
storetypes
186Caching
and notification 188Persistent search-based notification
189Time-to-live based notification
191TTL-specific
properties
for
Identity
Repository
cache
191
Supported identity
stores192
User
schema 192Access
Manager Repository plugin
193Creating
anAccessManager Repository
plugindata store 194Displaying
the data store properties 195Updating
data storeproperties
196Deleting
data stores 196Removingthe AccessManager Repository plugin 196
Oracle
Directory
ServerEnterprise
Edition
197Creatingadata store for Oracle DSEE 197
Updating
the datastore 198Deleting
the datastore 198Data store for
OpenDS
198Data store for Tivoli DS
199
Data store for Active
Directory
199
Datastorefor
Active
Directory
Application
Mode 199Datastore
forOpenLDAP
200TableofContents
Extending
theschema
201
Preparing
the suffix with
necessary entries202
Creating
anOpenLDAP
data
store203
Testing
the data store203
Multiple
data
stores204
Summary
205
Chapter
9:RESTful
Identity
Services
207
Prerequisites
208
Invoking
RESTinterfaces
210
Authentication
210
Authenticating
with URLparameters
211
Validating
anSSO
token212
Invalidating
session
(logout)
213
Creating
log
events213
Authorization
214
Identity
CRUDoperations
215
Searching
identities 215Searchingforuseridentities 216
Searching
groups 216Searching
foragents
216Retrieving identity
attributes217
Creating agent
identities 218Creating
user identities219
Creating
group identities219
Updating
identities220
Deleting
identities
221
Deleting
useridentities 221Deleting
group identities 221Deleting theagentidentities 221
Other REST interfaces 222
Summary
222Chapter
10:
Backup, Recovery,
and
Logging
223
Backing
upconfiguration
data 224Backing
up the
OpenSSO
configuration
files225
Backing
upthe
OpenSSO
configuration
data226
Crash
recovery
and restore227
Test to
production
228Performing
theconfiguration
change
229Configuring
theexporttestserver 229Configuring OpenSSO
ontheproduction server 230Adapting
thetestconfiguration
data 231Table ofContents
OpenSSO
audit and
logging
232Enabling debug
(trace) levellogging
233Audit
logging
234 File-basedlogging
236Database
logging
237 Remotelogging
240 Securelogging
240Summary
243Chapter
11:
Troubleshooting
and
Diagnostics
245
OpenSSO diagnostic
tools
245
Installing
and
configuring
thetool
246Invoking
the tool 246Troubleshooting
248Installation and
configuration
249
Scenario 1 249
Scenario 2 250
Scenario 3 250
Scenario4 251
Authentication and session
areas 252Scenario 1 252
Scenario2 252
Scenario 3 252
Scenario 4 253
Identity repository
andpassword
reset 253Scenario 1 253
Scenario 2 254
Scenario 3 254
Scenario4 255
Scenario 5 255
Policy
andagents
255Scenario 1 255
Scenario 2 256
Scenario 3 257
Command line tools 257
Scenario 1 257
Scenario 2 258
Summary
259
Index