Ameb BaseAdmin Guide PDF
Ameb BaseAdmin Guide PDF
Version 7.0
Administration Guide
SC23-6504-03
IBM Security Access Manager for Web
Version 7.0
Administration Guide
SC23-6504-03
Note
Before using this information and the product it supports, read the information in “Notices” on page 415.
Edition notice
Note: This edition applies to version 7, release 0, modification 0 of IBM Security Access Manager (product
number 5724-C87) and to all subsequent releases and modifications until otherwise indicated in new editions.
© Copyright IBM Corporation 1999, 2013.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Contents
Figures . . . . . . . . . . . . . . . ix URL for the Web Portal Manager . . . . . . 28
Mitigating cross-site request forgery attacks . . 29
Tables . . . . . . . . . . . . . . . xi Logging on and signing off . . . . . . . . 30
Accessing online help . . . . . . . . . . 30
Customizing the Web Portal Manager interface . . 30
About this publication . . . . . . . . xiii Self-registration tasks . . . . . . . . . . . 31
Intended audience . . . . . . . . . . . . xiii Self-registration scenario . . . . . . . . . 31
Access to publications and terminology. . . . . xiii Java Server Pages for self-registration. . . . . 32
Related publications . . . . . . . . . . xvi
Accessibility . . . . . . . . . . . . . xvii
Chapter 3. Security Access Manager
Technical training . . . . . . . . . . . xviii
Support information. . . . . . . . . . . xviii administration . . . . . . . . . . . 35
Domains . . . . . . . . . . . . . . . 35
Protected object space . . . . . . . . . . . 37
Chapter 1. Security Access Manager
Users and groups . . . . . . . . . . . . 38
overview . . . . . . . . . . . . . . 1 Security policy . . . . . . . . . . . . . 39
Core technologies. . . . . . . . . . . . . 1 ACL policies . . . . . . . . . . . . . . 40
Authentication. . . . . . . . . . . . . 2 Use of ACL policies with the authorization
Authorization . . . . . . . . . . . . . 2 service . . . . . . . . . . . . . . . 40
Quality of Protection. . . . . . . . . . . 2 Evaluation of ACL policies . . . . . . . . 41
Security standards configurations (compliance Protected object policies . . . . . . . . . . 42
types). . . . . . . . . . . . . . . . 3 Authorization rules . . . . . . . . . . . . 42
Scalability . . . . . . . . . . . . . . 6 How authorization rules differ . . . . . . . 43
Accountability . . . . . . . . . . . . . 6 When to use authorization rules . . . . . . 43
Centralized management . . . . . . . . . 6 Guidelines for a secure object space . . . . . . 43
Security policy overview . . . . . . . . . . 7
Authorization API standard . . . . . . . . . 8
Chapter 4. Default security policy . . . 45
Authorization: conceptual model . . . . . . . 8
Default administration users and groups . . . . 45
Benefits of a standard authorization service. . . 10
iv-admin group . . . . . . . . . . . . 45
Security Access Manager authorization service
sec_master user . . . . . . . . . . . . 45
overview . . . . . . . . . . . . . . 10
ivmgrd-servers group . . . . . . . . . . 45
Security Access Manager authorization service . . 12
Administration users . . . . . . . . . . 45
Components . . . . . . . . . . . . . 12
Definition and application of security policy . . . 47
Authorization service interfaces . . . . . . 13
ACL policies . . . . . . . . . . . . . 47
Replication for scalability and performance . . . 13
Protected object policies . . . . . . . . . 47
Implementation of a network security policy . . . 14
Authorization rules . . . . . . . . . . . 48
Definition and application of security policy . . 15
Sparse security policy model . . . . . . . . 49
The authorization process: step-by-step . . . . 16
Security policy inheritance . . . . . . . . 49
Security Access Manager authorization API. . . . 17
default-root ACL policy . . . . . . . . . 50
Authorization API examples . . . . . . . . 18
Control permission . . . . . . . . . . . 50
Authorization API: remote cache mode . . . . 19
Traverse permission . . . . . . . . . . 50
Authorization API: local cache mode . . . . . 19
Resolution of an access request . . . . . . . 51
External authorization capability . . . . . . . 20
Application of ACL policies to different object
External authorization service . . . . . . . 20
types . . . . . . . . . . . . . . . 52
Application of specific conditions on resource
ACL policy inheritance example . . . . . . 52
requests . . . . . . . . . . . . . . 21
Default ACL policies . . . . . . . . . . . 53
The process of implementing an external
default-root ACL policy . . . . . . . . . 54
authorization service . . . . . . . . . . 23
default-management ACL policy . . . . . . 54
Deployment strategies . . . . . . . . . . 23
default-replica ACL policy . . . . . . . . 54
default-config ACL policy . . . . . . . . 54
Chapter 2. Web Portal Manager . . . . 25 default-gso ACL policy . . . . . . . . . 54
Types of administration . . . . . . . . . . 27 default-policy ACL policy . . . . . . . . 55
Delegation of administration tasks . . . . . . . 27 default-domain ACL policy . . . . . . . . 55
Self-care . . . . . . . . . . . . . . 28 default-proxy ACL policy. . . . . . . . . 55
Self-registration . . . . . . . . . . . . 28 /Management permissions . . . . . . . . . 55
Web Portal Manager common tasks . . . . . . 28 /Management/ACL permissions . . . . . . 56
iv IBM Security Access Manager for Web Version 7.0: Administration Guide
Examples of authorization rules . . . . . . 138 Starting and stopping servers on Windows
Methods of providing ADI to the rules operating systems . . . . . . . . . . . 185
evaluator . . . . . . . . . . . . . . 140 Server configuration file tasks . . . . . . . . 187
Reason codes for rule failures . . . . . . . 141 Changing configuration settings . . . . . . 187
Configuration file and initialization attributes . . 142 Automatic server startup at boot time . . . . 187
resource-manager-provided-adi . . . . . . 143 Policy server administration tasks . . . . . . 188
dynamic-adi-entitlement-services . . . . . . 143 Replicate the authorization database. . . . . 188
input-adi-xml-prolog and xsl-stylesheet-prolog 143 Use the server replicate command . . . . . 189
[xmladi-attribute-definitions] . . . . . . . 144 Set the number of update-notifier threads . . . 190
Manage authorization rules. . . . . . . . . 144 Set the notification delay time . . . . . . . 190
Create an authorization rule . . . . . . . 145
Modify an authorization rule . . . . . . . 146 Chapter 14. High availability of the
List authorization rules . . . . . . . . . 147 policy server. . . . . . . . . . . . 193
Attach an authorization rule to a protected
Data integrity . . . . . . . . . . . . . 193
object . . . . . . . . . . . . . . . 150
Primary and replica LDAP servers . . . . . . 193
Detach an authorization rule . . . . . . . 150
Active and passive policy servers. . . . . . . 193
Locate where an authorization rule is attached 151
Delete an authorization rule . . . . . . . 152
Chapter 15. Multiple-tenancy policy
Chapter 11. Manage users and groups 153 server . . . . . . . . . . . . . . 195
Manage users . . . . . . . . . . . . . 153
Create a user . . . . . . . . . . . . 154 Chapter 16. Delegated administration 197
List users . . . . . . . . . . . . . . 155 Overview of delegated administration . . . . . 197
Change a password . . . . . . . . . . 156 Delegated role administration . . . . . . . . 199
Setting user policy. . . . . . . . . . . 157 Administrative tasks for roles . . . . . . . . 200
Setting global user policy . . . . . . . . 160 Delegated object space management . . . . . . 200
Import users. . . . . . . . . . . . . 162 Structure the object space for management
Delete a user . . . . . . . . . . . . 163 delegation . . . . . . . . . . . . . 201
Manage groups. . . . . . . . . . . . . 164 Default administration users and groups . . . 201
Create a group . . . . . . . . . . . . 164 Example of management delegation . . . . . 201
List groups . . . . . . . . . . . . . 165 Delegated user and group management . . . . 202
Import groups . . . . . . . . . . . . 166 Create group container objects. . . . . . . 203
Delete a group . . . . . . . . . . . . 167 Create groups . . . . . . . . . . . . 204
Enabling dynamic group support. . . . . . . 167 ACL policies that affect group management . . 206
LDAP registry . . . . . . . . . . . . 167 ACL policies that affect user management . . . 207
Active Directory . . . . . . . . . . . 168 Security policy for delegated administration . . . 208
Chapter 12. Certificate and password Chapter 17. Diagnostics and auditing 211
management. . . . . . . . . . . . 169 Diagnostic events . . . . . . . . . . . . 211
Initial configuration . . . . . . . . . . . 170 Auditing events . . . . . . . . . . . . 211
Key file and stash file renewal information . . . 171
Regenerating certificates . . . . . . . . . . 172 Appendix A. Guidelines for changing
Reconfiguring the PDCA on the policy server 173 configuration files . . . . . . . . . 213
Reconfiguring the certifications of Security General guidelines . . . . . . . . . . . 213
Access Manager Java applications . . . . . 174 Default values . . . . . . . . . . . . . 213
Reconfiguring the PDCA on the runtime Strings . . . . . . . . . . . . . . . 214
systems . . . . . . . . . . . . . . 176 Defined strings . . . . . . . . . . . . . 214
Transferring the PDCA certificate to other File names . . . . . . . . . . . . . . 214
systems . . . . . . . . . . . . . . 177 Integers . . . . . . . . . . . . . . . 215
Server certificate revocation . . . . . . . . 178 Boolean values . . . . . . . . . . . . . 215
Additional key file and stash file considerations 178
Appendix B. Configuration file
Chapter 13. Server management . . . 181 reference . . . . . . . . . . . . . 217
Security Access Manager servers . . . . . . . 181 Location of configuration files . . . . . . . . 218
Proxy server. . . . . . . . . . . . . 182 IBM Security Access Manager runtime
Server dependencies . . . . . . . . . . 183 configuration file . . . . . . . . . . . . 219
Security Access Manager utilities . . . . . . . 184 Authorization server configuration file . . . . . 219
Security Access Manager servers tasks . . . . . 184 Policy server configuration file . . . . . . . 220
Starting and stopping servers on AIX, Linux, Policy proxy server configuration file . . . . . 220
and Solaris operating systems . . . . . . . 184 LDAP server configuration file . . . . . . . 221
Contents v
LDAP client with Active Directory server numberRetries . . . . . . . . . . . . 260
configuration file . . . . . . . . . . . . 221 queueSize . . . . . . . . . . . . . 260
Active Directory server configuration file . . . . 222 rebindInterval . . . . . . . . . . . . 260
Web Portal Manager configuration file . . . . . 222 retryInterval . . . . . . . . . . . . . 261
Common Auditing Service configuration files . . 222 serverURL . . . . . . . . . . . . . 261
Resource manager configuration files . . . . . 222 stashFilePath . . . . . . . . . . . . 262
traceLevel . . . . . . . . . . . . . 262
Appendix C. Configuration file stanza traceFilePath . . . . . . . . . . . . 263
reference . . . . . . . . . . . . . 225 transferSize . . . . . . . . . . . . . 263
useDiskCache . . . . . . . . . . . . 264
[authentication-mechanisms] stanza . . . . . . 225
[cars-filter] stanza . . . . . . . . . . . . 264
cert-ldap . . . . . . . . . . . . . . 226
auditevent . . . . . . . . . . . . . 264
cert-uraf . . . . . . . . . . . . . . 227
[configuration-database] stanza . . . . . . . 266
passwd-ldap. . . . . . . . . . . . . 228
file . . . . . . . . . . . . . . . . 267
passwd-uraf . . . . . . . . . . . . . 228
[delegated-admin] stanza . . . . . . . . . 268
[aznapi-admin-services] stanza . . . . . . . 229
authorize-group-list . . . . . . . . . . 268
service-id . . . . . . . . . . . . . . 230
[domains] and [domain=domain_name] stanzas . . 269
[aznapi-configuration] stanza . . . . . . . . 231
allowed-registry-substrings . . . . . . . . 269
audit-attribute . . . . . . . . . . . . 232
database-path . . . . . . . . . . . . 270
azn-app-host . . . . . . . . . . . . 233
domain . . . . . . . . . . . . . . 271
azn-server-name . . . . . . . . . . . 233
[ivacld] stanza . . . . . . . . . . . . . 271
cache-refresh-interval . . . . . . . . . . 234
log-file . . . . . . . . . . . . . . 271
cred-attributes-entitlement-services . . . . . 234
logcfg . . . . . . . . . . . . . . . 273
db-file . . . . . . . . . . . . . . . 235
permit-unauth-remote-caller . . . . . . . 274
dynamic-adi-entitlement-services . . . . . . 236
pid-file . . . . . . . . . . . . . . 274
input-adi-xml-prolog . . . . . . . . . . 237
tcp-req-port . . . . . . . . . . . . . 275
listen-flags . . . . . . . . . . . . . 238
unix-user . . . . . . . . . . . . . . 275
logcfg . . . . . . . . . . . . . . . 238
unix-group . . . . . . . . . . . . . 276
mode . . . . . . . . . . . . . . . 239
[ivmgrd] stanza . . . . . . . . . . . . 277
pd-user-name . . . . . . . . . . . . 240
provide-last-login . . . . . . . . . . . 277
pd-user-pwd . . . . . . . . . . . . 240
provide-last-pwd-change . . . . . . . . 277
permission-info-returned . . . . . . . . 240
auto-database-update-notify . . . . . . . 278
policy-cache-size . . . . . . . . . . . 241
ca-cert-download-enabled . . . . . . . . 278
resource-manager-provided-adi . . . . . . 242
database-path . . . . . . . . . . . . 279
xsl-stylesheet-prolog . . . . . . . . . . 243
log-file . . . . . . . . . . . . . . 280
[aznapi-cred-modification-services] stanza . . . . 243
logcfg . . . . . . . . . . . . . . . 281
service-id . . . . . . . . . . . . . . 244
max-notifier-threads . . . . . . . . . . 282
[aznapi-entitlement-services] stanza . . . . . . 245
notifier-wait-time . . . . . . . . . . . 282
service-id . . . . . . . . . . . . . . 245
pid-file . . . . . . . . . . . . . . 283
[aznapi-external-authzn-services] stanza . . . . 247
standby . . . . . . . . . . . . . . 284
policy-trigger . . . . . . . . . . . . . 247
tcp-req-port . . . . . . . . . . . . . 284
[aznapi-pac-services] stanza . . . . . . . . 248
unix-user . . . . . . . . . . . . . . 285
service-id . . . . . . . . . . . . . . 249
unix-group . . . . . . . . . . . . . 285
[cars-client] stanza. . . . . . . . . . . . 250
am610compat . . . . . . . . . . . . 286
compress . . . . . . . . . . . . . . 250
[ldap] stanza . . . . . . . . . . . . . 287
diskCachePath . . . . . . . . . . . . 251
enhanced-pwd-policy. . . . . . . . . . 287
doAudit . . . . . . . . . . . . . . 252
max-auth-connections . . . . . . . . . 289
clientPassword . . . . . . . . . . . . 252
enable-last-login . . . . . . . . . . . 290
clientUserName . . . . . . . . . . . 253
auth-using-compare . . . . . . . . . . 290
errorFilePath . . . . . . . . . . . . 253
authn-timeout . . . . . . . . . . . . 291
flushInterval. . . . . . . . . . . . . 254
bind-dn . . . . . . . . . . . . . . 292
keyFilePath . . . . . . . . . . . . . 254
cache-enabled . . . . . . . . . . . . 292
lowWater . . . . . . . . . . . . . . 255
cache-group-expire-time . . . . . . . . . 293
hiWater . . . . . . . . . . . . . . 256
cache-group-membership . . . . . . . . 294
maxCacheFiles . . . . . . . . . . . . 256
cache-group-size . . . . . . . . . . . 294
maxCacheFileSize . . . . . . . . . . . 257
cache-policy-expire-time . . . . . . . . . 295
maxErrorFiles . . . . . . . . . . . . 257
cache-policy-size . . . . . . . . . . . 295
maxErrorFileSize . . . . . . . . . . . 257
cache-return-registry-id . . . . . . . . . 296
maxTraceFiles . . . . . . . . . . . . 258
cache-use-user-cache . . . . . . . . . . 296
maxTraceFileSize . . . . . . . . . . . 258
cache-user-expire-time . . . . . . . . . 297
numberCMThreads . . . . . . . . . . 259
cache-user-size . . . . . . . . . . . . 298
numberEQThreads . . . . . . . . . . 259
vi IBM Security Access Manager for Web Version 7.0: Administration Guide
default-policy-override-support . . . . . . 298 aclMembership . . . . . . . . . . . . 331
ldap-server-config . . . . . . . . . . . 299 authMethod . . . . . . . . . . . . . 331
login-failures-persistent . . . . . . . . . 300 bannerFile . . . . . . . . . . . . . 332
max-search-size. . . . . . . . . . . . 300 changePassword . . . . . . . . . . . 333
port . . . . . . . . . . . . . . . 301 debug . . . . . . . . . . . . . . . 333
prefer-readwrite-server . . . . . . . . . 301 infoBarGif . . . . . . . . . . . . . 334
search-timeout . . . . . . . . . . . . 302 jrteHost . . . . . . . . . . . . . . 334
ssl-enabled . . . . . . . . . . . . . 302 jrteProps . . . . . . . . . . . . . . 335
ssl-keyfile . . . . . . . . . . . . . 303 loginGif . . . . . . . . . . . . . . 335
ssl-keyfile-dn . . . . . . . . . . . . 304 splashGif . . . . . . . . . . . . . . 336
ssl-keyfile-pwd . . . . . . . . . . . . 305 wasEmbedded . . . . . . . . . . . . 336
user-and-group-in-same-suffix . . . . . . . 305 [ssl] stanza . . . . . . . . . . . . . . 337
[ldap] stanza for ldap.conf . . . . . . . . . 306 ssl-authn-type . . . . . . . . . . . . 337
cache-enabled . . . . . . . . . . . . 306 ssl-auto-refresh . . . . . . . . . . . . 337
cache-account-policy . . . . . . . . . . 306 ssl-cert-life . . . . . . . . . . . . . 338
connection-inactivity . . . . . . . . . . 307 disallow-trailing-spaced-usernames . . . . . 338
dynamic-groups-enabled . . . . . . . . 308 ssl-compliance . . . . . . . . . . . . 339
enabled . . . . . . . . . . . . . . 308 ssl-enable-fips (deprecated) . . . . . . . . 340
host . . . . . . . . . . . . . . . 309 ssl-enhanced-security . . . . . . . . . . 340
ignore-suffix . . . . . . . . . . . . . 310 ssl-io-inactivity-timeout . . . . . . . . . 341
max-search-size. . . . . . . . . . . . 310 ssl-keyfile . . . . . . . . . . . . . 342
max-server-connections . . . . . . . . . 311 ssl-keyfile-label . . . . . . . . . . . . 342
novell-suffix-search-enabled . . . . . . . 311 ssl-keyfile-stash. . . . . . . . . . . . 343
port . . . . . . . . . . . . . . . 312 ssl-listening-port . . . . . . . . . . . 343
replica . . . . . . . . . . . . . . . 312 ssl-local-domain . . . . . . . . . . . 344
secauthority-suffix . . . . . . . . . . . 313 ssl-maximum-worker-threads . . . . . . . 345
ssl-port . . . . . . . . . . . . . . 314 ssl-pwd-life . . . . . . . . . . . . . 345
cache-account-policy . . . . . . . . . . 314 ssl-v3-timeout . . . . . . . . . . . . 346
user-search-filter . . . . . . . . . . . 315 | ssl-v2-enable . . . . . . . . . . . . 346
[manager] stanza . . . . . . . . . . . . 316 ssl-session-cache-size . . . . . . . . . . 347
management-domain . . . . . . . . . . 316 ssl-v3-cipher-specs. . . . . . . . . . . 348
master-host . . . . . . . . . . . . . 317 tls-v10-cipher-specs . . . . . . . . . . 349
master-port . . . . . . . . . . . . . 317 tls-v11-cipher-specs . . . . . . . . . . 350
[meta-info] stanza . . . . . . . . . . . . 318 tls-v12-cipher-specs . . . . . . . . . . 350
version . . . . . . . . . . . . . . 318 [uraf-registry] stanza . . . . . . . . . . . 352
[pdconfig] stanza . . . . . . . . . . . . 318 bind-id . . . . . . . . . . . . . . 353
LdapSSL . . . . . . . . . . . . . . 318 cache-mode . . . . . . . . . . . . . 353
LdapSSLKeyFile . . . . . . . . . . . 319 cache-lifetime . . . . . . . . . . . . 354
LdapSSLKeyFileDn . . . . . . . . . . 320 cache-size . . . . . . . . . . . . . 354
LdapSSLKeyFilePwd . . . . . . . . . . 321 uraf-registry-config . . . . . . . . . . 355
[pdaudit-filter] stanza . . . . . . . . . . 321 uraf-return-registry-id . . . . . . . . . 356
logcfg . . . . . . . . . . . . . . . 321 [uraf-registry] stanza for activedir.conf . . . . . 357
[pdmgrproxyd] stanza . . . . . . . . . . 322 dnforpd . . . . . . . . . . . . . . 357
cache-database . . . . . . . . . . . . 322 domain . . . . . . . . . . . . . . 357
log-file . . . . . . . . . . . . . . 323 dynamic-groups-enabled . . . . . . . . 357
pid-file . . . . . . . . . . . . . . 324 enabled . . . . . . . . . . . . . . 358
tcp-req-port . . . . . . . . . . . . . 324 hostname. . . . . . . . . . . . . . 359
unix-group . . . . . . . . . . . . . 325 multi-domain . . . . . . . . . . . . 359
unix-user . . . . . . . . . . . . . . 326 uraf-return-registry-id . . . . . . . . . 359
[pdrte] stanza . . . . . . . . . . . . . 326 use-email-as-user-id . . . . . . . . . . 360
boot-start-[instance-]ivacld . . . . . . . . 326 useEncryption . . . . . . . . . . . . 360
boot-start-ivmgrd . . . . . . . . . . . 327 [uraf-registry] stanza for activedir_ldap.conf . . . 361
boot-start-pdproxyd . . . . . . . . . . 328 change-pwd-using-ldap-api. . . . . . . . 361
configured . . . . . . . . . . . . . 328 dnforpd . . . . . . . . . . . . . . 362
ivacld-instances . . . . . . . . . . . 328 domain . . . . . . . . . . . . . . 362
tivoli_common_dir . . . . . . . . . . 329 dynamic-groups-enabled . . . . . . . . 363
user-reg-host . . . . . . . . . . . . 330 enabled . . . . . . . . . . . . . . 364
user-reg-hostport . . . . . . . . . . . 330 ldap-client-timeout . . . . . . . . . . 364
user-reg-server . . . . . . . . . . . . 330 max-connections-per-ad-domain . . . . . . 365
user-reg-type . . . . . . . . . . . . 330 multi-domain . . . . . . . . . . . . 365
[pdwpm] stanza . . . . . . . . . . . . 331 primary-domain . . . . . . . . . . . 365
Contents vii
ssl-keyfile . . . . . . . . . . . . . 366 Applying Security Access Manager ACLs to
ssl-keyfile-label . . . . . . . . . . . . 367 new LDAP suffixes . . . . . . . . . . 392
ssl-keyfile-pwd . . . . . . . . . . . . 368 Setting the password history policy . . . . . 404
uraf-return-registry-id . . . . . . . . . 368 Active Directory-specific tasks . . . . . . . . 404
use-email-as-user-id . . . . . . . . . . 369 Setting up Microsoft Windows 2008 Domain
ad-gc-server . . . . . . . . . . . . . 370 Name System for Active Directory . . . . . 405
ad-gc-port . . . . . . . . . . . . . 370 Adding a domain name to a DNS . . . . . 405
UseSSL . . . . . . . . . . . . . . 371 Updating the Security Access Manager schema 406
[xmladi-attribute-definitions] stanza . . . . . . 371 Adding a Security Access Manager user to the
AttributeName . . . . . . . . . . . . 372 Active Directory system group . . . . . . 407
Using valid characters for Active Directory user,
Appendix D. User registry differences 373 group, and distinguished names . . . . . . 407
General concerns . . . . . . . . . . . . 373 Importing dynamic groups to Security Access
LDAP concerns . . . . . . . . . . . . . 373 Manager . . . . . . . . . . . . . . 409
Modifying Sun Java System Directory Server Enabling change user password requests to be
look-through limit . . . . . . . . . . . 374 done with LDAP APIs . . . . . . . . . 409
Microsoft Active Directory Lightweight Enabling support for the use of email address or
Directory Service (AD LDS) concerns . . . . 374 other alternate format as user identity . . . . 410
URAF concerns. . . . . . . . . . . . . 375 Novell-specific tasks . . . . . . . . . . . 411
Microsoft Active Directory Server concerns . . 375 Updating the eDirectory schema with
Length of names . . . . . . . . . . . . 377 ConsoleOne . . . . . . . . . . . . . 411
Updating the eDirectory schema with Novell
iManager . . . . . . . . . . . . . . 412
Appendix E. pdadmin to Web Portal
Novell eDirectory maintenance activities that
Manager equivalents . . . . . . . . 379 can damage schema modifications applied by
Security Access Manager . . . . . . . . 413
Appendix F. Managing user registries 387
LDAP-specific tasks . . . . . . . . . . . 387 Notices . . . . . . . . . . . . . . 415
LDAP failover configuration . . . . . . . 387
Valid characters for LDAP user and group
Index . . . . . . . . . . . . . . . 419
names . . . . . . . . . . . . . . . 391
viii IBM Security Access Manager for Web Version 7.0: Administration Guide
Figures
1. General authorization model . . . . . . . 9 12. Regions of the Security Access Manager
2. Security Access Manager server components 11 protected object space . . . . . . . . . 38
3. Authorization service components . . . . . 13 13. ACL policy. . . . . . . . . . . . . 47
4. Replicated authorization service components 14 14. Traverse permission . . . . . . . . . . 51
5. Explicit and inherited policies . . . . . . 15 15. ACL inheritance example . . . . . . . . 53
6. The Security Access Manager authorization 16. ACL entry attributes . . . . . . . . . 82
process . . . . . . . . . . . . . . 16 17. Permissions for a custom print spooler 86
7. Example use of the authorization API . . . . 18 18. Security Access Manager server components 181
8. Authorization API: remote cache mode 19 19. Proxy server . . . . . . . . . . . . 183
9. Authorization API: local cache mode . . . . 20 20. Delegate administrators . . . . . . . . 198
10. External authorization service with an 21. Structuring the object space for management
application server . . . . . . . . . . 22 delegation . . . . . . . . . . . . 201
11. Security Access Manager protected object 22. Management Delegation Example . . . . . 202
space. . . . . . . . . . . . . . . 37 23. Group container object . . . . . . . . 203
The IBM Security Access Manager for Web: Administration Guide provides a
comprehensive set of procedures and for managing Security Access Manager
servers and resources. This guide also provides you with valuable background and
conceptual information about the wide range of Security Access Manager
functionality.
Intended audience
This guide is for system administrators responsible for the deployment and
administration of base Security Access Manager software.
You should also be familiar with SSL protocol, key exchange (public and private),
digital signatures, cryptographic algorithms, and certificate authorities.
The following documents are in the IBM Security Access Manager for Web library:
v IBM Security Access Manager for Web Quick Start Guide, GI11-9333-01
Provides steps that summarize major installation and configuration tasks.
v IBM Security Web Gateway Appliance Quick Start Guide – Hardware Offering
Guides users through the process of connecting and completing the initial
configuration of the WebSEAL Hardware Appliance, SC22-5434-00
v IBM Security Web Gateway Appliance Quick Start Guide – Virtual Offering
Guides users through the process of connecting and completing the initial
configuration of the WebSEAL Virtual Appliance.
xiv IBM Security Access Manager for Web Version 7.0: Administration Guide
Provides reference information about the commands, utilities, and scripts that
are provided with Security Access Manager.
v IBM Security Access Manager for Web Administration C API Developer Reference,
SC23-6513-02
Provides reference information about using the C language implementation of
the administration API to enable an application to perform Security Access
Manager administration tasks.
v IBM Security Access Manager for Web Administration Java Classes Developer
Reference, SC23-6514-02
Provides reference information about using the Java™ language implementation
of the administration API to enable an application to perform Security Access
Manager administration tasks.
v IBM Security Access Manager for Web Authorization C API Developer Reference,
SC23-6515-02
Provides reference information about using the C language implementation of
the authorization API to enable an application to use Security Access Manager
security.
v IBM Security Access Manager for Web Authorization Java Classes Developer Reference,
SC23-6516-02
Provides reference information about using the Java language implementation of
the authorization API to enable an application to use Security Access Manager
security.
v IBM Security Access Manager for Web Web Security Developer Reference,
SC23-6517-02
Provides programming and reference information for developing authentication
modules.
v IBM Security Access Manager for Web Error Message Reference, GI11-8157-02
Provides explanations and corrective actions for the messages and return code.
v IBM Security Access Manager for Web Troubleshooting Guide, GC27-2717-01
Provides problem determination information.
v IBM Security Access Manager for Web Performance Tuning Guide, SC23-6518-02
Provides performance tuning information for an environment that consists of
Security Access Manager with the IBM Tivoli Directory Server as the user
registry.
Online publications
IBM posts product publications when the product is released and when the
publications are updated at the following locations:
IBM Security Access Manager for Web Information Center
The http://pic.dhe.ibm.com/infocenter/tivihelp/v2r1/topic/
com.ibm.isam.doc_70/welcome.html site displays the information center
welcome page for this product.
IBM Security Systems Documentation Central and Welcome page
IBM Security Systems Documentation Central provides an alphabetical list
of all IBM Security Systems product documentation and links to the
product information center for specific versions of each product.
Welcome to IBM Security Systems Information Centers provides and
introduction to, links to, and general information about IBM Security
Systems information centers.
The IBM Terminology website consolidates terminology for product libraries in one
location. You can access the Terminology website at http://www.ibm.com/
software/globalization/terminology.
Related publications
This section lists the IBM products that are related to and included with the
Security Access Manager solution.
Note: The following middleware products are not packaged with IBM Security
Web Gateway Appliance.
Security Access Manager provides data encryption by using Global Security Kit
(GSKit) version 8.0.x. GSKit is included on the IBM Security Access Manager for Web
Version 7.0 product image or DVD for your particular platform.
The IBM Developer Kit and Runtime Environment, Java Technology Edition, Version 6
and 7, iKeyman User's Guide for version 8.0 is available on the Security Access
Manager Information Center. You can also find this document directly at:
http://download.boulder.ibm.com/ibmdl/pub/software/dw/jdk/security/
60/iKeyman.8.User.Guide.pdf
Note:
The GSKit version 8 changes comply with the Internet Engineering Task Force
(IETF) Request for Comments (RFC) requirements. However, it is not compatible
with earlier versions of GSKit. Any component that communicates with Security
Access Manager that uses GSKit must be upgraded to use GSKit version 7.0.4.42,
or 8.0.14.26 or later. Otherwise, communication problems might occur.
xvi IBM Security Access Manager for Web Version 7.0: Administration Guide
You can find more information about Tivoli Directory Server at:
http://www.ibm.com/software/tivoli/products/directory-server/
IBM Tivoli Directory Integrator version 7.1.1 is included on the IBM Tivoli Directory
Integrator Identity Edition V 7.1.1 for Multiplatform product image or DVD for your
particular platform.
You can find more information about IBM Tivoli Directory Integrator at:
http://www.ibm.com/software/tivoli/products/directory-integrator/
IBM DB2 Universal Database Enterprise Server Edition, version 9.7 FP4 is provided
on the IBM Security Access Manager for Web Version 7.0 product image or DVD for
your particular platform. You can install DB2® with the Tivoli Directory Server
software, or as a stand-alone product. DB2 is required when you use Tivoli
Directory Server or z/OS® LDAP servers as the user registry for Security Access
Manager. For z/OS LDAP servers, you must separately purchase DB2.
http://www.ibm.com/software/data/db2
You can find more information about WebSphere Application Server at:
http://www.ibm.com/software/webservers/appserv/was/library/
Accessibility
Accessibility features help users with a physical disability, such as restricted
mobility or limited vision, to use software products successfully. With this product,
you can use assistive technologies to hear and navigate the interface. You can also
use the keyboard instead of the mouse to operate all features of the graphical user
interface.
Technical training
For technical training information, see the following IBM Education website at
http://www.ibm.com/software/tivoli/education.
Support information
IBM Support provides assistance with code-related problems and routine, short
duration installation or usage questions. You can directly access the IBM Software
Support site at http://www.ibm.com/software/support/probsub.html.
The IBM Security Access Manager for Web Troubleshooting Guide provides details
about:
v What information to collect before you contact IBM Support.
v The various methods for contacting IBM Support.
v How to use IBM Support Assistant.
v Instructions and problem-determination resources to isolate and fix the problem
yourself.
Note: The Community and Support tab on the product information center can
provide more support resources.
xviii IBM Security Access Manager for Web Version 7.0: Administration Guide
Chapter 1. Security Access Manager overview
Security Access Manager is an authentication and authorization solution for
corporate web, client/server, and existing applications. Use Security Access
Manager to control user access to protected information and resources. By
providing a centralized, flexible, and scalable access control solution, Security
Access Manager builds secure and easy-to-manage network-based applications and
infrastructure.
The following resource managers are some of the existing resource managers:
IBM Security Access Manager for Web WebSEAL
Manages and protects web-based information and resources. WebSEAL is
included with Security Access Manager.
IBM Security Access Manager for Web for Operating Systems
Provides a layer of authorization policy enforcement on Linux and UNIX
operating systems in addition to that provided by the native operating
system.
Core technologies
The Security Access Manager network security management solution provides and
supports several core technologies and features.
Authentication
Authentication is the first step a user must take when making a request for a
resource that is protected by Security Access Manager. During authentication, a
user identity is validated.
Security Access Manager provides built-in support of user name and password
authentication through the authorization API. Applications can build any custom
authentication mechanism that uses the authorization API.
Authorization
Authorization enforces the security policy.
v The authorization process determines which objects a user can access and which
actions a user can take on those objects.
v The authorization process grants appropriate access to the user.
Quality of Protection
Quality of Protection (QoP) is the degree to which Security Access Manager
protects any information that is transmitted between a client and a server.
2 IBM Security Access Manager for Web Version 7.0: Administration Guide
Supported encryption ciphers
Security Access Manager uses encryption ciphers from GSKit and Java Secure
Socket Extension (JSSE).
To learn about these encryption ciphers, see the GSKit and JSSE documentation.
Secure communication
Security Access Manager supports the data integrity and data privacy provided by
the Secure Socket Layer (SSL) communication protocol and the Transport Layer
Security (TLS) communication protocol.
The SSL handshake protocol provides security and privacy over the Internet. SSL
works with public key for authentication and secret key to encrypt data that is
transferred over the SSL connection.
The TLS protocol meets the Federal Information Processing Standards (FIPS) 140-2
standard. The FIPS standard describes the requirements of the United States
federal government for handling sensitive, but unclassified, use of information
technology products. When FIPS mode is enabled in Security Access Manager, TLS
version 1 (TLSv1) is used instead of SSL version 3 (SSLv3).
To switch from SSL to TLS, you must change all server and remote run time
configurations. In Security Access Manager, the protocol configuration specifies the
FIPS mode. When FIPS mode is enabled, it uses the TLS protocol. When FIPS
mode is disabled, it uses the SSL protocol.
Note: SSL and TLS protocols cannot be mixed in a Security Access Manager
environment. Previous releases of IBM Security Access Manager runtime that did
not support TLS cannot communicate with a server that is enabled for FIPS.
The Security Access Manager Base components use certificates generated by the
policy server to communicate securely in accordance with FIPS 140-2. The key
strength and algorithms that generate FIPS 140-2 certificates are also used when
Security Access Manager is not configured for a particular security mode. You can
convert between these two modes without completely regenerating all the Security
Access Manager certificates.
The FIPS 140-2 certificates are compatible with previous releases of Security Access
Manager. Previous releases of Security Access Manager can communicate with
Security Access Manager 7.0 policy servers.
SP 800-131a
Special Publication 800-131a (SP 800-131a) is an information security standard of
the National Institute of Standards and Technology (NIST). SP 800-131a requires
longer key lengths and stronger cryptography than other standards.
You can run SP 800-131a in two modes: transition and strict. Use the transition
mode to move gradually towards a strict enforcement of SP 800-131a. The
transition mode allows the use of weaker keys and algorithms than strict
enforcement allows. The transition mode also allows the use of Transport Layer
Security (TLS) v1.0 and v1.1.
4 IBM Security Access Manager for Web Version 7.0: Administration Guide
The SP 800-131a certificates are not compatible with previous releases of Security
Access Manager. Previous release Security Access Manager clients cannot
communicate with the Security Access Manager 7.0 policy server in SP 800-131a
mode.
Suite B
Suite B is a security standard developed by the National Security Agency (NSA)
that establishes a cryptographic interoperability strategy. Suite B is similar to SP
800-131a, but it has tighter restrictions.
Suite B can run in two modes: 128-bit and 192-bit. To use the 192-bit mode, you
must apply the unrestricted policy file to the JDK in the Security Access Manager
Java components. When you apply the unrestricted policy, the JDK uses the
stronger cipher that is required for the 192-bit mode.
Applying Suite B on the Security Access Manager Base components has the
following prerequisites:
v TLS version 1.2 protocol for the SSL context
v Suite B-approved cipher suites
v Certificates:
– 128-bit mode certificates must be signed with SHA256withECDSA.
– 192-bit mode certificates must be signed with SHA384withECDSA.
v Ciphers:
– SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
– SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
com.ibm.jsse2.JSSEFIPS (for
older JVMs such as Java 5 and
pre Java 1.6SR10)
SP 800-131a com.ibm.jsse2.sp800-131 transition or strict
Suite B com.ibm.jsse2.suiteB 128 or 192
Scalability
Scalability is the ability to respond to increasing numbers of users who access
resources in the domain. Security Access Manager uses several techniques to
provide scalability.
Accountability
Security Access Manager provides several logging and auditing capabilities to
increase accountability for server activity.
Log files capture any error and warning messages generated by Security Access
Manager servers. Audit trail files monitor Security Access Manager server activity.
Centralized management
Security Access Manager uses three user interfaces to manage security policies and
the Security Access Manager servers.
v pdadmin command-line interface
v Web Portal Manager graphical user interface (GUI)
6 IBM Security Access Manager for Web Version 7.0: Administration Guide
v Administration API
You can accomplish most tasks by using any of these methods. However, some
tasks cannot be done with the Web Portal Manager. See Chapter 2, “Web Portal
Manager,” on page 25.
This interface provides commands for managing users, groups, roles, permissions,
policies, domains, and servers, and other tasks. This interface can be used in
scripts or batch files to automate processing.
This interface is installed as part of the IBM Security Access Manager runtime
package.
For specific task information, see the task-specific chapters in this guide. For
detailed syntax information about the pdadmin command-line interface, see the IBM
Security Access Manager for Web: Command Reference.
You can use Web Portal Manager to perform administrative tasks, such as
managing users, groups, roles, permissions, policies, domains, and servers. You
must install this optional interface separately. Use the DVD that Security Access
Manager provides for Web Portal Manager for your operating system. A key
advantage to using Web Portal Manager is that you can do these tasks remotely
from any supported web browser. You do not need any special network
configuration.
Administration API
You can use the administration API to write applications to manage users, groups,
roles, permissions, policies, domains, and servers. Both C and Java language
versions of these functions are available.
Details on the administration API are in the IBM Security Access Manager for Web
Administration C API Developer Reference and the IBM Security Access Manager for
Web Administration Java Classes Developer Reference.
The authorization service is also called the authorization engine. The authorization
service uses the security policy to determine whether the request is allowed or
denied. The request might also be conditionally allowed pending additional
verification by the resource manager. The resource manager takes the
recommendation of the authorization service. The resource manager does any
additional verification actions and ultimately either denies the request or permits
the request to be processed.
For example, suppose that John wants to access a particular web page that is on a
website protected by Security Access Manager WebSEAL. WebSEAL is a resource
manager that manages and protects web-based information and resources. It must
decide whether "John" can access that page. The resource manager obtains the
credentials for John, and then asks the authorization service whether John has read
access to the web page. The authorization service checks the security policy and
determines that John is permitted access. The service responds to the resource
manager that the request is granted. The resource manager then directs the request
to the appropriate back-end web server, which provides the web page.
The security policy in Security Access Manager is defined through the use of
access control lists (ACLs), protected object policies (POPs), and authorization
rules.
For example, a user might access a web-based retirement fund. The user can view
personal account information after an authorization server verifies the identity,
credentials, and privilege attributes of that user.
8 IBM Security Access Manager for Web Version 7.0: Administration Guide
When servers enforce security in a domain, each client must provide proof of its
identity. In turn, security policy determines whether that client has the required
permission to do a task on a requested resource. Access to every resource in a
domain is controlled by a server. The demands on the server for authentication
and authorization can provide comprehensive network security.
Authorization Application
service
server
authorization yes | no
check
request for
resource
Policy
enforcer
Authenticated Resources
client
Resource manager
Traditional applications bundle the policy enforcer and resource manager into one
process. An example of this structure is Security Access Manager WebSEAL.
10 IBM Security Access Manager for Web Version 7.0: Administration Guide
Web Portal Master
Manager Policy server
authorization
database
User
registry
Replica
Authorization authorization
server database
The authorization API allows existing applications to call the authorization service,
which bases its decision on the corporate security policy. For more information
about the authorization API, see “Security Access Manager authorization API” on
page 17.
Components
The authorization service is made up of the following basic components: the
master authorization policy database, the policy server, and the authorization
decision-making evaluator.
Policy database
The policy database contains the security policy information for all resources in a
domain. The policy database is also called the master authorization policy database
or the master authorization database.
Each domain has its own policy database. The contents of this database are
manipulated by using Web Portal Manager, the pdadmin command-line interface,
and the administration API.
Policy server
The policy server maintains the policy databases and replicates this policy
information throughout the domains. The policy server also updates the database
replicas whenever a change is made to the master.
The policy server also maintains location information about the other Security
Access Manager and non-Security Access Manager resource managers that operate
in the domain.
Authorization evaluator
The authorization evaluator is the decision-making process that determines the
ability of the client to access a protected resource based on the security policy. The
evaluator makes its recommendation to the resource manager, which responds.
12 IBM Security Access Manager for Web Version 7.0: Administration Guide
Authorization Service
Policy
Web Portal Master
Server
Manager Authorization
(pdmgrd)
Policy
Management
Interface
Authorization Replica
Evaluator Authorization
Policy
AuthAPI
Resource
Manager
You can configure the master authorization policy database, containing policy rules
and credential information, to automatically replicate. Resource managers that call
the authorization service have two options for referencing this database
information:
v The application, when configured to work seamlessly with the authorization
evaluator, uses a local cache of the database.
The database is replicated for each resource manager that uses the authorization
service in local cache mode.
v The application uses a shared replica cached by the remote authorization server
component.
The update notification from the policy server occurs whenever a change is made
to the master authorization policy database. The update notification triggers the
caching process to update all replicas, as shown in Figure 4:
Authorization Service
Policy
Web Portal Master
Server
Manager Authorization
(pdmgrd )
Policy
Replica
Authorization
Policy
Replica
Authorization
Policy
Authorization Replica
Authorization
Evaluator Policy
AuthAPI
Resource
Manager
Performance notes
Consider these performance issues:
v You can update notifications directly from the policy server. You can also
configure the resource managers to verify the version of the master
authorization policy database every few minutes. This verification ensures that
the update notifications are not missed. Such a mechanism is called polling and
is not enabled by default.
If an update notification fails to reach a server, a log entry is created. In both
cases, a retry mechanism also ensures that the update happens in the future.
v The cached authorization policy information results in high system performance.
For example, when WebSEAL does an authorization check, it checks the policy
in its own cached version of the database. WebSEAL does not have to access the
network to obtain this information from the master database. The result is fast
response times (performance) for authorization checks.
v Individual authorization results are not cached by the calling application server.
14 IBM Security Access Manager for Web Version 7.0: Administration Guide
Definition and application of security policy
You can protect system resources by defining a security policy. You define a
security policy with access control lists (ACLs), protected object policies (POPs),
and authorization rules. You apply the security policy to the object representations
of those resources in the object space.
You can apply ACLs, POPs, and authorization rules to the same object. The
pdadmin command-line interface, the Web Portal Manager, and the administration
API are used to define this policy.
One policy can dictate the protection parameters of many objects. Any change to
the security policy affects all objects to which the policy is attached.
The Security Access Manager protected object space supports inheritance of ACLs,
POPs, and authorization rules. This factor is an important consideration for the
security administrator who manages the object space. The administrator needs to
apply explicit policies only at points in the hierarchy where the rules must change,
as shown in Figure 5.
Unlike ACLs, which are dependent on what user or group is attempting the action,
POPs affect all users and groups. POPs also indicate whether requests must be
audited. It is the responsibility of Security Access Manager and the resource
manager to enforce the POP conditions.
Authorization rules
Define authorization rules to specify additional conditions that must be met before
granting access to a resource.
You can use rules to make authorization decisions based on the context and the
environment that surround a request. You can also use rules to make authorization
decisions based on who is attempting the access and what type of action is being
attempted. These conditions are evaluated as a Boolean expression to determine
whether the request must be allowed or denied.
Secure Domain
Authorization
3. Authorization Policy
Check
Authorization
Service /
1. Request 5. Authorized
Policy Operation
Enforcer
Resources
Resource
Client 6. Response Manager
16 IBM Security Access Manager for Web Version 7.0: Administration Guide
1. An authenticated client request for a resource is directed to the resource
manager server and intercepted by the policy enforcer process. For example,
the resource manager can be WebSEAL for Hypertext Transfer Protocol (HTTP),
HTTPS access, or another application.
2. The policy enforcer process uses the authorization API to call the authorization
service for an authorization decision. For more information about the
authorization API, see “Security Access Manager authorization API.”
3. The authorization service does an authorization check on the resource. See
Authorization Algorithm for details on the algorithm used.
4. The decision to accept or deny the request is returned as a recommendation to
the resource manager through the policy enforcer.
5. If the request is finally approved, the resource manager passes the request on to
the application responsible for the resource.
6. The client receives the results of the requested operation.
The authorization API allows Security Access Manager applications and other
applications to query the authorization service to make authorization decisions. At
the same time, the authorization API shields the application from the complexities
of the actual decision-making process, including issues of management, storage,
caching, replication, credential formats, and authentication methods.
As illustrated in Figure B of Figure 7, access controls were set on resources that the
CGI program manipulates. The web application is configured to use the
authorization API. The CGI program can call the authorization service to make
authorization decisions on the resources it manipulates based on the identity of the
requesting client.
Figure A
Authorization
Service
Coarse-grained
Access
Request Objects
Third-Party Web
Manipulated
Application Application
Response by CGI
Client
Figure B
Fine-grained
Authorized
Request A Access Objects
Third-Party Web
P Manipulated
Application Application
Response I by CGI
Client
18 IBM Security Access Manager for Web Version 7.0: Administration Guide
Authorization API: remote cache mode
In remote cache mode, resource managers use the function calls from the
authorization API to communicate to the remote authorization server.
The remote cache mode requires an authorization server that runs in a domain, as
shown in Figure 8. The authorization server can be on the same system as the
application or on another system. You also can install the authorization server on
more than one system in a domain for high availability. The authorization API
transparently performs failover when a particular authorization server fails.
Authorization Service
Policy
Server Master
(pdmgrd ) Authorization
Policy
Authorization Replica
pdacld Evaluator Authorization
Policy
AuthAPI
AuthAPI
Third-Party
Application
Resources
Authenticated
Client
The local replica is persistent across invocations of the application. When the API
starts in replica mode, it checks for updates to the master authorization policy
database that were made after the local replica was built.
Policy
Server Master
(pdmgrd) Authorization
Policy
Authorization Replica
Evaluator Authorization
Policy
AuthAPI
Third-Party
Application
Resources
Authenticated
Client
In some cases, it might not be possible for the standard Security Access Manager
policy implementations to express all conditions required by a security policy. The
standard policy implementation uses ACLs, POPs, and authorization rules to
manage access to resources.
You can use the external authorization service to impose additional authorization
controls and conditions that are dictated by a separate, external, authorization
service module.
20 IBM Security Access Manager for Web Version 7.0: Administration Guide
The external authorization service architecture provides the full integration of an
existing security service. An external authorization service preserves your
investment in security infrastructure by incorporating existing servers into the
Security Access Manager authorization decision-making process.
Authorization
Service
3. Authorization /
Check
(allowed +100)
Authzn API
1. Request
7. Denied Access
Third-Party Resources
8. Response: Resource Manager
Client Denied
The service implementation imposes a limit on the number of job submissions that
any one person can make to this printer in one week. A trigger condition is
attached to the photo printer resource so that the external authorization service is
called whenever the photo printer is accessed.
The external authorization service is loaded with the default decision weighting of
101. The default decision weighting overrides any decision made by the Security
Access Manager authorization service if required.
1. The resource manager server receives a request from a client for access to an
online photo printing resource. The client is a member of the appropriate group
GraphicArtists and so is typically permitted to submit jobs to the printer.
2. The application server first consults the Security Access Manager authorization
service to determine whether the requesting user has permission to submit jobs
to the printer.
3. The authorization service verifies the access permissions on the target requested
object and compares the permissions against the capabilities of the requesting
user:
group GraphicArtists rx
In the ACL on the printer resource, the x permission grants any user in the
GraphicArtists group access to the resource. Therefore, the authorization
service grants the user permission to submit the job.
4. The photo printer resource is being accessed and an external authorization
service trigger condition is attached to this object. A request is also made to the
external authorization service configured for that trigger condition.
The external authorization service receives all the Access Decision Information
(ADI) that was passed in with the original access decision check by the
resource manager server.
5. The external authorization service consults a record of previous accesses made
by this user. If the requesting user is within the quota for the week, it returns
an access decision of indifferent.
22 IBM Security Access Manager for Web Version 7.0: Administration Guide
The external authorization service is indifferent to the request. The service does
not participate in the access decision because the conditions for denying access
are not present.
If the user exceeds the quota, then the external authorization service returns a
decision of access denied.
For this example, the requester exceeds the quota. The external authorization
service detects this problem and returns an access denied decision.
6. The Security Access Manager authorization service receives the access denied
result from the external authorization service. It then takes this decision and
weights it with the default external authorization service weighting value of
101.
The results of the external authorization service decision and the decision made
by the Security Access Manager authorization service are combined. The result
is access denied because the result of the external authorization service (–101)
outweighs that of the Security Access Manager authorization service (100).
7. The resource manager server rejects the job submission to the photo printer
resource.
8. The resource manager server returns a response to the caller to indicate that the
job was rejected.
Deployment strategies
You can deploy an external authorization service in several ways.
v Any number of external authorization services can be registered with resource
manager applications. Applications that can load external authorization services
include the authorization server, other Security Access Manager resource
managers, and any other resource manager applications that you create.
v Remote-mode authorization API clients make requests to the authorization
server for authorization decisions. These clients automatically use any external
authorization service that is loaded by the authorization server.
v More than one external authorization service can be called for any single trigger
condition. First, the result of each external authorization service is weighted.
Then the results are combined with the result of the Security Access Manager
authorization service.
v Trigger conditions can be placed on objects with the use of a POP trigger. If a
trigger condition is placed on an object, then any request to that object instigates
a call to the appropriate external authorization services.
v Trigger conditions can also be placed on the operations requested by a user. For
example, an external authorization service can be triggered only when a user
24 IBM Security Access Manager for Web Version 7.0: Administration Guide
Chapter 2. Web Portal Manager
Security Access Manager has both command-line and graphical interface interfaces
for managing domains, users, groups, permissions, policies, and other resources in
your enterprise.
26 IBM Security Access Manager for Web Version 7.0: Administration Guide
Role name: wpmdelegateadmin
Is a delegate administrator role. The wpmdelegateadmin role
performs the following tasks:
v Manage Enterprise Domains
v Manage Roles
v Domain User Search
v Change My Password
Differences between pdadmin and Web Portal Manager
Although you can manage your enterprise through either interface, only a
subset of the management tasks can be completed through Web Portal
Manager. To compare the mapping between the pdadmin utility and Web
Portal Manager tasks, see Appendix E, “pdadmin to Web Portal Manager
equivalents,” on page 379.
Another difference between these interfaces is that when you use the
pdadmin utility, you can specify a file. With Web Portal Manager, you
cannot specify a file name. In some cases, however, you can copy and
paste the contents of the file.
Types of administration
Security Access Manager provides two types of administration: Administration and
Delegate administration.
You can use Web Portal Manager to do both types of tasks. The administrator uses
the same URL to connect to Web Portal Manager for both administration and
delegate administration.
Self-registration
Self-registration is the process by which a user can enter required data to become a
registered Security Access Manager user without administrator involvement.
Web Portal Manager provides a sample application so that users can register
themselves. This sample is supported only on LDAP and Active Directory.
Web Portal Manager provides sample code so that you can implement a
self-registration page. The sample code shows how to use the Security Access
Manager Java Administration APIs. It also explains how to use the Java
Administration APIs with Java 2 Platform, Enterprise Edition (J2EE) servlets and
JavaServer Pages (JSPs) to implement self-registration. See “Self-registration tasks”
on page 31.
This chapter provides procedures for the more common Web Portal Manager tasks,
such as:
v “URL for the Web Portal Manager”
v “Logging on and signing off” on page 30
v “Accessing online help” on page 30
Before you start Web Portal Manager, ensure that the WebSphere Application
Server is running. While the WebSphere Application Server is running, use one of
the following web addresses to start Web Portal Manager for administration:
v If you installed, configured, and enabled SSL, type the following web address:
https://hostname:portnumber/ibm/console
where hostname is the system where Security Access Manager and WebSphere
Application Server are running and portnumber is the secured port for the
WebSphere Integrated Solutions Console, such as 9043.
Note: For information about enabling FIPS 140-2, NIST SP800-131a or Suite B in
a WebSphere environment, see the WebSphere Application Server
documentation.
For example:
28 IBM Security Access Manager for Web Version 7.0: Administration Guide
https://testgroup.austin.ibm.com:9043/ibm/console
Note:
– To ensure that all Web Portal Manager items are visible, add the console URL
to the trusted websites in the security settings for your browser.
For example, if your console URL to access Web Portal Manager is
http://wpm14.example.com:9060/ibm/console, add the website to your list of
trusted web sites in the security settings of your browser.
– To ensure that help information for Web Portal Manager occurs in the locale
that the browser specifies, take these steps:
On Internet Explorer:
1. Using the browser menu, click Tools > Internet Options.
2. Under Browsing History, select Settings > Temporary Internet
Files > Check for newer versions of stored pages.
3. Select Every time I visit the web page.
On Firefox:
1. In the browser, type:
about:config
2. Locate browser.cache.check_doc_frequency and set its value to 1.
– If the help does not display in the locale that is set in the browser, you might
need to first display a WebSphere help such as the Welcome help on the
WebSphere banner. This display sets the locale so that the Web Portal
Manager and SMS helps display correctly.
– Helps in Arabic are not supported.
v If you do not have SSL installed, configured, and enabled, type the following
web address:
http://hostname:portnumber/ibm/console
where hostname is the system where Security Access Manager and WebSphere
Application Server are running, and portnumber is the non-secured port for the
WebSphere Integrated Solutions Console, such as 9060.
For example:
http://testgroup.austin.ibm.com:9060/ibm/console
The Web Portal Manager delegate administration tasks are accessed from the same
web address as are the Web Portal Manager administration tasks. Users can go to
the Web Portal Manager delegate administration page and manage their
passwords. After logging in, the user must select Delegate Administration >
Change My Password.
This token modifies the URL to the Web Portal Manager web pages. An error is
returned if the token is missing from the request or does not match the real session
token.
A CSRF attack is a type of malicious web site attack that is sometimes called a
one-click attack or session riding. This type of attack sends unauthorized requests
from a user that the website trusts. CSRF uses the trust that a site has in the
Procedure
1. If SSL is enabled, start the WebSphere Integrated Solutions Console.
2. Provide the appropriate user name and click Log in.
3. In the navigation panel, expand Security Access Manager and then expand
Web Portal Manager or Delegate Administration, depending on the tasks you
need to do.
4. In the navigation pane, click a task to display the Web Portal Manager Sign On
fields.
5. Provide web portal authentication information and then click Sign On:
v Name of the domain in which you want to perform tasks
v User name
v Password associated with the user name
6. After the Security Access Manager splash screen opens in the topic pane, select
and do tasks, as needed.
Note: After a certain period of inactivity, the system might prompt you to log
in again.
7. Click Logout at the upper right of the WebSphere Integrated Solutions Console
to terminate the session and log out of the WebSphere Integrated Solutions
Console.
Procedure
1. Use Web Portal Manager to log on to the domain.
2. Select a task such as Group > Import Group.
3. In the task title bar, click the question mark icon on the right side of the page.
A help window contains the online information for completing the task.
4. Close the help window after you complete the task.
30 IBM Security Access Manager for Web Version 7.0: Administration Guide
Procedure
1. Change the value of the following entries in the amconf.properties
configuration file to specify the new images to display:
loginGif
Shows the specified image on the login page. The default value is
accessmanager.gif.
splashGif
Shows the specified image on the welcome page, after the login page.
The default value is accessmanager.gif.
2. Place the new images in the following directory for administration:
For AIX, Linux, and Solaris operating systems
websphere_install_dir/WebSphere/AppServer/systemApps/isclite.ear/
iscwpm.war/images/en
For Windows operating systems
websphere_install_dir\Program Files\IBM\WebSphere\AppServer\
systemApps\isclite.ear\ iscwpm.war\images\en
Self-registration tasks
Security Access Manager provides a self-registration sample to demonstrate how it
works.
Note: This sample is supported only when your Security Access Manager user
registry is an LDAP user registry. You cannot do self-registration tasks for a
Microsoft Active Directory user registry.
Self-registration scenario
One possible scenario for implementing self-registration is where a user opens a
web browser to view a self-registration web page. On this web page, the user
enters specific identification information (either company or user-specific) with a
Security Access Manager user ID and password. The identification information
provided by the user is then validated and the user is created in the Security
Access Manager registry.
The following information is requested the first time the self-registration sample is
accessed. This data is saved by the servlet in memory and then used to create
users who request to be registered.
v Administrator name
v Password
v Registry container
For example, enter o=ibm,c=us and the registered users are created in LDAP as
cn=FirstnameLastname,o=ibm,c=us. The user is not added to any groups. In a real
application, the user would probably be added to some groups to have access to
some applications. After the administrator information is entered, this page is not
shown again. If you access the sample, you are shown only the registration page
where you can enter the given name, family name, and a password.
The administrator login is saved in the servlet session. Any user who accesses the
self-registration sample from the same browser can create a user in Security Access
Manager. You must restart the application server to clear the administrator login
information.
For this sample, the ID and password are not saved in a secure manner. If you use
this sample as the basis for a production registration application, you must
consider ways to secure the administrator login information.
The sample application includes the following Java Server Pages (JSPs):
regAdmin.jsp
The page that is displayed to gather login information for the
administrator.
regProp.jsp
The page that is displayed to gather the given name, family name, and
password of the user.
regControl.jsp
The code that creates the user. This page receives and processes the
registration requests. You also can use this page as a servlet class.
32 IBM Security Access Manager for Web Version 7.0: Administration Guide
String adminid = request.getParameter("admin");
String adminPassword = request.getParameter("password");
String ldapSuffix = request.getParameter("suffix");
...
// Try a login
try {
ctx = new PDContext(adminid,
adminPassword.toCharArray(),
url);
// Save the PDcontext and the LDAP Suffix
session.setAttribute("regAdminCtx", ctx);
session.setAttribute("ldapSuffix", ldapSuffix);
}
catch(PDException e) {
// process exception
...
}
After the user enters the new user information, the PDContext object is retrieved
from the session. A PDContext object encapsulates the information needed to
establish a communication session between the client application and the Security
Access Manager policy server. It includes the client authentication, the client locale
used to translate any returned messages, and the policy server location.
The object is used to create the user as shown in the following code fragment:
// Creating the Security Access Manager User
pwd = request.getParameter("password");
ldapcn = request.getParameter("ldapcn");
ldapsn = request.getParameter("ldapsn");
ldapdn = "cn=" + ldapcn + ldapsn + "," + ldapSuffix;
userid = ldapcn + ldapsn;
desc = ldapcn + " " + ldapsn;
ctx = (PDContext)session.getAttribute("regAdminCtx");
// Make sure the session has not timed out
if ( ctx == null ) {
%>
<%@ include file="regAdmin.jsp" %
<% return;
}
PDMessages messages = new PDMessages();
try {
createUser(bundle, ctx, userid, pwd, desc, ldapcn,
ldapsn, ldapdn, usergroups, acc_valid,
pwd_valid, gso_user, no_pwd_pol,
messages);
succmsg = userid +
ResourceFile.getString(bundle,
"userRegisteredMsg");
}
catch(PDException e) {
// process exception
...
}
The new user ID is the given name and family name concatenated together.
Domains
A domain consists of all the resources that require protection and the associated
security policy used to protect those resources.
The resources that you can protect depend on the resource managers that are
installed. These resources depend on which resource managers are installed. The
resources can be any physical or logical entity, including objects such as files,
directories, web pages, printer and network services, and message queues. Any
security policy that is implemented in a domain affects only the objects in that
domain. Users with authority to do tasks in one domain do not necessarily have
the authority to do those tasks in other domains.
Security Access Manager creates a domain, called the management domain, as part of
its initial configuration. The default name of this management domain is Default.
It is in a stand-alone naming context, with a suffix called secAuthority=Default.
For small and moderately sized enterprises, one domain is typically sufficient. If
only one domain is needed, no explicit action needs to be taken.
In large enterprises, however, you might want to define two or more domains.
Each domain is given a name and is established with a unique set of physical and
logical resources. The security administrator can define the resources in a domain
based on geographical area, business unit, or major organizational division within
the enterprise. The security policy defined in the domain affects only the resources
in that domain, which allows data to be partitioned and managed independently.
For more information about managing domains, see Chapter 5, “Manage domains,”
on page 63.
36 IBM Security Access Manager for Web Version 7.0: Administration Guide
Protected object space
Security Access Manager conceptualizes resources in a domain by showing a
virtual representation called the protected object space. The protected object space is
the logical and hierarchical portrayal of resources that belong to a domain.
The structure of the protected object space consists of the following types of
objects:
Resource objects
The logical representation of actual physical resources in a domain, such as
files, services, web pages, and message queues.
Container objects
Structural components that group resource objects hierarchically into
distinct functional regions.
Security policy can be applied to both types of objects. Figure 11 shows a logical
representation of a protected object space with multiple container and resource
objects. This illustration shows container objects as white boxes and resource
objects as gray boxes.
Container objects
Resource objects
The structural top of the protected object space is the root container object. Below the
root container object are one or more container objects. Each container object
represents an object space that consists of a related set of resources. These
resources can be resource objects or container objects.
The installation of Security Access Manager creates the /Management object space.
This object space consists of the objects that are used to manage Security Access
Manager itself. Under the /Management object space, the installation creates the
following container objects:
v /Users
v /Groups
v /POP
v /Action
v /ACL
v /GSO
v /Server
v /Config
v /Replica
/ (root)
Management
Figure 12. Regions of the Security Access Manager protected object space
Each resource manager that protects a related set of resources creates its own object
space. For example, the installation of the WebSEAL component creates the
/WebSEAL object space.
If you have a user registry that maintains users and groups for another application,
you can import this user registry information into Security Access Manager. If a
required user or group was not in the user registry before it was imported into
Security Access Manager or a new user or group needs to be added to the Security
Access Manager user registry, you can create it using Security Access Manager.
Security Access Manager supports two types of group definitions. The most
common type of group maintains the group membership as an explicit list of
members (users). This type of group is sometimes called a static group, because the
membership is listed and maintained.
For Active Directory and LDAP registry users, Security Access Manager also
supports the use of dynamic groups. Dynamic groups are groups whose members
are automatically resolved when the group is accessed. This resolution is based on
the results of a defined search filter. For example, you create a dynamic group for
members of department XYZ. If you import a new user whose data matches an
entry in the search filter, the user is automatically added to the group. If an
existing employee switches departments, the user is automatically removed from
the group. Manual intervention is not required.
The creation and management of a dynamic group can be complex and is specific
to the vendor implementation. It requires a search-like filter to be specified and
used for group membership resolution. Because of these variables, dynamic groups
cannot be created or maintained with Security Access Manager utilities or user
interfaces. The vendor-specific tools must be used to create and maintain dynamic
groups. Security Access Manager, however, can import and use these dynamic
groups after they are created.
38 IBM Security Access Manager for Web Version 7.0: Administration Guide
Security Access Manager supports different types of users. When a domain is
created, a special user known as the domain administrator is created. For the
management domain, the domain administrator is sec_master. The sec_master user
and associated password are created during the configuration of the Security
Access Manager policy server. For other domains, the user ID and password of the
domain administrator are established when the domain is created. The domain
administrator has nearly complete control of the domain. Think of the domain
administrator as the Security Access Manager equivalent to the Linux or UNIX root
account or the Microsoft Windows Administrator user.
Security policy
Attaching a security policy to objects in the protected object space controls access to
objects in a domain. After attaching a security policy to an object, any change to
the security policy is reflected immediately throughout the domain.
Each security policy can be defined with a combination of the following controls:
Access control list policies
An access control list (ACL) policy specifies the set of predefined actions
that a set of users and groups can do on an object. For example, a specific
set of groups or users can be granted read access to an object.
Protected object policies
A protected object policy (POP) specifies access conditions that are
associated with an object. A POP affects all users and groups. For example,
a time-of-day restriction can be placed on an object that excludes all users
and groups from accessing that object during the specified time.
Authorization rules
An authorization rule specifies a complex condition that is evaluated to
determine whether access is permitted. The data that determines whether
access is permitted can be based on the context of the request, the current
environment, or other external factors. For example, it can deny a request
to modify an object more than five times in an eight-hour period.
You can implement a security policy by strategically attaching ACL policies, POPs,
and authorization rules to objects that require protection. The Security Access
Manager authorization service decides whether to allow or deny access to objects
based on several criteria. One criterion is the credentials of the user that is making
the request. Other criteria include the specific permissions and conditions that are
specified in the ACL policies, POPs, and authorization rules.
The authorization service uses the following algorithm to process the security
policy that is attached to a protected object:
If any of the ACL policy, POP, or authorization rule evaluations fail, then the access
request is denied. The EAS can override this decision on its own if it is configured
to do so.
ACL policies
The ACL policy defines who has access to and what operations can be performed
on the object.
Each ACL policy has a unique name and can be applied to multiple objects within
a domain.
Security Access Manager uses a default set of actions that cover a wide range of
operations. Actions, or permissions, are represented by single alphabetic ASCII
characters (a-z, A-Z). Each permission is displayed by the pdadmin utility or Web
Portal Manager with a label that describes the operation it governs.
A resource manager software typically contains one or more operations that are
done on protected resources. Security Access Manager requires that resource
managers make calls to the authorization service before the requested operation is
40 IBM Security Access Manager for Web Version 7.0: Administration Guide
allowed to progress. This call is made through the authorization application
programming interface (authorization API) for both Security Access Manager
services and other applications.
The authorization service uses the information contained in the ACL entry to make
a simple “yes” or “no” response to the following question:
Does this user or group have the appropriate permission to do the requested
operation on the requested object? For example, does the user have the view
(r) permission to view an object?
The authorization service has no knowledge about the operation that requires the
read (r) permission. It merely notes the presence or absence of the r action bit in
the ACL entry of the requesting user or group.
Understanding how Security Access Manager evaluates ACL policies can help you
determine how best to prevent unauthorized users from gaining access to
resources.
Each POP has a unique name and can be applied to multiple objects within a
domain.
Authorization rules
An authorization rule policy specifies which security policy applies to an object
based on various conditions, such as context and environment.
Each authorization rule policy has a unique name and can be applied to multiple
objects within a domain.
You define authorization rules in a way similar to definitions of ACL policies and
POPs. You specify conditions that must be met before access to a protected object
is permitted. You create an authorization rule with a number of conditions. These
conditions are based on data supplied to the authorization engine in the user
credential from several sources. The conditions can be based on data from the
resource manager application and from the encompassing business environment.
42 IBM Security Access Manager for Web Version 7.0: Administration Guide
These conditions are evaluated as a Boolean expression to determine whether
access to the object must be granted or denied.
You can work with complex, structured data by using the language of an
authorization rule. You can examine values in the rule data and make informed
access decisions. You can define the data for an access decision statically within the
system or during a business process. Authorization rules provide the flexibility of a
policy defined by an external authorization service. Unlike an external
authorization service, you do not have to build an external authorization service
into a shared library plug-in to use the authorization rules.
For example, the ability of a user to read data associated with an object is either
granted or denied by an ACL policy. POPs apply to all users and groups and
control conditions that are specific to a particular protected object. For example,
time-of-day access excludes all users and groups from accessing an object outside
of the times set in the time-of-day policy.
Unlike ACL policies, authorization rules determine whether to allow access based
on the attributes of a person or object. The authorization rules also take into
account the context and environment that surrounds the access decision. For
example, you can use a rule to implement a time-of-day policy that depends on the
user or group. You can use an authentication rule to extend the controls provided
by the ACL policies to implement a more advanced policy. For example, you can
develop a policy based on quotas.
An ACL policy can grant a group permission to write to a resource. A rule can
extend the policy. For example, a rule can evaluate whether a group exceeds a
specified quota before it permits the group to write to a resource.
44 IBM Security Access Manager for Web Version 7.0: Administration Guide
Chapter 4. Default security policy
Security Access Manager establishes a default security policy to protect all objects
in a domain. A set of administrative users and groups is established and granted a
predefined set of permissions. This chapter describes the default security policy.
The following sections detail the specific roles assigned to each of these users and
groups at installation time. The sections explain how to create administration users.
iv-admin group
This group represents the administrator group. All members of this group are
considered administrators of the domain by the default policy.
You can easily place users into an administration role by adding them to the
iv-admin group. There is a danger in this procedure when a user becomes a
member of this group with the default ACLs. The user immediately has full rights
to do administration operations on any object in the protected object space.
sec_master user
The sec_master user is created when Security Access Manager is initially installed
and configured. The default policy makes the sec_master user a member of the
iv-admin group, permitting it to do all actions within Security Access Manager.
Think of this account as the equivalent of the Linux or UNIX root account, or a
member of the Microsoft Windows Administrator group.
ivmgrd-servers group
The ivmgrd-servers group contains the policy servers and the policy proxy servers.
By default, members of this group are authorized to delegate requests to other
Security Access Manager servers on behalf of the requestor.
Administration users
You can create administration accounts with varying degrees of responsibility.
Responsibility is delegated to administrators through strategically placed
administration ACLs.
46 IBM Security Access Manager for Web Version 7.0: Administration Guide
Definition and application of security policy
Security administrators protect system resources by defining a security policy. A
security policy consists of the access control list (ACL) policies, protected object
policies (POPs), and authorization rules. You can apply these policies and rules to
the object representations of the system resources to be protected in the object
space. You can apply ACL policies, POPs, and authorization rules to the same
object.
One policy can dictate the protection parameters of many objects. Any change to
an ACL policy, POP, or authorization rule affects all objects to which the policy is
attached.
ACL policies
An ACL policy is the set of controls (permissions) that specifies the necessary
conditions to do certain operations on that resource.
ACL policies are important components of the security policy that is established
for the domain. ACL policies, like all policies, are used to stamp the set of security
standards for an organization on the resources that are represented in their
protected object spaces.
An ACL policy is made up of one or more entries that include user and group
designations and their specific permissions.
Although Security Access Manager provides these POP attributes, it enforces only
the following attributes:
v Name
v Description
v Warning mode
v Audit level
v Time-of-day access
Each resource manager or plug-in can optionally enforce one or more of the
following attributes:
v IP endpoint authorization method policy
v EAS trigger attributes
v Quality of Protection
Authorization rules
An authorization rule specifies the policy that applies to an object and that is based
on various conditions, such as context and environment. Each authorization rule
has a unique name and can be applied to multiple objects in a domain.
48 IBM Security Access Manager for Web Version 7.0: Administration Guide
Like ACL policies and POPs, authorization rules are defined to specify conditions
that must be met before access to a protected object is permitted. An authorization
rule is created with a number of Boolean conditions. The conditions are based on
data that is supplied to the authorization service in the user credential. Data might
also be supplied from the resource manager or from the encompassing business
environment. The language of an authorization rule allows customers to work with
complex, structured data, by examining the values in that data, and making
informed access decisions. This information can be defined statically in the system
or defined during a business process. Authorization rules can be used to
implement extensible attribute-based authorization policy with attributes in the
business environment or attributes from trusted external sources.
The authorization rule is stored as a text rule in a rule policy object. The rule is
attached to a protected object in the same way and with similar constraints as ACL
policies and POPs.
Adopting an inherited security scheme can greatly reduce the administration tasks
for a domain. This section describes the concepts of inherited, or sparse security
policies.
Any object without an explicitly attached security policy inherits the policy of
its nearest container object with an explicitly set security policy. The
inheritance chain is broken when an object has an explicitly attached security
policy.
In a typical object space, you need to attach only a few security policies at key
locations to secure the entire object space. Therefore, it is called a sparse security
policy model.
A typical object space begins with a single explicit security policy attached to the
root container object. The root ACL must always exist and can never be removed.
Normally, the root ACL is an ACL with little restriction. All objects in the object
space inherit this ACL.
When a region or subtree in the object space requires different access control
restrictions, you attach an explicit security policy at the root of that subtree. This
attachment interrupts the flow of inherited security policies from the primary
object space root to that subtree. A new chain of inheritance begins from this newly
created explicit security policy.
This ACL policy is the default-root ACL policy and includes the following users
and permissions:
group iv-admin TcmdbvaBR
any-other T
unauthenticated T
Security Access Manager checks inheritance beginning with the root of the
protected object space. If you do not explicitly set an ACL policy on any other
object in the tree, the entire tree inherits this root ACL policy.
There is always an explicit ACL policy set at the root of the protected object space.
An administrator can replace this ACL policy with another ACL policy that
contains different entries and permission settings. However, the administrator
cannot completely remove the root ACL policy. See “Permissions attribute” on
page 83.
Control permission
The control (c) permission gives you ownership of an ACL policy. As owner, you
can modify entries in the ACL policy. Being able to modify entries in the ACL
policy means that you can create entries, delete entries, grant permissions, and take
away permissions.
The administrator who wants to delete a permission from an ACL policy must
have an entry in that ACL policy. The administrator must also have the control
permission set in that entry.
With control permission, you can grant administration powers to another user,
such as the ability to attach or detach that ACL policy to objects. You must use the
control permission with great care because of its powerful ownership properties.
Traverse permission
The traverse permission (T) specifies that a user or group that is identified in the
ACL entry has permission to pass through this container object to gain access to a
protected resource.
The traverse permission is applied only to container objects in the protected object
space.
If there are no permissions defined for a user, that user cannot even traverse the
root container object. This user cannot gain access at all to the protected object
space, regardless of any permissions that might be granted lower in the tree.
50 IBM Security Access Manager for Web Version 7.0: Administration Guide
A protected object is accessible if the requester possesses the traverse permission
on each ACL attached to container objects above the requested resource on the
path towards root and including root.
Figure 14 illustrates how the traverse permission works. Within the fictional ACME
Corporation, there is an Engineering container object (directory), which contains a
TechPubs directory. Kate (user kate) is a member of the Sales department and
requires traversing to the Engineering/TechPubs/ directory tree to review a release
note file (release_note). The administrator provides traverse for any-authenticated
at the root. The administrator provides traverse permission for group sales on the
Engineering directory. The TechPubs directory inherits the ACL from the
Engineering directory. Although Kate has no other permissions in these two
directories, she can pass (traverse) through these directories to access the required
file. Because this file has read permission for Kate, she can view the file.
ACME Corporation
You can easily restrict access to the hierarchy below a specified container object
without resetting individual permissions on these objects. Delete the traverse
permission from the appropriate ACL policy. Deleting traverse permission on a
directory object protects all objects lower in the hierarchy, even if those objects
have other less restrictive ACL policies.
For example, sales group does not have the traverse permission on the
Engineering directory. User kate cannot access the release_note file even though
the user has read permission for that file.
Objects below an explicitly set ACL policy inherit the new ACL policy. If you
delete an explicit ACL policy, permission for all objects reverts to the nearest
container object with an explicitly set ACL policy.
When a user tries to access a protected object such as a document, Security Access
Manager checks whether that user has the permissions to access the object.
Security Access Manager checks each object along the object hierarchy for the
To succeed an access check, the requestor must have both of the following
permissions:
v Permission to traverse the path to the requested object
v Appropriate permissions on the requested object
For example, to determine whether a user can read the report.html resource in the
/acme/engineering/project_Y/current/ object, Security Access Manager does the
following checks:
1. Whether traverse permission is set on the root (/).
2. Whether traverse permission is set on the acme, engineering, project_Y, and
current directories.
3. Whether read permission is set on the report.html file.
The reason for this behavior is related to the following Security Access Manager
features that are designed to make administration easier:
v ACL policies
v ACL inheritance
Use ACL policies to use the same set of permissions to multiple objects in the
protected object space. The ACL policy contains enough permissions to meet the
requirements of all objects to which the ACL applies. However, each individual
object might be affected by only a few of these permissions.
In an ACL inheritance model, any object might not have an explicitly attached ACL
policy. The object inherits the policy definitions from the nearest attached ACL
policy to an object above it in the hierarchy.
In summary, an ACL policy describes the necessary permissions for all object types
to which it can apply, and the object to which it is attached.
A corporate object space has a general security policy set at the root object. Root is
followed by the /WebSEAL container object and individually controlled departmental
subtrees.
In this example, the sales group is given ownership of its departmental subtree.
The ACL policy on this subtree no longer acknowledges the unauthenticated or
any-other entry types.
52 IBM Security Access Manager for Web Version 7.0: Administration Guide
The ytd.html file has an attached ACL policy that grants read permission to
members of the sales-vp group (who are also members of the sales group).
Note: This ACL policy scheme does not need to be changed when users are added
to or removed from the domain. Users can be added to or removed from the
existing groups.
Users and groups with the control (c) permission own the ACL and have the
power to modify the ACL entries.
The following default ACL policies are suggested starting points for securing
management operations in a domain:
v default-root
v default-management
v default-config
v default-gso
v default-policy
v default-domain
v default-management-proxy
The default-root ACL policy is a basic policy that enables everyone to traverse the
object space, but they cannot do any other actions. Typically, you would not need
to change this setting.
Use the default-root ACL policy to quickly deny access to the entire object space
for an individual user or group. Consider the following entry in the default-root
ACL policy:
user john -----------------
The user john has no permissions. This user cannot even traverse the root
container object. The user cannot access the protected object space regardless of
any permissions that are granted lower in the tree.
54 IBM Security Access Manager for Web Version 7.0: Administration Guide
This ACL policy includes the following users and permissions:
group iv-admin TcmdbvaBNR
any-other Tv
unauthenticated Tv
/Management permissions
The /Management region of the protected object space contains multiple container
objects.
The following security considerations apply for the /Management region of the
protected object space:
v The /Management object begins the chain of permission inheritance for the entire
/Management region of the object space.
v If you do not apply any other explicit permission, this object defines, through
inheritance, the security ACL policy for the entire /Management object space.
v The traverse (T) permission is required for access to /Management.
The /Management region contains the following container objects that each requires
a specific set of permissions:
v “/Management/ACL permissions” on page 56
v “/Management/Action permissions” on page 56
v “/Management/POP permissions” on page 57
v “/Management/Server permissions” on page 57
v “/Management/Config permissions” on page 58
v “/Management/Policy permissions” on page 58
v “/Management/Replica permissions” on page 58
/Management/ACL permissions
Use this object to do high-level ACL management tasks that can affect the security
policy for the domain.
Table 3. /Management/ACL permissions
Permission Operation
d (delete) Delete an existing ACL policy.
m (modify) Create an ACL policy.
v (view) List and find view ACLs; show ACL details. This permission must be in
an entry of an ACL attached to the /Management/ACL object.
The acl find command shows the list of protected resources where this ACL is
attached. You must have the view (v) permission on those protected resources
before they can be shown.
You must create ACL administrator entries in the effective ACL policy for the
/Management/ACL object. The ACL entry of an administrator might contain any of
the permissions listed in the table. These permissions give the administrator
powers to create, view, and delete ACL policies.
The creator of a new ACL policy (m on /Management/ACL) becomes the first entry in
that ACL with the TcmdbsvaBIR permissions set by default.
/Management/Action permissions
You might need to use the /Management/Action permissions to manage custom
actions and action groups.
56 IBM Security Access Manager for Web Version 7.0: Administration Guide
To view an action or action group, no special permissions are required.
Resource managers can call the authorization service through the authorization
API. To integrate a resource manager with the authorization service:
1. Define the object space for the resource manager.
2. Define the action groups and actions for the resource manager.
3. Apply permissions on resources and objects that need protection.
The administrator of a resource manager object space can use the pdadmin utility to
define new permissions and actions. Resource managers generally define the
actions and action groups that are applicable to the resources that they are
protecting.
/Management/POP permissions
Use this object to manage protected object policies.
All permissions must appear in entries for ACLs on /Management/POP. Action tasks
and associated permissions include:
Table 5. /Management/POP permissions
Permission Operation
d (delete) Delete a POP.
m (modify) Create POPs and modify POP attributes.
v (view) Find and list POPs and show POP details.
B (bypass POP) Override the POP on an object.
The pop find command shows the list of protected resources where this POP is
attached. You must have the view (v) permission on those protected resources
before they can be shown.
/Management/Server permissions
Administrators can do server tasks with the /Management/Server container object of
the protected object space when the appropriate permissions are set.
Resource managers become available in the list of resource managers after they are
configured into the domain. Resource managers are removed when they are
unconfigured.
The viewable resource manager information allows other Security Access Manager
servers, particularly the policy server, to locate and communicate with that
resource manager.
/Management/Config permissions
Use the /Management/Config container object of the protected object space to do
configuration tasks when the appropriate permissions are set.
Server definitions contain information that allows other Security Access Manager
servers, particularly the policy server, to locate and communicate with that
resource manager.
Table 7. /Management/Config permissions
Permission Operation
m (modify) Configure a resource manager into a domain or update the
configuration of a resource manager.
d (delete) Unconfigure a resource manager from a domain.
/Management/Policy permissions
Use the /Management/Policy container object of the protected object space to
authorize the policy get and policy set commands when the appropriate
permissions are set.
Table 8. /Management/Policy permissions
Permission Operation
v (view) Required for policy get commands.
m (modify) Required for policy set commands.
/Management/Replica permissions
Use the /Management/Replica container object of the protected object space to
control the replication of the master policy database.
High-level controls on this object affect the operation of the policy server and the
resource managers in the domain.
Replica management controls are used to determine which resource managers are
allowed to download the master policy database to their local file system.
58 IBM Security Access Manager for Web Version 7.0: Administration Guide
Table 9. /Management/Replica permissions
Permission Operation
v (view) Read the master policy database.
All Security Access Manager servers that maintain a local replica of the policy
database must be granted view (v) permission on the /Management/Replica object.
This group of servers includes all resource managers and the authorization servers.
The replication process requires that these processes be allowed to view and access
entries out of the master policy database.
/Management/Users permissions
Use this object to manage user accounts.
/Management/Groups permissions
Use this object to manage groups and group membership.
Table 11. /Management/Groups permissions
Permission Description
d (delete) Delete a group.
m (modify) Modify group descriptions. Remove one or more user members of a
group.
N (create) Create a group. Import group data from the user registry.
v (view) List groups and show group details.
A (add) Add one or more users to a group.
The add (A) permission is required on your entry in the ACL on a group so that
you can add existing users to your group. Use the user create command, which
requires the N permission, to create new users and optionally place them in one or
more existing groups.
The capability of adding existing users to your group is powerful because the
owner of a group has control over all user members of the group. If you, as the
owner of the group, also have the delete (d) permission, you can delete this user
from the entire domain.
/Management/GSO permissions
Use the /Management/GSO container object of the protected object space to do Global
Sign-On (GSO) tasks when the appropriate permissions are set.
60 IBM Security Access Manager for Web Version 7.0: Administration Guide
Table 12. /Management/GSO permissions
Permission Operation
N (create) Create a resource, resource group, or resource credential. Creating a
resource, resource group, or resource credential also requires the m
(modify) permission.
d (delete) Delete a resource, resource group, or resource credential. Deleting a
resource, resource group, or resource credential also requires the m
(modify) permission.
m (modify) Modify a resource group or resource credential.
v (view) List or show resources, resource groups, and resource credentials.
/Management/Rule permissions
Use this object to manage authorization rule policies.
The authzrule find command shows the list of protected resources where this rule
is attached. You must have the view (v) permission on those protected resources
before they can be shown.
/Management/Domain permissions
Use the /Management/Domain container object of the protected object space to do
domain tasks when the appropriate permissions are set.
Table 14. /Management/Domain permissions
Permission Operation
m (modify) Modify or create a domain.
v (view) List and show domains.
d (delete) Delete a domain.
/Management/Proxy permissions
Administrators or resource managers can use the /Management/Proxy container
object of the protected object space to do delegated management tasks when the
appropriate permissions are set.
Table 15. /Management/Proxy permissions
Permission Operation
g (delegate) Allows administrators and resource managers to act on the behalf of
the specified credential.
In a domain, an administrator can create users, groups, and other objects. Users
and groups are specific to their domain and cannot access resources in other
domains. If users and groups are created outside of Security Access Manager, these
users and groups can be imported into other domains. Resources that are defined
and access controls for resources that are protected by Security Access Manager are
maintained on a per domain basis. Resources and access controls for resources
cannot be shared among domains.
Log on to domains
You can log on to a domain with Web Portal Manager or the pdadmin utility.
Procedure
1. From the login screen, type the domain name that you created. The default
domain name is Default.
2. Type the user ID that was created for this domain. The default user ID is
sec_master.
3. Type the password associated with the user ID.
Procedure
Example
See the IBM Security Access Manager for Web: Command Reference.
Create a domain
You can create several domains in addition to the management domains with the
Web Portal Manager or the pdadmin utility.
Procedure
1. Log on to the Web Portal Manager management domain as a domain
administrator.
2. Click Secure Domain → Create Secure Domain.
3. Type the Secure Domain Name that you want to create. For example, type
Domain-ABC.
The following restrictions apply to the domain name:
v The maximum length is limited to 64 characters.
v The name can contain a-z, A–Z, 0–9, hyphen (-), underscore (_), period (.),
"at" symbol (@), or ampersand (&) characters.
v The name can contain any character from a double-byte character set.
4. Optional: Type a Description of the domain, such as: Test Domain.
5. Type a New Domain Administrator ID. For example, type myadmin_id.
Procedure
1. Log on to the management domain.
2. Use the domain create command.
Example
For example, to create a domain named Domain-ABC, enter the following command
on a single line:
pdadmin sec_master> domain create Domain-ABC myadmin_id 12A345 -desc "Test Domain"
See the IBM Security Access Manager for Web: Command Reference.
64 IBM Security Access Manager for Web Version 7.0: Administration Guide
Modifying the description of a domain with Web Portal
Manager
You can modify the description of a domain with the Web Portal Manager.
Procedure
1. Log on to the Web Portal Manager management domain as a domain
administrator.
2. Click Secure Domain → List Secure Domain.
3. From the Manage Secure Domains page, click the name of the domain that you
want to change. For example, click Domain-ABC.
4. From the Secure Domain Properties page, edit the Description field to add a
description or change the existing description. For example, type new test
domain description to change the existing description.
5. Click Apply.
Procedure
1. Log on to the management domain as a domain administrator.
2. Use the domain modify command.
Example
For example, to change the description of the domain named Domain-ABC to new
test domain description, enter the following command on a single line:
pdadmin sec_master> domain modify Domain-ABC description "new test
domain description"
See the IBM Security Access Manager for Web: Command Reference.
List domains
You can list all domains, except for the management domain, by using Web Portal
Manager or the pdadmin utility.
The Manage Secure Domains page displays all the domain names, except for the
management domain, as links. You can filter the domain names to view only the
domain names that meet the criteria you specify.
Procedure
1. Log on to the Web Portal Manager management domain as a domain
administrator.
2. Click Secure Domain → List Secure Domain.
Procedure
1. Log on to the management domain as a domain administrator.
2. Use the domain list command.
pdadmin sec_master> domain list
See the IBM Security Access Manager for Web: Command Reference.
Delete a domain
You can delete a domain by using Web Portal Manager or the pdadmin utility.
Deleting a domain deletes the specified Security Access Manager group. Specifying
the optional registry entry option deletes all user and group information, including
associated ACL entries, from the user registry when the domain is deleted.
Procedure
1. Log on to the Web Portal Manager management domain as a domain
administrator.
2. Click Secure Domain → List Secure Domain.
3. From the Domain List page, select the domain you want to delete.
4. From the Domain Properties page, click Delete.
To permanently remove domain information from the user registry, click Delete
Registry Entry. Otherwise, the user and group information for the domain
remains in the user registry and can be used if the domain is created again.
Note: If you unconfigure the management domain with the pdconfig utility, any
additional domain that exists is deleted.
Procedure
1. Log on to the management domain as a domain administrator.
2. Use the domain delete command.
To permanently remove domain information from the user registry, use the
–registry option. Otherwise, the user and group information for the domain
remains in the user registry and can be used in case the domain is created
again.
66 IBM Security Access Manager for Web Version 7.0: Administration Guide
Example
For example, to delete the domain named Domain-ABC and permanently remove the
domain information from the user registry, enter the following command:
pdadmin sec_master> domain delete Domain-ABC –registry
See the IBM Security Access Manager for Web: Command Reference.
An object space consists of resource objects and container objects. Resource objects
are logical representations of resources to be protected. Use Container objects to
group resource objects and other container objects hierarchically into logical groups
or regions. Grouping similar objects makes it easier for you to administer a
consistent security policy.
Security policy is applied by attaching access control list (ACL) policies, protected
object policies (POPs), and authorization rules to the objects in the object space.
These objects represent the physical resources you want to protect. The Security
Access Manager authorization service evaluates user credentials and the conditions
specified in the security policy. Then, Security Access Manager determines whether
to permit or deny access to resources.
The following object spaces are created during the installation of Security Access
Manager products:
v The /Management object space during the installation of any Security Access
Manager product, if it does not exist
v The /WebSEAL object space during the installation of Security Access Manager
In the following sections, instructions are provided for using either Web Portal
Manager or pdadmin, or both. For online help while using Web Portal Manager,
click the question mark to open a separate help window for the current page.
Note: There are no equivalent pdadmin commands for importing, exporting, and
copying object spaces.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space → Create Object Space.
3. Type an Object Name. This field is required. For example: /Test-Space
4. Type a Description for the object space. For example: New Object Space
5. Click Create. To see the /Test-Space object space in the hierarchical structure,
browse the object space. See “List object spaces” on page 71.
Because an object space consists of resource objects and container objects, you do
not have to specify an object type when using Web Portal Manager.
Procedure
1. Log on to the domain as a domain administrator.
2. Use the objectspace create command.
Results
Note: Do not use the objectspace command on object spaces that are created by
or developed with Security Access Manager. The following object spaces are
created by Security Access Manager:
v /Management
v /WebSEAL
v /OSSEAL
For example, to create the /Test-Space object space that is an application container
object, which is object type 14, enter the following command:
pdadmin sec_master> objectspace create /Test-Space "New Object Space" 14
When creating an object space, an object type must be specified. This object space
example assigns an object type of 14, which is for an application container object.
“Protected object space” on page 37 describes the two general types of objects:
resource objects and container objects. You can select any of the listed object space
types. Alternatively, use any unused category number listed in the following list to
designate the object space type and assign a meaning to it.
The following object space types are valid for Security Access Manager:
0 Unknown
1 Secure domain
2 File
3 Executable program
4 Directory
5 Junction
6 WebSEAL server
7 Unused
8 Unused
9 HTTP server
10 Nonexistent object
11 Container object
12 Leaf object
13 Port
14 Application container object
15 Application leaf object
16 Management object
17 Unused
See the IBM Security Access Manager for Web: Command Reference.
70 IBM Security Access Manager for Web Version 7.0: Administration Guide
List object spaces
You can list all object spaces with Web Portal Manager or the pdadmin utility.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space → Browse Object Space to display the Browse Object Space
page.
Results
The Browse Object Space page displays all the objects in the domain in a
hierarchical structure. All object spaces appear at the same structural level as the
default /Management object space. Each object space and the corresponding object
are displayed as a link. When you select any link, the Protected Object Properties
page for that object or object space is displayed.
Procedure
1. Log on to the domain as a domain administrator.
2. Use the objectspace list command.
pdadmin sec_master> objectspace list
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space → Copy/Paste Object Space to display the Copy/Paste
Object Space page.
3. To select which objects to copy, navigate the object space and select the
object-specific check boxes in the Copy column.
4. To select where these objects are to be pasted, navigate to the object space and
select the object-specific check boxes in the Paste column.
5. Click Copy/Paste to copy the selected object space hierarchies to the designated
locations.
Results
If successful, the copied object space is shown under the pasted location. To
validate, click Refresh.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space → Import Object.
3. From the Import Protected Object From File page, complete one of the
following steps:
v In the Object File Name field, type the name of the object to import. For
example, type objectImport.xml.
v Click Browse to select a file name.
4. Optional: Select the Create Groups check box to trigger the creation of a group
for associated ACLs with entries with the type Group.
5. When the Create Groups box is selected, in the Registry Container text field,
type the name of the registry container. For example, type o=ibm,c=us.
6. The file that contains the object space might be encrypted when it was
exported. In the Encryption String text field, type the string that was used to
encrypt the XML file.
7. Click Import.
Results
If successful, the imported object space is available when you browse the object
space.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space > Browse Object Space to display the Browse Object
Space page.
3. Navigate the hierarchy and select the object that you want to export.
4. From the Protected Object Properties page, click Export to display the Export
Object to File page.
5. Optional: Select the Export Object including Children check box to descend
the object hierarchy and export all child objects.
6. Optional: In the Encryption String text field, type the string to use to encrypt
the XML file. If not specified, the exported file is in plain text.
7. When an Encryption String is provided, in the Confirm Encryption String
text field, type the string again.
8. Click Export to display the File Download window.
9. Click Save to display the Save As window.
10. Click Save to create the file that contains the exported description. The default
file name is objectExport.xml.
72 IBM Security Access Manager for Web Version 7.0: Administration Guide
Results
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space → Browse Object Space.
3. From the Browse Object Space page, expand and click the object space that you
want to delete.
4. From the Protected Object Properties page, the name of the object space is
displayed in the Object Name field. Click Delete.
5. To confirm the deletion, click Delete again.
Results
Procedure
1. Log on to the domain as a domain administrator.
2. Use the objectspace delete command.
Example
For example, to delete the object space named /Test-Space, enter the following
command:
pdadmin sec_master> objectspace delete /Test-Space
See the IBM Security Access Manager for Web: Command Reference.
In the following sections, instructions are provided for using either Web Portal
Manager or pdadmin, or both. For online help while using Web Portal Manager,
click the question mark to open a separate help window for the current page.
Note: There are no equivalent pdadmin commands for importing and exporting
objects.
After an object space is created, you can populate it with objects and then manage
these objects. For information about creating an object space, see “Create an object
space” on page 69.
Create an object
You can create an object with Web Portal Manager or the pdadmin utility.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space > Create Object to display the Create Protected Object
page.
3. Type the full path of the object in the Object Name text field. For example,
type /Management/Groups/test-object.
4. Optional: In the Description text field, type a description for the object. For
example, type Test Object.
5. Click Create.
What to do next
To be able to attach a policy to this protected object, click Object Space → Browse
Object Space. The Browse Object Space page provides a hierarchical view of all
the objects in the domain as links. Click the link for an object to go to its Protected
Object Properties page. From this page, select the Can Policy be attached to this
object check box and click Apply.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space → Browse Object Space to display the Browse Object Space
page.
3. Navigate the object hierarchy and select the link of the parent object to display
the Protect Object Properties page. For example, select the link that is
associated with the /Management/Groups object.
4. Click the Create Child Object link to display the Create Protected Object page
where the Object Name and Description fields contain the values of the parent
object.
5. In the Object Name field, append a slash and the name of the new object. For
example, append /test-object to the provided parent path of
/Management/Groups.
6. Optional: In the Description field, modify the description for the object. For
example, type Test Object.
7. Click Create.
What to do next
After the object is created, a dialog is displayed with the link to this object. To
attach a policy to this protected object, click this link to display its Protected Object
Properties page. From this page, select the Can Policy be attached to this object
check box and click Apply.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the object create command.
Results
76 IBM Security Access Manager for Web Version 7.0: Administration Guide
8 Unused
9 HTTP server
10 Nonexistent object
11 Container object
12 Leaf object
13 Port
14 Application container object
15 Application leaf object
16 Management object
17 Unused
When creating an object, a type must be specified. You can select an appropriate
category, or use any number to designate the object type and assign a meaning to
it.
If the ispolicyattachable option is omitted from the object create command, this
command assumes that you intended to use the objectspace create command. An
object space is created rather than an object.
See the IBM Security Access Manager for Web: Command Reference.
List objects
You can list objects in the domain with Web Portal Manager or the pdadmin utility.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space > Browse Object Space.
Results
The Browse Object Space page displays all the objects in the domain in a
hierarchical structure. All object spaces are listed at the same structural level as the
default /Management object space. Each object space and each object are displayed
as a link. When you select any link, the Protected Object Properties page for that
object or object space is displayed.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the object list command.
For example, to list the objects under the /Management object space, enter the
following command:
pdadmin sec_master> object list /Management
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space > Import Object.
3. From the Import Protected Object From File page, complete one of the
following steps:
v In the Object File Name field, type the name of the object to import. For
example, type objectImport.xml.
v Click Browse to select a file name.
4. Optional: Select the Create Groups check box to trigger the creation of a group
for associated ACLs with the type Group.
5. When the Create Groups box is selected, in the Registry Container text field,
type the name of the registry container. For example, type o=ibm,c=us.
6. The file that contains the object space might be encrypted when it was
exported. In the Encryption String text field, type the string that was used to
encrypt the XML file.
7. Click Import.
Results
If successful, the imported object is available when you browse the object space.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space → Browse Object Space to display the Browse Object
Space page.
3. Navigate the hierarchy and select the object that you want to export.
4. From the Protected Object Properties page, click Export to display the Export
Object to File page.
5. Optional: Select the Export Object including Children check box to descend
the object hierarchy and export all child objects.
6. Optional: In the Encryption String text field, type the string to use to encrypt
the XML file. If not specified, the exported file is in plain text.
7. When an encryption string is provided, in the Confirm Encryption String text
field, type the string again.
8. Click Export to display the File Download window.
78 IBM Security Access Manager for Web Version 7.0: Administration Guide
9. Click Save to display the Save As window.
10. Click Save to create the file that contains the exported description. The default
file name is objectExport.xml.
Results
Delete an object
You can delete an object with Web Portal Manager or the pdadmin utility.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space → Browse Object Space.
The Browse Object Space page provides a hierarchical display of all objects in
the domain as links.
3. Click the link for an object to see its properties. These properties include
whether ACL policies, POPs, and authorization rules are attached to the object
and whether the object has extended attributes. For example, click the
/Management/text-object link to display its properties.
4. From the Protected Object Properties page, ensure the object named is the one
you want to delete and click Delete.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the object delete command.
Example
See the IBM Security Access Manager for Web: Command Reference.
ACL policies contain ACL entries that control who can access which domain
resources and do which actions. A domain administrator manages the ACL policies
by adding, removing, and modifying the ACL entries in the ACL policies. See
“ACL policies.” For details about the ACL policy tasks that a domain administrator
can do, see “Manage ACL policies” on page 87.
An ACL entry defines a user or group and which actions each can do against a
protected object. A domain administrator can manage these ACL entries before or
after the ACL policy is attached to domain resources. Any change to the ACL entry
affects only the access that these users and groups have against a specific domain
resource to which the ACL policy is attached. See “ACL entries” on page 82.
When Security Access Manager is installed, the primary action group is created,
and contains 17 permissions. These permissions are defined with action bits.
ACL policies
In the protected object space, ACL policies can be attached to resource objects and
container objects.
Each ACL policy contains one or more ACL entries that affect only that object. For
example, the ACL policy that is attached to the spooler object might allow all
requesters the following permissions:
v Execute
v List
v Read
v Write
However, the ACL policy that is attached to the docs_repository object might
allow all requesters the following permissions:
© Copyright IBM Corp. 1999, 2013 81
v List
v Read
In this case, both ACL policies that are attached to these objects for all requesters.
However, the permissions that are defined in the ACL entry for all requesters are
different.
Container objects represent specific regions in the protected object space. After a
domain administrator creates an ACL policy and attaches it to a container object,
the ACL policy serves the following important security tasks:
v The root (/) container object begins the chain of ACL inheritance for the entire
protected object space.
v Through inheritance, the root object defines the security policy for the entire
object space.
v Unless an explicit ACL policy is attached to a contained object, the ACL policy
for the container object defines the security policy for all resources in that
container object.
v The traverse permission allows a requester to pass through a container object to
the requested object. To deny access to all objects in a region, remove the
traverse permission (T action bit) from the ACL entry.
v The traverse permission does not grant any other access controls to the container
object.
ACL entries
Each ACL policy can contain one or more ACL entries. Each ACL entry contains
attributes that identify the user or group and the actions that this user or group
can perform.
The number of required attributes for an ACL entry depends on the ACL entry
type. The general format of an ACL entry contains the following attributes:
Type Specifies the entity category (user, group, or special) for which the ACL
entry was created. See “Type attribute” on page 83.
ID The unique identifier (name) of the user or group that is specified with the
type attribute. The any-other and unauthenticated special entry types do
not require the ID attribute. See “ID attribute” on page 83.
Permissions
Defines the set of permissions (actions) that are permitted on the resource
by this user or group. Permissions are defined by using action bits. Action
bits are defined in action groups. See “Permissions attribute” on page 83
and “Action groups and actions” on page 84.
82 IBM Security Access Manager for Web Version 7.0: Administration Guide
Type attribute
The type attribute of an ACL entry type identifies the user, group, or special entity
for a specific ACL entry.
This ACL entry is a mask (a bit-wise and operation) against the any-other
ACL entry to determine the action set. A permission for unauthenticated is
granted only if the permission also appears in the any-other entry.
For example, when unauthenticated has read and write permissions and
any-other has transverse and read permissions, the resulting action set is
read only. This example is shown in the following equation:
unauthenticated -------------rw
+ any-other -------T-----r-
-------------r-
ID attribute
Each user ACL entry and each group ACL entry have unique identifiers (name).
These names must represent valid users or groups that are created in a domain
and have an account in the registry.
The any-other and unauthenticated special entry types do not use the ID attribute.
Permissions attribute
Each ACL entry contains a set of permissions (actions) that describes the specific
operations that are permitted on the object by the user or group. Permissions are
context-sensitive.
A domain administrator modifies the ACL entries in an ACL policy before or after
the ACL policy is attached to an object. The actions that can be defined in an ACL
entry must be previously defined in an action group.
When Security Access Manager is installed, the primary action group is created.
The primary action group is an action group that is created during the installation
of an application or resource manage. As additional applications and resource
managers are installed, additional action groups might be created.
Web Portal Manager divides these permissions into the following categories.
v Base
v Generic
v Application
Table 16 shows the action bit in the primary action group, a brief description of its
associated permission, and its category as shown in Web Portal Manager.
Table 16. Action bits, permissions, and Web Portal Manager category of the default primary
action group
Action bit Description of permission Category
a Attach Base
A Add Base
b Browse Base
B Bypass protected object policy (POP) Base
c Control Base
84 IBM Security Access Manager for Web Version 7.0: Administration Guide
Table 16. Action bits, permissions, and Web Portal Manager category of the default primary
action group (continued)
Action bit Description of permission Category
d Delete Generic
g Delegation Base
l List directory Application
m Modify Generic
N Create Base
R Bypass rule Base
r Read Application
s Server administration Generic
t Trace Base
T Traverse Base
v View Generic
W Password Base
x Execute Application
For example, the read permission (action bit r) must be used only by an action that
requires read-only access to a protected object.
The authorization service does not know or care about the action. A custom action
group can reuse an action bit from the primary action group to create an action in
a custom action group for an unrelated operation. However, this situation might
cause difficulty for a domain administrator who must be able to distinguish
between two dissimilar uses of the same action bit.
A custom action group might use an action that is not appropriately represented
by a default permission. A domain administrator can define a new action bit for a
permission that can be used and be recognized by the authorization service. See
“Manage action groups” on page 102.
An ACL policy is attached to the printer object. If a user requests the use of this
protected printer, that user must have an ACL entry that contains the p action bit.
The authorization service returns a favorable response if the p action bit is present
and the printing operation proceeds. If the authorization service returns an
unfavorable response, the printing operation is not allowed to proceed.
C an Iuse this
printer?
Print A
Authorization Authorization
spooler P
service policy
service I
database
"YES"
Printer ACL
User michael p
As described in “ACL entries” on page 82, ACL entries contain an entry type, an
ID for user and group types, and the set of permissions (action bits).
Permissions that represent the action bits from multiple action groups are
presented in the following format:
bits[group_1]bits_1...[group_n]bits_n
Action group groupC contains action bits that use the same letters for action bits as
used in the primary action group. The action bits are associated with a specific
action group (groupC). The a and b action bits have unique identities and can
represent different permissions from those action bits in the primary action group.
primary
test-group
86 IBM Security Access Manager for Web Version 7.0: Administration Guide
2. To list permissions in the test-group action group, enter the following
command:
pdadmin sec_master> action list test-group
P Test-Action Special
S Test-Action2 Special
3. To list ACL policies, enter the following command:
pdadmin sec_master> acl list
default-webseal
default-root
default-gso
default-policy
default-config
test-acl
default-replica
default-management
4. To show details about the ACL name test-acl, enter the following command:
pdadmin sec_master> acl show test-acl
In the following sections, instructions are provided for either Web Portal Manager
or pdadmin, or both. For online help with Web Portal Manager, click the question
mark to open a separate help window for the current page.
An ACL policy contains an entry with all the defined permissions for the logged in
user who created the ACL policy. You must modify this ACL policy. Add ACL
entries for additional users and groups that need to manage this ACL policy and
the objects to which this ACL policy is attached.
After adding the appropriate ACL entries, you might need to remove the ACL
entry for the user who created the ACL policy.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → Create ACL.
3. In the ACL Name file, type the name of the ACL policy. For example, type
Test-ACL.
4. Optional: In the Description field, type a description of the ACL. For example,
type Test of new ACL.
5. Click Create.
Results
If successful, a link for this ACL policy is available when you list all ACL policies.
You can now add and remove ACL entries from the ACL policy. See “Create an
ACL entry” on page 95 and “Remove ACL entries from an ACL policy” on page
97.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the acl create command.
Results
For example, to create an ACL policy named Test-ACL, enter the following
command:
pdadmin sec_master> acl create Test-ACL
88 IBM Security Access Manager for Web Version 7.0: Administration Guide
For more information, see the IBM Security Access Manager for Web: Command
Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List ACL.
3. From the Manage ACLs page, click the link for the ACL policy that you want
to change.
4. From the ACL Properties page, modify the text in the Description field, as
appropriate.
5. Click Set.
Procedure
1. Log on to the domain as a domain administrator.
2. Use the acl modify command with the description option.
Example
For example, to modify the description of the ACL named Test-ACL to be ACL for
Test resources, enter the following command:
pdadmin sec_master> acl modify Test-ACL description "ACL for Test resources"
To show the modifications to the ACL, use the acl show command. For example, to
show the ACL named Test-ACL, enter the following command:
pdadmin sec_master> acl show Test-ACL
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List ACL.
The Manage ACLs page displays all the ACL policies in the domains.
Procedure
1. Log on to the domain as a domain administrator.
2. Use the acl list command.
pdadmin sec_master> acl list
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List ACL.
3. From the Manage ACLs page, click the link for the ACL policy that you want
to view.
Procedure
1. Log on to the domain as a domain administrator.
2. Use the acl show command.
pdadmin sec_master> acl show test-acl
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL > List ACL.
3. From the Manage ACLs page, select the ACL policy you want to clone.
4. From the ACL Properties page, click Clone.
5. From the Clone ACL page, type an ACL Name. For example, type Test-ACL.
The default value is the name of the original ACL with the prefix Clone.
6. Optional: Type a Description of the ACL policy For example, type Clone of
new ACL. The default value is the description of the original ACL.
7. Click Clone.
90 IBM Security Access Manager for Web Version 7.0: Administration Guide
Results
If successful, a link for the cloned ACL policy is created and a success message is
displayed.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL > Import ACL.
3. From the Import ACL page, complete one of the following steps:
v In the ACL File Name field, type the name of the ACL to import. For
example, type aclImport.xml.
v Click Browse to select a file name.
4. Optional: Select the Create Groups check box to create a group for ACL entries
with the type Group.
5. If you selected Create Groups, type the name of the registry container for the
ACL in the Registry Container field. For example, type o=ibm,c=us.
6. The file that contains the ACL might be encrypted when it was exported. In the
Encryption String field, type the string that was used to encrypt the XML file.
7. Click Import.
Results
If successful, the imported ACL policy is available when you list all the ACL
policies.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL > Export All ACLs to display the Export ACL to File page.
3. Optional: In the Encryption String text field, type the string to use to encrypt
the XML file. If not specified, the exported file is in plain text.
4. When an encryption string is provided, in the Confirm Encryption String text
field, type the string again.
5. Click Export to display the File Download window.
6. Click Save to display the Save As window.
7. Click Save to create the file that contains the exported description. The default
file name is aclExport.xml.
Results
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL > List ACL.
3. From the Manage ACLs page, select the ACL that you want to export.
4. From the ACL Properties page, click Export to display the Export ACL to File
page.
5. Optional: In the Encryption String field, type the string to use to encrypt the
XML file. If not specified, the exported file is in plain text.
6. When an encryption string is provided, type the string again in the Confirm
Encryption String field.
7. Click Export to display the File Download window.
8. Click Save to display the Save As window.
9. Click Save to create the file that contains the exported description. The default
file name is aclExport.xml.
Results
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL > List ACL.
3. From the Manage ACLs page, select the ACLs that you want to export.
4. Click Export to display the Export ACL to File page.
5. Optional: In the Encryption String text field, type the string to use to encrypt
the XML file. If not specified, the exported file is in plain text.
6. When an encryption string is provided, in the Confirm Encryption String text
field, type the string again.
7. Click Export to display the File Download window.
8. Click Save to display the Save As window.
9. Click Save to create the file that contains the exported descriptions. The default
file name is aclExport.xml.
Results
92 IBM Security Access Manager for Web Version 7.0: Administration Guide
To do this task, the administrator requires the attach (a) permission.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List ACL.
3. From the Manage ACLs page, click the link for the name of the ACL that you
want to attach to a protected object.
4. From the ACL Properties page, click the Attach tab.
5. Click Attach.
6. From the Attach ACL page, type a Protected Object Path. For example, type
/Management/test-object.
7. Click Attach.
Results
If successful, the protected object is displayed as a protected object link for the
named ACL.
Procedure
1. Log on to the domain.
2. Use the acl attach command.
Results
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List ACL.
3. From the Manage ACLs page, click the link for the ACL policy to detach.
Procedure
1. Log on to the domain.
2. Use the acl detach command.
Example
For example, to detach the ACL from the protected object named
/Management/test-object, enter the following command:
pdadmin sec_master> acl detach /Management/test-object
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL > List ACL. A list of ACL names is displayed.
3. From the Manage ACLs page, click the link for the name of the ACL.
4. From the ACL Properties page, click the Attach tab.
Procedure
1. Log on to the domain as a domain administrator.
2. Use the acl find command.
Example
For example, to find where the ACL named Test-ACL is attached, enter the
following command:
pdadmin sec_master> acl find Test-ACL
See the IBM Security Access Manager for Web: Command Reference.
94 IBM Security Access Manager for Web Version 7.0: Administration Guide
Delete an ACL policy
You can delete an ACL policy with Web Portal Manager or the pdadmin utility.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List ACL.
3. From the Manage ACLs page, select one or more check boxes of the ACL
policies that you want to delete.
4. Click Delete, and then confirm the deletion by clicking Delete again on the
Delete confirmation page.
Results
If successful, the ACL policy is no longer included in the list of ACL policies in the
Manage ACLs page.
Procedure
1. Log on to the domain as a domain administrator.
2. Use the acl delete command.
Results
For example, to delete the ACL named Test-ACL, enter the following command:
pdadmin sec_master> acl delete Test-ACL
See the IBM Security Access Manager for Web: Command Reference.
In the following sections, instructions are provided for using either Web Portal
Manager or the pdadmin utility, or both. For online help while using Web Portal
Manager, click the question mark to open a separate help window for the current
page.
v “Create an ACL entry”
v “Modify permissions for an ACL entry” on page 96
v “Remove ACL entries from an ACL policy” on page 97
Use this procedure to create the ACL entry for any user, group, or special ACL
entry type (any-other and unauthenticated).
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List ACL.
3. From the Manage ACLs page, click the link for the ACL policy you want to
change.
4. From the ACL Properties page, click Create.
5. Select the appropriate entry type: user, group, any-other, or unauthenticated.
6. For user or group, specify the name.
7. Select the check box for each permission to enable.
8. Click Apply.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the acl modify command with the set option.
Results
For example, to create the permissions for user maryj for the Test-ACL ACL policy
to have r (read) action bit, enter the following command:
pdadmin sec_master> acl modify Test-ACL set user maryj r
To show the modifications to the ACL, use the acl show command. For example, to
show the ACL named Test-ACL, enter the following command:
pdadmin sec_master> acl show Test-ACL
See the IBM Security Access Manager for Web: Command Reference.
Use this procedure to modify the permissions for any user, group, or special ACL
entry type (any-other and unauthenticated).
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL > List ACL.
96 IBM Security Access Manager for Web Version 7.0: Administration Guide
3. From the Manage ACLs page, click the link for the ACL policy you want to
change.
4. From the ACL Properties page, click the permission link.
5. From the ACL Entry Properties page, select the check box for each permission
to enable the permission. Clear the check box for each permission to disable the
permission.
6. Click Apply.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the acl modify command with the set option.
Example
For example, to modify the permissions for user maryj for the Test-ACL ACL policy
to have r (read) and w (write) action bits, enter the following command:
pdadmin sec_master> acl modify Test-ACL set user maryj rw
To show the modifications to the ACL, use the acl show command. For example, to
show the ACL named Test-ACL, enter the following command:
pdadmin sec_master> acl show Test-ACL
See the IBM Security Access Manager for Web: Command Reference.
Use this procedure to remove the ACL entry for any user, group, or special ACL
entry type (any-other and unauthenticated).
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL > List ACL.
3. From the Manage ACLs page, click the link for the ACL policy that you want
to remove.
4. From the ACL Properties page, select the user, group, or special ACL entry type
to remove.
5. Click Delete.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the acl modify command with the remove option.
Example
For example, to remove the ACL entry for user maryj from the Test-ACL ACL
policy, enter the following command:
pdadmin sec_master> acl modify Test-ACL remove user maryj
To show the modifications to the ACL, use the acl show command. For example, to
show the ACL named Test-ACL, enter the following command:
pdadmin sec_master> acl show Test-ACL
See the IBM Security Access Manager for Web: Command Reference.
For online help while using Web Portal Manager, click the question mark to open a
separate help window for the current page.
v “Create extended attributes for an ACL policy”
v “Modifying extended attributes from an ACL policy with pdadmin” on page 99
v “List extended attributes of an ACL policy” on page 99
v “View extended attributes of an ACL policy” on page 100
v “Delete extended attributes from an ACL policy” on page 101
v “Deleting extended attribute values from an ACL policy with pdadmin” on page
101
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL > List ACL.
3. From the Manage ACLs page, click the link of the ACL policy for which you
want to create an extended attribute.
4. From the ACL Properties page, click the Extended Attribute tab.
98 IBM Security Access Manager for Web Version 7.0: Administration Guide
5. Click Create.
6. From the Create Extended Attribute page, define the extended attribute:
a. In the Attribute Name field, type the name of the attribute. This field is
displayed only when the attribute type is “Generic Attribute”.
b. In the Attribute Type field, select the type of attribute.
c. In the Attribute Value field, select the value for the attribute, unless the
selected attribute type is “Generic Attribute”. When you select the “Generic
Attribute” attribute type, type the value for the attribute.
7. Click Apply.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the acl modify command with the set attribute option.
Example
For example, to create a generic attribute named Dept_No with a value of 445 and
associate it with the ACL named Test-ACL, enter the following command:
pdadmin sec_master> acl modify Test-ACL set attribute Dept_No 445
See the IBM Security Access Manager for Web: Command Reference.
Web Portal Manager does not support modifying attributes. To use Web Portal
Manager, an administrator needs to delete the attribute and then create the
attribute again.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the acl modify command with the set attribute option.
Example
For example, to modify a generic attribute named Dept_No and add a value of 445
and associate it with the ACL named Test-ACL, enter the following command:
pdadmin sec_master> acl modify Test-ACL set attribute Dept_No 445
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List ACL.
3. From the Manage ACLs page, click the link for name of the ACL policy that
you want to view.
4. From the ACL Properties page, click the Extended Attribute tab.
Results
The ACL Properties page displays all the extended attributes for the selected ACL
policy.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the acl list command with the attribute option.
Example
For example, to list the extended attributes of the ACL policy named pub_acl_3,
enter the following command:
pdadmin sec_master> acl list pub_acl_3 attribute
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List ACL.
3. From the Manage ACLs page, click the link for the ACL policy that you want
to view.
4. Click the Extended Attribute tab.
100 IBM Security Access Manager for Web Version 7.0: Administration Guide
Procedure
1. Log on to the domain as the domain administrator.
2. Use the acl show command with the attribute option.
Example
For example, to show the myAttribute attribute of the test-acl ACL policy, enter
the following command:
pdadmin sec_master> acl show test-acl attribute myAttribute
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List ACL.
3. From the Manage ACLs page, click the link for the ACL policy from which you
want to delete extended attributes.
4. From the ACL Properties page, click the Extended Attributes tab.
5. Select the extended attributes.
6. Click Delete.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the acl modify command with the delete attribute option.
Example
For example, to delete the extended attributed named Dept_No from the ACL
named Test-ACL, enter the following command:
pdadmin sec_master> acl modify Test-ACL delete attribute Dept_No
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Log on to the domain as the domain administrator.
Example
For example, to delete the value 445 from the extended attributed named Dept_No
from the ACL named Test-ACL, enter the following command:
pdadmin sec_master> acl modify Test-ACL delete attribute Dept_No 445
See the IBM Security Access Manager for Web: Command Reference.
Each permission is associated with an action bit. These predefined permissions are
described in “Default permissions in the primary action group” on page 84.
When you define an action group, the following guidelines and limitations apply:
v Each action group can hold up to 32 action bits (including the action bits for the
17 predefined permissions).
v An action bit is made up of a letter: a-z, A-Z.
v Each action bit character can be used only one time in an action group.
v You can reuse the same action bit in other action groups.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → Create Action Group.
3. Type the new Action Group Name. For example, type test-group.
102 IBM Security Access Manager for Web Version 7.0: Administration Guide
4. Click Create.
Results
Procedure
1. Log on to the domain as the domain administrator.
2. Use the action group create command.
Example
For example, to create an action group named test-group, enter the following
command:
pdadmin sec_master> action group create test-group
The primary action group always appears in a group listing and cannot be deleted.
You must have an entry in an ACL on the /Management/ACL object with the modify
(m) action to create action groups and the delete (d) permission to delete action
groups.
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List Action Groups.
Results
The Manage Action Groups page displays a list of all action groups in the domain.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the action group list command.
Example
For example, to list all action groups, enter the following command:
pdadmin sec_master> action group list
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List Action Groups.
3. From the Manage Action Groups page, select one or more check boxes for the
action groups that you want to delete.
4. Click Delete.
5. Confirm the deletion by clicking Delete again on the Delete Action Groups
page.
Procedure
1. Log on to the domain as a domain administrator.
2. Use the action group delete command.
Example
For example, to delete the action group named test-group, enter the following
command:
pdadmin sec_master> action group delete test-group
See the IBM Security Access Manager for Web: Command Reference.
Manage actions
You can manage actions with the Web Portal Manager or the pdadmin utility.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL > List Action Groups.
3. From the Manage Action Group page, click the link for the action group name
in which to create the permission. For example, select the Test-Group link.
104 IBM Security Access Manager for Web Version 7.0: Administration Guide
4. From the Action Group Properties page, click Create to display the Create
Action page. The Action Group Name is automatically completed.
5. Type a single character Action Name. For example, type x.
6. In the Action Label field, type a short description of the permission. For
example, type Execute.
7. In the Action Type field, type a description of the permission, such as the
application to which the permission is specific. For example, type WebSEAL.
8. Click Create.
Results
Procedure
1. Log on to the domain as the domain administrator.
2. Use the action create command.
Example
For example, to create an x action bit in the Test-Group action group, enter the
following command:
pdadmin sec_master> action create x Execute WebSEAL Test-Group
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List Action Groups.
3. From the Manage Action Group page, click the link for the action group name.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the action list command.
Example
For example, to list the actions in the Test-Group action group, enter the following
command:
pdadmin sec_master> action list Test-Group
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL → List Action Groups.
3. From the Manage Action Group page, click the link for the action group name
that contains the permission to be deleted.
4. From the Action Group Properties page, select the permission to delete.
5. Click Delete.
6. Confirm the deletion by clicking Delete on the Delete Action page.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the action delete command.
Example
For example, to delete the x action bit from the Test-Group action group, enter the
following command:
pdadmin sec_master> action delete x Test-Group
See the IBM Security Access Manager for Web: Command Reference.
106 IBM Security Access Manager for Web Version 7.0: Administration Guide
Chapter 9. Protected object policy management
The access control list (ACL) policies provide the authorization service with
information to make a yes or no answer on a request to access a protected object
and do some operation on that object. A protected object policy (POP) contains
additional conditions on the request. The conditions are passed back to the
resource manager along with the yes ACL policy decision from the authorization
service.
Table 17 lists the available attributes for a POP that are provided by Security
Access Manager.
Table 17. POP attributes that Security Access Manager provides
POP attribute Description
Name Specifies the name of the policy. This attribute relates to
the pop-name variable in the pop command
documentation.
Description Specifies the descriptive text for the policy. This attribute
occurs in the pop show command.
Warning mode Provides administrators a means to test ACLs, POPs, and
authorization rules. Warning mode provides a way to
test the security policy before it is made active.
Audit level Specifies the type of auditing: all, none, successful access,
denied access, or errors. Audit level informs the
authorizations service that extra services are required
when permitting access to the object.
Time-of-day Access Day and time restrictions for successful access to the
protected object. Time-of-day places restrictions on the
access to the object.
IP endpoint authorization Specifies authorization requirements for access from
method policy members of external networks. The IP endpoint
authentication method policy places restrictions on the
access to the object.
EAS trigger attributes Specifies an External Authorization Service (EAS) plug-in
that is started to make an authorization decision with the
externalized policy logic of the customer.
Quality of Protection Specifies the degree of data protection: none, integrity, or
privacy. Quality of Protection informs the authorizations
service that extra services are required when permitting
access to the object.
Although Security Access Manager provides these POP attributes, it enforces only
the following attributes:
v Name
v Description
v Warning mode
v Audit level
v Time-of-day Access
POPs are placed in the master authorization database on a per domain basis,
which is controlled by the policy server.
In the following sections, instructions are provided for using either Web Portal
Manager or the pdadmin utility, or both. For online help while using Web Portal
Manager, click the question mark to open a separate help window for the current
page.
Create a POP
You can create a POP with Web Portal Manager or the pdadmin utility.
After creating a POP, you can attach it to an object. For information about
attaching a POP, see “Attach a POP to an object” on page 114.
108 IBM Security Access Manager for Web Version 7.0: Administration Guide
Creating a POP with Web Portal Manager
You can create a POP with Web Portal Manager.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click POP > Create POP to display the Create POP page.
3. In the POP Name field, type the name for the POP. For example, type
poptest1.
4. In the Description field, type a description of the POP.
5. Select one or more check boxes for the appropriate audit levels. The audit
level is the level of auditing that applies when a resource is accessed to which
this POP is attached. You can select more than one audit level. The following
choices are available:
Permit
Audits all of the requests on a protected object that result in successful
access.
Deny Audits all of the requests on a protected object that result in a denial
of access.
Error Audits all of the internally generated error messages that result from a
denial of access to the protected object.
Admin
Audits not used by Security Access Manager. However, this option
can be used by custom applications.
See “Set an audit level” on page 119.
6. Select the Warn Only On Policy Violation check box to enable warning mode
attributes. A warning mode attribute indicates whether a policy violation that
is related to a resource results in denial of access or in an auditable failure. An
auditable failure is an access attempt to a resource to which a POP applies,
that results in auditing the access, not denying the access.
See “Set a warning mode” on page 118.
7. Select a type of Quality of Protection. The level of protection applies when a
resource is accessed to which this POP is attached. The following choices are
available:
None Requires no Quality of Protection.
Integrity
Uses some mechanism to ensure that the data is not changed.
Privacy
Requires data encryption for Secure Sockets Layer (SSL).
See “Set a Quality of Protection level” on page 122.
8. Optional: For Time of Day Access, specify the days and times of the day that
the resource can be accessed.
v Select the check boxes for the days of the week that the resource can be
accessed.
v Select either All Day or Between hours of for the access times that the
resource can be accessed on the selected days.
v If you select Between hours of, you must also specify the Start time and
End time.
v If you select Between hours of, you must also specify the Local Time or
UTC Time (Coordinated Universal Time).
Chapter 9. Protected object policy management 109
See “Set a time-of-day restriction” on page 119.
9. Click Create or click Create Another if you want to create another POP.
If successful, a message confirms that the POP was created.
10. If you clicked Create, click Done. Otherwise, repeat this procedure. Start at
step 3 on page 109 to create another POP.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the pop create command.
Results
After creating a POP, you can attach it to an object. See “Attach a POP to an
object” on page 114.
Example
For example, to create a POP named poptest1, enter the following command:
pdadmin sec_master> pop create poptest1
See the IBM Security Access Manager for Web: Command Reference.
Modify a POP
You can modify a POP with Web Portal Manager or the pdadmin utility.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click POP > List POP to display the Manage POPs page.
3. Click the link for the POP. For example, select poptest1 to display the POP
Properties page.
4. Click the General tab to change the information for the POP, as needed. For
example, change the description from Test POP to Test 1 for POP and then
click Apply.
5. Click the Attach tab to change the protected object attachments.
6. Click the IP Auth tab to change the IP authentication.
7. Click the Extended Attributes tab to change an extended attribute.
110 IBM Security Access Manager for Web Version 7.0: Administration Guide
Modifying a POP with pdadmin
You can modify a POP with the pdadmin utility.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the pop modify commands.
Example
For example to enable the warning mode and set the audit level to permit and
deny for the poptest1 POP, enter the following commands:
pdadmin sec_master> pop modify poptest1 set warning yes
pdadmin sec_master> pop modify poptest1 set audit-level permit,deny
To show these modifications, use the pop show commands. For example, to show
the modifications to the poptest1 POP, enter the following command:
pdadmin sec_master> pop show poptest1
See the IBM Security Access Manager for Web: Command Reference.
List POPs
You can list all POPs with Web Portal Manager or the pdadmin utility.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click POP → List POP to display the Manage POPs page.
Results
Procedure
1. Log on to the domain as the domain administrator.
2. Use the pop list command.
Example
View a POP
You can view a POP with Web Portal Manager or the pdadmin utility.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click POP > List POP to display the Manage POPs page.
3. Click the link for the POP. For example, select poptest1 to display the POP
Properties page.
4. On the General tab, change the information for the POP, as needed. For
example, change the description from Test POP to Test 1 for POP, and then
click Apply.
5. Click the Attach tab to view the protected object attachments.
6. Click the IP Auth tab to view the IP authentication.
7. Click the Extended Attributes tab to view all extended attributes.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the pop show commands.
Example
For example, to show the modifications to the POP name poptest1, enter the
following command:
pdadmin sec_master> pop show poptest1
See the IBM Security Access Manager for Web: Command Reference.
Cloning a POP
You can clone a POP only with the Web Portal Manager.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click POP > List POP.
3. From the Manage POPs page, select the POP you want to clone.
4. From the POP Properties page, click Clone.
112 IBM Security Access Manager for Web Version 7.0: Administration Guide
5. From the Clone POP page, in the POP Name text field, type the name of the
POP. For example, type Test-POP. The default value is the name of the original
POP with the prefix Clone. This field is required.
6. Optional: In the Description text field, type the description of the POP. For
example, type Clone of new POP. The default value is the description of the
original POP.
7. Click Clone.
Results
If successful, a link for this cloned POP is created and a success message is
displayed.
Importing POPs
You can import a POP in the domain only with Web Portal Manager.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click POP > Import POP.
3. From the Import POP page, complete one of the following steps:
v In the POP File Name field, type the name of the POP to import. For
example, type popImport.xml.
v Click Browse to select a file name.
4. The file that contains the POP might be encrypted when it was exported. In the
Encryption String text field, type the string that was used to encrypt the XML
file.
5. Click Import.
Results
If successful, the imported POP is available when you list all the POPs.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click POP > Export All POPs to display the Export POP to File page.
3. Optional: In the Encryption String text field, type the string to use to encrypt
the XML file. If not specified, the exported file is in plain text.
4. When an encryption string is provided, in the Confirm Encryption String text
field, type the string again.
5. Click Export to display the File Download window.
6. Click Save to display the Save As window.
7. Click Save to create the file that contains the exported POP description. The
default file name is popExport.xml.
Results
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click POP > List POP.
3. From the Manage POPs page, select the POP that you want to export.
4. From the POP Properties page, click Export to display the Export POP to File
page.
5. Optional: In the Encryption String text field, type the string to use to encrypt
the XML file. If not specified, the exported file is in plain text.
6. When an encryption string is provided, in the Confirm Encryption String text
field, type the string again.
7. Click Export to display the File Download window.
8. Click Save to display the Save As window.
9. Click Save to create the file that contains the exported POP description. The
default file name is popExport.xml.
Results
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click POP > List POP.
3. From the Manage POPs page, select the POPs that you want to export.
4. Click Export to display the Export POP to File page.
5. Optional: In the Encryption String text field, type the string to use to encrypt
the XML file. If not specified, the exported file is in plain text.
6. When an encryption string is provided, in the Confirm Encryption String text
field, type the string again.
7. Click Export to display the File Download window.
8. Click Save to display the Save As window.
9. Click Save to create the file that contains the exported POP descriptions. The
default file name is popExport.xml.
Results
114 IBM Security Access Manager for Web Version 7.0: Administration Guide
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click POP → List POP to display the Manage POPs page.
3. Click the link for the POP.
4. From the POP Properties page, click the Attach tab.
5. Click Attach to display the Attach POP page.
6. Type the Protected Object Path for the protected object to which to attach the
POP. Express® the path as the full path name. For example, type
/WebSEAL/serverA/index.html.
7. Click Attach.
Results
If successful, the protected object is added to the list at the POP Properties–Attach
page.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the pop attach command.
Example
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click Object Space → Browse to display the Browse Object Space page.
3. Click the link for the POP.
4. From the POP Properties page, click the Attach tab.
5. Select one or more check boxes for the protected objects from which you want
to detach the POP.
6. Click Detach to display the Detach POP from Object page, where you are
prompted to confirm or cancel the detachment.
Example
For example, to detach the POP from the protected object named
/WebSEAL/serverA/index.html, enter the following command:
pdadmin sec_master> pop detach /WebSEAL/serverA/index.html
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click ACL > List POP. A list of POP names is displayed. Each POP name is a
link that you can click to display the POP properties page.
3. Click the Attach tab.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the pop find command.
Example
For example, to find where the POP named poptest1 is attached, enter the
following command:
pdadmin sec_master> pop find poptest1
/WebSEAL/serverA/index.html
See the IBM Security Access Manager for Web: Command Reference.
Delete a POP
You can delete a POP with Web Portal Manager or the pdadmin utility.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click POP → List POP to display the Manage POPs page.
3. Select one or more check boxes for the POPs that you want to delete.
4. Click Delete to display the Delete Pop page.
116 IBM Security Access Manager for Web Version 7.0: Administration Guide
5. Click Delete to confirm the deletion.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the pop delete command.
Results
For example, to delete the POP named poptest2, enter the following command:
pdadmin sec_master> pop delete poptest2
See the IBM Security Access Manager for Web: Command Reference.
Note: The ACL policy bypass (B) permission overrides POP authorization
conditions on an object. This permission must be used only by a high-level
administrator who needs full access to the protected object space.
2. Verify whether a rule is attached to the object, then verify that all the access
decision information (ADI) is present for the coming rule evaluation. If it is not,
then find it by querying one of the available sources.
3. Check the IP endpoint authentication method policy on the POP.
4. Check the time-of-day policy on the POP.
5. Check the audit level policy on the POP.
6. Check the authorization rule policy if a rule is attached to the object.
7. If an external authorization service (EAS) operation or POP trigger applies to
this access decision, then start the EAS that applies.
When you define a network-based authentication policy, specify these parts of the
attribute:
v Step-up authentication
v Allowed networks
You can also apply step-up authentication configuration to this policy and require
a specific authentication method for each specified IP address range. See “Step-up
authentication” on page 122.
Note: The IP address used by the resource manager for enforcing the
network-based authorization policy must be the IP address of the originator of the
connection. If your network topology uses proxies, the address that appears to the
resource manager might be the IP address of the policy proxy server.
In this case, the resource manager cannot definitively identify the true IP address
of the client. When setting a network-based authorization policy that depends on
specific client IP addresses, ensure that those network clients are connecting
directly to the resource manager.
When you set the warning mode attribute to yes, any action is possible by any
user on the object where the POP is attached. Any access to an object is permitted
even if the security policy that is attached to the object is set to deny this access.
Audit records are generated that capture the results of all security policies with
warning mode set throughout the object space. The audit log shows the outcome
of an authorization decision as if the warning attribute was set to no. Therefore, the
administrator can determine if the policy is set and enforced correctly.
For example:
pdadmin sec_master> pop modify poptest1 set warning yes
118 IBM Security Access Manager for Web Version 7.0: Administration Guide
Set an audit level
The pop modify set audit-level command specifies the granularity level of
auditing for a POP.
For example, auditing might be set to record unsuccessful events. You can use the
results to detect an unusual number of failed access attempts on a particular
resource.
You can apply any combination of these values or specify either all to audit all
requests or none to audit no requests. When enabling granular auditing, specify
one or more of the following values:
v permit
v deny
v error
When you specify multiple granular values, use a comma as a separator character
between these values.
This type of condition might be useful to limit access to information that regularly
requires periods of inactivity for modification and updates.
pdadmin sec_master> pop modify pop_name set tod-access
time_of_day_string
The time_spec range variable must be expressed (in 24 hour time) in the following
format:
For example, you can specify the time range with the following string:
0700-1945
The optional time zone [:{utc|local}] for the server (not the client) is local by
default.
For example to change the time-of-day attribute to Monday, Tuesday, and Friday
from 1:15 p.m. to 5:30 p.m. local time for the POP named poptest1, enter the
following command:
pdadmin sec_master> pop modify poptest1 set tod-access mon,tue,fri:1315-1730
Note: When modifying a protected object policy, you provide a list of days, start
time, and end time. The start time and end time apply to each day on the list. If
the specified start time is greater than the specified end time, then the access is
allowed until the specified end time of the next day.
Note: When adding addresses to a POP, IPv4 addresses must be specified in IPv4
format, due to limitations in the operating system functions provided to Security
Access Manager.
All POPs have an anyothernw (any other network) IP entry whose default
authentication level is 0. The anyothernw entry applies to all networks not
specified in the POP. Authentication level 0 adds no additional requirement for
authentication. The anyothernw authentication level can be modified to a non-zero
number or to forbidden.
The anyothernw entry appears in a POP as Any Other Network in the output of the
pop show command:
pdadmin sec_master> pop show poptest1
You might need more information about setting the IP authentication mechanism
with the pop modify command. See the IBM Security Access Manager for Web:
Command Reference.
120 IBM Security Access Manager for Web Version 7.0: Administration Guide
Adding IP entries
The pdadmin pop modify set ipauth add command specifies the network (or
network range). The command also specifies the required authentication level in
the IP endpoint authentication method attribute. You might need to add IP entries
to a POP.
Procedure
Note: When adding addresses to a POP, IPv4 addresses must be specified in IPv4
format, due to limitations in the operating system functions provided to Security
Access Manager.
Example
The following example adds an IP entry for identities from IPv4 addresses that
begin with 9.
pdadmin sec_master> pop modify poptest1 set ipauth add 9.0.0.0 255.0.0.0 5
The following example prevents all users (except users specified in the examples)
from accessing the object:
pdadmin sec_master> pop modify poptest1 set ipauth anyothernw forbidden
See the IBM Security Access Manager for Web: Command Reference.
Deleting IP entries
The pdadmin pop modify set ipauth remove command disables authorization
requirements for IP addresses that were previously added to a POP.
Procedure
1. Use the pdadmin pop modify set ipauth remove command for an existing POP.
The following example deletes an IPv4 entry from the poptest1 POP:
pdadmin sec_master> pop modify poptest1 set ipauth remove 9.0.0.0 255.0.0.0
What to do next
See the IBM Security Access Manager for Web: Command Reference.
The Quality of Protection POP attribute permits a single transaction where the yes
response to the ACL decision also includes the required Quality of Protection level.
If the resource manager cannot guarantee the required level of protection, the
request is denied.
Use the following pop modify command syntax to modify the QoP level for an
object:
pdadmin sec_master> pop modify pop-name set qop {none|integrity|privacy}
Table 19. Quality of Protection levels
QoP level Description
none Requires no Quality of Protection.
privacy Data encryption is required for Secure Sockets Layer (SSL).
integrity Use some mechanism to ensure that the data is not changed.
For example, to modify the POP named poptest1 to set the Quality of Protection
level to use SSL data encryption, enter the following command:
pdadmin sec_master> pop modify poptest1 set qop privacy
Step-up authentication
You can use protected object policies (POPs) to enforce certain access conditions on
specific resources. The authentication strength policy makes it possible to control
access to objects based on authentication method.
For example, you can provide greater security to a junctioned region of the
protected object space. Apply a step-up POP policy that requires a stronger level of
authentication than the client used when initially entering the domain.
Any client that accesses a resource manager has an authentication level, such as
“unauthenticated” or “password”. The level indicates the method with which the
client was last authenticated by the resource manager.
122 IBM Security Access Manager for Web Version 7.0: Administration Guide
environment, authentication by token pass code might be considered more secure
than authentication by user name and password. Another environment might
require different standards.
The step-up authentication mechanism does not force clients to restart their
sessions with the resource manager when they do not meet the required level of
authentication. Instead, the step-up authentication mechanism provides clients a
second chance to authenticate with the required method of authentication (level).
The pop modify set ipauth command specifies both the allowed networks and the
required authentication level in the IP endpoint authentication method attribute.
The anyothernw entry is used as a network range that matches any network not
otherwise specified in the POP. Use this method to create a default entry that can
either deny all unmatched IP addresses or allow anyone access who meets the
authentication level requirement.
See the IBM Security Access Manager for Web: Command Reference.
The following example shows the series of commands that are needed to define
step-up authentication:
pdadmin > pop create test1
pdadmin > pop modify test1 set ipauth anyothernw 1
pdadmin > pop attach /WebSEAL/hostA/junction test1
124 IBM Security Access Manager for Web Version 7.0: Administration Guide
Chapter 10. Authorization rules management
These topics provide information about Security Access Manager authorization
rules. Authorization rules are conditions contained in an authorization policy that
are used to make access decisions based on attributes such as user, application, and
environment context.
A rule is created with a number of Boolean conditions that are based on data
supplied to the authorization engine within the user credential. Data might be
supplied from the resource manager application or from the encompassing
business environment. The language of an authorization rule allows customers to
work with complex, structured data by examining the values in that data and
making informed access decisions. This information can be defined statically
within the system or can be defined during a business process. Rules can also be
used to implement extensible, attribute-based, authorization policy by using
attributes within the business environment or attributes from trusted external
sources.
A Security Access Manager authorization rule is a policy type like an access control
list (ACL) or a protected object policy (POP). The rule is stored as a text rule
within a rule policy object. The rule is attached to a protected object in the same
way and with similar constraints as ACLs and POPs.
Any attribute added to the user credential can be used as ADI in a rule definition.
There are also attributes that are built into the Security Access Manager user
credential when it is created by the authorization engine. Just like attributes that
can be added to the credential by the resource manager, the built-in credential
attributes can be used in authorization rules. The built-in credential attributes
include items of information, such as the user name (or the principal UUID). The
attributes also include the groups (or the group UUID) of which the user is a
member.
See the IBM Security Access Manager for Web: Authorization C API Developer Reference
for a table of valid credential attribute names. All credential attribute names begin
with azn_cred_ (for example, azn_cred_principal_uuid). This table lists attribute
names available in the Security Access Manager authenticated user credential, their
value, and a description.
When developing rules that use these particular attributes, the authorization
engine requires all ADI to be present before a rule can be evaluated. If the ADI is
not available, the authorization decision is returned with an error status. Requiring
the user to authenticate before accessing the protected object with such a rule
attached ensures that the authenticated credential information is available. This
requirement can be achieved with an ACL entry on the object that requires
authenticated access.
126 IBM Security Access Manager for Web Version 7.0: Administration Guide
engine includes the name of the protected object that is the target of the access
decision. The ADI also includes the string of operations that the requesting user
wants to do on the protected object.
The following attribute names are reserved for these data items:
v azn_engine_target_resource
v azn_engine_requested_actions
These services can be developed to retrieve ADI from an enterprise database that
contains employee, customer, partner, or inventory information. The dynamic ADI
retrieval service is called to retrieve ADI when the access decision is being made.
Calling both at the same time has the benefit of being able to retrieve volatile data,
such as quotas, at a time when its value is most current.
A replacement example uses the Web Service Description Language (WSDL) file in
the Security Access Manager Application Development Kit to create and deploy a
custom attribute retrieval service. See the IBM Security Access Manager for Web:
Installation guide for more information about setting up the IBM Security Access
Manager for Web custom attribute retrieval service. Also see the IBM Security
Access Manager for Web: WebSEAL Administration Guide for more information about
using the WSDL file.
Now deprecated, AMWebARS was the official package name for a Security Access
Manager J2EE Web service that implements a dynamic ADI retrieval service. To
facilitate communication between the resource manager, which is starting the rules
engine, and AMWebARS, which is done with SOAP over HTTP, the Security
Access Manager runtime environment (pdrte package) provides an authorization
entitlement service called azn_ent_amwebars.
See the IBM Security Access Manager for Web: Authorization C API Developer Reference
for more information about developing with dynamic ADI retrieval entitlement
services to fetch ADI when the rule is evaluated. See the IBM Security Access
Manager for Web: Administration C API Developer Reference for an in-depth discussion
of attribute lists, their formats, and the authorization APIs that are used to
manipulate them. See “Format and constraints of rules” on page 135.
XML also supports expressing complex data types in a structured and standard
manner in text format. This text format allows rules for processing the XML data
to be written without having to cater to platform and programming language
specifics.
XSL is a functional style sheet language that can be used to do simple tasks or
complex tasks that depend on your needs. XSL possesses an inherent ability to
analyze and evaluate XML data, which is becoming the standard for data
representation in e-business models. XSL is built on other XML-based standards
such as XPath, which is the expression language at the core of an authorization
rule.
It is also necessary to impose constraints on the XML input document that is built
as input to the rule evaluation. The ADI XML document model enables the
authorization engine to detect when ADI is missing. The ADI might need to be
requested from the resource manager or an external entity through the dynamic
ADI retrieval service interface.
As a result of this restriction, the XPath to the data used in an authorization rule
must include the prefix /XMLADI to access a particular data element within the
128 IBM Security Access Manager for Web Version 7.0: Administration Guide
model. For example, you might add an ADI item of JohnSmith to the document to
access the fields of JohnSmith within the ADI XML document. In this case, specify
the XPath /XMLADI/JohnSmith to access the data contained in the XML object
JohnSmith.
XPaths like this example are the means by which authorization rules access the
ADI data values that are needed to make attribute-based authorization decisions.
All data elements are restricted to work within the ADI XML model. The
authorization rules must also be restricted to operate on or match XPaths within
the model. Therefore, XSL template match statements are also restricted to
matching XPaths starting from /XMLADI within the ADI XML document. See
“Format and constraints of rules” on page 135.
The container is normally also the smallest data element (for example, elements
that might be considered for billing purposes). This convention was adopted for
the ADI XML model as well. The ADI that is used in authorization rules is also
defined and manipulated as containers of XML data. For example, the JohnSmith
XML object defined in “XML entitlement example” on page 132 is an example of
an ADI container.
The top-most element in the definition of an item of ADI is termed the container
name of that item of ADI. To define an authorization rule, always reference the
XPath to the XML definition of data in any ADI container. Specify the name of the
container as the first element /XMLADI in the XPath specification for the data
element.
Returning to the example ADI item JohnSmith, you can assume that there is a
container received from the data provider named JohnSmith. To access any element
within the JohnSmith container, the XPath specification must be prefixed with
JohnSmith. For example, JohnSmith/CreditCard/AcctNumber refers to the
AcctNumber value. To access this information from within an authorization rule, this
XPath must also be prefixed by the top-level element of the XML target ADI input
document. The element is XMLADI (for example, /XMLADI/JohnSmith/CreditCard/
AcctNumber). However, both of these XPaths are valid when used in an
authorization rule. The validity is due to the default template match statement that
is added to all authorization rules that do not explicitly include one. The default
template match statement matches the ADI XML document from /XMLADI.
For example, two different data providers might provide a data item called TxInfo.
The rules evaluator does know to which provider it must make a request to get
this item of data. To help differentiate items of ADI with the same name, XML
provides defining namespaces for data. The namespace ID of the namespace can
then be used to differentiate one ADI element from another. For TxInfo, you might
define a namespace companyA and reference this instance of ADI with
companyA:TxInfo. See “XML namespace definitions” on page 132.
This restriction on naming containers among data providers is not enforced by the
authorization engine. If the engine encounters multiple instances of the same item
of ADI (for example, TxInfo), it adds them all to the ADI XML document for use in
the evaluation. In the ADI XML document, there can be two items of ADI data
with the same container name within the ADI XML input document. The
assumption is then made that they are structured in the exact same way. For
example, a particular application request might involve a number of individual
transactions, each with its own transaction amount. An authorization rule can be
formulated to add all these items together. The rule compares the sum of the items
to a predefined total transactions limit or to a per-transaction limit with an XSL
node select statement. “Example: ADI from dynamic ADI retrieval services” on
page 139 in the “Examples of authorization rules” on page 138 section shows an
example rule. The rule sums multiple transaction elements in this way and even
counts the number of instances of a particular ADI element.
When transforming the attribute to XML, the attribute name is used as the
container name of the XML data item. The attribute value is converted into an
XML value. The container name of an item of ADI equates to the XML element
name in the XML definition. For example, the following XML data is generated for
attribute name VPS_CREDIT_CARD with a string attribute value of 5517 3394 8324
0965:
<VPS_CREDIT_CARD>5517 3394 8324 0965</VPS_CREDIT_CARD>
The container name and XML element name in this case is VPS_CREDIT_CARD. The
graphical user interface, the command-line interface, and the Security Access
Manager authorization API attribute list interfaces do not permit the administrator
to define rules that contain invalid XML container names.
The application might pass entitlements or application context that are already
formatted as XML for an access decision. In this case, the authorization rules
evaluator expects the data to be of type azn_string_t and expects the format of the
130 IBM Security Access Manager for Web Version 7.0: Administration Guide
string to be XML. The attribute name must match the container name of the XML
data item. If the names do not match, the evaluator does not evaluate the rule
correctly.
The evaluator identifies XML format data by locating the less than (<) character at
the beginning of the attribute value. If the attribute value does not begin with a
less than character, the data is not considered to be an XML data item. The
evaluator attempts to convert the data item to XML format automatically. This
means of identification is used only on attributes or application context identified
as target ADI for the access decision. Non-XML attribute values that start with a
less than character cannot be used by the application. An error status is returned
from the authorization decision. If the data is not correct XML, the XSL processor
fails and returns an error to denote the failure.
Data items that must be defined in XML must be entirely defined in XML.
Definition must not rely on the translation mechanism for non-XML items to
generate the appropriate XML element name automatically. For example, to define
an attribute to contain the XML definition of MY_CREDIT_CARD_NUM, you must add an
attribute with the attribute name MY_CREDIT_CARD_NUM. The attribute value for
MY_CREDIT_CARD_NUM is:
<MY_CREDIT_CARD_NUM>5517 3394 8324 0965</MY_CREDIT_CARD_NUM>
By defining the XML element as opposed to defining only its value, XML attributes
can be added to the element definition. The addition does not affect the name by
which the ADI is referred to when talking with data providers.
XML attributes must not be confused with the authorization API attributes and
attribute lists that are used to carry data into and out of the authorization process.
<MY_CREDIT_CARD_NUM CardType="visa">
5517 3394 8324 0965
</MY_CREDIT_CARD_NUM>
The ability to add XML attributes to an element definition is useful when it comes
to defining a namespace for the data item. See “XML namespace definitions” on
page 132.
If the ADI attribute contains multiple attribute values (string, XML, or any
combination), the evaluator converts each attribute value as a separate instance of
ADI. For example, the TxData attribute has values of 100 and 500. The evaluator
inserts the following XML item declarations into the ADI XML document:
<TxData>100</TxData>
<TxData>500</TxData>
The policy administrator can then design an authorization rule that uses XSL
language node selection statements to work with these two values independently.
Alternatively, the authorization rule can add the values and compare the total with
some predefined limit. If TxData is compared to a value, it is treated as a node set
comparison where each TxData value is compared to the data. Success is indicated
when any of the TxData values equal the target data. Node set comparisons have
The document contains two containers: JohnSmith and AmountReqd. The attribute
value of the container JohnSmith is defined in XML. The AmountReqd container is
translated to XML from an incoming string application context attribute. The
container JohnSmith is an entitlement and the container AmountReqd is an item of
transaction context.
The authorization rules evaluator automatically encompasses all the data under the
XML top-level node declaration XMLADI when the ADI XML document is created.
This top-level element was added for clarity.
The XML document that is passed to the evaluation routines by the authorization
rules evaluator is as follows:
<XMLADI>
<JohnSmith>
<CreditCard>
<AcctNumber>0123456776543210</AcctNumber>
<Limit>10000.00</Limit>
<Balance>2000.00</Balance>
</CreditCard>
<MileagePlus>
<MemberStatus>100k</MemberStatus>
<CardNumber>12345678</CardNumber>
<MileagePlus>
<JohnSmith>
<AmountReqd>500.00</AmountReqd>
</XMLADI>
In this example, the ADI container names are JohnSmith and AmountReqd. See
“Format and constraints of rules” on page 135.
For example, a customer database and a product inventory database might both
define ADI called name that might be used in authorization rules. By defining an
XML namespace with the namespace ID item, you can differentiate between the
two instances of name by calling the ADI from the product database item:name.
This example provides a namespace definition for the item namespace:
xmlns:item="http://mycompany/namespaces/items
132 IBM Security Access Manager for Web Version 7.0: Administration Guide
where xmlns is a standard XML attribute name and item is the namespace ID
chosen for the namespace. The URI following the = is used to distinguish one
namespace ID from another.
This namespace declaration associates the namespace ID item with the URI string:
http://mycompany/namespaces/items
The value of the URI string is of no consequence to the XML and XSL processors
but it must be unique. Unlike the XML and XSL processors, the Security Access
Manager authorization engine does not permit two namespace IDs to be assigned
the same URI value. The Security Access Manager authorization engine uses the
URI to uniquely identify the namespaces. Defining two namespaces with the same
URI results in an initialization error. The authorization application cannot start,
and an error is logged to the error log of the application.
The source from which the item name is to be obtained must be aware of this
relationship. The source must be able to make the connection between the
item:name requested by the authorization engine and the name data stored in the
product database. The source must also be able to provide this data to the
authorization engine in an attribute called item:name when it is needed. For
example, a dynamic ADI retrieval service must understand that, when it is asked
for item:name, it must fetch the required value by looking for name in the product
database. The service needs to return the data to the authorization engine in an
attribute called item:name. When an application uses namespaces to differentiate or
aggregate ADI items, it is required to define the namespace for both the XML and
XSL processors.
To define a namespace for the XSL processor, add the namespace definition to the
xsl-stylesheet-prolog configuration file entry described in “input-adi-xml-prolog
and xsl-stylesheet-prolog” on page 143. This example shows how to add a
namespace definition for the item namespace to the xsl-stylesheet-prolog entry:
xsl-stylesheet-prolog = <?xml version=’1.0’ encoding=’UTF-8’?>
<xsl:stylesheet xmlns:xsl=’http://www.w3.org/1999/XSL/Transform’
xmlns:item="http://mycompany/namespaces/items" version=’1.0’>
<xsl:output method = ’text’ omit-xml-declaration=’yes’
encoding=’UTF-8’ indent=’no’/>
<xsl:template match=’text()’>
</xsl:template>
There are two ways to define a namespace prefix to the XML processor:
v Define the namespace globally for the entire XMLADI document.
v Define it individually in those ADI items that use the prefix.
In both cases, the namespace declaration must be included in the start tag for the
XML element.
The first and simplest method of defining a namespace for the XML processor is to
add the namespace definition to the XMLADI document element start tag. Adding
the definition to the XMLADI document element start tag is easiest to do because
it automatically defines the namespace for the entire document. Any ADI items in
the document whose names are prefixed with this namespace ID do not have to
have the namespace definition added to their own element start tag.
This method does not suffer any of the drawbacks of defining the namespace by
using the second method. The [xmladi-attribute-definitions] stanza was added
to the configuration file to allow customers to define namespaces globally for use
The ADI item:name must be added to an attribute list with the item:name attribute
name. Its value is the entire XML element definition in the example entered as a
single contiguous text string.
There are some drawbacks to defining the XML namespace in the XML definition
of each ADI item rather than defining it globally for the entire XML ADI
document. For instance, the value of any ADI items that use a namespace ID prefix
must be in XML. The namespace definition can be added only to the XML
definition of the value of the item, as demonstrated for item:name in the example.
As a result, items of ADI with namespace prefixes cannot have the value 100. The
value of the item must be an XML fragment, such as the string
<prefix:adi_name>100</prefix:adi_name>.
Any ADI source that can provide values for namespace prefixed ADI items must
ensure that the appropriate namespace definitions for the item are added to each
XML formatted value that it returns. When the service does not normally return
XML formatted data and is not aware of namespace prefixes, you must changed it.
The change causes an increased processing load for dynamic ADI retrieval services.
By defining the namespace globally, you can avoid all of these complications. If a
namespace is not defined for either the XML or XSL processors, an error is logged
to the application error logs. The error indicates that the namespace ID does not
have an associated URI mapping. This problem might occur during the creation of
the rule if the XSL processor is not notified of the new namespace. The problem
might occur during rule evaluation if the XML processor is not notified.
The authorization rules evaluator takes the rule policy that is attached to the target
protected object and evaluates the rule by calling the XSL processor. The input
XML document for the transformation contains a definition for how the
authorization engine can retrieve one of the following sources for the ADI:
v User credential entitlements that request the authorization
v Application context information that is passed in by the access decision call
(passed in by the resource manager)
v Security Access Manager authorization engine context
v Dynamic ADI retrieval entitlement services
The authorization engine expects the rules evaluation to result in the return of one
of the string identifiers as shown in Table 20 on page 135. These identifiers ensure
134 IBM Security Access Manager for Web Version 7.0: Administration Guide
uniqueness when an XSL rule is written incorrectly and the evaluation returns
incorrect information. Delimiting the identifiers with an exclamation point (!)
enables the evaluator to identify errant cases.
Table 20. String identifiers returned by rules evaluation
Delimiter Meaning
!TRUE! Access is permitted.
!FALSE! Access is denied.
!INDIFFERENT! The rules engine has no opinion.
The identifiers must be the only text in the output document, although they can be
surrounded by white space. A value other than the defined valid values or an
empty document might be returned. In this case, the access decision fails and an
error code is returned to the resource manager to indicate that the rule is not
compliant. The format of an authorization rule is outlined in “Format and
constraints of rules.”
In addition, the maximum length of any result text that is returned by a rule
evaluation is limited to 1023 characters. Rules returning more text than this limit
cause the access decision to fail at run time with a minor error code of
ivacl_s_rule_result_string_too_large.
The rule must be written in a valid XSL template rule format and must return a
text document that contains one of the following string identifiers:
v !TRUE!
v !FALSE!
v !INDIFFERENT!
The identifiers must be the only text in the output document but they can be
surrounded by white space. The identifiers are not case-sensitive. A value other
than one of the identifiers listed or an empty document might be returned. The
access decision fails and an error code is returned to the resource manager to
indicate that the rule is not compliant. See “Authorization rules evaluator” on page
134.
For authorization decisions, the rule must return the expected decision data to the
rules evaluator. The data that is returned from the rules-driven entitlements
interface must be able to be expressed as a text name-value attribute pair in the
entitlements output parameter of the azn_entitlement_get_entitlements()
method. Many data providers return entitlements data in XML format. No
additional transformation is required to pass these entitlements into the rules
evaluator as ADI.
All ADI that is passed to the rules evaluator must be specified in XML. Non-XML
ADI that is passed to the access decision or retrieved from the credential is
formatted into XML by the evaluator before an authorization rule can be evaluated.
The result of the XSL transformation done by an XSL authorization rule must be a
text output document that contains only one of the supported string identifiers.
The following example references the XML data item that is defined in JohnSmith.
The condition that the following example rule evaluates is expressed, as follows:
This example rule is the simplest form for specifying an authorization rule. It does
not include its own template match statement and it accepts the default template
match statement, which is set to /XMLADI. Template match statements are an XSL
language construct that is used to select the point in the hierarchy of an XML
document at which the XSL rules, which are contained within the template match
statement, are applied. The default template match statement of the ADI XML
model matches from the top of the XMLADI document by specifying the XPath
/XMLADI.
To add your own template match statement to a rule definition, only two
additional lines are needed. For example, you might rewrite the example to include
your own explicit template match statement that matches from the root of the
XMLADI document. Modify the rule as follows:
<xsl:template match="/XMLADI">
<xsl:if test="(AmountReqd + JohnSmith/CreditCard/Balance)
< JohnSmith/CreditCard/Limit
and JohnSmith/MileagePlus/MemberStatus = ’100k’)
!TRUE!
</xsl:if>
</xsl:template>
To reference any data item in the document, the XPath to each node must include
the XMLADI node. For example, to access the credit card balance, the full path
would be /XMLADI/JohnSmith/CreditCard/Balance. When a rule is built, the rule
writer must understand what the correct XPath is from the current point in the
tree. The XPath accesses the XML data nodes and subnodes. The current point in
the tree is selected with the template match statement. The template match
statement allows an XSL programmer to shorten the XPath to each data element by
specifying that the XPath processing occur further down the XML document tree.
The <xsl:template match="/XMLADI"> statement tells the XSL processor that all
relative XPaths within the bounds of the template statement must be assumed to
be relative to the node XMLADI. To shorten the XPaths even further, the template
match statement can be set at /XMLADI/JohnSmith. In this case, the credit card
balance might be termed CreditCard/Balance.
Policy administrators must also make the following assumptions about the XSL
style sheet document that is created by the rules evaluator to contain the rule that
they devise:
v If a style sheet prolog is specified in the azn client configuration file, that prolog
is imported into the empty style sheet. If no prolog is specified, the following
default prolog is used instead:
<!-- Required for XSLT language -->
<?xml version="1.0" encoding=’UTF-8’?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
136 IBM Security Access Manager for Web Version 7.0: Administration Guide
<xsl:output method="text" omit-xml-declaration="yes"
encoding=’UTF=8’ indent="no"/>
<!-- Need this to ensure default text node printing is off -->
<xsl:template match="text()"></xsl:template>
v Among other things, this prolog sets the XSL style sheet syntax to version 1.0,
which is supported by the embedded XSL processor. The prolog sets the
namespace for XSL documents to xsl, which requires that all XSL
language-specific identities be prefixed by xsl:. This prefix is the standard mode
of operation for XSL style sheets. Most attributes in this prolog must be in the
style sheet. If not, the results that are returned from the rules evaluator do not
conform to the expected results.
v All authorization rules must be enclosed in an xsl:template match statement. If
the rule is defined with its own xsl:template match statement, the rule is
accepted as is. This acceptance allows the rule creator to specify the level within
the ADI XML document at which the rule matches data items. In this case, the
match statement must be the first statement encountered by the evaluator when
validating the rule. Otherwise, it is assumed that there is no template match
statement. If there is a match statement but the match statement does not begin
with the /XMLADI absolute path, the rule is returned as not valid. Relative match
statements are not accepted at this level.
v If no match statement is specified in the rule, the rule is automatically enclosed
in the following match statement:
<xsl:template match="/XMLADI">
...
<xsl:template>
v Therefore, all rules devised without an explicit template match statement must
use XPath expressions that assume the XML context node is /XMLADI. The XPath
expression for any ADI item must begin with the container name of the item
and must be fully qualified.
A better option is to add the users to a group and write a rule to check group
membership.
See the [aznapi-configuration] stanza in IBM Security Access Manager for Web:
Plug-in for Web Servers Administration Guide.
Chapter 10. Authorization rules management 137
Examples of authorization rules
These examples demonstrate how rules can be implemented.
v “Example: ADI from resource manager”
v “Example: ADI from entitlement data”
v “Example: ADI from dynamic ADI retrieval services” on page 139
The access decision logic defined by this rule is to permit access only when one of
the following conditions is true:
v The user is in the printUsers group.
v The user requests a print operation (p).
v The user requests to queue a print job for printing later (q) and the print quota
is less than 20.
<xsl:if test=’azn_cred_groups = "cn=printUsers,o=ibm,c=us"
and (contains(azn_engine_requested_actions,"p")
or contains(azn_engine_requested_actions,"q"))
and printQuota <20’>
!TRUE!
</xsl:if>
The test condition for the group name returns an appropriate result regardless of
the number of groups that the requesting user is in. The condition is an XSL node
test that compares each value within the XML element azn_cred_groups with the
DN string. To determine the opposite case (for example, that the requesting user is
not in the printUsers group), the syntax requires a slightly different expression.
See “Example: ADI from entitlement data” for an example of how to test for
whether a set of values like the azn_cred_group_names attribute does not contain a
certain member.
<xsl:choose>
<!-- Explicitly allow if the requesting user is myuser0 -->
<xsl:when test="azn_cred_principal_name = ’myuser0’">
!TRUE!
</xsl:when>
138 IBM Security Access Manager for Web Version 7.0: Administration Guide
<!-- Explicitly allow if the requesting user’s LDAP DN -->
<!-- is the same as that specified -->
<!-- This rule permits access to any user who is a member of mygroup1 -->
<!-- but is not a member of mygroup2 -->
<xsl:otherwise>
!FALSE!
<xsl:otherwise>
</xsl:choose>
The fourth xsl:when statement uses the not() function to negate the Boolean result
of the following test:
azn_cred_groups = ’mygroup2’
The not() function is used instead of the valid authorization rule operator !=
operator because, in this case, the azn_cred_groups attribute is a multi-valued
attribute. Multi-valued attributes like azn_cred_groups return a set of values,
referred to as a node-set in XSL, to be tested by the condition. Each node value in
the set is tested against the condition individually and !TRUE! is returned if any of
the conditions evaluate to true. In any case, where the user is in more than one
group, other than mygroup2, the result of the node test is always !TRUE!. To test the
nonexistence of something in a node-set, use the not() function instead of the !=
operator. For example, you can test that the condition group is mygroup2 is not
true.
The code that must be written might create a batch object that contains a list of
operations that are to be done together. The batch object consists of a number of
transaction elements. Each transaction consists of an item and the amount of those
items to order.
With these assumptions, the following XML object might be used as input for
making the authorization decision:
<!-- batched transaction -->
<batch>
<max_tx_count>5</max_tx_count>
<max_tx_amount>150</max_tx_amount>
<account>customerA</account>
<transaction>
<item>widgetA</item>
<amount>10</amount>
</transaction>
<transaction>
<item>widgetB</item>
<amount>20</amount>
</transaction>
With this expected XML object, you might create the following authorization rule:
<!--Compare group to batch customer and num tranactions
and total tx amounts to limits.-->
<xsl:if test="azn_cred_groups = batch/account
and count (batch/transaction) <= batch/max_tx_count
and sum (batch/transaction/amount) <= batch/max_tx_amount">
!TRUE!
</xsl:if>
The authorization rule checks that the requesting user is a member of a group
whose name matches the name of the account in the transaction. In this example, it
is customerA. If the requesting user is not a member of this group, the user is not
authorized to submit batch requests on behalf of customerA. Then, the rule checks
that the total number of transactions within the batch is less than or equal to the
max_tx_count element of the batch object. The rule also checks that the total
number of items ordered in the entire request is less than the max_tx_amount
element of the batch object. The rule calls the count() and sum() functions. The
count() function counts the number of instances of a transaction element within
the batch. The sum() function totals the value of all the amount elements within all
transaction elements in the batch.
For additional information of creating authorization rules, see the IBM Security
Access Manager for Web: Authorization C API Developer Reference.
The first method is to provide the ADI by adding the attributes to the application
context parameter passed to the azn_decision_access_allowed_ext() method. The
problem with this method is that the resource manager must know which ADI is
going to be needed by a particular access decision. Alternatively, you can provide
all the ADI for all known rules to the authorization engine for every access
decision call regardless of whether a rule is involved in the decision.
The first method might be acceptable and even desirable for a smaller set of ADI.
However, for a larger and more varied set of possible ADI, a second method is
needed. You can configure the resource manager to supply the missing ADI to the
authorization engine only when it is explicitly requested. With this method, the
authorization engine can be configured with a set of ADI prefixes that can be
provided by the resource manager upon request. The authorization engine fails the
140 IBM Security Access Manager for Web Version 7.0: Administration Guide
access decision and notifies the resource manager of the ADI it needs in a
permission information attribute returned by the
azn_decision_access_allowed_ext() method. The attribute contains a list of the
ADI that is needed to successfully evaluate the rule. The ADI was not found in the
application context that was passed in. The ADI also did not have a prefix that
matches those prefixes that the resource manager identified as its own.
The ADI prefixes that are recognized by the resource manager can be configured
using the resource-manager-provided-adi entry or the
azn_init_resource_mgr_provided_adi initialization attribute. See
“resource-manager-provided-adi” on page 143 and for the initialization attribute,
see IBM Security Access Manager for Web: Authorization C API Developer Reference.
ADI prefixes must be unique to identify them as resource manager ADI and to
avoid conflict with ADI provided in the credential from the authorization engine or
from an external data provider.
The authorization engine processes all policies for the access decision as normal. If
the rule evaluation fails, the engine returns access denied with a reason code in
the azn_perminfo_reason_rule_failed permission information attribute list.
When access is denied, the application must check the permission_info attribute
list returned from the access decision call. The application determines whether a
rule failure reason code was returned from the access decision. The resource
The following conditions must be met before a rule failure reason code is returned
to the caller:
v The reason code is returned only when the access request is denied and the rule
policy evaluation denies access. However, the reason code is not returned for
every case in which access is denied. The reason code is not returned when the
rule evaluation succeeds. The rule failure reason code is not returned if the rule
failed due to a rule syntax error. The code is not returned if there was
insufficient ADI to do the rule evaluation. In the latter cases, the authorization
decision is failed with an error status.
v There must be a reason code set in the attached rule policy object. This value is
set in the rule policy with the admin API or the pdadmin utility.
v The aznAPI application must be enabled to return the rule failure reason as
permission information. To do this action, either the
azn_init_set_perminfo_attrs initialization parameter or the equivalent
configuration file entry in the [aznapi-configuration] stanza (stanza entry
permission-info-returned) must include the attribute name
azn_perminfo_reason_rule_failed. This feature enables the attribute to be
returned by the authorization engine in the permission information output
parameter (perminfo) of azn_decision_access_allowed_ext(). See the IBM
Security Access Manager for Web: Authorization C API Developer Reference.
142 IBM Security Access Manager for Web Version 7.0: Administration Guide
resource-manager-provided-adi
The resource-manager-provided-adi configuration stanza entry defines the prefixes
that the authorization engine uses to determine the set of missing ADI from the
resource manager.
This entry uses a string prefix as its value. To specify more than one prefix, you
must add multiple stanza entries as in the following examples:
resource-manager-provided-adi = sales_customer_
resource-manager-provided-adi = sales_item_
These examples notify the authorization engine that any ADI it requires that begins
with sales_customer_ or sales_item_ is provided by the resource manager
application. ADI items named sales_customer_name, sales_customer_address,
sales_item_count, and sales_item_price are examples of ADI that the
authorization engine would request from the resource manager.
dynamic-adi-entitlement-services
The dynamic-adi-entitlement-services configuration entry lists the service IDs of
the dynamic ADI retrieval entitlement services. These services must be called by
the authorization engine if ADI is missing from the requesting user credential or
from the application context and cannot be gathered from the resource manager.
Any entitlement service configured under this entry is called by the authorization
engine with the azn_entitlement_get_entitlements() interface and is passed the
azn_perminfo_rules_adi_request attribute. The string values of this attribute are
the container names of the ADI that are still required. If the dynamic ADI retrieval
service can fulfill the request, it returns the requested data to the authorization
engine in the entitlements parameter. Security Access Manager provides
demonstrations of how an entitlement service can perform the functions of a
dynamic ADI retrieval service and a credential attribute retrieval service. See the
IBM Security Access Manager for Web: Authorization C API Developer Reference.
To specify that the authorization engine must call multiple dynamic ADI retrieval
services, you must specify multiple entries. The following examples demonstrate
how to specify the service IDs of two different entitlement services for use as
dynamic ADI entitlement services. The service IDs must correspond to valid
entitlement service definitions in the [aznapi-entitlement-service] stanza.
dynamic-adi-entitlement-services = ent_cred_attrs_id
dynamic-adi-entitlement-services = ent_svc_demo_id
and
Due to the constraints imposed by the authorization rule model, there are a
number of prolog attributes that are required by the authorization engine. All of
the attributes are specified in the default prolog entries. If any of these attributes
are changed or omitted from the entry, the authorization client fails to start and
returns an error.
Note: Ensure that you are familiar with the Xalan XSL processor and the Xerces
XML processor. Be familiar with the use of prolog statements before you change
these entries from the default values.
[xmladi-attribute-definitions]
The [xmladi-attribute-definitions] stanza enables customers to add XML
attribute definitions, such as XML namespace definitions, to the XMLADI document
start tag.
The XMLADI element start tag that results from these definitions is:
<XMLADI xmlns:myNS="http://myURI.mycompany.com"
appID=’"Jupiter" - Account Management Web Portal Server #1.’>
Both the namespace ID myNS and the attribute appID are defined globally in the
XMLADI document.
For online help while using Web Portal Manager, click the question mark to open a
separate help window for the current page.
Note:
1. There are no equivalent pdadmin commands for importing, exporting, or cloning
authorization rules.
2. When providing rule text with the pdadmin utility, enclose the rule text in
double quotation marks ("). Double quotation marks embedded within the rule
text must be escaped with a backward slash (\) so that they are ignored by the
pdadmin utility. The XSL processor treats single and double quotation marks
equally for defining text strings. They can be used interchangeably, but they
must always be paired appropriately. For example:
pdadmin sec_master> authzrule create testrule1
"<xsl:if test=’some_piece_of_ADI =\"any string\"’>!TRUE!</xsl:if>"
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click AuthzRule > Create AuthzRule to display the Create AuthzRule page.
3. Type the AuthzRule Name for the authorization rule that you want to create
(for example, r2).
To create an authorization rule with the pdadmin utility, complete the following
steps.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the authzrule create command.
Example
For example, you might create a rule named r2 with a rule file named
engineering.xsl. The rule implements the time-of-day rule for the engineering
object space and returns a fail reason code of error. Enter the following command
on a single line:
pdadmin sec_master> authzrule create r2 -rulefile engineering.xsl
-desc "time-of-day rule for engineering object space"
-failreason error
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click AuthzRule > List AuthzRule to display the Manage AuthzRules page.
A list of authorization rules that were created in Security Access Manager are
displayed. Each rule is a link that displays properties for that rule when
selected.
3. Click the authorization rule link for the rule that you want to change. The
AuthzRule Properties page is displayed.
4. As needed, change the following information:
v The description
v The authorization rule text
v The fail reason
146 IBM Security Access Manager for Web Version 7.0: Administration Guide
For example, if no description currently exists, add a description. If a
description currently exists, change the authorization rule description by typing
the new description in the Description field (for example, adding the words
updated June 23 2003):
updated June 23 2003 time-of-day rule for engineering object space
5. Click Apply for the changes to take effect.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the authzrule modify command.
Example
For example, to change the rule named r2 to return a fail reason code of warning,
enter the following command:
pdadmin sec_master> authzrule modify r2 failreason warning
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click AuthzRule → List AuthzRule to display the Manage AuthzRules page.
Results
A list of names for authorization rules that were created in Security Access
Manager are displayed as links. If you select an authorization rule link, the
properties of that rule are displayed.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the authzrule list command.
pdadmin sec_master> authzrule list
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click AuthzRule → Import AuthzRule.
3. From the Import AuthzRule page, complete one of the following steps:
v In the AuthzRule File Name field, type the name of the authorization rule to
import. For example, type ruleImport.xml.
v Click Browse to select a file name.
4. The file that contains the authorization rule might be encrypted when it was
exported. In the Encryption String text field, type the string that was used to
encrypt the XML file.
5. Click Import.
Results
If successful, the imported rule is available when you list all the rules.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click AuthzRule → Export All AuthzRules to display the Export AuthzRule to
File page.
3. Optional: In the Encryption String text field, type the string to use to encrypt
the XML file. If not specified, the exported file is in plain text.
4. When an encryption string is provided, in the Confirm Encryption String text
field, type the string again.
5. Click Export to display the File Download window.
6. Click Save to display the Save As window.
7. Click Save to create the file that contains the exported rule descriptions. The
default file name is ruleExport.xml.
148 IBM Security Access Manager for Web Version 7.0: Administration Guide
Results
If successful, the exported rule descriptions are available in the specified location.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click AuthzRule → List AuthzRule.
3. From the Manage AuthzRules page, select the authorization rule that you want
to export.
4. From the AuthzRule Properties page, click Export to display the Export
AuthzRule to File page.
5. Optional: In the Encryption String text field, type the string to use to encrypt
the XML file. If not specified, the exported file is in plain text.
6. When an encryption string is provided, in the Confirm Encryption String text
field, type the string again.
7. Click Export to display the File Download window.
8. Click Save to display the Save As window.
9. Click Save to create the file that contains the exported authorization rule
description. The default file name is ruleExport.xml.
Results
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click AuthzRule → List AuthzRule.
3. From the Manage AuthzRules page, select the authorization rule that you want
to export.
4. Click Export to display the Export AuthzRule to File page.
5. Optional: In the Encryption String text field, type the string to use to encrypt
the XML file. If not specified, the exported file is in plain text.
6. When an encryption string is provided, in the Confirm Encryption String text
field, type the string again.
7. Click Export to display the File Download window.
8. Click Save to display the Save As window.
9. Click Save to create the file that contains the exported authorization rule
descriptions. The default file name is ruleExport.xml.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click AuthzRule → List AuthzRule to display the Manage AuthzRules page.
A list of authorization rules that were created in Security Access Manager are
displayed. Each rule is a link that displays properties for that rule when
selected.
3. Click the link for the authorization rule that you want to attach to an object.
For example, the r2 authorization rule. The AuthzRule Properties page is
displayed.
4. Click the Attach tab to view a list of protected objects to which the
authorization rule is already attached, if any.
5. Click Attach to display the Attach AuthzRule page.
6. Type the Protected Object Path of the protected object to which you want to
attach the authorization rule. This field is required. Be sure to type the full path
name. For example, type the following path:
/WebSEAL/tivoli.com/w3junction/index.html
7. Click Attach. If successful, the new protected object is added as a link to the
list of objects to which the authorization rule is attached on the AuthzRule
Properties–Attach page.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the authzrule attach command.
Example
See the IBM Security Access Manager for Web: Command Reference.
150 IBM Security Access Manager for Web Version 7.0: Administration Guide
Detaching an authorization rule with Web Portal Manager
You can detach an authorization rule from a protected object with Web Portal
Manager.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click AuthzRule → List AuthzRule to display the Manage AuthzRules page.
A list of authorization rules that were created in Security Access Manager are
displayed. Each rule is a link that displays properties for that rule when
selected.
3. Click the link for the authorization rule that you want to detach from an object.
The AuthzRule Properties page is displayed.
4. Click the Attach tab to view a list of protected objects to which the
authorization rule is already attached, if any.
5. Select one or more check boxes for the protected objects from which you want
to detach the authorization rule.
6. Click Detach to display the Detach AuthzRule from Object page where you are
prompted to confirm or cancel the request.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the authzrule detach command.
Example
For more information, see the IBM Security Access Manager for Web: Command
Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click AuthzRule > List AuthzRule. A list of authorization names is displayed.
Each authorization rule name is a link that you can click to display the
AuthzRule Properties page.
3. Click the Attach tab.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the authzrule find command.
Example
For example, to find the protected objects attached to a rule named r2, enter the
following command:
pdadmin sec_master> authzrule find r2
See the IBM Security Access Manager for Web: Command Reference.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click AuthzRule > List AuthzRule to display the Manage AuthzRules page.
A list of authorization rules that were created in Security Access Manager are
displayed. Each rule is a link that displays properties for that rule when
selected.
3. Select one or more check boxes for the links that you want to delete. For
example, you might select the check box for the authorization rule named r2.
4. Click Delete to display the Delete AuthzRules page where you are prompted to
confirm or cancel the deletion.
Procedure
1. Log on to the domain as the domain administrator.
2. Use the authzrule delete command.
Example
For example, to delete a rule named r2, enter the following command:
pdadmin sec_master> authzrule delete r2
See the IBM Security Access Manager for Web: Command Reference.
152 IBM Security Access Manager for Web Version 7.0: Administration Guide
Chapter 11. Manage users and groups
An initial domain administrator is created when a new domain is created.
The domain administrator has the necessary privileges to manage the domain. The
domain administrator can create and configure users, groups, resources, and
applications, and can delegate administration tasks within the domain as required.
A group is a collection of one or more users. An administrator can use group ACL
entries to assign the same permissions to multiple users. New users to the domain
gain access to objects by becoming members of groups. Group membership
eliminates the need to create new ACL entries for each new user. Groups can
represent organizational divisions or departments within a domain. Groups are
also useful in defining roles or functional associations.
A registry unique identifier (UID) specifies the location in the user registry where
the new user is created. Similarly, a registry group unique identifier (GID) specifies
the location in the user registry where the new group is created. For registry UIDs
and GIDs, you must type the full path name for the new user or group. The path
format depends on the type of registry that the product is using. The following list
shows sample formats for different user registries:
LDAP cn=IBM-Support,o=ibm,c=us
Active Directory
cn=IBM-Support,dc=Austin,dc=US
The registry UID or registry GID provides extra security in the case where a user
or group is deleted from the domain and then recreated with the same name. For
example, even though a new user has the same name as the deleted user, Security
Access Manager allocates a new registry UID to this user. Because the registry UID
is new, any existing ACL entries that refer to the old user name do not grant any
rights to the new user. Stale UIDs from deleted users and groups are silently
removed by the policy server.
Manage users
You can do the following user tasks:
v “Create a user” on page 154
v “List users” on page 155
v “Change a password” on page 156
v “Setting user policy” on page 157
v “Setting global user policy” on page 160
v “Import users” on page 162
v “Delete a user” on page 163
Create a user
You can create a user with Web Portal Manager or the pdadmin utility.
When a user is created, the domain administrator assigns a user name, which is
sometimes called a principal name. The user name must be unique within the
domain, because it is used by Security Access Manager to identify this user. A
registry user identifier, known as a distinguished name (DN), is also assigned to
uniquely identify the user definition in the user registry. The format of the DN
depends on the registry type that is being used. Also assigned are the common name
(CN) and surname (SN) of the user that is being defined.
Note: When Active Directory Lightweight Directory Service (AD LDS) is used as
the user registry, users must be created within the same AD LDS partition in which
Security Access Manager was configured.
Procedure
1. Use Web Portal Manager to log on to the domain as a domain administrator.
2. Click User → Create User.
3. In the User Id text field, type the user name (for example maryj).
4. Click Group Membership to search for groups in which the user can be a
member.
5. In the First Name text field, type the name of the user (for example Mary).
6. In the Last Name text field, type the family or surname of the user (for
example Jones).
7. In the Password text field, type the password. Passwords must adhere to the
password policies that are set by the domain administrator.
8. In the Confirm Password text field, type the password again.
9. In the Description text field, type the description for the user (for example,
Member of Marketing Group.
10. In the Registry UID text field, type the registry UID. The registry UID
specifies the location in the user registry where the new user is created. For
example: cn=maryj,o=ibm,c=us,dc=mkt. Lotus® Notes® users require the full
path name for the user that is being created. For example: Mary Jones/IBM/US
11. Select the Account Valid check box to indicate that the new user can
participate in the domain. If this option is not selected, the new user account
is not valid and the user cannot log on.
12. Select the GSO User check box to indicate the use of global sign-on (single
sign-on) for Security Access Manager.
13. Select the Password Valid check box to force a password change the next time
the user logs in to the domain. If this option is not selected, the user is
informed that the password expired.
14. Click No Password Policy to indicate that you do not want the initial
password to conform to the password policies that are set by the domain
administrator.
154 IBM Security Access Manager for Web Version 7.0: Administration Guide
15. Click Create.
Results
Procedure
1. Log on to the appropriate domain as a domain administrator.
2. Use the user create command to create the user.
Example
For example, to create the user named maryj with global sign-on capability, enter
the following command:
pdadmin sec_master> user create –gsouser maryj "cn=Mary Jones,o=IBM,c=us,dc=mkt" \
"Mary Jones" Jones pwd2pwd2
The format of the distinguished name depends on the type of user registry. For
more information, see the IBM Security Access Manager for Web: Command Reference.
List users
You can search for users with Web Portal Manager or the pdadmin utility.
However, when the user registry contains many user definitions, use wildcard
characters with discretion. When a pattern includes one or more wildcard
characters, the command attempts to find all user definitions that match the
specified pattern. However, the command displays only the specified number of
matching definitions in the user registry. If the user registry contains 10,000
definitions, specifying a single wildcard (“*”), with a limit of 100, finds all 10,000
definitions. However, the command displays only the first 100 matching
definitions.
Note: If many users are defined in the user registry (for example, more than
100,000), avoid specifying the global wildcard (*). Instead, use a search filter that is
as specific as possible, or qualify the search pattern to limit the search results.
For example, you might use the pdadmin tool and list users whose names start
with John. Limit the search results by specifying the number of records to return,
as in the following command: pdadmin user list john* 100
For the specific syntax of the user list command, see the IBM Security Access
Manager for Web: Command Reference.
For more specific information about tuning the directory server to achieve best
results, see the IBM Security Access Manager for Web: Performance Tuning Guide.
Procedure
1. Log on to the domain as a domain administrator.
2. Use the user list command to list users.
Example
For example, to search for and list up to a maximum of 100 users, enter the
following command:
pdadmin sec_master> user list * 100
For more information, see the IBM Security Access Manager for Web: Command
Reference.
Change a password
You can change a user password with Web Portal Manager or the pdadmin utility.
The new password must comply with the password policies that are currently in
effect.
Note: You might use Active Directory as your user registry with the Active
Directory server on Windows 2008 SP1 or later. In this case, old passwords might
still be able to be used after a password change.
http://support.microsoft.com/?id=906305
When setting or changing a password, the password must comply with the
following policies:
v The defined Security Access Manager password policy
v The password policy for the underlying operating system
v The password policy for the underlying user registry
156 IBM Security Access Manager for Web Version 7.0: Administration Guide
When enforcing the password policy, Security Access Manager validates
compliance in the following sequence:
1. Against the Security Access Manager password policy currently in effect
2. Against the underlying user registry
For additional information about setting the password policy for Security Access
Manager users, see “Setting global user policy” on page 160.
Procedure
1. Use Web Portal Manager to log in to the domain as a domain administrator.
2. Click User → Change My Password.
3. Verify that the User ID identifies the login identifier for the user whose
password you want to change.
4. In the Current Password text field, type the existing password for the specified
user ID.
5. In the New Password text field, type the new password for the specified user
ID.
6. In the Confirm New Password text field, type the password again.
7. Click Apply.
Procedure
1. Log in to the domain as a domain administrator.
2. Use the user modify command with the password option.
Example
For example, to change the password for the user dlucas to newpasswd, enter the
following command:
pdadmin sec_master> user modify dlucas password newpasswd
For more information, see the IBM Security Access Manager for Web: Command
Reference.
Note:
v The valid range for numbers can be any number. However, use a reasonable
number for the task that you want to do. For example, a minimum password
Procedure
1. Use Web Portal Manager to log in to the domain as a domain administrator.
2. Click User > Search Users to display the User Search page.
3. From the list of matching users, select the user whose policy is to be changed.
The User Properties page for that user is displayed.
4. Click the Policy tab.
5. Modify the following policies as needed:
v For Max Login Failures, select Unset or Set to set or unset the maximum
number of login failures before the account is no longer allowed to
participate in the secure domain. If you select Set, either accept the default
value of 10 or change the value to a number equal to or greater than zero.
v For Disable Time Interval, select Unset, Disable, or Set to set the time, in
seconds, or to disable each user account when the maximum number of login
failures is exceeded. If you select Set, either accept the default value of 180
seconds or change the value to a number equal to or greater than zero.
v For Minimum Password Length, select Unset or Set to set the minimum
number of characters required for the password. If you select Set, either
accept the default value of eight alphanumeric characters or change the value
to a number greater than zero.
v For Maximum Password Age, select Unset or Set to set the maximum time
that a password can be used before it expires. The maximum password age
is relative to the last time the password was changed. If you select Set, either
accept the default value of 91 days (91-00:00:00) or change the value to a
number equal to or greater than zero. A value of 0 (000-00:00:00) indicates
that the password never expires.
v For Minimum Password Alphas, select Unset or Set to set the minimum
number of alphabetical characters required in a password. If you select Set,
either accept the default value of four alphabetical characters or change the
value to a number greater than zero.
v For Minimum Password Non-Alphas, select Unset or Set to set the
minimum number of non-alphabetic characters required in a password. If
you select Set, either accept the default value of one non-alphabetic character
or change the value to a number greater than one.
v For Max Password Repeated Characters, select Unset or Set to set the
maximum number of repeated characters allowed in a password. If you
158 IBM Security Access Manager for Web Version 7.0: Administration Guide
select Set, either accept the default value of two repeated characters or
change the value to a number greater than two.
v For Password Spaces Allowed, select Unset, Yes, or No to determine
whether spaces are allowed in passwords. You can accept the default setting
of Unset. You can change the value to Yes to allow spaces in passwords or to
No to not allow spaces in passwords.
v For Max Concurrent Web Sessions, select Displace, Unset, Unlimited, or
Set to set the maximum number of concurrent web sessions allowed. If you
select Set, type a number equal to or greater than one.
Note: This policy applies only to certain components. A web session is a user
session that is maintained by the web security solutions, such as WebSEAL
and plug-ins for web servers. Refer to the component administration guides
to see whether this setting is applicable and whether specific configuration
options are required to enforce this policy.
v For Account Expiration Date, select Unset, Unlimited, or Set to set the
account expiration date. You can accept the default setting of Unset. You can
change it to Unlimited or Set.
If you select Set, type the four-digit year in the Year field.
Either accept the default value of Jan 01-00:00:00 or change the value to the
date and time, specified as Month DD:hh:mm:ss. The hours must be entered
using a 24-hour clock (for example, 09 for 9:00 a.m. or 14 for 2:00 p.m.).
v For Time of Day Access, select Unset or Set to set the time of day access
policy. If you select Set, either accept the default settings or change them.
You can change these values:
– Select the days of the week from the choices provided.
– Select All Day or Between hours of.
If you select Between hours of, also select the Start Time. The start time
format is specified as hours and minutes. The start time is expressed by
using a 24-hour clock.
If you select Between hours of, also select the End Time. The end time
format is specified as hours and minutes. The end time is expressed by
using a 24-hour clock.
If you select Between hours of, also select Local Time or UTC Time. The
time zone is local by default; UTC is Coordinated Universal Time.
6. Click Apply.
Procedure
1. Log in to the domain as a domain administrator.
2. Use the policy set command.
Example
For example, to set the maximum password age of 31 days 8 hours and 30 minutes
for user bsmith, enter the following command:
pdadmin sec_master> policy set max-password-age 031-08:30:00 -user bsmith
For more information, see the IBM Security Access Manager for Web: Command
Reference.
Notes:
v The valid range for numbers can be any number. However, use a reasonable
number for the task that you want to do. For example, a minimum password
length must be long enough to protect your system. The minimum length must
not be so short as to make it easy for someone to determine passwords by trying
different combinations.
v When defining the password policy, ensure that this definition complies with the
password policy of the underlying operating systems and user registries.
v When using Tivoli Directory Server as your user registry, you can take
advantage of its password history policy. For additional information about
setting the password history policy when using Tivoli Directory Server as your
user registry, see “Setting the password history policy” on page 404.
v When modifying a password policy, you provide a list of days, start time, and
end time. The start time and end time apply to each day on the list. If the
specified start time is greater than the specified end time, then the access is
allowed until the specified end time of the next day.
Procedure
1. Use Web Portal Manager to log in to the domain as a domain administrator.
2. Click User → Show Global User Policy.
3. For Max Login Failures, select Unset or Set to set or clear the maximum
number of login failures before the account is no longer allowed to participate
in the secure domain. If you select Set, either accept the default value of 10 or
change the value to a number equal to or greater than zero.
4. For Disable Time Interval, select Unset, Disable, or Set to set the time, in
seconds, or to disable each user account when the maximum number of login
failures is exceeded. If you select Set, either accept the default value of 180
seconds or change the value to a number equal to or greater than zero.
5. For Minimum Password Length, select Unset or Set to set the minimum
number of characters required for the password. If you select Set, either
accept the default value of eight alphanumeric characters or change the value
to a number greater than zero.
6. For Maximum Password Age, select Unset or Set to set the maximum time
that a password can be used before it expires. The maximum password age is
relative to the last time the password was changed. If you select Set, either
accept the default value of 91 days (91-00:00:00) or change the value to a
number greater than zero.
7. For Minimum Password Alphas, select Unset or Set to set the minimum
number of alphabetical characters required in a password. If you select Set,
either accept the default value of four alphabetical characters or change the
value to a number greater than zero.
8. For Minimum Password Non-Alphas, select Unset or Set to set the minimum
number of non-alphabetic characters required in a password. If you select Set,
either accept the default value of one non-alphabetic character or change the
value to a number greater than one.
160 IBM Security Access Manager for Web Version 7.0: Administration Guide
9. For Max Password Repeated Characters, select Unset or Set to set the
maximum number of repeated characters allowed in a password. If you select
Set, either accept the default value of two repeated characters or change the
value to a number greater than two.
10. For Password Spaces Allowed, select Unset, Yes, or No to determine whether
spaces are allowed in passwords. You can accept the default setting of Unset.
You can change the value to Yes to allow spaces in passwords or to No to not
allow spaces in passwords.
11. For Max Concurrent Web Sessions, select Displace, Unset, Unlimited, or Set
to set the maximum number of concurrent web sessions to allow. If you select
Set, type a number equal to or greater than one.
Note: This policy applies only to certain components. A web session is a user
session that is maintained by the web security solutions, such as WebSEAL
and plug-ins for web servers. Refer to the component administration guides to
see whether this setting is applicable and whether specific configuration
options are required to enforce this policy.
12. For Account Expiration Date, select Unset, Unlimited, or Set to set the
account expiration date. You can accept the default setting of Unset. You can
change it to Unlimited or Set.
If you select Set, type the four-digit year in the Year field.
Either accept the default value of Jan 01-00:00:00 or change the value to the
date and time, specified as Month DD:hh:mm:ss. The hours must be entered
using a 24-hour clock (for example, 09 for 9:00 a.m. or 14 for 2:00 p.m.).
13. For Time of Day Access, select Unset or Set to set the time of day access
policy. If you select Set, either accept the default settings or change them.
You can change these values:
v Select the days of the week from the choices provided.
v Select All Day or Between hours of.
If you select Between hours of, also select the Start Time. The start time
format is specified as hours and minutes. The start time is expressed by
using a 24-hour clock.
If you select Between hours of, also select the End Time. The end time
format is specified as hours and minutes. The end time is expressed by
using a 24-hour clock.
If you select Between hours of, also select Local Time or UTC Time. The
time zone is local by default; UTC is Coordinated Universal Time.
14. Click Apply.
Procedure
1. Log in to the domain as a domain administrator.
2. Use the policy set command.
Example
For example, to set a global user policy to a maximum password age of 31 days 8
hours and 30 minutes, enter the following command:
pdadmin sec_master> policy set max-password-age 031-08:30:00
Import users
You can import a user that exists in a user registry and make that user a Security
Access Manager user with Web Portal Manager or the pdadmin utility.
When a user is imported, the domain administrator assigns a user name, which is
sometimes called a principal name. The user name must be unique within the
domain because it is used by Security Access Manager to identify this user.
Note: When AD LDS is used as the user registry, you can import only existing
users defined within the same AD LDS partition in which Security Access Manager
was configured.
Procedure
1. Use Web Portal Manager to log in to the domain as a domain administrator.
2. Click User → Import User.
3. Type a User Id (for example maryj).
4. Click Group Membership to search for groups in which the user can be a
member.
5. Type a Registry UID. The registry UID specifies the location in the user
registry to be imported. For example: cn=maryj,o=ibm,c=us,dc=mkt. Lotus Notes
users require the full path name for the user that is being imported. For
example: Mary Jones/IBM/US
6. Select the Account Valid check box to indicate that the new user can participate
in the domain. If this option is not selected, the new user account is not valid
and the user cannot log in.
7. Select the GSO User check box to indicate that the user can use the global
sign-on (single sign-on) for Security Access Manager.
8. Select the Password Valid check box to force a password change the next time
the user logs in to the domain. If this option is not selected, the user is
informed that the password expired.
9. Click Create.
Results
Procedure
1. Log in to the domain as a domain administrator.
2. Use the user import command to import an existing user.
162 IBM Security Access Manager for Web Version 7.0: Administration Guide
Example
For example, to import the user information for the user named maryj from the
existing user registry definition, enter the following command:
pdadmin sec_master> user import –gsouser maryj "cn=Mary Jones,o=IBM,c=us,dc=mkt"
Note: When using an LDAP user registry and if necessary, the user information
that is imported to the domain can be imported again to another domain.
For more information, see the IBM Security Access Manager for Web: Command
Reference.
Delete a user
You can delete a user with Web Portal Manager or the pdadmin utility.
When you delete a user, this user is removed from all objects with which it is
associated. If this user is the only ACL entry that is associated with an ACL policy,
no other user or group can manage this ACL policy. Before deleting a user, you
must validate that there are other users or groups that can manage this ACL policy.
Procedure
1. Use Web Portal Manager to log in to the domain as a domain administrator.
2. Click User → Search Users.
3. Search for one or more user names to delete and click Search.
4. Select the check boxes next to the user names to delete and then click Delete.
5. From the Delete Selected Users page, click Delete Users to confirm the deletion
or click Delete Users and Registry Entries to also remove the registry entries
associated with the selected users.
Procedure
1. Log in to the domain as a domain administrator.
2. Use the user delete command to delete a user. Any resource credentials
associated with a user account are automatically removed when the user
account is deleted. If the user does not exist in the user registry, an error is
displayed.
Example
For example, to delete the user named jdoe and the associated information from
the user registry, enter the following command:
pdadmin sec_master> user delete –registry jdoe
For more information, see the IBM Security Access Manager for Web: Command
Reference.
In the following sections, instructions are provided for using either Web Portal
Manager or the pdadmin utility, or both. For online help while using Web Portal
Manager, click the question mark to open a separate help window for the current
page.
Create a group
You can create a group with Web Portal Manager or the pdadmin utility.
When a group is created, the domain administrator assigns a group name. The
group name must be unique within the domain because it is used by Security
Access Manager to identify this group.
Note: When Active Directory Lightweight Directory Service (AD LDS) is used as
the user registry, groups must be created within the same AD LDS partition in
which Security Access Manager was configured.
For more information about groups, see “Create groups” on page 204.
Procedure
1. Use Web Portal Manager to log in to the domain as a domain administrator.
2. Click Group → Create Group.
3. Type a Group Name for the group (for example, sales).
4. Optional: Type a Description for the group (for example, Sales).
5. Type a Registry GID. The registry GID specifies the location in the user
registry where the new group is created. For example:
cn=Sales,o=ibm,c=us,dc=mkt. Lotus Notes users require the full path name for
the group that is being created. For example: Sales/IBM/US.
6. Optional: Type the path in the Object Container field to the Security Access
Manager object space where the group is to be created.
7. Click Create.
Results
The new group is displayed as a link. Select the link and the properties for the
new group are displayed.
Procedure
1. Log in to the domain as a domain administrator.
164 IBM Security Access Manager for Web Version 7.0: Administration Guide
2. Use the group create command to create a group and optionally place this
group in a group container object. If the container object does not currently
exist, it is automatically created.
Results
For example, to create the group named sales, enter the following command:
pdadmin sec_master> group create sales "cn=sales,o=IBM,c=us,dc=mkt" Sales
For more information, see the IBM Security Access Manager for Web: Command
Reference.
List groups
You can search for group names with Web Portal Manager or the pdadmin utility.
Procedure
1. Use Web Portal Manager to log in to the domain as a domain administrator.
2. Click Search Groups.
3. At the Group Search page, use the special character (*) to filter group names.
4. Use the default value of 100 or type a Maximum Results number to limit the
number of group names that you want to view.
5. Click Search to display a table of group names. Each group name is displayed
as a link.
From the Group Search page, you can do these tasks: create a group, delete one
or more existing groups, and click the link to view group properties.
6. Use the default value of 15 group names per page or click Options to enter the
number of group names you want to view per page. Toggle back by clicking
Hide Options.
7. Use the default value of None, meaning that no text is used for filtering.
Alternatively, click Filters to find group names that contain, start with, or end
with the text that you specify. Toggle back by clicking Hide Filters.
Procedure
1. Log in to the domain as a domain administrator.
2. Use the group list command to list groups.
Example
For example, to search for and list up to a maximum of 100 groups, enter the
following command:
pdadmin sec_master> group list * 100
For more information, see the IBM Security Access Manager for Web: Command
Reference.
When a group is imported, the domain administrator assigns a group name. The
group name must be unique within the domain because it is used by Security
Access Manager to identify this group.
Note: When AD LDS is used as the user registry, you can import only existing
groups defined within the same AD LDS partition in which Security Access
Manager was configured.
Attention: If you import a dynamic group, ensure that the policy server is
enabled for dynamic group support. For blade systems to benefit from dynamic
group support, also enable this stanza entry on each blade system. For details
about enabling the policy server for dynamic groups, see “Enabling dynamic group
support” on page 167.
Procedure
1. Use Web Portal Manager to log in to the domain as a domain administrator.
2. Click Group > Import Group.
3. Type a Group Name for the group. For example, type sales.
4. Type a Registry GID. The registry GID specifies the location in the user
registry of the group to be imported. For example, type
cn=sales,o=ibm,c=us,dc=mkt. Lotus Notes users require the full path name for
the group that is being imported. For example: sales/IBM/US.
5. Optional: Type the path in the Object Container field to the Security Access
Manager object space where the group is to be imported.
6. Click Import.
Results
The new group is displayed as a link. Select the link to display the properties for
the new group.
Procedure
1. Log in to the domain as a domain administrator.
2. Use the group import command to import an existing group.
3. Optional: Place this group in a group container object. If the container object
does not currently exist, it is automatically created.
Example
166 IBM Security Access Manager for Web Version 7.0: Administration Guide
pdadmin sec_master> group import sales "cn=sales,o=IBM,c=us,dc=mkt"
Note: The group information that is imported to the domain can be imported
again to another domain, if necessary.
See the IBM Security Access Manager for Web: Command Reference.
Delete a group
You can delete a group with Web Portal Manager or the pdadmin utility.
When you delete a group, this group is removed from all objects with which it is
associated. If this group is the only ACL entry that is associated with an ACL
policy, no other user or group can manage this ACL policy. Before deleting a group
in this case, you must validate that there are other users or groups that can
manage this ACL policy.
Procedure
1. Use Web Portal Manager to log in to the domain as a domain administrator.
2. Click Group > Search Groups.
3. Search for one or more group names to delete and click Search.
4. Select check boxes next to the group names to delete, and click Delete.
5. From the Delete Selected Groups page, click Delete Groups to confirm the
deletion or click Delete Groups and Registry Entries to also remove the
registry entries associated with the selected groups.
Procedure
1. Log in to the domain as a domain administrator.
2. Use the group delete command to delete a group.
Example
For example, to delete the group named sales and the associated information from
the user registry, enter the following command:
pdadmin sec_master> group delete –registry sales
For more information, see the IBM Security Access Manager for Web: Command
Reference.
LDAP registry
For LDAP registry users, modify the dynamic-groups-enabled entry in the [ldap]
stanza of the ldap.conf file.
For configuration changes to take effect, you must restart the updated server.
Note: Dynamic groups are not supported for the AD LDS registry.
Active Directory
For Active Directory registry users, modify the dynamic-groups-enabled entry in
the [uraf-registry] stanza in the activedir.conf and activedir_ldap.conf files.
To do so, edit the configuration files with a text editor or use the pdadmin utility as
follows:
pdadmin sec_master> config modify keyvalue set
"c:\Program Files\Tivoli\Policy Director\etc\activedir.conf"
"uraf-registry" "dynamic-groups-enabled" yes
pdadmin sec_master> config modify keyvalue set
"c:\Program Files\Tivoli\Policy Director\etc\activedir_ldap.conf"
"uraf-registry" "dynamic-groups-enabled" yes
Note: Do not change this value if Active Directory cannot handle dynamic groups.
168 IBM Security Access Manager for Web Version 7.0: Administration Guide
Chapter 12. Certificate and password management
To securely transfer information between servers and clients, you can configure
Security Access Manager to use various server-side and client-side certificates, key
files, and stash files for authentication. During the initial configuration, you can
configure the settings for the default lifetime of the certificates and the key file
passwords.
Security Access Manager can use Secure Sockets Layer (SSL) for encryption, system
authentication, and application-level authentication. When installed and
configured, SSL uses certificates for operation that help to ensure a secure
environment. Security Access Manager can also use Transport Layer Security (TLS)
version 1 and SSL. TSL can be enabled to work when compliance modes are
enabled and when compliance modes are disabled.
In the secure environment, the policy server acts as the certificate authority (CA)
and is responsible for creating and renewing certificates. The IBM Security Access
Manager runtime package (pdrte) relies on only SSL server-side authentication and
does not require a client-side certificate. All of the Security Access Manager
servers, including the policy server, authorization server, policy proxy server, and
resource manager server, rely on client-side certificates to operate.
The certificates used by Security Access Manager are in key files. Key files have a
.kdb extension (or .ks extension for Java keystores). Key files must be secured and
protected by the strictest operating system controls available, because they contain
the private keys for the certificates. For example, the key file for the policy server
is ivmgrd.kdb and, by default, it can be read and written to by only the ivmgr user.
The certificate files in a directory need to be accessible to the user ivmgr (or all
users). Ensure that the ivmgrd.kdb file and the directory or folder that contains the
Furthermore, to facilitate unattended server operation, there are files that contain
an obfuscated (not encrypted) version of the password to the key files. These
versions are stash files, which are denoted by a .sth file extension. Java key files
that are generated by Security Access Manager do not have corresponding stash
files. These stash files must be secured by using the local standard operating
system measures. For the policy server, the stash file is ivmgrd.sth and its
permissions are the same as the ivmgrd.kdb key file.
For security reasons, both the certificates and the key file passwords can be set to
expire after a configurable amount of time. The default lifetime for a certificate is
four years. The default lifetime for a key file password is 183 days. The fixed
lifetime for the PDCA certificate is 20 years. By default, the Security Access
Manager servers refresh the certificates and passwords automatically while they
are running. The refresh process reissues a new certificate with a new lifetime and
generates a new password with the configured lifetime.
The Security Access Manager calculates the life span of the certificate when you
open the security context. When opening the security context, the Security Access
Manager verifies the need to refresh the context. If there is a need to refresh the
certificate, then Security Access Manager creates an SSL context with the new
certificate and processes the request.
If the servers are not running in a specified time frame, then their certificates or
passwords can expire. In this case, a manual refresh is necessary. Also, if a
certificate or a password or the entire key file is damaged, then you must manually
refresh it. Refreshing the expired or damaged certificate, password, or key file is
necessary to maintain the security of the Security Access Manager domain. For
information about manually refreshing the certificates, passwords, and key files,
see “Key file and stash file renewal information” on page 171.
Initial configuration
You create certificates used by the Security Access Manager servers during the
initial configuration of the servers. The Security Access Manager servers use these
certificates to securely communicate with other servers.
In a new Security Access Manager installation, the policy server is the first server
that is configured. During the configuration, two certificates are created: the PDCA
certificate and a personal certificate that is used by the policy server and signed by
the PDCA certificate. Both of these certificates are in the ivmgrd.kdb key file.
During the policy server configuration, the IBM Security Access Manager runtime
key file pd.kdb is created. The PDCA certificate is inserted into it as a trusted
certificate.
When new systems are added to the Security Access Manager domain, the IBM
Security Access Manager runtime package is configured first. As part of this
configuration, the system pd.kdb and pd.sth files are created. The PDCA certificate
is included in the key files as a trusted certificate.
When new resource managers, such as WebSEAL, are configured, the svrsslcfg
utility or an equivalent application programming interface (API) is run. This utility
creates a key file (such as pdacld.kdb) and places a personal certificate for the
server in it. The utility also inserts the PDCA certificate as a trusted certificate in
170 IBM Security Access Manager for Web Version 7.0: Administration Guide
the key file. These two certificates are obtained from the policy server. The
certificates are transported to the client system over SSL with the IBM Security
Access Manager runtime key file.
For more information about the configuration files and certificate-related stanza
entries, such as the configured key file and the configured stash files, see
Appendix B, “Configuration file reference,” on page 217.
The following table describes the server key and stash files, including how they are
created and refreshed.
Table 21. Server key and stash files
How automatically How manually
Server Key and stash files How created
updated updated
IBM Security Access pd.kdb and pd.sth During runtime Running the pdadmin1 Running the
Manager runtime (does not contain a configuration utility bassslcfg utility with
package client-side certificate) the –chgpwd option
Policy server ivmgrd.kdb and During server Running the pdmgrd1,2 Running the
ivmgrd.sth configuration command mgrsslcfg utility with
the -chgpwd3 and
-chgcert3 options
Proxy server pdmgrproxyd.kdb and During server Running the Running the
pdmgrproxyd.sth configuration pdmgrproxyd1 svrsslcfg utility with
command the –chgpwd9 and the
–chgcert5 options
Authorization server [instance- During server Running the pdacld1 Running the
]ivacld.kdb configuration command svrsslcfg utility with
[instance- the -chgpwd4 and
]ivacld.sth -chgcert5 options
Note: [instance-] is
the instance of an
authorization server
on a computer.
Having more than
one authorization
server on a computer
generates multiple
sets of .kdb and .sth
filenames.
Resource manager The key files and Running the Running an instance Running the
stash file names are svrsslcfg utility with of the resource svrsslcfg utility with
resource the –config option manager1 the –chgpwd7 and
manager-dependent, –chgcert8 options
and the file name is
configurable.6
Table notes:
1
You can turn off automatic certificate and password refresh by setting the
ssl-auto-refresh stanza entry to no in the [ssl] stanza in the respective
configuration file.
2
Because the policy server also acts as the certificate authority (CA) for the
secure domain, it must be recycled after a refresh. It continues to operate
Regenerating certificates
If a private key in the PDCA certificate is compromised, then you must regenerate
the key file. You might change Security Access Manager to a different compliance
type that requires certificates with different bit strengths or signature algorithms. In
this case, you must regenerate the key file.
Each key file contains a list of trusted certificate authorities (CAs). Each key file
except ivmgrd.kdb has the Security Access Manager certificate authority (PDCA)
certificate as a trusted certificate authority. This certificate authority signs all the
other Security Access Manager certificates. This certificate authority is created
during policy server configuration and is placed in the ivmgrd.kdb file.
It is important to protect the ivmgrd.kdb file to keep the private key in the PDCA
certificate from being compromised. If the private key is compromised, the private
key, each key file, and each certificate in the domain must be regenerated.
From the Java perspective, the IBM Security Access Manager Runtime for Java also
stores the PDCA certificate. If the PDCA certificate is compromised and must be
regenerated, you must reconfigure all servers that use the IBM Security Access
Manager Runtime for Java.
You must also regenerate the key file for all resource managers that were
previously configured with the SvrSslCfg class. Reconfigure these resource
managers.
Procedure
1. Stop the policy server.
2. Regenerate the PDCA certificate and policy server certificate by generating a
new ivmgrd.kdb file with the mgrsslcfg –config utility.
3. Regenerate the IBM Security Access Manager runtime certificates on the policy
server by running the bassslcfg –config utility.
4. After obtaining the certificate authority certificate, you can choose to
automatically download the certificate authority certificate or manually copy
the file.
172 IBM Security Access Manager for Web Version 7.0: Administration Guide
v If auto-download is set to on (enabled) and the policy server is running, the
certificate authority certificate is automatically obtained. By default,
auto-download is enabled.
v If auto-download is set to off (disabled), the base-64 DER encoded version of
the PDCA certificate must be copied to the system. This file is stored as
pdcacert.b64 on the policy server.
5. On each runtime system, run the bassslcfg –config utility.
6. On each authorization server in the domain, regenerate its key files by running
the svrsslcfg –config utility. The policy server must be running. This
command updates both the server certificate for the authorization server and its
trusted certificate (the new PDCA certificate).
7. On each resource manager in the domain, regenerate its key files by running
the svrsslcfg –config utility. The policy server must be running. This
command updates both the server certificate for the authorization server and its
trusted certificate, the new PDCA certificate.
8. On each Security Access Manager Java runtime system, run the pdjrtecfg
-unconfig utility, the pdjrtecfg -config utility, and the java
com.tivoli.pd.jcfg.SvrSslCfg -action replcert command.
Procedure
1. Stop all Security Access Manager services that are running on the system by
entering the following command:
v AIX®, Linux, and Solaris operating systems:
pd_start stop
v Windows operating systems:
drive:\net stop servername
Stop each Security Access Manager service. For example, to stop the policy
server, type:
C:\net stop IVMgr
2. Change to the directory where the key files are located. Assuming the default
directory on a AIX, Linux, or Solaris operating system, enter the following
command:
cd /var/PolicyDirector/keytab
3. Rename the ivmgrd.kdb key file, ivmgrd.sth stash file, and pdcacert.b64
PDCA file by entering the following commands:
mv ivmgrd.kdb ivmgrd.kdb.old
mv ivmgrd.sth ivmgrd.sth.old
mv pdcacert.b64 pdcacert.b64.old
4. Configure the policy manager server to create a new key file and stash file.
For example, enter the command but replace the value for the compliance
option.
/opt/PolicyDirector/sbin/mgrsslcfg -config -D yes -C compliance
5. Change the ownership of the newly created key file, stash file, and certificate
to ivmgr:ivmgr by entering the following commands:
chown ivmgr:ivmgr /var/PolicyDirector/keytab/ivmgrd.kdb
chown ivmgr:ivmgr /var/PolicyDirector/keytab/ivmgrd.sth
chown ivmgr:ivmgr /var/PolicyDirector/keytab/pdcacert.b64
This example shows the command (on one line) to update the certificate on
the authorization server:
svrsslcfg -chgcert -f /opt/PolicyDirector/etc/[instance-]ivacld.conf
-P *** -A sec_master
10. Start the updated Security Access Manager servers by entering the following
command:
pd_start restart
11. Reconfigure the certificates of any other Security Access Manager Java
applications on the policy server. See “Reconfiguring the certifications of
Security Access Manager Java applications.”
What to do next
After updating the PDCA on the policy server, you must update the certificates on
all other systems that run Security Access Manager servers and applications.
After regenerating the PDCA certificate on the policy server, you might need to
copy the PDCA certificate to each runtime computer in the domain. If
auto-download is enabled, you do not need to copy the file.
174 IBM Security Access Manager for Web Version 7.0: Administration Guide
About this task
This procedure updates the IBM Security Access Manager Runtime for Java files.
Then it updates the individual Security Access Manager Java components with the
IBM Security Access Manager Runtime for Java.
The IBM Security Access Manager Runtime for Java files that must be updated are
the PDCA.ks file and the ssl-compliance property in the PD.properties file.
There are several ways that you can reconfigure the certification of a Security
Access Manager Java application:
v Unconfigure and then reconfigure the IBM Security Access Manager Runtime for
Java.
v Obtain a PDCA.ks file from another IBM Security Access Manager Runtime for
Java that was already updated. Then, copy the file into the target IBM Security
Access Manager Runtime for Java.
If you configured the Java application with the Security Access Manager, version
7.0, configuration program, you specified a location for the PDCA.ks file. Replace
the PDCA.ks file at that location instead of the location in the JRE.
1. To locate the PDCA.ks file, open the properties configuration file of your
application for IBM Security Access Manager Runtime for Java. For example,
the file might be named pdwpm.properties.
2. In the file, find the pdca-url entry. The entry specifies the PDCA.ks file path.
pdca-url=file\:/user_supplied_path/PDCA.ks
3. Write the PDCA.ks file from an updated IBM Security Access Manager
Runtime for Java into the location that the pdca-url entry specifies.
v Also update the ssl-compliance entry, if it exists. For example:
ssl-compliance=none
Change the value to the appropriate compliance level for Java application that
you configured with Security Access Manager, version 7.0.
For example:
ssl-compliance=suite-b-192
Procedure
1. Update the PDCA.ks and PD.properties files by unconfiguring the Java runtime
and then reconfiguring it.
Note:
v This step removes all files in the [JRE]/PolicyDirector directory and then
re-creates the files. For WebSphere Application Server version 8.0 and later,
the directory is [WAS_HOME]/tivoli/tam/PolicyDirector.
v If any file under this directory was customized, then you must reapply the
customization to the new file.
v At this step, do not unconfigure the Security Access Manager Java
applications that are configured to use the JRE.
What to do next
Repeat this procedure for any other Security Access Manager Java run times that
are on the system.
Procedure
1. Stop all Security Access Manager services that are running on the system by
entering the following command:
v AIX, Linux, and Solaris operating systems:
pd_start stop
v Windows operating systems:
drive:\net stop servername
Stop each Security Access Manager service. For example, to stop the policy
server, type:
C:\net stop IVMgr
2. Configure the IBM Security Access Manager runtime with the bassslcfg
–config utility. For example, enter the command but replace the values for the
–c and –h options.
/opt/PolicyDirector/sbin/bassslcfg -config -h
policysvrhostname -c /var/PolicyDirector/keytab/pdcacert.b64
3. Run the svrsslcfg -chgcert command for the authorization, proxy, and
resource servers and for any other C API applications that use svrsslcfg
-config. This example is for the authorization server:
176 IBM Security Access Manager for Web Version 7.0: Administration Guide
svrsslcfg -chgcert -f /opt/PolicyDirector/etc/[instance-]ivacld.conf -P *** -A sec_master
4. Start the Security Access Manager services on the computer by entering the
following command:
pd_start start
5. Reconfigure the certificates of any other Security Access Manager Java
applications on the policy server. See “Reconfiguring the certifications of
Security Access Manager Java applications” on page 174.
What to do next
Reconfigure the certificates of any Security Access Manager Java applications. See
“Server certificate revocation” on page 178.
If auto-download is disabled, then you must manually copy the file to each
system. If the File Transfer Protocol (FTP) is supported in your environment, use
one of the following FTP options:
v Use the put command from the policy server to transfer the certificate to the
other system.
v Use the get command from the other system to retrieve the certificate from the
policy server.
The following steps assume that the pdcacert.b64 certificate is retrieved from the
policy server:
Procedure
1. Change to the local directory on the policy server that contains the
pdcacert.b64 file:
cd /var/PolicyDirector/keytab
2. Connect to the runtime system by opening an FTP session. To illustrate,
pdruntime1 is the name of the runtime system.
ftp pdruntime1
3. Log on to the remote system with the appropriate user ID and password.
4. Change to the directory where you want to store the certificate. Assuming the
default directory is on a AIX, Linux, or Solaris operating system, enter the
following FTP command:
cd /var/PolicyDirector/keytab
5. Indicate that the file to be transferred is a text (ASCII) file by entering the
following command:
ascii
6. To view the transfer process visually, enter the following command:
hash
7. Start the transfer by entering the following command:
put pdcacert.b64
If the certificate on a C-based resource manager is compromised, you can run the
svrsslcfg –chgcert utility to replace the existing server certificate and update the
PDCA certificate.
You also can reconfigure a C-based server by running the svrsslcfg –unconfig
and svrsslcfg –config utilities. The policy server must be running when you
reconfigure it. These commands update both the server certificate for the
authorization server and its trusted certificate (the new PDCA certificate). Similarly,
a resource manager based on Java can be unconfigured and reconfigured with the
Java SvrSslCfg class.
178 IBM Security Access Manager for Web Version 7.0: Administration Guide
server certificate or the LDAP server certificate itself. The expiration and
management of these certificates are not handled by Security Access Manager.
However, it is possible to include the LDAP certificate in the key file for a
resource manager by running the svrsslcfg –config utility with the -C option.
Refresh certificates that are not managed by Security Access Manager with the
same mechanism that created the initial certificate. The new certificate can be
replaced in the key file by running the svrsslcfg –modify –C new_cert_filename
utility.
v After running the bassslcfg –config utility, you might need to change the
permissions on the pd.kdb and pd.sth files.
v The configuration files mentioned are found in the install_dir/etc directory.
For example, on an AIX system, the policy server, authorization server, and
runtime configuration files are /opt/PolicyDirector/etc/ivmgrd.conf,
/opt/PolicyDirector/etc/[instance-]ivacld.conf, and /opt/PolicyDirector/
etc/pd.conf. Similarly, the key files and stash files can be found in the
install_dir/keytabs directory.
v Security Access Manager does not distinguish between export and domestic
encryption. For encryption based on Java, the strength is regulated by the
jurisdiction files that are present in the Java runtime environment. There is no
set length for keys generated by the IBM Security Access Manager runtime.
v Both the public keys that are included in certificates and the private keys that
might be stored in key files have key lengths. The maximum key length is 2048
bits. Public keys with 2048-bit key lengths can be generated by using the
configuration utilities bassslcfg, mgrsslcfg, or svrsslcfg.
User
registry
Replica
Authorization authorization
server database
The policy server manages the policy database, also called the master authorization
database, and maintains location information about other Security Access Manager
servers in the domain. There must be at least one policy server defined for each
domain.
The policy proxy server helps support several network deployment strategies for
the policy server and the resource managers. A resource manager can be any server
or application that uses the Authorization API to process client requests for access
to resources, such as WebSEAL servers or Authorization API applications.
A policy proxy server is associated with or part of a gateway server that separates
the enterprise network from the outside network. A proxy server is also associated
with a firewall server that protects the enterprise network from outside intrusion.
In a Security Access Manager environment, the policy proxy server runs on behalf
of the policy server for a specified number of resource manager and administrative
tasks. An example is the pdadmin commands.
The policy proxy server serves many important functions in a Security Access
Manager environment. The proxy can terminate any connections from a less
trusted network. The proxy passes those requests to a policy server in a more
trusted network with a different connection. The proxy protects the policy server in
the more trusted network from denial-of-service and other similar attacks. In this
deployment scenario, the proxy is deployed in what is commonly called the
demilitarized zone (DMZ).
The proxy is useful in a wide-area network (WAN) deployment where the policy
server and several applications are deployed at separate locations across a slow
connection. This usage usually occurs when the policy server and the applications
are deployed in different geographical locations. A proxy might be deployed on the
same network as the applications and the applications might be configured to go
through the proxy. In this case, only the proxy, not each application, contacts the
policy server. This configuration is important for the following reasons:
v The policy proxy server can be configured to cache security policy. When a
policy update occurs at the policy server, only one copy of the policy is
transmitted from the policy server to the proxy. The proxy then provides the
policy to all the applications. If the proxy was not there, each individual
application would request and receive the policy from the policy server,
significantly increasing the network traffic.
v This configuration can also improve security. You can configure firewalls
between the locations so that only the proxy contacts the policy server, not the
applications.
Figure 19 on page 183 shows the interaction between applications, the policy proxy
server, and the policy server.
182 IBM Security Access Manager for Web Version 7.0: Administration Guide
Central Office
Internet
Internet
Policy Proxy Server Policy Server
Internal Network
Subnet DMZ
Firewall
Branch Office
Server dependencies
To ensure optimal performance, you must consider several dependencies when you
configure your server.
Dependencies include:
v There must be at least one instance of the policy server.
v There must be at least one policy server defined. You can have a single policy
server and create as many domains as you want. When a domain is created, a
separate policy database is also created for each domain. The single policy server
can access any of the distinct policy databases.
v The policy server manages the policy database.
v There must be only one policy database (master authorization database) in a
domain.
v The policy database must be on a highly available policy server with a robust
file system.
v Each policy database is subject to a regular backup procedure. The administrator
can specify the location for the backup files.
v The policy servers provide authorization database replication services to all
other Security Access Manager servers in the domain that run in local cache
mode.
The table at the beginning of the utilities section lists available utilities and their
purposes.
The pdadmin utility, which is also described in IBM Security Access Manager for Web:
Command Reference, provides commands that assist in troubleshooting problems.
For example, the pdadmin utility includes the server task stats and server task trace
commands that enable statistics gathering and capture information about error
conditions. In addition, the IBM Security Access Manager for Web Troubleshooting
Guide provides further diagnostic information for using the Security Access
Manager pdadmin utility and other utilities.
This technique is useful when you need to customize an installation or when you
need to do troubleshooting tasks. You can run scripts only on the local computer.
You can run the pd_start utility from any directory. This utility is in the following
directory:
/opt/PolicyDirector/bin/
Type:
# pd_start start
This utility waits until all servers start before returning to the prompt.
184 IBM Security Access Manager for Web Version 7.0: Administration Guide
About this task
You must run the start commands as an administration user, such as root. Start the
Security Access Manager servers in the following order:
Procedure
1. For the policy server, enter the following command:
install_path/bin/pdmgrd
2. For the policy proxy server, enter the following command:
install_path/bin/pdmgrproxyd
3. For the authorization server, enter the following command:
install_path/bin/pdacld
Type:
pd_start restart
This utility waits until all servers start before returning the prompt.
Type:
pd_start stop
This utility waits until all servers stop before returning to the prompt.
Type:
pd_start status
The Security Access Manager AutoStart Service automatically starts each of the
Security Access Manager servers whenever the Startup Type is set to Automatic.
After the servers start, the AutoStart Service exits.
Procedure
1. From the Start menu, select Administrative Tools > Services. Alternatively,
type services.msc at a DOS command prompt.
2. On the Services menu, in the Name column, right-click the Security Access
Manager servers to start and click Start.
Note: Repeat the last step until all servers are started. The servers must be
started in the following sequence:
v Policy server
v Proxy server
v Authorization server
Procedure
1. From the Start menu, select Administrative Tools > Services. Alternatively,
type services.msc at a DOS command prompt.
2. On the Services menu, in the Name column, right-click the Security Access
Manager servers to stop, and click Stop.
Note: Repeat the last step until all servers are stopped. The servers must be
stopped in the following sequence:
v Authorization server
v Proxy server
v Policy server
186 IBM Security Access Manager for Web Version 7.0: Administration Guide
Server configuration file tasks
You can use the server configuration files to customize the operation of Security
Access Manager and its servers.
The configuration files, stanzas, and stanza entries are described in Appendix B,
“Configuration file reference,” on page 217.
Procedure
1. Make a backup copy of the configuration file that you plan to modify. If you
encounter an error, use the backup copy to return the configuration file to a
known working state.
2. Stop the Security Access Manager servers that are affected.
3. Use one of the following mechanisms to modify the configuration file:
v Use the pdadmin config commands to modify the configuration file.
v Use the appropriate configuration tool for your server to change the
configuration settings:
– For the ivmgrd.conf file, use the mgrsslcfg utility.
– For the pd.conf file, use the bassslcfg utility.
– For all other configuration files, use the svrsslcfg utility.
Note: Many stanzas or values are created or modified only by using Security
Access Manager configuration utilities. Some values are completed
automatically after the configuration is completed. Do not modify these values.
4. Start the Security Access Manager servers that are affected.
Example
For example, if you want to change the ivmgrd.conf file, you must stop the policy
servers. Complete the change and restart all the policy servers to put the change
into effect.
By default, the pd.conf file is installed at the following location for AIX, Linux,
and Solaris operating systems:
/opt/PolicyDirector/etc/pd.conf
By default, the pd.conf file is installed at the following location for Windows
operating systems:
c:\Program files\tivoli\Policy Director\etc\pd.conf
Authorization server
When the PDAcld package is installed, the authorization server automatically
starts after each system reboot.
[pdrte]
boot-start-[instance-]ivacld = yes
Proxy server
When the PDMgrProxyd package is installed, the policy proxy server automatically
starts after each system reboot.
[pdrte]
boot-start-pdmgrproxyd = yes
When the policy server modifies the master authorization database, it can send out
notification of this change to all resource manager servers with replica databases.
The authorization servers must then request a database update from the policy
server.
Note: Additionally, resource manager servers can check for database updates by
polling the policy server at regular intervals. Polling configuration for a WebSEAL
client, for example, is explained in the IBM Security Access Manager for Web:
WebSEAL Administration Guide.
188 IBM Security Access Manager for Web Version 7.0: Administration Guide
Update notifications from the policy server can be configured as an automatic
process or a manually controlled task. Notification is determined by the
auto-database-update-notify stanza entry in the [ivmgrd] stanza of the
ivmgrd.conf configuration file. By default, the stanza entry value is set to yes
(update notification is automatically done by the policy server):
[ivmgrd]
auto-database-update-notify = yes
This automatic setting is appropriate for environments where database changes are
few and infrequent. When you configure update notification to be automatic, you
must also correctly configure the max-notifier-threads and notifier-wait-time
stanza entries. For more information about these entries, see “Set the number of
update-notifier threads” on page 190 and “Set the notification delay time” on page
190.
Use the manual control of update notification to complete the process of modifying
the master authorization database before update notifications are sent out to
authorization servers with database replicas.
In manual mode, update notification uses the notifier thread pool as it does in
automatic mode. Therefore, the manual mode setting is affected by the
max-notifier-threads stanza entry value. For more information about this stanza
entry, see “Set the number of update-notifier threads” on page 190.
When the -server option (test_server in the previous example) is specified, only
that server is notified of changes to the master authorization database. A response
indicates the success or failure of the notification and the replication.
When the -server option is not specified, all configured resource manager servers
receive update notifications. A successful response indicates only that the policy
server began sending out update notifications. The response does not indicate
success or failure of the actual notification and replication processes.
The authorization required to run this command is the s action bit on the
/Management/Server object.
When a change is made to the master database, notification threads announce this
change to all replicas configured to receive update notifications. Each replica must
then download the new information or the changes from the master.
The policy server configuration file, ivmgrd.conf, contains a stanza entry for
setting the maximum number of update-notifier threads. This pool of threads
allows simultaneous (parallel) notification.
The default time delay is set at 15 seconds. This time delay is reset with each
subsequent change to the database.
The purpose of the time delay is to prevent the policy server from sending
individual replica notifications for each change in a series of database changes. The
time delay helps to ensure optimal performance of the Security Access Manager
system.
This performance feature is important for environments where batch changes are
made to the authorization database. It is not efficient for policy changes to be sent
to database replicas until all changes are made.
You can override this default notification time delay by changing the
notifier-wait-time entry value in the [ivmgrd] stanza of the ivmgrd.conf
configuration file. For example:
[ivmgrd]
notifier-wait-time = 20
190 IBM Security Access Manager for Web Version 7.0: Administration Guide
By default, the value is set to 15 seconds.
This chapter describes how Security Access Manager supports the replication
capability of the LDAP directory server to ensure that its data is always available.
Data integrity
Ensure that the data that is needed by Security Access Manager is always
available.
To ensure data redundancy, store all data on data devices that are Redundant
Array of Independent Disks (RAID) secured.
During failover, no write operations can occur. Only read-only LDAP server
operations are permitted during failover.
See the LDAP server documentation for complete information about high
availability of LDAP servers.
When the policy server fails or when the system on which the policy server is
located become unavailable, an outage might result because of the lack of data
redundancy.
To provide the redundancy for the shared data and for the functions that are
provided by the Security Access Manager policy server, you can install and
configure a primary policy server and a standby policy server. The standby server
takes over policy server functions in the event of a system or primary policy server
failure. The standby policy server acts as the primary policy server until the
original primary policy server is up and running again. The standby server reverts
to serving as the failover server.
194 IBM Security Access Manager for Web Version 7.0: Administration Guide
Chapter 15. Multiple-tenancy policy server
A multiple-tenancy server is a server that supports the hosting of multiple customers
on a single server instead of on multiple client systems.
The IBM Security Access Manager runtime clients must be configured into a
specific domain at installation time. The domain membership information
accompanies each subsequent request from the client to the policy server. The
[domains] stanza in the ivmgrd.conf configuration file for the multiple-tenancy
policy server contains a list of valid existing domains. See “[domains] and
[domain=domain_name] stanzas” on page 269 for an explanation of each stanza
entry.
Each domain must have its own [domain=domain_name] stanza. For example, to set
up separate domains for Smith-Davis Enterprises and Systems, Inc., you might
create two domains uniquely named smithdavis and systemsinc:
[domains]
domain = smithdavis
domain = systemsinc
[domain=smithdavis]
[domain=systemsinc]
The distinguished name (DN) can be used to restrict the registry into which users
can be created or imported. The distinguished name substrings must be used in
the user's distinguished name, for example:
cn=sdeuser1,ou=sde,dc=mkt,c=US
To require that user accounts be created in the dc=mkt,c=US directory container for
the smithdavis domain, specify allowing this registry substring in this stanza
entry:
[domain=smithdavis]
allowed-registry-substrings = "dc=mkt,c=US"
To require that user accounts be created only in the dc=mkt directory container for
the smithdavis domain, specify the following stanza entry:
[domain=smithdavis]
allowed-registry-substrings = "dc=mkt"
You can require the user accounts to be created in a specific directory, regardless of
where the container exists within the registry,
A completed [domains] stanza in the ivmgrd.conf configuration file might look like
the following stanza example for the policy server:
[domains]
domain = smithdavis
domain = systemsinc
[domain=smithdavis]
database-path = D:\smithdavis\sde0001.db
allowed-registry-substrings = "dc=mkt,c=US"
[domain = systemsinc]
database-path = D:\systemsinc\sysinc0001.db
allowed-registry-substrings = "dc=sales,c=US"
196 IBM Security Access Manager for Web Version 7.0: Administration Guide
Chapter 16. Delegated administration
Security Access Manager allows high-level administrators to delegate management
responsibilities of the domain to lower-level administrators.
This capability is vital to successfully manage large domains that are composed of
numerous departments. Security Access Manager supports delegated
administration in the following areas:
v Delegated management of resources in subregions of the object space
Administration capabilities are restricted to a portion of the object space.
v Delegated management of groups and users
Administration capabilities are restricted to a portion of the user population.
The Security Access Manager administrator for the enterprise domain (the
superdomain of the domain) also has authority to administer the domain. Security
Access Manager administrators can create and manage as many domains under
their authority as necessary to fulfill their unique business needs.
Note: An enterprise domain is basically the top-level domain, and any domain
created below an enterprise domain level is called a domain.
Secure domain
Domain C Domain D
...
Domain E
(Users X, Y, Z, . . .)
Figure 20. Delegate administrators
For each delegate user domain, including the enterprise domain, predefined
administrator types can be assigned in that domain. The following are the various
administrator types and the set of administrative tasks that can be done by
administrators assigned to each of these types:
Security Access Manager administrator
The Security Access Manager administrator is a member of the iv-admin
group. The Security Access Manager administrator can do all delegate
administration tasks.
Domain administrator
The domain administrator can do administrative tasks for the users in their
domain. Domain administrators can create new users and administrators in
their own domain. Domain administrators can assign an existing domain
user to be an administrator (of any type except domain administrator) for
the domain.
Senior administrator
A senior administrator has the same authority as a domain administrator,
except that a senior administrator cannot assign additional administrators.
Administrator
An administrator has the same authority as a senior administrator, except
that an administrator cannot create new domain users. An administrator
can modify the properties of existing users.
198 IBM Security Access Manager for Web Version 7.0: Administration Guide
Support Administrator
A support administrator serves the user in a help desk role and can view
properties of users, change passwords of users, and modify the Is
Password Valid? flags for users.
The delegate user administration tool enforces the administrative tasks that can be
done with each administrator type. When an administrator logs in, administrative
tasks become available in accordance to the administrator type of that user.
The policy then must be put into action by local members of the organization, who
see the lower-level details and implementation concerns. Often these two groups
have similar goals for overall organizational security. However, interconnecting
these two disparate points of view is challenging. Role-based administration
provides an enhanced ability for organizational security to meet the requirements
of complex security requirements for scalability, simplicity, and flexibility.
To understand role administration, the first concept that must be defined is a role.
A role consists of a number of tasks, responsibilities, or skills required to fulfill a
specific job requirement. Compared to the access control list (ACL) model, a role
becomes a list of one or more pairs of objects and one or more access permissions
that are applied to the object. For example:
v object 1: permission 1
v object 2: permission 2, 3, and 4
v object 3: permission 5
A role is an entity that can be delegated and administered. When a role is created,
it can be assigned to an enterprise domain. Domain administrators can in turn
assign any of the roles within that domain to any subdomain. When a role is
assigned to a subdomain, an administrator for that subdomain can assign any
subdomain users to that role. This process of assigning roles to subdomains can be
repeated as needed so that roles can be made available to the appropriate users.
Role assignment to an enterprise domain can be done only by the Security Access
Manager administrator. Domain administrators can assign a role to their
subdomains.
The need for management delegation generally arises from the growing demands
of a large site that contains many distinct departmental or resource divisions.
200 IBM Security Access Manager for Web Version 7.0: Administration Guide
Typically, a large object space can be organized into regions that represent these
departments or divisions. Each distinct region of the domain is typically better
organized and maintained by a manager who is more familiar with the issues and
needs of that branch.
In Figure 21, both the Engineering and Publications regions of the object space
require separate management control. Control of these regions begins with the root
of each region and extends to all objects below the root.
/WebSEAL
Engineering Marketing
server server
Resources
Publications
Object space
For information on these user and groups, see “Default administration users and
groups” on page 45.
In this scenario, the access control lists (ACLs) for the directories on the path to
each of these branches must contain entries for each account, with traverse
permission. For a site with many administration users, these ACLs might contain a
long list of entries that represent all these administration accounts.
The following technique resolves the problem of numerous ACL entries for
administrators:
1. Create an administration group account.
2. Add all new administration users to this group.
3. Add this group as an ACL entry (with traverse) to the directories that lead to
each subbranch that requires management delegation.
In Figure 22, the iv-admin group contains all administration users. The
pub-manager user is a member of this group. The user has the traverse permission
required to navigate to the/Publications directory.
The /Publications directory includes the pub-manager user entry in its ACL.
Because pub-manager is the delegated administrator of this branch with the
appropriate permissions, pub-manager can remove the iv-admin group account
and any other ACL entries from the /Publications ACL to gain total control over
this branch of the web space.
Explicit
ACL
/Resources Inherited
ACL
group iv-admin bT
/Publications ...
user pub-manager abcTdmlrx
202 IBM Security Access Manager for Web Version 7.0: Administration Guide
Setting up delegated group management requires the following steps:
Procedure
1. Determine a logical and practical hierarchy of the users and user types who are
members of the domain.
2. Create group container objects that reflect this hierarchy.
3. Create appropriate administration groups within these container objects.
4. Add the appropriate user to the appropriate administration group with the
specific permissions needed to do the required tasks.
Container objects are structural designations that you can use to organize the object
space into distinct and hierarchical functional regions. Use Group container objects to
define distinct categories of group types.
To create actual groups within each specific group container object with Web Portal
Manager or the pdadmin utility, log in to the domain as a domain administrator.
Procedure
1. Log in to the domain.
2. Click Object Space > Create Object.
3. In the Object Name text field, type the full path for the object name. For
example: /Management/Groups/Travel
4. In the Description text field, type the description for the object space. For
example: Travel Container Object
5. Click Create.
Results
To see the new object in the hierarchical structure, browse the object space. See
“List object spaces” on page 71.
-
/Management
-
/Management/Groups
+
/Management/Groups/Travel
Procedure
1. Log in to the domain.
2. Use the object create command.
Example
You can also use the group create command to create a group container object. See
“Create groups.”
For more information about the object create command, see the IBM Security
Access Manager for Web: Command Reference.
Create groups
To create a group and optionally place this group in a group container object with
Web Portal Manager or the pdadmin utility, log in to the appropriate domain as a
domain administrator.
Procedure
1. Use Web Portal Manager to log in to the domain as a domain administrator.
2. Click Group → Create Group.
3. In the Group Name text field, type the name for the group (for example,
group1). This field is required.
4. Optional: In the Description text field, type the description for the group (for
example, Travel group 1).
5. In the Registry GID text field, type the registry GID. The registry GID specifies
the location in the user registry where the new group is created. For example:
cn=travel,c=us.
6. Optional: In the Object Container text field, type the path to the Security
Access Manager object space where the group is to be created. Be sure to type
the path with a leading backward slash (/):
/Travel
The path is created under /Management/Groups (for example,
/Management/Groups/Travel).
7. Click Create.
204 IBM Security Access Manager for Web Version 7.0: Administration Guide
Results
The new group is displayed as a link. Select the link and the properties for the
new group are displayed.
Procedure
1. Log in to the domain.
2. Use the group create command. This command has the following syntax:
pdadmin>group create group_name dn cn [group_container]
Table 22. pdadmin group create command syntax
Argument Description
group_name Name of the new group object.
dn Distinguished name for the new group.
cn Common name for the new group.
group_container Relative path name for the group container object where this new
group is to be located. If no group container object is specified,
the group is placed under /Management/Groups.
Note:
a. All new group container objects that you create are under the default
/Management/Groups container. To create a container at another sublevel, use
a relative path name for the group_container variable.
b. You cannot use the group create command to create a group container
object without a group.
c. To add a group to the object space, the administrator must have create (N)
permission on the ACL governing the associated group container object.
If no group container object is specified, the administrator ACL entry with
the create permission must be specified in the ACL governing the
/Management/Groups container.
At installation, a single default ACL (default-management), which is
attached to /Management, defines the permissions on all groups and group
containers. You must add explicit ACLs to customize this control.
d. You can add multiple groups to a single group container.
The ACL on the group container object controls through inheritance all
groups located under the container object. The container object and its
groups are now the domain of the administrator with the delegated
responsibilities.
e. The placement of a new group in the object space is fixed on creation.
When a group is created, you can move its position only by deleting the
group from the object space (but not LDAP). You then import the group to
a new location. Users in the group are maintained.
Example
For example:
For more information about the group create command, see the IBM Security
Access Manager for Web: Command Reference.
If the group is located under the /Management/Groups section of the object space,
the ACL must be attached to /Management/Groups or the group itself.
If the group is located under a group container object, the ACL must be attached to
the group container object or the group itself. If you attach the ACL to the
/Management/Groups container object, the ACL would affect all other group
container objects located below /Management/Groups in the object space.
The ACL that is attached to one of these locations, or inherited from a parent
object, determines:
v Who controls the group object and the users in the group
v What actions can be done on the group and its users
The following operations and ACL permissions are appropriate for group
management:
Table 23. ACL permissions for group management
Operation Permission
Create a new group N (create)
You can use the pdadmin utility or Web Portal Manager to do these operations.
206 IBM Security Access Manager for Web Version 7.0: Administration Guide
Attention:
Use the add (A) permission to add any existing user to your groups. If an outside
user is placed in a group, the administrator of that group has control of the user.
The administration might share control of the user with administrators of other
groups where that user is a member. Grant this permission only to high-level
administrators who are responsible for user and group organization and corporate
policy.
Note:
1. The create (N) permission must be in an ACL that is attached to
/Management/Groups or on a group container object.
2. All other permissions listed can be in an ACL attached to /Management/Groups,
a group container object, or the group object itself.
The following operations and ACL permissions are appropriate for user
management:
Table 24. ACL permissions for user management
Operation Permission
Create a new user within one or more specified N (create)
groups
You can use the appropriate pdadmin utility or Web Portal Manager to do these
operations.
Note:
1. Use the create (N) permission in the group ACL or group container ACL to
create or import a user. You can enter that user into the groups you control.
user create user1 “cn=user1,c=us” user1 user1 adcde group1
user import user2 “cn=user2,c=us” group1
2. You can also create a user without designating a group. In this case, however,
the create (N) permission must be in an ACL on the /Management/Users
container object.
The ACL attached to /Management/Users defines the permissions for all users
whether or not they are members of a group.
You must establish groups that you use to delegate user management tasks. These
tasks include creating new users, deleting users and resetting passwords.
Administrators that do user administration tasks must have the N, d, m, W, and v
permissions to create, delete, modify (disable or change description), reset or
invalidate passwords, and view users they are responsible for managing. These
groups are used only for delegating user management. Do not use these groups for
protecting other resources in the domain.
You must also establish groups that you use to delegate management of a security
policy for protected resources within the domain. Administrators controlling the
208 IBM Security Access Manager for Web Version 7.0: Administration Guide
security policy for these groups require the A and v permissions but none of the
N, d, m, or W permissions. These groups are used to control access to resources
that need protecting.
For example, you have a web space accessible to the Internet with resources that
have these characteristics:
v Publicly accessible
v Accessible only to customers and employees
v Accessible only to employees
An ACL at the root of the www.company_ibm.com web space allows public access to
everything in the web space. An ACL at customers allows access to customers and
sales people. Another ACL at sales allows access only to sales people. These ACLs
might look like the following example:
public-access
user sec_master abcTdmlrx
any-other Tlrx
unauthenticated Tlrx
customer-access
user sec_master abcTdmlrx
group customers Tlrx
group sales Tlrx
any-other
unauthenticated
sales-access
user sec_master abcTdmlrx
group sales Tlrx
any-other
unauthenticated
Suppose that you have the following delegated user administration policy. Sales
people who are members of the sales group are allowed to create new accounts
for customers and grant them access to the customers portion of the web space.
Only administrators who are members of the sales-admin group are allowed to
manage accounts for new sales people.
The sales-admin ACL is used to administer membership of the sales group, which
in turn, is used to control access to the sales-people-only portion of the web
space. The only permission required is for the sales-admin group to be able to add
In each ACL, a super-admin group entry is granted the attach, browse, and control
permissions. Members of the super-admin group are responsible for administering
these ACLs.
210 IBM Security Access Manager for Web Version 7.0: Administration Guide
Chapter 17. Diagnostics and auditing
Security Access Manager provides ways to collect events that you can use for
diagnostic and auditing purposes of the servers.
Events for diagnostics and auditing pertain to the operations of the Security Access
Manager servers. These events do not pertain to the installation of these servers.
To enable diagnostics and auditing, you define which types of events to capture.
When events are captured, they can be written to log files. Events can also be
written to the standard output (STDOUT) device, to the standard error (STDERR)
device, or to a combination of these destinations. Beyond these destinations, when
events are captured, they can be redirected to a remote server or redirected for
processing to an application that uses log agents.
During the installation of the Security Access Manager servers, the installation logs
capture all messages for that specific installation. When using a native installation,
the installation uses the operating system logs. For information about installation
logs, see the IBM Security Access Manager for Web: Troubleshooting Guide.
Diagnostic events
For diagnostic purposes, define which message events and which trace events to
capture. These events can help you troubleshoot problems.
See the IBM Security Access Manager for Web: Troubleshooting Guide.
Auditing events
For auditing purposes, define which audit, statistic, or other type of events to
capture. Use these events to create snapshots of various server activities.
You can log audit events with either the native Security Access Manager approach
or Common Auditing Service.
For additional information about audit events, see the IBM Security Access Manager
for Web: Auditing Guide.
General guidelines
Use the following general guidelines when you change the configuration settings:
v Use the config modify command in the pdadmin command-line interface to
update configuration files for Security Access Manager. See "config modify" in
the IBM Security Access Manager for Web: Command Reference for more information
and instructions for using these commands.
– To modify a single key/value pair, use the pdadmin (local login) config
modify command with the set option. The following command is an example
that modifies the dynamic-groups-enabled value in the uraf-registry stanza
of the activedir.conf file on a Windows platform:
pdadmin> login local
pdadmin local> config modify keyvalue set "C:\Program Files\Tivoli\Policy
Director\etc\activedir.conf" "uraf-registry" "dynamic-groups-enabled" yes
– To modify multiple key/value pairs, use the pdadmin (local login) config
modify command with the append option. The following command is an
example that modifies multiple values for the domain option in the
uraf-registry stanza of the activedir_ldap.conf file on a Windows
platform.
pdadmin> login local
pdadmin local> config modify keyvalue append "C:\Program Files\Tivoli\Policy
Director\etc\activedir_ldap.conf" "uraf-registry" "domain"
"dc=my_ad_domain, dc=com|myhost.my_ad_domain.com
Default values
Use the following guidelines when changing default configuration settings:
Strings
Some values accept a string value.
When you manually edit the configuration file, use the following guidelines to
change configuration settings that require a string:
v String values are expected to be characters that are part of the local code set.
v Additional or different restrictions on the set of allowable string characters
might be imposed. For example, many strings are restricted to ASCII characters.
Consult each stanza entry description for any restrictions.
v Double quotation marks are sometimes, but not always, required when you use
spaces or more than one word for values. Refer to the descriptions or examples
for each stanza entry.
v The minimum and maximum lengths of user registry-related string values, if
there are limits, are imposed by the underlying registry. For example, for Active
Directory the maximum length is 256 alphanumeric characters.
Defined strings
Some values accept a string value, but the value must be a string from a set of
defined strings.
When you manually edit the configuration file, make sure that the string value that
you type matches a valid value of one of the defined strings.
The value for mode is expected to be local or remote. Any other value is not valid
and results in an error.
File names
Some values are file names.
For each stanza entry that expects a file name as a value, the description of the
stanza entry specifies which of the following constructs are valid:
Filename
No directory path included.
Relative filename
A directory path is allowed but not mandatory.
These files typically are expected to be located relative to the location of a
standard Security Access Manager directory. The stanza entry for each
relative path name lists the root directory to which the file name is relative.
214 IBM Security Access Manager for Web Version 7.0: Administration Guide
Fully qualified absolute path
An absolute directory path is required.
The set of valid characters in a file name can be determined by the file system and
by the local code set. For Windows operating systems, file names cannot have a
backward slash (\), a colon (:), a question mark (?), or double quotation marks (").
Integers
Many stanza entries expect the value for the entry to be expressed as an integer.
Boolean values
Many stanza entries represent a Boolean value.
Security Access Manager recognizes the Boolean values yes and no.
Some of the entries in the configuration files are read by other servers and utilities.
For example, many entries in the [ldap] stanza are read by the LDAP client. Some
of these other programs recognize additional Boolean characters:
v yes or true
v no or false
The recognized Boolean entries are listed for each stanza entry. Refer to the
individual descriptions to determine when true or false are also recognized.
Appendix A. Guidelines for changing configuration files 215
216 IBM Security Access Manager for Web Version 7.0: Administration Guide
Appendix B. Configuration file reference
The way you use configuration files controls the operation of the Security Access
Manager servers.
Server configuration files are ASCII text-based and contain stanza entries.
Configuration files are processed only when the servers start. The following
configuration files are currently used by Security Access Manager:
pd.conf
The configuration file that is used by the authentication server to configure
the IBM Security Access Manager runtime. For details about the stanzas
contained in this configuration file, see “IBM Security Access Manager
runtime configuration file” on page 219.
[instance-]ivacld.conf
The configuration file that is used to configure an Security Access Manager
authorization server instance. [instance-] represents the name of the
specified authorization server instance. If an authorization server instance
name contains an empty string, the configuration file is called ivacld.conf.
For details about the stanzas contained in this configuration file, see
“Authorization server configuration file” on page 219.
ivmgrd.conf
The configuration file that is used to configure the Security Access
Manager policy server. For details about the stanzas contained in this
configuration file, see “Policy server configuration file” on page 220.
pdmgrproxyd.conf
The configuration file that is used to configure the Security Access
Manager policy proxy server. For details about the stanzas that are
contained in this configuration file, see “Policy proxy server configuration
file” on page 220.
ldap.conf
The configuration file that is used by the LDAP-based server to configure
the LDAP-based user registry. For details about the stanzas that are
contained in this configuration file, see “LDAP server configuration file”
on page 221.
activedir_ldap.conf
The configuration file that is used to configure the Active Directory user
registry when it is used on a platform other than a Windows platform. For
details about the stanzas that are contained in this configuration file, see
“LDAP client with Active Directory server configuration file” on page 221.
activedir.conf
The configuration file that is used by the Microsoft Active Directory server
to configure the Active Directory user registry. For details about the stanzas
that are contained in this configuration file, see “Active Directory server
configuration file” on page 222.
amconf.properties
The configuration file that is used to configure Web Portal Manager. For
218 IBM Security Access Manager for Web Version 7.0: Administration Guide
AIX, Linux, and Solaris operating systems
/opt/PolicyDirector/etc
Windows operating systems
c:\program files\tivoli\policy director\etc
If you did not change the installation directories while installing the common audit
service, the templates for the configuration files are located in one of the following
platform-specific directories:
AIX, Linux, and Solaris operating systems
/opt/PolicyDirector/etc/audit
Windows operating systems
c:\program files\tivoli\policy director\etc\audit
Use this configuration file to automate server startup, to indicate whether the IBM
Security Access Manager runtime is configured, and specify information about the
user registry.
Stanza entries for automating server startup are in the [pdrte] stanza of the
pd.conf configuration file.
The unconfiguration of the server with the pd.conf configuration file also queries
information from this configuration file.
Use this configuration file to customize the operation of each authorization server.
Use this configuration file to customize the operation of each policy server.
The unconfiguration of the server with the ivmgrd.conf configuration file also
queries information from this configuration file.
Use this configuration file to customize the operation of each policy proxy server.
220 IBM Security Access Manager for Web Version 7.0: Administration Guide
v [pdmgrproxyd]
v [ldap]
v [uraf-registry]
v [ssl]
v [manager]
v [authentication-mechanisms]
v [aznapi-configuration]
v [xmladi-attribute-definitions]
v [aznapi-admin-services]
v [configuration-database]
The unconfiguration of the server with the pdmgrproxyd.conf configuration file also
queries information from this configuration file.
Note: The ldap.conf configuration file contains the following stanzas that contain
entries that are for internal use only:
v [ldap-generic-general]
v [ldap-generic-pwd-change-error-map]
v [ldap-generic-acls]
Do not modify any of the values that are defined in these stanzas.
Use this configuration file to customize the operation of each Active Directory user
registry.
For example, you might have multiple platforms where the policy server is
configured to use the Active Directory user registry. Other blades, such as
WebSEAL on one platform, and the authorization server are configured to use the
LDAP client to retrieve data from that Active Directory user registry on another
platform.
Use this configuration file to customize the operation of each Active Directory user
registry.
Note: Active Directory is supported only on Microsoft Windows for the policy
server.
Also, you can set values for the [uraf-registry] stanza in the ivmgrd.conf and
ivacld.conf configuration files.
Use this configuration file to customize auditing operations for that Security Access
Manager server.
222 IBM Security Access Manager for Web Version 7.0: Administration Guide
When creating your own security resource manager or extending the functions
provided by Security Access Manager, you can use the aznAPI.conf configuration
file. This file is included as a sample with the authorization ADK package in the
/example/authzn/demo/cpp subdirectory.
For example, the [ssl] stanza in the ivmgrd.conf configuration file defines the
Secure Sockets Layer (SSL) configuration settings for the policy server. The [ldap]
stanza defines the configuration settings that are required by the policy server to
communicate with an LDAP-based user registry.
Each stanza in a Security Access Manager configuration file contains one or more
key value pairs. The pairs contain information that is expressed as a paired set of
parameters. Each stanza entry is a key-value pair in the following format:
key = value
Do not change the names of the keys in the configuration files. Changing the name
of the key might cause unpredictable results in the servers. Spaces surrounding the
equal sign (=) are typically used, but are not required.
The initial installation of Security Access Manager establishes many of the default
values. Some values are static and never change; other values can be modified to
customize server functionality and performance.
The following stanza descriptions provide a list of the valid stanza entries. Each
stanza entry consists of key value pairs. Each stanza entry includes a description of
its default behavior, when applicable.
[authentication-mechanisms] stanza
This stanza defines the libraries that are to be used for each form of authentication.
The configuration entries in this stanza are required by the server to communicate
with a user registry. The resource manager can use either a User Registry Adapter
Framework (URAF) registry (Active Directory) or an LDAP registry.
Because a user registry is either a URAF registry or an LDAP registry, certain key
value pairs in the [authentication-mechanisms] stanza are mutually exclusive. The
following example shows how to configure the authentication mechanism for an
LDAP user registry:
passwd-ldap = fully_qualified_path
cert-ldap = fully_qualified_path
#passwd-uraf = fully_qualified_path
#cert-uraf = fully_qualified_path
The stanza entries for configuring the Security Access Manager user registry are in
the [authentication-mechanism] stanza of the following configuration files:
v The ivmgrd.conf configuration file for the policy server
v The [instance-]ivacld.conf configuration file for the authorization server
v The pdmgrproxyd.conf configuration file for the policy proxy server
v The configuration files for your resource managers
The aznAPI.conf configuration file is provided with Security Access Manager as
a sample file for creating the configuration file for resource managers.
Developers of service plug-ins typically provide the standard functions. Before
you implement service plug-ins, read and thoroughly understand the concepts in
the IBM Security Access Manager for Web: Authorization C API Developer Reference.
cert-ldap
This stanza entry specifies the location of the library to use for LDAP certificate
authentication.
Syntax
cert-ldap = fully_qualified_path
Description
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of characters
permitted in a file name can be determined by the file system and by the
local code set. For Windows operating systems, file names cannot have a
backward slash (\), a colon (:), a question mark (?), or double quotation
marks ("). Windows operating systems path names, however, can have a
backward slash (\) or a colon (:). For AIX, Linux, and Solaris operating
systems, path names and file names are case-sensitive.
Usage
Conditional. This stanza entry is required when you use an LDAP user registry.
Comment out this stanza entry when you use a URAF user registry.
Default value
226 IBM Security Access Manager for Web Version 7.0: Administration Guide
Windows
install_dir\bin\certauthn.dll
Example
cert-uraf
This stanza entry specifies the location of the library to use for URAF certificate
authentication.
Syntax
cert-uraf = fully_qualified_path
Description
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of characters
permitted in a file name can be determined by the file system and by the
local code set. For Windows operating systems, file names cannot have a
backward slash (\), a colon (:), a question mark (?), or double quotation
marks ("). Windows operating systems path names, however, can have a
backward slash (\) or a colon (:). For AIX, Linux, and Solaris operating
systems, path names and file names are case-sensitive.
Usage
Conditional. This stanza entry is required when you use a URAF user registry.
Comment out this stanza entry when you use an LDAP user registry.
Default value
Example
Syntax
passwd-ldap = fully_qualified_path
Description
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:). For AIX, Linux, and Solaris operating systems, path
names and file names are case-sensitive.
Usage
Conditional. This stanza entry is required when you use an LDAP user registry.
Comment out this stanza entry when you use a URAF user registry.
Default value
Example
passwd-uraf
This stanza entry specifies the location of the library to use for URAF password
authentication.
Syntax
passwd-uraf = fully_qualified_path
228 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:).
For AIX, Linux, and Solaris operating systems, path names and file names
are case-sensitive.
Usage
Conditional. This stanza entry is required when you use a URAF user registry.
Comment out this stanza entry when you use an LDAP user registry.
Default value
Example
[aznapi-admin-services] stanza
An administration service plug-in enables applications to do application-specific
administration tasks.
The calling application can be an administrative utility such as the pdadmin utility.
The calling application can be Web Portal Manager or the calling application can
be a custom-built application that uses the Security Access Manager administration
APIs.
service-id
This stanza entry defines the authorization API service for functions that enable a
plug-in to obtain the contents of a defined portion of the protected object hierarchy.
Service functions can also enable a plug-in to define application-specific
administration tasks that also return commands that do those tasks.
Syntax
service-id = {short_name|path_to_dll}
[-pobj protected_object_hierarchy_name ] [& params]
Description
Defines the authorization API service for functions that enable a plug-in to obtain
the contents of a defined portion of the protected object hierarchy. Service
functions can also enable a plug-in to define application-specific administration
tasks that also return commands that do those tasks.
Options
230 IBM Security Access Manager for Web Version 7.0: Administration Guide
supported platform, provide a short name. The short name is prepended
and appended with known library prefixes and suffixes for each platform,
and each possibility is searched in turn. For example, with a short name of
azn_ent_user, the following names are automatically searched for on each
platform:
AIX
libazn_ent_user.so
libazn_ent_user.a
Linux libazn_ent_user.so
Solaris
libazn_ent_user.so
Windows
azn_ent_user.dll
protected_object_hierarchy_name
Optional: The name of the protected object hierarchy. This option refers
either to the name of a protected object space (hierarchy) or to a protected
object. Protected object hierarchy names must be unique for each
administration service plug-in within the scope of an authorization API
application. To support failover, multiple authorization API application
instances can be registered to service the same protected object hierarchy
names. Failover support allows for the administration of an object space if
a particular authorization API application server fails.
params Optional: The additional initialization arguments that can be passed to the
external authorization service. The arguments must be preceded by the
ampersand (&); for example, & -server fred. The authorization service
does not process the characters after the ampersand. It passes these
characters directly to the administration service plug-in. The service
definition is described in more detail in the IBM Security Access Manager for
Web: Authorization C API Developer Reference.
Usage
Optional
Default value
Example
AZN_ADMIN_SVC_TRACE = pdtraceadmin
[aznapi-configuration] stanza
Security Access Manager allows a highly flexible approach to authorization
through the use of the authorization API.
audit-attribute
This stanza entry specifies the name of the access decision information (ADI)
attribute to audit.
Syntax
audit-attribute = azn-attr
Description
Name of the access decision information (ADI) attribute to audit. An attribute can
establish accountability by providing information to help identify potentially
inappropriate access of assets. You can grant or deny access based on the rules that
are applied to attributes.
You can audit the names or descriptions of the Security Access Manager policies
(ACL, POP, and authorization rule) that are applied to the object that is accessed.
Options
azn_attr
The authorization API attribute represents an alphanumeric string that is
not case-sensitive. String values are expected to be characters that are part
of the local code set.
Usage
Optional
Default value
232 IBM Security Access Manager for Web Version 7.0: Administration Guide
Example
azn-app-host
This stanza entry specifies the host name that the policy server uses when
communicating with the resource manager.
Syntax
azn-app-host = other_hostname
Description
Attribute that is used to specify the host name that the policy server uses when
communicating with the resource manager.
Options
For other_hostname, you can provide any valid internet host name. If this attribute
is not specified, the default host name is used. Examples of valid host names:
v mycomputer.city.company.com
v mycomputer
To enable this value, uncomment the entry by removing the pound sign. Be sure to
include a host name value.
Usage
Optional
Default value
Example
azn-app-host = libra.dallas.ibm.com
azn-server-name
This stanza entry specifies the unique name of the Security Access Manager
resource manager, the policy proxy server, authorization server, or policy server,
that is configured into the domain.
Syntax
azn-server-name = server–hostname
Unique name of the Security Access Manager resource manager, the policy proxy
server, authorization server, or policy server, that is configured into the domain.
The hyphen (-) character is required.
Note: The host name is generated and set during configuration. Do not edit this
stanza entry.
cache-refresh-interval
This stanza entry specifies the poll interval (in seconds) between checks for
updates to the master policy database.
Syntax
cache-refresh-interval = {disable|default|number_seconds}
Description
Poll interval (in seconds) between checks for updates to the master policy
database.
Options
disable
The interval value in seconds is not set.
default
The default value of 600 seconds is used.
number_seconds
The exact time interval in number of seconds. This value is between 0 and
the size of an unsigned integer. The unsigned integer is approximately 136
years.
Usage
Optional
Default value
default
Example
cache-refresh-interval = 500
cred-attributes-entitlement-services
This stanza entry specifies the service that you can use to add external information
to the user credential. The addition is in the form of credential attributes and
allows applications to use that information in making access decisions.
234 IBM Security Access Manager for Web Version 7.0: Administration Guide
Syntax
cred-attributes-entitlement-services =
{short_name_entitlement_service|path_to_dll}
Description
Service that you can use to add external information to the user credential in the
form of credential attributes. The addition allows applications to use that
information in making access decisions. These extended attributes are stored in the
user registry.
This service can also work with attributes with an API call. A list of authorization
API entitlement service IDs are queried by the azn_id_get_creds() interface. The
query compiles a list of attributes to be added to the user credential while the
credential is being built.
Note: You cannot use this stanza entry to override read-only attributes in the
credential attribute list that include the principal name, principal UUID, and
others. The exception to this rule is for the azn_cred_groups attribute.
The IBM Security Access Manager for Web: Authorization C API Developer Reference
lists the read-only attributes and contains more information about this service. The
document explains why administrators who do not want this capability must
ensure that the azn_mod_rad service is not loaded by the application.
Usage
Optional
Default value
Example
cred-attribute-entitlement-services = myEntSvcID
db-file
This stanza entry specifies the name and location of the resource manager policy
database cache file.
Syntax
db-file = fully_qualified_path
Name and location of the resource manager policy database cache file. This value
must be specified, and each server provides its own value.
This stanza entry is not used in the ivmgrd.conf file. The policy server has its own
stanza entries for specifying the path to the master policy database.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:).
For AIX, Linux, and Solaris operating systems, path names and file names
are case-sensitive.
Usage
Default value
Example
The following example sets the policy database with an absolute path on a
Windows operating system:
db-file = C:\pd\db\ivacld.db
The following example sets the policy database with a relative path on a AIX,
Linux, or Solaris operating system:
db-file = ./authzn_demo.db
dynamic-adi-entitlement-services
This stanza entry specifies the dynamic access decision information (ADI) retrieval
entitlement service.
Syntax
dynamic-adi-entitlement-services = entitlement_service
Description
Options
entitlement_service
A string value for the container names of the required ADI. A list of
configured authorization API entitlements service identifiers (IDs) is
236 IBM Security Access Manager for Web Version 7.0: Administration Guide
queried by the authorization rules engine when missing ADI is detected
during an authorization rule evaluation.
When ADI is found to be missing during a rule evaluation, each service in
this list is queried in the order defined in this entry. These stanza entries
must refer to existing entitlements services.
The service ID (for example, bank_A_ADI) is loaded by using service entries
in the entitlement service configuration [aznapi-entitlement-services]
stanza or in an initialization attribute.
See “dynamic-adi-entitlement-services” on page 143 and the IBM Security
Access Manager for Web: Authorization C API Developer Reference for more
information about rules processing and this service.
Usage
Optional
Default value
Example
[aznapi-entitlement-services]
dynamic-adi-entitlement-services = bank_A_ADI
dynamic-adi-entitlement-services = bank_B_ADI
input-adi-xml-prolog
This stanza entry specifies the prolog to be added to the top of the XML document.
This document is created with the Access Decision Information (ADI) needed to
evaluate a Boolean authorization rule.
Syntax
input-adi-xml-prolog = prolog_attrs
Description
Prolog to be added to the top of the XML document. This document is created
with the Access Decision Information (ADI) needed to evaluate a Boolean
authorization rule.
If a style sheet prolog is specified, that prolog is imported into the empty style
sheet. If no prolog is specified, a default prolog value is used instead. All of the
required prolog attributes are specified in the default prolog entries.
Note: If any of these attributes are changed or omitted from the entry, the
authorization client fails to start and returns an error.
Options
prolog_attrs
Prolog attributes that are required by the authorization engine and include
the following attributes:
<?xml version="1.0" encoding="UTF-8"?>
Usage
Optional
Example
input-adi-xml-prolog = <?xml version="1.0" encoding="UTF-8"?>
listen-flags
This stanza entry specifies whether the reception of policy cache update
notifications is on or off.
Syntax
listen-flags = {enable|disable}
Description
Options
enable Activates the notification listener.
disable
Deactivates the notification listener.
Usage
Optional
Default value
disable
Example
listen-flags = enable
logcfg
This stanza entry enables logging and auditing for the application.
Syntax
logcfg = audit.azn:[log-agent][[param[=value]] ...]
Description
Enables logging and auditing for the application. Category, destination, and other
parameters are used to capture Security Access Manager auditing and logging
events.
Each server provides its own setting for event logging in its corresponding
configuration file.
238 IBM Security Access Manager for Web Version 7.0: Administration Guide
Options
audit.azn:log-agent
Category of auditing event. Also specifies that the destination where
log-agent is one of the following agents:
v stdout
v stderr
v file
v pipe
v remote
param=value
Allowable parameters. The parameters vary, depending on the category,
the destination of events, and the type of auditing you want to do.
See IBM Security Access Manager for Web: Troubleshooting Guide for
information about the log agents and the configuration parameters.
Usage
Optional
Default value
Remove the number signs (#) at the beginning of the configuration file lines to
enable authentication or authorization auditing (or both) for the application.
Example
logcfg = audit.azn:file path=audit.log,flush_interval=20,log_id=audit_log
mode
This stanza entry specifies the operating mode for the resource manager.
Syntax
mode = {local|remote}
Description
Operating mode for the resource manager. This value cannot be changed after
resource manager configuration.
Note: This stanza entry is set during configuration. Do not change it.
Options
local The resource manager uses a local policy cache.
remote
The resource manager uses a remote policy cache that is maintained by the
authorization server.
Some configuration attributes apply only to resource managers that are
configured to use local mode.
Usage
Required
local
Example
mode = remote
pd-user-name
This stanza entry specifies the Security Access Manager user account for the
resource manager server.
Syntax
pd-user-name = server_name/hostname
Description
Security Access Manager user account for the resource manager server, either the
policy proxy server, authorization server, or policy server, that is configured into
the domain. The forward slash (/) character is required.
Note: The server name or host name is generated and set during configuration. Do
not edit this stanza entry.
pd-user-pwd
This stanza entry specifies the Security Access Manager user account password for
the resource manager.
Syntax
pd-user-pwd = server_password
Description
Security Access Manager user account password for the resource manager, which
can be the policy proxy server, authorization server, or policy server, that is
configured into the domain.
Note: The server password is generated and set during configuration. Do not edit
this stanza entry.
permission-info-returned
This stanza entry specifies the set of attributes that the caller wants to receive from
the azn_decision_access_allowed_ext() function in the permission information
attribute list.
Syntax
Description
240 IBM Security Access Manager for Web Version 7.0: Administration Guide
attribute list. Before you use this stanza entry and value, read and thoroughly
understand the concept in the IBM Security Access Manager for Web: Authorization C
API Developer Reference.
You can also define your own attributes. For example, you can set an attribute on
an ACL with the acl modify command with the set attribute option.
When you add an attribute name to the list, the attribute can be returned only as
permission information if it is applicable to the current decision call.
Options
For a list of the strings recognized by the authorization engine, see IBM Security
Access Manager for Web: Authorization C API Developer Reference.
Usage
Optional
Default value
No information is returned.
Example
The following example returns permission information for all attributes in the list:
permission-info-returned = azn_perminfo_all_attrs
policy-cache-size
This stanza entry specifies the maximum size of the in-memory policy cache.
Syntax
policy-cache-size = size
Description
Maximum size of the in-memory policy cache. This size is configurable. The cache
consists of policy and the relationships between policy and resources. The
knowledge that a resource has no directly associated policy is also cached.
Specify the maximum cache size relative to the number of policy objects defined,
the number of resources protected, and the available memory.
This value controls how much information is cached. A larger cache potentially
improves the application performance, but uses additional memory as well.
Options
size Size is specified as the number of entries.
Optional
Default value
32768
Example
policy-cache-size = 32768
resource-manager-provided-adi
This stanza entry specifies the prefix that the authorization engine uses to
determine the set of missing access decision information (ADI) provided by the
resource manager.
Syntax
resource-manager-provided-adi = prefix
Description
Prefix that the authorization engine uses to determine the set of missing access
decision information (ADI) provided by the resource manager. To specify more
than one prefix, add multiple stanza entries.
These entries must refer to existing entitlements services that were loaded with
service entries in the [aznapi-entitlement-services] configuration stanza or that
were loaded with an initialization attribute. If an ADI is found to be missing
during a rule evaluation, each service in this list is queried in the order defined.
Options
prefix A string prefix for its value. For example, you might want to notify the
authorization engine that any ADI beginning with sales_customer_ is
provided by the resource manager application. The stanza entry is:
resource-manager-provided-adi = sales_customer_
Usage
Optional
Default value
Example
242 IBM Security Access Manager for Web Version 7.0: Administration Guide
xsl-stylesheet-prolog
This stanza entry specifies the prolog to be added to the top of the XSL style sheet
with the XSL text that defines a Boolean authorization rule.
Syntax
xsl-stylesheet-prolog = prolog_attrs
Description
The prolog to be added to the top of the XSL style sheet that is created with the
XSL text that defines a Boolean authorization rule.
If a style sheet prolog is specified, that prolog is imported into the empty style
sheet. If no prolog is specified, a default prolog value is used instead. All of the
required prolog attributes are specified in the default prolog entries.
When not specified, the default XSL style sheet prolog is:
!<-- Required for XSLT language -->
<?xml version="1.0" encoding=’UTF-8’?>
<xsl:stylesheet xmlns:xsl=
"http://www.w3.org/1999/XSL/Transform" version="1.0">
Note: If any of the required prolog attributes are changed or omitted from the
entry, then the authorization client fails to start and returns an error.
Options
prolog_attrs
Prolog attributes that are required by the authorization server.
Usage
Optional
Example
See “XML namespace definitions” on page 132 for a complete explanation of the
name space example.
[aznapi-cred-modification-services] stanza
A credential modification service plug-in enables authorization API applications to
do modifications on a Security Access Manager credential.
The credentials modification service can then return this modified credential for
use by the calling application. Applications can use this service to add additional
Appendix C. Configuration file stanza reference 243
information to a user's credential. For example, this additional information can
include the credit card number and credit limit of the user. Each credential
modification service plug-in is a stand-alone module that is dynamically loaded
into the authorization service.
service-id
This stanza entry defines the authorization API service for the credentials attribute
list modification service.
Syntax
service-id = short_name|path_to_dll [ & params ...]
Description
Defines the authorization API service for the credentials attribute list modification
service. Each stanza entry defines different types of aznAPI service.
Options
244 IBM Security Access Manager for Web Version 7.0: Administration Guide
libazn_ent_user.so
libazn_ent_user.a
Linux libazn_ent_user.so
Solaris
libazn_ent_user.so
Windows
azn_ent_user.dll
params Optional: The parameters to pass to the service when it is initialized by the
aznAPI service. Parameters are considered to be all data that follow the
ampersand (&). The service definition is described in more detail in the
IBM Security Access Manager for Web: Authorization C API Developer
Reference.
Usage
Optional
Default value
Example
AZN_MOD_SVC_RAD_2AB = azn_mod_rad
[aznapi-entitlement-services] stanza
An entitlement services plug-in enables authorization API applications to retrieve
the entitlements for a user from an entitlements repository.
The stanza entries for configuring Security Access Manager entitlement services
plug-ins are declared in the [aznapi-entitlement-services] stanza of each of these
configuration files provided by Security Access Manager:
v The ivmgrd.conf configuration file for the policy server
v The [instance-]ivacld.conf configuration file for the authorization server
v The pdmgrproxyd.conf configuration file for the policy proxy server
v The configuration file for configured entitlement services plug-ins for your
resource managers
The aznAPI.conf configuration file is provided with Security Access Manager as
a sample file for creating your own resource manager configuration file.
Developers of service plug-ins typically provide the standard functions. Before
you implement service plug-ins, read and thoroughly understand the concepts in
the IBM Security Access Manager for Web: Authorization C API Developer Reference.
service-id
This stanza entry defines the authorization API service for the entitlement services
of the protected objects.
Syntax
service-id = {short_name|path_to_dll} [ & params ...]
Defines the authorization API service for the entitlement services of the protected
objects. Each stanza entry defines different types of aznAPI service.
Options
libazn_ent_user.so
libazn_ent_user.a
Linux libazn_ent_user.so
Solaris
libazn_ent_user.so
Windows
azn_ent_user.dll
params Optional: One or more parameters to pass to the service when it is
initialized by the aznAPI service. Parameters are considered to be all data
that follow the ampersand (&). The service definition is described in more
detail in the IBM Security Access Manager for Web: Authorization C API
Developer Reference.
Usage
Optional
Default value
Example
credattrs_ent_svc = azn_ent_cred_attrs
246 IBM Security Access Manager for Web Version 7.0: Administration Guide
[aznapi-external-authzn-services] stanza
An external authorization service plug-in is an optional extension of the Security
Access Manager authorization service that you can use to impose additional
authorization controls and conditions.
policy-trigger
This stanza entry defines the authorization API service for external authorization
service definitions that force authorization decisions to made based on
application-specific criteria.
Syntax
policy-trigger = {short_name|path_to_dll} [-weight number]
[ & params ...]
Description
Defines the authorization API service for external authorization service definitions
that force authorization decisions to made based on application-specific criteria.
Each stanza entry defines different types of aznAPI service, and each entry is the
same format.
Options
policy-trigger
The policy trigger is the way that an external authorization service is
started. It is either a service ID or an access control list (ACL) action string.
For example, it can be my_service_1 or Trx. If the service is defined an ID,
the service ID is used as an extended attribute on a POP that triggers the
external authorization service when an object has this POP attached to it. If
the service is defined with an ACL action string, the service is started
when this ACL action mask is requested as part of an authorization
decision.
libazn_ent_user.so
libazn_ent_user.a
Linux libazn_ent_user.so
Solaris
libazn_ent_user.so
Windows
azn_ent_user.dll
[-weight number]
Optional: Specifies the weight assigned in the access decision process of
the external authorization service. This option is an unsigned size_t value.
This value signifies the weight. In the entire decision process, the weight is
specified in any decision that is returned by the external authorization
service. The default value is 101.
params Optional: Additional initialization information to pass to the external
authorization service in the form of arguments. The arguments must be
preceded by the ampersand (&); for example, & -server fred. The service
definition is described in more detail in the IBM Security Access Manager for
Web: Authorization C API Developer Reference.
Usage
Optional
Default value
[aznapi-pac-services] stanza
A PAC services plug-in gives authorization API applications the ability to move
Security Access Manager credentials back and forth between the native Security
Access Manager credentials format and an alternate format called privilege attribute
certificate (PAC).
248 IBM Security Access Manager for Web Version 7.0: Administration Guide
Each PAC services plug-in is a stand-alone module that is dynamically loaded into
the authorization service.
Identity information can be obtained from a PAC. Applications can convert user
credentials to PACs for use within other authorization domains. Applications can
then pass the PACs to a server in another authorization domain and do an
operation.
The stanza entries for configuring Security Access Manager PAC services plug-ins
are declared in the [aznapi-pac-services] stanza of each of these configuration
files provided by Security Access Manager:
v The configuration file for configured PAC services plug-ins for your resource
managers
service-id
This stanza entry defines the authorization API service for the Security Access
Manager privilege attribute certificate (PAC) encoding service.
Syntax
service-id = {short_name|path_to_dll}
[ & params ... ]
Description
Defines the authorization API service for the Security Access Manager privilege
attribute certificate (PAC) encoding service. Each stanza entry defines different
types of aznAPI authorization service.
Options
libazn_ent_user.so
libazn_ent_user.a
Linux libazn_ent_user.so
Solaris
libazn_ent_user.so
Windows
azn_ent_user.dll
params Optional: Parameters to pass to the service when it is initialized by the
aznAPI service. Parameters are considered to be all data that follow the
ampersand (&). The service definition is described in more detail in the
IBM Security Access Manager for Web: Authorization C API Developer
Reference.
Usage
Optional
Default value
[cars-client] stanza
The [cars-client] stanza contains the configuration of the client for the common
audit service.
The entries in this stanza specify the characteristics of the connection to the
common event web service and how the client processes audit log events. You
must specify the doAudit and serverURL entries. If these entries are not specified,
the common audit service is not configured for use by Security Access Manager.
If secure communication with the common event web service is required, you need
to specify the keyFilePath and stashFilePath entries.
The stanza entry for common audit processing is in the [pdcars-filter] stanza of
the pdaudit.conf file.
compress
This stanza entry specifies whether the data that is sent during a network transfer
is compressed.
Syntax
compress = {yes|no}
Description
Specifies whether the data that is sent during a network transfer is compressed.
Options
yes Compresses the data that is sent during a network transfer.
250 IBM Security Access Manager for Web Version 7.0: Administration Guide
no Does not compress the data that is sent during a network transfer. This
value is the default.
Usage
Optional
Default value
Example
compress = yes
diskCachePath
This stanza entry specifies the name and location of the file to be used to cache
events.
Syntax
diskCachePath = fully_qualified_path
Description
Specifies the name and location of the file to be used to cache events. The file must
exist at the specified location.
When events are written to the disk cache file, a cache manager thread periodically
checks (with the setting of the rebindInterval entry) to determine whether the
audit web service can accept events. When the service is available, the cache
manager sends the events from the disk cache file.
The name of the disk cache file must be unique. If more than one server or server
instance is configured to use the same disk cache file, errors occur.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:).
For AIX, Linux, and Solaris operating systems, path names and file names
are case-sensitive.
Usage
Conditional. This entry is used when the useDiskCache entry is set to auto or
always.
doAudit
This stanza entry specifies whether auditing with the Common Auditing Service is
enabled or disabled.
Syntax
doAudit = {yes|no}
Description
After configuring the Common Auditing Service, you can start auditing with the
following steps:
1. Enter the following commands:
> pdadmin login -l
pdadmin local> config modify keyvalue set config_file cars-client doAudit yes
2. Restart the server.
Options
yes Enables auditing with the common audit service.
no Disables auditing for the common audit service. This value is the default.
Usage
Required
Default value
Example
doAudit = yes
clientPassword
This stanza entry specifies the password for the WebSphere audit ID.
Syntax
clientPassword = password
252 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Usage
Conditional. This stanza entry is required only when using secure communications
with the Web service.
Default value
clientUserName
This stanza entry specifies the WebSphere audit ID used by the administrator.
Syntax
clientUserName = user_id
Description
Usage
Conditional. This stanza entry is required only when using secure communications
with the Web service.
Default value
errorFilePath
This stanza entry specifies the name and location of the error log file.
Syntax
errorFilePath = fully_qualified_path
Description
Specifies the name and location of the error log file. If the file does not exist at the
specified location, it is created by the server identity.
The name of the log file must be unique. If more than one server or server instance
is configured to use the same log file, errors occur.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
Usage
Optional
Default value
flushInterval
This stanza entry specifies the time that an event waits in the queue before being
forwarded to the audit server.
Syntax
flushInterval = interval
Description
Limits the time an event waits in the queue before being forwarded to the audit
server. Events might be generated at a slow rate and the queue might not reach the
high water mark in a timely manner. In this case, use this entry to forward the
events in the queue at the designated interval.
Options
interval
Specifies the number of seconds that an event waits in the queue.
Usage
Conditional. This entry is used when the useDiskCache entry is set to auto or
never.
Default value
Example
flushInterval = 600
keyFilePath
This stanza entry specifies the SSL key file name and location.
Syntax
keyFilePath = fully_qualified_path
254 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Specifies the SSL key file name and location. Use the SSL key file to handle
certificates that are used to communicate with the common event web service. The
file extension can be anything, but the extension is usually .kdb.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:).
For AIX, Linux, and Solaris operating systems, path names and file names
are case-sensitive.
Usage
Conditional. This stanza entry is required only when using secure communications
with the Web service.
Default value
lowWater
This stanza entry specifies the low water mark for the number of events that can
be in the queue. At the low water mark, events are no longer removed from the
queue and written to the disk cache file.
Syntax
lowWater = number
Description
Specifies the low water mark for the number of events that can be in the queue. At
the low water mark, events are no longer removed from the queue and written to
the disk cache file.
When the audit server is slow and the event queue fills up, events are removed
from the queue. The events are written to the disk cache file until the number of
the events is queue is equal to or less than the low water mark. When this low
water mark is reached, queued events are sent directly to the audit server.
Usage
Conditional. This entry is used when the useDiskCache entry is set to auto.
Default value
Syntax
hiWater = number
Description
Specifies the high water mark for the number of events that can be in the queue.
When this high water mark is reached, events are sent to the audit server.
Options
number
Specifies the maximum number of events that can be in the queue.
Usage
Optional. This entry is used when the useDiskCache entry is set to auto or never.
Default value
Example
hiWater = 30
maxCacheFiles
This stanza entry specifies the maximum number of disk cache files that can be
created.
Syntax
maxCacheFiles = number
Description
Specifies the maximum number of disk cache files that can be created. Unlike error
log and trace files, disk cache files can be used again.
After all of the events in the disk cache file are sent to the audit web service, the
cache manager deletes that cache file.
Usage
Conditional. This entry is used when the useDiskCache entry is set to auto or
always.
Default value
256 IBM Security Access Manager for Web Version 7.0: Administration Guide
maxCacheFileSize
This stanza entry specifies the maximum size in bytes of the disk cache file.
Syntax
maxCacheFileSize = size
Description
Specifies the maximum size in bytes of the disk cache file. When this size is
reached, the cache file rolls over and a new cache file is created. The maximum
size is 1 gigabyte (1,073,741,824 bytes).
Usage
Conditional. This entry is used when the useDiskCache entry is set to auto or
always.
Default value
maxErrorFiles
This stanza entry specifies the maximum number of error log files that can be
created before the oldest log file is used again.
Syntax
maxErrorFiles = number
Description
Specifies the maximum number of error log files that can be created before the
oldest log file is used again.
Usage
Optional
Default value
maxErrorFileSize
This stanza entry specifies the maximum size in bytes of the error log file.
Syntax
maxErrorFileSize = size
Description
Specifies the maximum size in bytes of the error log file. When this size is reached,
the log file rolls over and a new error log file is created. For additional information
Usage
Optional
Default value
maxTraceFiles
This stanza entry specifies the maximum number of trace files that can be created
before the oldest trace file is used again.
Syntax
maxTraceFiles = number
Description
Specifies the maximum number of trace files that can be created before the oldest
trace file is used again.
Usage
Optional
Default value
maxTraceFileSize
This stanza entry specifies the maximum size in bytes of the trace log file.
Syntax
maxTraceFileSize = size
Description
Specifies the maximum size in bytes of the trace log file. When this size is reached,
the log file rolls over and a new error log file is created. For additional information
about how log files roll over, see the IBM Security Access Manager for Web:
Administration Guide.
Usage
Optional
Default value
258 IBM Security Access Manager for Web Version 7.0: Administration Guide
numberCMThreads
This stanza entry specifies the number of threads to create for the cache manager.
Syntax
numberCMThreads = number_of_threads
Description
Number of threads to create for the cache manager. These threads read events from
the disk cache files and send them to the server.
Options
number_of_threads
Represents a numeric value.
Usage
Optional. This entry is used when the useDiskCache entry is set to auto or always.
Default value
Example
numberCMThreads = 2
numberEQThreads
This stanza entry specifies the number of threads to create to service the event
queue.
Syntax
numberEQThreads = number_of_threads
Description
Options
number_of_threads
Represents a numeric value.
Usage
Optional. This entry is used when the useDiskCache entry is set to auto or never.
Default value
Example
numberEQThreads = 2
Syntax
numberRetries = number
Description
When an error occurs during a network transfer, specifies the number of attempts
to send the data.
Usage
Optional
Default value
queueSize
This stanza entry specifies the maximum number of audit events that can be
queued.
Syntax
queueSize = size
Description
Usage
Optional. This entry is used when the useDiskCache entry is set to auto or never.
Default value
rebindInterval
This stanza entry specifies that number of seconds that the cache manager waits
before attempting to establish a connection to the audit web service.
Syntax
rebindInterval = seconds
Description
Specifies that number of seconds that the cache manager waits before attempting
to establish a connection to the audit web service.
260 IBM Security Access Manager for Web Version 7.0: Administration Guide
Usage
Conditional. This entry is used when the useDiskCache entry is set to auto or
always.
Default value
retryInterval
This stanza entry specifies the number of seconds to wait before another attempt is
made to send the data after an error during a network transfer.
Syntax
retryInterval = seconds
Description
When an error occurs during a network transfer, specifies the number of seconds
to wait before another attempt is made to send the data.
Usage
Optional
Default value
serverURL
This stanza entry specifies the URL of the common auditing web service.
Syntax
serverURL = url
Description
Specifies the URL of the common auditing web service. For secure communication,
use the following URL:
https://hostname:9443/CommonAuditService/service/Emitter
For nonsecure communication, use the following URL:
http://hostname:9080/CommonAuditService/service/Emitter
Options
url The URL of the common auditing web service.
Usage
Required
stashFilePath
This stanza entry specifies the SSL password stash file name and location.
Syntax
stashFilePath = fully_qualified_path
Description
Specifies the SSL password stash file name and location. The password is used to
protect private keys in the key file. The password might be stored encrypted in the
stash file. The file extension can be anything, but it is usually .sth.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:).
For AIX, Linux, and Solaris operating systems, path names and file names
are case-sensitive.
Usage
Conditional. This stanza entry is required only when using secure communications
with the web service.
Default value
traceLevel
This stanza entry specifies the level of trace events to write to the trace log.
Syntax
traceLevel = level
Description
Specifies the level of trace events to write to the trace log. The following settings
are valid:
1 Specifies that events that result only from error conditions are written to
the log.
2 Specifies that only the following events are written to the log file:
v Error conditions
262 IBM Security Access Manager for Web Version 7.0: Administration Guide
v Entry and exit trace points
3 Specifies that events that result from error conditions and from all trace
points in the code are written to the log.
Usage
Default value
traceFilePath
This stanza entry specifies the name and location of the trace file.
Syntax
traceFilePath = fully_qualified_path
Description
Specifies the name and location of the trace file. If the file does not exist at the
specified location, it is created by the server identity.
The name of the trace file must be unique. If more than one server or server
instance is configured to use the same trace file, errors occur.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:).
For AIX, Linux, and Solaris operating systems, path names and file names
are case-sensitive.
Usage
Optional
Default value
transferSize
This stanza entry specifies the number of audit events to send on each network
transfer.
transferSize = size
Description
Usage
Optional
Default value
The default value is 10.
useDiskCache
This stanza entry specifies whether to enable disk caching and how to handle disk
caching.
Syntax
useDiskCache = {auto|always|never}
Description
Specifies whether to enable disk caching, and, when enabled, specifies how to
handle disk caching.
Options
always Specifies that audit events are always written directly to the disk cache on
the caller thread. There is no event queue.
never Specifies that audit events are written to the event queue. There is no disk
cache.
auto Specifies that audit events are written to the event queue except when the
server is down or the event queue is full. Under these conditions, the audit
events are written to disk cache.
Usage
Optional
Default value
[cars-filter] stanza
The stanza entry for common audit filtering of the IBM Security Access Manager
runtime is in the [cars-filter] stanza of the pdaudit.conf file.
auditevent
This stanza entry identifies the events to be captured for auditing.
264 IBM Security Access Manager for Web Version 7.0: Administration Guide
Syntax
auditevent = type, [outcome=outcome]
Description
Identifies the events to be captured for auditing. Events can be identified by event
type, application name, and outcome. If an event logged by an application matches
any configured filter entry (auditevent or outcome), it is forwarded to the Common
Auditing Service server.
For each event type to capture, the configuration file must include a separate
stanza entry.
To add event types to the event filter, use the config modify command with the
append option.
To remove event types from the event filter, use the config modify command with
the remove option.
Note: With the auditevent entry, do not use the config modify command with the
set option. Using the set option overwrites the first auditevent entry in the
configuration file.
Options
type Specifies one of the following event types:
authn Specifies authentication events. This event type can be used with
all Security Access Manager servers.
authn_creds_modify
Specifies events that modify credentials for users. This event type
can be used with all Security Access Manager servers.
authn_terminate
Specifies termination events. These types of events are the results
of a timeout, a termination of a session by an administrator, or a
user-initiated log out. This event type can be used with all Security
Access Manager servers.
authz Specifies authorization events. This event type can be used with all
Security Access Manager servers.
mgmt_config
Specifies configuration and other management events for a server.
This event type can be used with the policy server.
mgmt_policy
Specifies events for security policy management, such as the
creation of an ACL. This event type can be used with the policy
server.
mgmt_registry
Specifies events for registry management, such as creating users
and groups, administrator-initiated password changes, and
modifying properties of users and groups. This event type can be
used with the policy server.
Usage
Required.
Default value
Example
auditevent = authn, outcome=unsuccessful
auditevent = authz, outcome=unknown
[configuration-database] stanza
The stanza entry defines the name and location of the Security Access Manager
obfuscated password configuration file.
Security Access Manager creates a configuration file that contains all the
obfuscated entries. For example, All bind (log in) passwords are obfuscated and
placed in the configuration file. Both the existing configuration file and the
266 IBM Security Access Manager for Web Version 7.0: Administration Guide
obfuscated configuration file have the same file name, except that .obf is
appended to the file name (for example, ivmgrd.conf.obf).
Never edit the entry in the [configuration-database] stanza. The one exception
might be if the file is to be moved permanently to a different location. This
scenario is the only circumstance in which you modify the file name and location.
Remember that whenever the configuration file is moved to a different location,
you must move the obfuscated file also.
file
This stanza entry specifies the file name and location of the obfuscated
configuration file information.
Syntax
file = fully_qualified_path
Description
Note: The obfuscated password is generated and set by the configuration utility.
Do not edit this stanza entry.
The name of the obfuscated configuration file is the same name as the related
configuration file name. The file extension can be anything, but the extension is
usually .conf.obf. For example, the obfuscated configuration file for ldap.conf is
ldap.conf.obf.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of characters
permitted in a file name can be determined by the file system and by the
local code set. For Windows operating systems, file names cannot have a
backward slash (\), a colon (:), a question mark (?), or double quotation
marks ("). Windows operating systems path names, however, can have a
backward slash (\) or a colon (:). For AIX, Linux, and Solaris operating
systems, path names and file names are case-sensitive.
Usage
Conditional. This stanza entry is required only if, during configuration, passwords
were obfuscated.
Example
The following example of setting the location of the obfuscated configuration file
when using Microsoft Active Directory as the user registry on a Windows
operating system:
c:\program files\tivoli\policy director\etc\activedir.conf.obf
[delegated-admin] stanza
The Security Access Manager configuration can require that the user is authorized
to view each group that is returned in the group list. Or, the user can be
authorized to return the list without authorizing first.
For delegated administration, use one type of interface throughout the entire
process for optimal results. Use either Web Portal Manager or the pdadmin utility.
This stanza relates only to the pdadmin utility.
The stanza entries for turning on or off the setting for authorization checks for the
delegated management of groups and users are in the [delegated-admin] stanza of
the following configuration file:
v The ivmgrd.conf configuration file for the policy server
authorize-group-list
This stanza entry specifies whether authorization checks on the group list and
group list-dn commands are made.
Syntax
authorize-group-list = {yes|no}
Description
Options
yes Enables authorization checks.
no Disables authorization checks.
Usage
Optional
268 IBM Security Access Manager for Web Version 7.0: Administration Guide
Default value
no
Example
authorize-group-list = yes
Each domain specified under this stanza must have its own [domain=domain_name]
stanza. The following example shows domains named d and mydomain:
[domains]
domain = d
domain = mydomain
[domain=d]
[domain=mydomain]
The stanza entries for configuring multiple domains are in the [domains] and the
[domain=domain_name] stanzas of the following configuration file:
v The ivmgrd.conf configuration file for the policy server
allowed-registry-substrings
This stanza entry specifies the Distinguished Name (DN) substring that restricts
which registry locations that users can be created in or be imported from.
Syntax
allowed-registry-substrings = dn
Description
Distinguished name (DN) substring that restricts which registry locations that users
can be created in or be imported from.
The DN of the user that is created or imported must contain the substring value
specified. The DN substring value restrictions are registry-dependent. Most user
registries allow an alphanumeric string that is not case-sensitive. String values are
expected to be characters that are part of the local code set.
You can specify one or more relative DNs to use when creating users. By
specifying one or more substrings, you can restrict creating and importing users
and groups to the relative DNs that are identified by the substrings. For example,
you can specify the DN substring dc=mkt to restrict users who are created or
imported into a domain named Marketing:
Usage
Optional
Default value
Example
allowed-registry-substrings = "dc=mkt"
database-path
This stanza entry specifies the file name and location of the policy database for the
specified domain.
Syntax
database-path = fully_qualified_path
Description
File name and location of the policy database for the specified domain. The name
of the database is the same as the domain name. The file extension can be
anything, but the extension is usually .db.
Options
For AIX, Linux, and Solaris operating systems, path names and file names are
case-sensitive.
Usage
Conditional. This stanza entry is required when the user creates at least one
domain.
270 IBM Security Access Manager for Web Version 7.0: Administration Guide
Default value
Example
The following example shows the setting of the database path on a Windows
operating system:
d:\programs\ibm\am\db\dname1.db
domain
This stanza entry specifies the name of the domain.
Syntax
domain = domain_name
Description
Options
Usage
Conditional. This stanza entry is required when the user creates at least one
domain.
Default value
Example
domain = mydomain1
[ivacld] stanza
The stanza entries for configuring authorization server-related information are in
the [ivacld] stanza in the following configuration file:
v The [instance-]ivacld.conf configuration file for the authorization server
log-file
This stanza entry specifies the location and name of the log file.
log-file = fully_qualified_path
Description
Location and name of the log file. Messages are redirected from STDOUT and
STDERR and sent to the server log file as defined in the authorization server
routing file (pdacld_routing). The authorization server relies on the routing file to
determine the log file names and path.
At startup of the authorization server, a check is made to see whether the routing
file exists. If it exists, the routing file is used and this stanza entry is ignored;
otherwise, this stanza entry is used.
Options
The three-character identifier used in the example is HPD, which specifies that the
log files are for the Security Access Manager common components.
Usage
Required
Default value
Example
The following example sets the log file as Tivoli Common Directory on a Windows
operating system:
log-file = C:\pd\log\msg__pdacld_utf8.log
272 IBM Security Access Manager for Web Version 7.0: Administration Guide
The following example sets the log file as Tivoli Common Directory on a AIX,
Linux, or Solaris operating system:
/PolicyDirector/TAMBase/HPD/logs/msg__pdacld_utf8.log
logcfg
This stanza entry enables logging and auditing for the authorization component.
Syntax
logcfg = audit.azn:{log-agent} path=path
flush_interval=interval log_id
Description
Each server provides its own event logging setting in its corresponding
configuration file.
Options
audit.azn
Category that specifies auditing of the authorization component.
log-agent
Specifies that the destination where log-agent is one of the following values:
v stdout
v stderr
v file
v pipe
v remote
path = path
Specifies the name and location of the log file that is used for the log-agent.
flush_interval = interval
Specifies the frequency for flushing log file buffers.
log_id Specifies the identifier for directing events from additional categories to the
same log-agent.
Remove the number signs (#) at the beginning of the configuration file lines to
enable authentication or authorization auditing (or both) for the application.
Usage
Optional
Default value
Example
Syntax
permit-unauth-remote-caller= {true|false}
Description
Options
true Authorization API clients are not authorized.
Attention: Specifying true exposes the policy database in the domain for
all clients to read, not just those clients that were properly authorized with
membership in the remote-acl-users group. Depending on the policy
within the domain security, system planners must consider the ability for
any client to read system-defined policy to be a security problem.
false Authorization API clients are authorized.
Usage
Optional
Default value
false
Example
permit-unauth-remote-caller= false
pid-file
This stanza entry specifies the location and name of the PID file.
Syntax
pid-file = fully_qualified_path
Description
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks ("). For AIX,
Linux, and Solaris operating systems, path names and file names are
case-sensitive.
274 IBM Security Access Manager for Web Version 7.0: Administration Guide
Usage
Required
Default value
Example
tcp-req-port
This stanza entry specifies the Transmission Control Protocol (TCP) port on which
the server is listening for requests.
Syntax
tcp-req-port = {0|port}
Description
Transmission Control Protocol (TCP) port on which the server is listening for
requests.
Options
0 Disable the port number.
port Enable the port number. Use any valid port number. A valid port number
is any positive number that is allowed by TCP/IP and that is not currently
being used by another application. Use the default value, or use a port
over 1000 that is not currently being used.
Usage
Required
Default value
7136
Example
tcp-req-port = 7136
unix-user
This stanza entry specifies the Linux or UNIX user account for this server.
Description
The Linux or UNIX user account for this server. The server will run as this user
account.
Options
The user_name value represents an alphabetic string for the name associated with
the user account.
Usage
Required
Default value
ivmgr
Example
unix-user = ivmgr
unix-group
This stanza entry specifies the Linux or UNIX group account for this server.
Syntax
unix-group = group_name
Description
The Linux or UNIX group account for this server. The server runs as this account.
Options
The group_name value represents an alphabetic string for the group associated with
the user account.
Usage
Required
Default value
ivmgr
Example
unix-group = ivmgr
276 IBM Security Access Manager for Web Version 7.0: Administration Guide
[ivmgrd] stanza
The stanza entries for configuring the policy server and policy database are in the
[ivmgrd] stanza in this configuration file:
v The ivmgrd.conf configuration file for the policy server
provide-last-login
This stanza entry specifies whether to report information about the last login
instance of a user.
Syntax
provide-last-login = {yes|true|no|false}
Description
Use the provide-last-login option for reporting information about the last login
instance of a user.
To record the last login information for LDAP-based registries, set [ldap]
enable-last-login to yes.
For Microsoft Active Directory registry, Security Access Manager uses the Active
Directory user attribute lastLogonTimestamp to report the last login time of the
user. This attribute is a system attribute and is updated automatically by Active
Directory. Security Access Manager has no control over this attribute except
reporting the value when required. This attribute is not updated every time a user
logs in successfully. When a user logs in successfully, this attribute is only updated
if its current value is older than the current time minus the value of the
msDS-LogonTimeSyncInterval attribute.
The value that Security Access Manager reports for the last login of a user might
not be the exact time that a user last logged in. The reported time might be the
actual last login time minus the configurable value of msDS-LogonTimeSyncInterval.
You can configure the default value of msDS-LogonTimeSyncInterval to suit the user
domain policy.
Options
yes|true
Set the provide-last-login option to yes, to specify that the policy server
reports the time of last login of a user.
no|false
Set the provide-last-login option to no, to disable reporting of the last
login information about a user.
provide-last-pwd-change
This stanza entry specifies whether to report information about the last password
change instance of a user.
Description
Options
yes|true
Set the provide-last-pwd-change option to yes, to specify that the policy
server reports the last password change instance of a user.
no|false
Set the provide-last-pwd-change option to no, to disable reporting of the
last password change instance of a user.
auto-database-update-notify
This stanza entry specifies automatic or manual update notification for policy
database replicas.
Syntax
auto-database-update-notify = {yes|true|no|false}
Description
Options
yes|true
Enable automatic update notification. This automatic setting is appropriate
for environments where database changes are few and infrequent. When
you configure update notification to be automatic, you must also correctly
configure the max-notifier-threads= and notifier-wait-time= stanza
entries.
no|false
Enable manual update notification.
Usage
Required
Default value
yes
Example
auto-database-update-notify = yes
ca-cert-download-enabled
This stanza entry specifies whether the CA certificate can be downloaded.
278 IBM Security Access Manager for Web Version 7.0: Administration Guide
Syntax
ca-cert-download-enabled = {yes|no}
Description
The policy server always allows the download of the CA certificate. It is up to the
client application to allow whether the CA certificate can be downloaded.
Independent of the defined value, the policy server ignores this configuration
setting.
Usage
Ignored
database-path
This stanza entry specifies the location and name of the master policy database.
Syntax
database-path = fully_qualified_path
Description
Location and name of the master policy database. The file extension can be
anything, but the extension is usually .db.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:). For AIX, Linux, and Solaris operating systems, path
names and file names are case-sensitive.
Usage
Required
Default value
The following example set the path to the master policy database on a Windows
operating system:
database-path = C:\pd\db\master_authzn.db
log-file
This stanza entry specifies the location and name of the log file.
Syntax
log-file = fully_qualified_path
Description
Location and name of the log file. Messages are redirected from STDOUT and
STDERR and sent to the server log file as defined in the policy server routing file
([instance-]pdmgrd_routing). The policy server relies on the routing file to
determine the log file names and path.
At startup of the policy server, a check is made to see whether the routing file
exists. If it exists, the routing file is used and this stanza entry is ignored;
otherwise, this stanza entry is used.
Options
For AIX, Linux, and Solaris operating systems, path names and file names are
case-sensitive.
Usage
Required
Default value
280 IBM Security Access Manager for Web Version 7.0: Administration Guide
Example
The following example sets the log file on a Windows operating system without
Tivoli Common Directory:
log-file = C:\pd\log\msg__pdmgrd_utf8.log
The following example sets the log file on a AIX, Linux, or Solaris operating
system with Tivoli Common Directory:
log-file = TCD_directory/HPD/logs/msg__pdmgrd_utf8.log
The three-character identifier used in the example is HPD, which specifies that the
log files are for Security Access Manager.
logcfg
This stanza entry enables logging and auditing for the application.
Syntax
logcfg = audit.azn:{log-agent} path=path
flush_interval=interval log_id
Description
Enables logging and auditing for the application. Category, destination, and other
parameters are used to capture Security Access Manager auditing and logging
events.
Each server provides its own event logging setting in its corresponding
configuration file.
Options
audit.azn
Category that specifies auditing of the authorization component.
log-agent
Specifies that the destination where log-agent is one of the following values:
v stdout
v stderr
v file
v pipe
v remote
path = path
Specifies the name and location of the log file that is used for the log-agent.
flush_interval = interval
Specifies the frequency for flushing log file buffers.
log_id Specifies the identifier for directing events from additional categories to the
same log-agent.
Remove the number signs (#) at the beginning of the configuration file lines to
enable authentication or authorization auditing (or both) for the application.
Usage
Optional
Example
The following example sets the configuration for authentication and authorization
auditing only:
logcfg = audit.azn:file path=/var/PolicyDirector/audit/
pdmgrd.log,flush_interval=20,log_id=PDMgrAudit
logcfg = audit.authn:file log_id=PDMgrAudit
#logcfg = audit.mgmt:file log_id=PDMgrAudit
max-notifier-threads
This stanza entry specifies the maximum number of event notifier threads.
Syntax
max-notifier-threads = number_threads
Description
Maximum number of event notifier threads. The policy server is responsible for
synchronizing all database replicas in the secure domain. When a change is made
to the master database, notification threads do the work of announcing this change
to all replicas. Each replica then has the responsibility to download the new
information from the master.
When the update notification stanza entry is set to yes, you must correctly
configure this stanza entry and also the notifier-wait-time= stanza entry.
Options
number_threads
Set this value to equal the number of existing replicas. Specify a valid,
positive whole number. Valid range for the number of threads is 1 - 128.
Usage
Default value
10
Example
max-notifier-threads = 20
notifier-wait-time
This stanza entry specifies the time in seconds that the authorization policy
database is idle before notification is sent to replicas.
Syntax
notifier-wait-time = time_seconds
282 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Time in seconds that the authorization policy database is idle before notification is
sent to replicas. When the policy server is instructed to change the master policy
database, it waits for a default period before sending out notifications to database
replicas. This time delay is reset with each subsequent change to the database.
When the update notification stanza entry is set to yes, you must correctly
configure this stanza entry and also the max-notifier-threads= stanza entry.
Options
time_seconds
The number of seconds the authorization policy database is idle before
notification is sent to replicas.
Usage
Conditional. This stanza entry is required when the auto-database-update-notify
= yes.
Default value
15
Example
notifier-wait-time = 30
pid-file
This stanza entry specifies the location and name of the PID file.
Syntax
pid-file = fully_qualified_path
Description
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:).
For AIX, Linux, and Solaris operating systems, path names and file names
are case-sensitive.
Usage
Required
Example
standby
This stanza entry specifies the number of standby policy servers.
Syntax
standby = {0|number}
Description
Note: The number of standby servers is generated and set by the configuration
utility. Do not edit this stanza entry.
Options
0 Zero specifies that no policy servers are standby servers.
number
The number of standby policy servers. Use a number that is a positive
whole number. Currently, this number is only 1.
Usage
Required
Default value
Example
standby = 1
tcp-req-port
This stanza entry specifies the TCP port on which the server is listening for
requests.
Syntax
tcp-req-port = {0|port}
284 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Options
0 Disables the port number.
port Enables the port number. Specify any valid port number. A valid port
number is any positive number that is allowed by TCP/IP and that is not
currently being used by another application. Use the default port number,
or use a port number over 1024 that is currently not being used.
Usage
Required
Default value
8135
Example
tcp-req-port = 8135
unix-user
This stanza entry specifies the Linux or UNIX user account for this server.
Syntax
unix-user = user_name
Description
The Linux or UNIX user account for this server. The server runs as this account.
Options
user_name
Represents an alphabetic string for the name associated with the user
account.
Usage
Required
Default value
ivmgr
Example
unix-user = ivmgr
unix-group
This stanza entry specifies the Linux or UNIX group account for this server.
Syntax
unix-group = group_name
The Linux or UNIX group account for this server. The server runs as this account.
Options
group_name
Represents an alphabetic string for the group associated with the user
account.
Usage
Required
Default value
ivmgr
Example
unix-group = ivmgr
am610compat
This stanza entry maintains compatibility with applications developed for previous
Security Access Manager versions.
Syntax
am610compat = yes
Description
Options
yes If set to yes, the command does not return an error if the specified user
does not exist. The system returns the value none instead.
no If set to no, the command returns an error if the user does not exist.
Usage
Th configuration item affects the pdadmin commands where the -user <user-name>
is supplied.
See the pdadmin commands policy get section of the IBM Security Access Manager
Command Reference Guide for details.
If the user specified by the command does not exist, it returns the value none.
286 IBM Security Access Manager for Web Version 7.0: Administration Guide
Default value
Example
am610compat = yes
[ldap] stanza
This stanza defines configuration key value pairs that are required for the Security
Access Manager servers to communicate with the server that is associated with an
LDAP user registry.
The value for the user registry stanza entry (ldap-server-config) is determined by
the pd.conf file. The pd.conf file is created when the IBM Security Access Manager
runtime component is configured.
The key value pairs that are used only for the LDAP registry server are in the
ldap.conf configuration file in the [ldap] stanza. The LDAP server stanza entries
are described separately in “[ldap] stanza for ldap.conf” on page 306.
The key value pairs that are for the server configuration files are in the [ldap]
stanza of each of the following configuration files:
v The ivmgrd.conf configuration file for the policy server
v The [instance-]ivacld.conf configuration file for the authorization server
v The pdmgrproxyd.conf configuration file for the policy proxy server
v Your resource managers' configuration file for configured LDAP entries
The aznAPI.conf configuration file is provided with Security Access Manager as
a sample file for creating your own resource manager configuration file.
Developers of service plug-ins typically provide the standard functions. Before
you implement service plug-ins, read and thoroughly understand the concepts in
the IBM Security Access Manager for Web: Authorization C API Developer Reference.
enhanced-pwd-policy
This stanza entry specifies that the LDAP registries that Security Access Manager
uses to provide password policy enforcement for LDAP accounts.
Syntax
enhanced-pwd-policy = {yes|true|no|false}
Description
The LDAP registries that Security Access Manager uses to provide password policy
enforcement for LDAP accounts. Security Access Manager uses LDAP account
passwords for authentication. This means that Security Access Manager is subject
to LDAP registry password policies. When the enhanced-pwd-policy option is
enabled, Security Access Manager efficiently identifies the underlying LDAP
registry password policy and reacts appropriately. The Security Access Manager
password policy is enforced concurrently and is not affected by the
enhanced-pwd-policy option.
Such behavior increases the duration of the connection and might cause the
number of simultaneous instances to increase. If the increase in simultaneous
connections is not acceptable, use the max-auth-connections option to limit the
number of simultaneous connections. For detailed information about the
max-auth-connections option, see the max-auth-connections section.
The password policies and account states supported by Security Access Manager
are:
v Password reset
v Locked accounts
v Expired accounts
v Grace login for expired accounts
v Accounts whose passwords are going to expire
Options
yes|true
When the enhanced-pwd-policy option is set to true, Security Access
Manager efficiently identifies the underlying LDAP registry password
policy and reacts appropriately.
no|false
When the enhanced-pwd-policy option is set to false, the behavior of
Security Access Manager towards LDAP registry password policy
enforcement remains unchanged.
Default value
Example
An example of this feature is: LDAP reports that an account is expired and allows
grace login. The user is informed that the account is expired, and is provided a
grace login page and an option to change the password.
288 IBM Security Access Manager for Web Version 7.0: Administration Guide
Using enhanced-pwd-policy with Tivoli Directory Server
If you enable enhanced-pwd-policy for the Tivoli Directory Server when using
Tivoli Directory Server for the registry, you must take several steps.
To ensure that users can change their passwords, suffixes that contain or will
contain Security Access Manager user accounts must have an LDAP ACL that
permits users to change their passwords. An example of the suffix that you create
is o=ibm,c=us. An example of a suffix that Security Access Manager creates is
secAuthority=Default. Each of these suffixes requires an LDAP ACL to let the
users change their passwords.
Procedure
1. For the suffix that you created, create a file, for example, addacl1.ldif, that
contains the following statements:
dn:o=ibm,c=us
changetype:modify
add:aclEntry
aclEntry:access-id:cn=this:at.userPassword:rwsc
2. Run the command:
idsldapmodify -D "cn=root" -w "password"
-h your.ldap.host.name -f "addacl1.ldif"
Behavior of Security Access Manager policy server LDAP accounts and policies:
The pwdMustChange option in the LDAP policy prevents the policy server from
starting during configuration.
The account used for configuration does not exist before the configuration starts.
You cannot set a policy to override the global policy. To create Security Access
Manager LDAP server accounts, you might temporarily disable the global policies
before configuration.
After you configure the Security Access Manager server LDAP accounts and the
policy server, set a policy for each Security Access Manager server LDAP account
to override any global policy that affects the use of the LDAP account.
max-auth-connections
This stanza entry specifies how many simultaneous connections to your LDAP
server are permitted for user authentication.
Syntax
max-auth-connections = {0|unlimited number of simultaneous connections used for user
authentication|any number higher than 0|actual number of simultaneous
connections used for user authentication}
Options
0|unlimited number of simultaneous connections used for user authentication
When you set max-auth-connections to 0 (zero), you can use unlimited
LDAP server connections simultaneously to authenticate users.
any number higher than 0|actual number of simultaneous connections used for
user authentication
If you set max-auth-connections to a value greater than 0 (zero), the
number of simultaneous connections used for user authentication is limited
to the number you specify.
Default value
enable-last-login
This stanza entry specifies whether to store the last login information of a user in
LDAP.
Syntax
enable-last-login = {yes|true|no|false}
Description
For LDAP-based registries, each Security Access Manager server that provides a
login service requires you to set the enable-last-login option to store the last
login date of a user in LDAP. Examples of such servers are:
v WebSEAL.
v Policy Server.
v Authorization Server.
v Local-mode authorization and Java Authorization applications that allow user
authentication directly to the registry.
Options
yes|true
Set the value of the enable-last-login option to yes if you want the last
login information of users to be recorded and displayed to users.
no|false
Set the value of the enable-last-login option to no if you do not want the
last login information of users to be recorded and displayed to users.
auth-using-compare
This stanza entry specifies whether ldap_compare() is used instead of the
ldap_bind() call to verify the password and authenticate the user.
290 IBM Security Access Manager for Web Version 7.0: Administration Guide
Syntax
auth-using-compare = {yes|true|no|false}
Description
This option changes the method used by the following authorization API calls:
v azn_util_client_authenticate()
v azn_util_password_authenticate()
Options
yes|true
A compare operation is used to authenticate LDAP users.
no|false
A bind operation is used to authenticate LDAP users.
Any value other than yes|true, including a blank value, is interpreted as
no|false.
To use this key value pair for performance tuning, see the IBM Security Access
Manager for Web: Performance Tuning Guide.
Usage
Optional
Default value
Example
auth-using-compare = yes
authn-timeout
This stanza entry specifies the amount of time (in seconds) for authentication
operations before the LDAP server is considered down.
Syntax
authn-timeout = {0|number_seconds}
Description
Amount of time (in seconds) that is allowed for authentication operations before
the LDAP server is considered to be down. If specified, this value overrides any
value set for the timeout entry for authentication operations.
Note: Do not specify this stanza entry in the ldap.conf server configuration file.
Options
0 No timeout (synchronous).
Usage
Optional
Default value
Example
authn-timeout = 0
bind-dn
This stanza entry specifies the LDAP user distinguished name (DN) that is used
when binding (signing on) to the LDAP server.
Syntax
bind-dn = LDAP_dn
Description
LDAP user distinguished name (DN) that is used when binding (signing on) to the
LDAP server. The LDAP_dn value is created, based on the server name that was
specified with the –n server_name option and the local host of the computer.
To use this key value pair for performance tuning, see the IBM Security Access
Manager for Web: Performance Tuning Guide.
Options
LDAP_dn
Distinguished name that is used to bind to the LDAP server
Usage
Conditional. This stanza entry is required when using an LDAP user registry.
Default value
Example
The following example sets the distinguished name for the policy server:
bind-dn = cn=ivmgrd/master,cn=SecurityDaemons,secAuthority=Default
cache-enabled
This stanza entry specifies whether LDAP client-side caching is used to improve
performance for similar LDAP queries.
292 IBM Security Access Manager for Web Version 7.0: Administration Guide
Syntax
cache-enabled = {yes|true|no|false}
Description
Options
yes|true
Enables LDAP client-side caching.
no|false
Disables LDAP client-side caching. This value is the default value.
Anything other than yes|true, including a blank value, is interpreted as
no|false.
To use this key value pair for performance tuning, see the IBM Security Access
Manager for Web: Performance Tuning Guide.
Usage
Optional
Default value
no
Example
cache-enabled = no
cache-group-expire-time
This stanza entry specifies the amount of time (in seconds) until a group entry in
the cache is considered stale and is discarded.
Syntax
cache-group-expire-time = number_seconds
Description
Amount of time (in seconds) until a group entry in the cache is considered stale
and is discarded. This stanza entry is ignored if the cache is not enabled.
Options
number_seconds
The amount of time specified in seconds. Specify a positive whole number.
Usage
Optional
Default value
300 (5 minutes)
cache-group-membership
This stanza entry specifies whether group membership information is cached.
Syntax
cache-group-membership = {yes|true|no|false}
Description
Options
yes|true
Group membership is cached.
no|false
Group membership is not cached. Anything other than yes|true, including
a blank value, is interpreted as no|false.
Usage
Optional
Default value
yes|true
Example
cache-group-membership = no
cache-group-size
This stanza entry specifies the number of entries in the LDAP group cache.
Syntax
cache-group-size = group_entries
Description
Number of entries in the LDAP group cache. This stanza entry is ignored if the
cache is not enabled.
Options
group_entries
A positive whole number that represents the number of entries is the
LDAP group cache.
Usage
Optional
294 IBM Security Access Manager for Web Version 7.0: Administration Guide
Default value
64
Example
cache-group-size = 100
cache-policy-expire-time
This stanza entry specifies the amount of time in seconds until a policy entry in
the cache is considered stale and is discarded.
Syntax
cache-policy-expire-time = number_seconds
Description
Amount of time in seconds until a policy entry in the cache is considered stale and
is discarded. This stanza entry is ignored if the cache is not enabled.
Options
number_seconds
The amount of time specified in number of seconds. Specify a positive
whole number.
Usage
Optional
Default value
30
Example
cache-policy-expire-time = 60
cache-policy-size
This stanza entry specifies the number of entries in the LDAP policy cache.
Syntax
cache-policy-size = policy_entries
Description
Number of entries in the LDAP policy cache. This stanza entry is ignored if the
cache is not enabled.
Options
policy_entries
A positive whole number that represents the number of entries is the
LDAP policy cache.
Optional
Default value
20
Example
cache-policy-size = 50
cache-return-registry-id
This stanza entry specifies whether the LDAP cache returns the Security Access
Manager user identity as it is stored in the registry or the value entered by the
user.
Syntax
cache-return-registry-id = {yes|no}
Description
Specifies whether the LDAP cache returns the Security Access Manager user
identity as it is stored in the registry or the value entered by the user.
Options
yes Return the Security Access Manager user identity as it is stored in the
registry. This option returns the user identity exactly as it was created and
preserved in the registry.
no Return the Security Access Manager user identity as the value is entered
by the user.
Usage
Optional
Default value
no
Example
cache-return-registry-id = no
cache-use-user-cache
This stanza entry specifies whether to use the user cache information.
Syntax
cache-use-user-cache = {yes|true|no|false}
296 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Specification of whether to use the user cache information. This stanza entry is
ignored if the cache is not enabled.
Options
yes|true
Use user information from the cache.
no|false
Do not use user information from the cache. Anything other than yes|true,
including a blank value, is interpreted as no|false.
Usage
Optional
Default value
yes|true
Example
cache-use-user-cache = no
cache-user-expire-time
This stanza entry specifies the amount of time in seconds until a user entry in the
cache is considered stale and is discarded.
Syntax
cache-user-expire-time = number_seconds
Description
Amount of time in seconds until a user entry in the cache is considered stale and
is discarded. This stanza entry is ignored if the cache is not enabled.
Options
number_seconds
The amount of time specified in number of seconds. Use a number that is
a positive whole number.
Usage
Optional
Default value
30
Example
cache-user-expire-time = 120
Syntax
cache-user-size = user_entries
Description
Number of entries in the LDAP user cache. This stanza entry is Ignored if the
cache is not enabled.
Options
user_entries
A positive whole number that represents the number of entries is the
LDAP user cache.
Usage
Optional
Default value
256
Example
cache-user-size = 1000
default-policy-override-support
This stanza entry specifies whether user-level policy support can be used.
Syntax
default-policy-override-support = {yes|true|no|false}
Description
Options
yes|true
User policy support is disabled, and only the global (default) policy is
checked. This option allows the user policy to not be checked, even if it is
specified.
no|false
User policy support is enabled. When a user policy is specified by the
administrator, it overrides the global policy. If no value is specified,
default-policy-override-support = no becomes the value.
To use this key value pair for performance tuning, see the IBM Security Access
Manager for Web: Performance Tuning Guide.
Usage
Optional
298 IBM Security Access Manager for Web Version 7.0: Administration Guide
Default value
no
Example
default-policy-override-support = yes
ldap-server-config
This stanza entry specifies the location of the ldap.conf configuration file.
Syntax
ldap-server-config = fully_qualified_path
Description
Note: When the ldap-server-config entry is specified in the configuration file, the
values for enabled, host, port, max-search-size, and replica are obtained from the
ldap.conf file. If any of these entries exist in the configuration file, their values are
overridden by the values from the ldap.conf file.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:).
For AIX, Linux, and Solaris operating systems, path names and file names
are case-sensitive.
Usage
Default value
Example
The following example set the location of the LDAP server for a AIX, Linux, or
Solaris operating system:
ldap-server-config = /opt/PolicyDirector/etc/ldap.conf
Syntax
login-failures-persistent = {yes|no}
Description
Options
yes Tracking of failures is maintained in the registry.
no Tracking of failures is done in the local process cache.
Usage
Optional
Default value
no
Example
login-failures-presistent = yes
max-search-size
This stanza entry specifies the maximum search size, as the number of entries, that
can be returned from the LDAP server.
Syntax
max-search-size = [0|number_entries]
Description
Limit for the maximum search size, specified as the number of entries, that can be
returned from the LDAP server. The value for each server can be different,
depending on how the server was configured.
Options
0 The number is unlimited. There is no limit to the maximum search size.
number_entries
The maximum number of entries for search, specified as an integer whole
number. This value can also be limited by the LDAP server itself.
Usage
Optional
300 IBM Security Access Manager for Web Version 7.0: Administration Guide
Default value
Example
max-search-size = 2048
port
This stanza entry specifies the non-SSL IP port number that is used for
communicating with the LDAP server.
Syntax
port = port
Description
Non-SSL IP port number that is used for communicating with the LDAP server.
Options
port The port number configured for the LDAP server.
Usage
Required for the policy proxy server and authorization server; not required for the
policy server.
Default value
389
Example
port = 389
prefer-readwrite-server
This stanza entry specifies whether the client can question the read/write LDAP
server before querying any replica read-only servers that are configured in the
domain.
Syntax
prefer-readwrite-server = {yes|true|no|false}
Description
Specification of whether the client can question the read/write LDAP server before
querying any replica Read-only servers that are configured in the domain.
The default value can be different. For example, the default value for ivmgrd.conf
is yes while the default value for ivacld.conf is no.
Options
yes|true
Enables the client to be able to question the read/write LDAP server.
Usage
Optional
Default value
Example
prefer-readwrite-server = no
search-timeout
This stanza entry specifies the amount of time in seconds that is allowed for search
operations before the LDAP server is considered to be down.
Syntax
search-timeout = {0|number_seconds}
Description
Amount of time in seconds that is allowed for search operations before the LDAP
server is considered to be down. If specified, this value overrides any value that is
set for the timeout entry for search operations.
Note: Do not specify this stanza entry in the ldap.conf server configuration file.
Options
0 No timeout (synchronous).
number_seconds
The number of seconds allowed for search operations. Specify a positive
whole number. There is no range limitation for timeout values.
Usage
Optional
Default value
Example
search-timeout = 0
ssl-enabled
This stanza entry specifies whether the Security Access Manager server uses SSL to
communicate with the LDAP server.
Syntax
ssl-enabled = {yes|true|no|false}
302 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
If you specify that the authorization API (aznAPI) should use SSL to communicate
with the LDAP server, you must enable SSL using this stanza entry.
If you enable SSL communication, you must specify an SSL key file name and, if
there are multiple keys in the file, the key file DN.
Options
yes|true
Enables SSL communication.
no|false
Disables SSL communication. Anything other than yes or true, including a
blank value, is interpreted as no or false.
Usage
Default value
Example
ssl-enabled = yes
ssl-keyfile
This stanza entry specifies the SSL key file name and location.
Syntax
ssl-keyfile = ldap-ssl-key-filename
Description
SSL key file name and location. Use the SSL key file to handle certificates that are
used in LDAP communication. The file extension can be anything, but the
extension is usually .kdb.
The certificate files in a directory need to be accessible to the server user (or all
users). Make sure that server user (for example, ivmgr) or all users have permission
to access the .kdb file and the folder that contains the .kdb file.
Options
ldap-ssl-key-filename
A valid file name is an alphanumeric string that is not case-sensitive. String
values are expected to be characters that are part of the local code set. For
Usage
Conditional. This stanza entry is required only when the LDAP server is
configured to do client authentication (ssl-enabled = yes).
Default value
Example
The following example sets the SSL key file for a UNIX policy server:
ssl-keyfile = /ldap52kdb/a17jsun.kdb
ssl-keyfile-dn
This stanza entry specifies the key label of the client certificate within the SSL key
file.
Syntax
ssl-keyfile-dn = ldap-ssl-keyfile-label
Description
Key label of the client certificate within the SSL key file.
Options
ldap-ssl-keyfile-label
Identifies the client certificate that is presented to the LDAP server.
Usage
Conditional. This stanza entry is required only when the LDAP server is
configured to do client authentication.
Default value
If the default policy server key database is being used, the default client certificate
value is PDLDAP.
Example
ssl-keyfile-dn = "PDLDAP"
304 IBM Security Access Manager for Web Version 7.0: Administration Guide
ssl-keyfile-pwd
This stanza entry is deprecated. The ssl-keyfile-pwd entry is deprecated in the
[ldap] stanza. Although this entry might exist in a configuration file, it is ignored.
Syntax
ssl-keyfile-pwd = ldap-ssl-keyfile-password
Description
user-and-group-in-same-suffix
This stanza entry specifies whether the groups in which a user is a member are
defined in the same LDAP suffix as the user definition.
Syntax
user-and-group-in-same-suffix = {yes|true|no|false}
Description
Specification of whether the groups in which a user is a member are defined in the
same LDAP suffix as the user definition.
When a user is authenticated, the groups in which the user is a member must be
determined to build a credential. Normally, all LDAP suffixes are searched to
locate the groups of which the user is a member.
Options
yes|true
The groups that are assumed to be defined in the same LDAP suffix as the
user definition. Only that suffix is searched for group membership. This
behavior can improve the performance of group lookup, because only a
single suffix is searched. Use this option only if group definitions are
restricted to the same suffix as user definitions.
no|false
The groups might be defined in any LDAP suffix. Anything other than
yes|true, including a blank value, is interpreted as no|false.
To use this key value pair for performance tuning purposes, see the IBM Security
Access Manager for Web: Performance Tuning Guide.
Usage
Optional
Default value
no
Example
user-and-group-in-same-suffix = yes
The user registry type value is determined by the pd.conf file. The pd.conf file is
created when the IBM Security Access Manager runtime is configured.
To use the key value pairs in this stanza for performance tuning, see the IBM
Security Access Manager for Web: Performance Tuning Guide.
cache-enabled
This stanza entry specifies whether LDAP client-side caching is used to improve
performance for similar LDAP queries.
Syntax
cache-enabled = {yes|true|no|false}
Description
Options
yes|true
Enables LDAP client-side caching.
no|false
Disables LDAP client-side caching. This value is the default value.
Anything other than yes|true, including a blank value, is interpreted as
no|false.
To use this key value pair for performance tuning purposes, see the IBM Security
Access Manager for Web: Performance Tuning Guide.
Usage
Optional
Default value
no
Example
cache-enabled = no
cache-account-policy
The cache-account-policy is a configuration file parameter in the [ldap] stanza for
ldap.conf. The policy determines whether the LDAP client-side caching is enabled.
Syntax
cache-account-policy = {yes|true|no|false}
306 IBM Security Access Manager for Web Version 7.0: Administration Guide
Default value
yes
Option descriptions
yes|true
Enables LDAP client-side caching of expired account or expired password.
Anything other than no|false, including a blank value, is interpreted as
yes|true.
no|false
Disables LDAP client-side caching of expired account or password.
Usage
Optional. Enable this configuration file parameter if you want Security Access
Manager to cache an expired account or password. Otherwise, set this parameter to
no.
Example
connection-inactivity
This stanza entry specifies the number of seconds of inactivity allowed on an
LDAP connection before the connection is taken down.
Syntax
connection-inactivity = number_seconds
Description
This parameter is not available with the pdconfig utility. The parameter must be
modified manually with the pdadmin command line (local login). For more
information, see "pdadmin commands" in the IBM Security Access Manager for Web:
Command Reference.
Options
number_seconds
The number of seconds of inactivity allowed on an LDAP connection. The
valid range for this parameter is 0 to 31536000. A connection-inactivity
value of 0 specifies that connection inactivity is not tracked and the
connections, after they are established, are left connected permanently.
Usage
Optional
Default value
dynamic-groups-enabled
This stanza entry specifies whether dynamic groups are supported.
Syntax
dynamic-groups-enabled = {yes|true|no|false}
Description
Specification of whether dynamic groups are supported. This key value pair
applies to supported LDAP registries. Security Access Manager supports dynamic
groups with Tivoli Directory Server regardless of this setting.
Note: This stanza entry can be used only in the ldap.conf configuration file.
Options
yes|true
Security Access Manager attempts to resolve dynamic group membership.
no|false
Security Access Manager does not attempt to resolve dynamic group
membership. Anything other than yes|true, including a blank value, is
interpreted as no|false.
Usage
Optional
Default value
no
Example
dynamic-groups-enabled = no
enabled
This stanza entry specifies whether LDAP is the user registry.
Syntax
enabled = {yes|true|no|false}
Description
Specification of whether LDAP is being used as the user registry. Only one user
registry can be specified at a time.
If enabled, other required stanza entries are an LDAP server host name, and port
with which to bind to the server, a bind user DN, and bind user password
(obfuscated).
308 IBM Security Access Manager for Web Version 7.0: Administration Guide
Options
yes|true
Enables LDAP user registry support.
no|false
Disables LDAP user registry support and specifies that LDAP is not the
user registry that is used. Anything other than yes or true, including a
blank value, is interpreted as no or false.
Usage
Conditional. This stanza entry is required when LDAP is the user registry.
Default value
The default value can be different, depending on how the server is configured.
Example
enabled = yes
host
This stanza entry specifies the host name of the LDAP server.
Syntax
host = host_name
Description
Host name of the LDAP server. Valid values for host_name include any valid
Internet Protocol (IP) host name.
The host that is specified by this entry is assumed to be a readwrite type of server
with a preference of 5. For a general description of server types and preferences,
see “replica” on page 312.
Options
host_name
The value is taken from the pd.conf file. The pd.conf file is created when
the IBM Security Access Manager runtime is configured.
Usage
Required
Default value
There is no default value. The value is taken from the pd.conf file.
Example
host = libra
host = libra.dallas.ibm.com
Syntax
ignore-suffix = suffix_dn
Description
LDAP server suffix that is to be ignored when searching for user and group
information. By default, all defined suffixes in the LDAP server are searched when
acquiring User and group information.
Note: This stanza entry can be used only in the ldap.conf configuration file.
Options
suffix_dn
Specifies the suffix distinguished name (DN) that you want to be ignored.
Repeat this stanza entry for each suffix you want to be ignored. For
example, if you specify ignore-suffix = o=tivoli,c=us, any user, or
group that includes o=tivoli,c=us as part of the DN is ignored.
Usage
Optional
Default value
Example
ignore-suffix = o=tivoli,c=us
max-search-size
This stanza entry specifies the maximum search size, as the number of entries, that
can be returned from the LDAP server.
Syntax
max-search-size = [0|number_entries]
Description
Limit for the maximum search size, specified as the number of entries, that can be
returned from the LDAP server. The value for each server can be different,
depending on how the server was configured.
Options
0 The number is unlimited. There is no limit to the maximum search size.
number_entries
The maximum number of entries for search, specified as an integer whole
number. This value can be limited by the LDAP server itself.
310 IBM Security Access Manager for Web Version 7.0: Administration Guide
Usage
Optional
Default value
Example
max-search-size = 2048
max-server-connections
This stanza entry specifies the maximum number of connections for the LDAP
server.
Syntax
max-server-connections = number_connections
Description
Specifies the maximum number of connections that are allowed with the LDAP
server. The Security Access Manager run time maintains a pool of connections for
each LDAP server. From this pool, an available connection is chosen to do requests
to the LDAP server. If all connections are busy, a new connection is established
with the LDAP server, up to the maximum server connection pool size.
Options
number_connections
The maximum number of connections allowed with the LDAP server. The
valid range for this parameter is 2-16. Values greater than 16 are set to 16.
Usage
Optional
Default value
If this parameter is not specified, the default pool size is 16.
Example
max-server-connections = 16
novell-suffix-search-enabled
This stanza entry specifies whether Security Access Manager searches the entire
directory namespace when the Novell eDirectory LDAP server is used as the user
registry.
Syntax
novell-suffix-search-enabled = {yes|true|no|false}
Description
When the Novell eDirectory LDAP server is used as the user registry, Security
Access Manager uses this option to determine whether to search the entire
Options
yes|true
Security Access Manager does naming context (suffix/partition) discovery
and searches each naming context for user, group, and policy information.
The optional ignore-suffix parameters are honored.
no|false
Security Access Manager does a baseless (global root) search of the entire
namespace for user, group, and policy information. The optional
ignore-suffix parameters are ignored.
Usage
Optional; this stanza entry can be used only in the ldap.conf configuration file.
Default value
no
Example
novell-suffix-search-enabled = no
port
This stanza entry specifies the non-SSL IP port number that is used for
communicating with the LDAP server.
Syntax
port = port
Description
Non-SSL IP port number that is used for communicating with the LDAP server.
Options
port The value configured for the LDAP server.
Usage
Required
Default value
389
Example
port = 389
replica
This stanza entry specifies the LDAP user registry replicas in the domain.
312 IBM Security Access Manager for Web Version 7.0: Administration Guide
Syntax
replica = ldap-server, port, type, pref
Description
Options
ldap-server
The network name of the server.
port The port number for the LDAP server. A valid port number is any positive
number that is allowed by TCP/IP and that is not currently being used by
another application.
type Either readonly or readwrite.
pref A number between 1 and 10, where 10 is the highest preference. The server
with the highest preference is chosen for LDAP operations. If multiple
servers have the same preference value, then load balancing occurs among
the least busy of the servers.
Usage
Optional
Default value
Example
The following example shows one replica that is specified and two replicas that are
commented out:
replica = freddy,390,readonly,1
#replica = barney,391,readwrite,2
#replica = benny,392,readwrite,3
secauthority-suffix
This stanza entry provides a suffix under which the secAuthorityInfo object is
located. This parameter serves as a starting search location for the
secAuthorityInfo object when Security Access Manager is started.
Syntax
secauthority-suffix = suffix
Description
Usage
Optional.
Default value
Example
secauthority-suffix = c=US
ssl-port
This stanza entry specifies the SSL IP port that is used to connect to the LDAP
server.
Syntax
ssl-port = port
Description
Options
port Any valid port number. A valid port number is any positive number that is
allowed by TCP/IP and that is not currently being used by another
application.
Usage
Default value
636
Example
ssl-port = 636
cache-account-policy
The cache-account-policy is a configuration file parameter in the [ldap] stanza for
ldap.conf. The policy determines whether the LDAP client-side caching is enabled
or not.
Syntax
cache-account-policy = {yes|true|no|false}
314 IBM Security Access Manager for Web Version 7.0: Administration Guide
Default value
yes
Option descriptions
yes|true
Enables LDAP client-side caching of expired account or expired password.
Anything other than no|false, including a blank value, is interpreted as
yes|true.
no|false
Disables LDAP client-side caching of expired account or password.
Usage Notes
Optional. Enable this configuration file parameter if you want Security Access
Manager to cache an expired account or password. Otherwise, set this parameter to
no.
Return Values
None.
Example
user-search-filter
The user-search-filter is a configuration file parameter in the [ldap] stanza for
ldap.conf that specifies the LDAP search filter used by Security Access Manager.
Syntax
user-search-filter = <ldap search filter>
Default value
user-search-filter =
(|(objectclass=ePerson)(objectclass=Person)(objectclass=User))
user-search-filter = (|(objectclass=ePerson)(objectclass=Person))
Option descriptions
Specifies the LDAP search filter used by Security Access Manager to locate users in
the LDAP directory server. This filter must be a valid LDAP string search filter as
described by the Request for Comments (RFC) 2254 document.
Usage
Optional: Use this configuration file parameter to specify how to locate Security
Access Manager users in LDAP.
Example
[manager] stanza
The stanza entries for configuring the master server settings are in the [manager]
stanza of each of the following configuration files:
v The [instance-]ivacld.conf configuration file for the authorization server
v The pd.conf configuration file when you use the authorization server
v The pdmgrproxyd.conf configuration file for the policy proxy server
management-domain
This stanza entry specifies the name of the management domain.
Syntax
management-domain = {default|domain_name}
Description
Name of the management domain. This value is created and set by one of the
following utilities:
v For the pd.conf file, the value is set with the bassslcfg utility.
v For other configuration files, the value is set with the svrsslcfg utility.
Note: If the value is not specified, then the value of Default is used.
Options
Default
Specifies the Management domain. This value is the default value for all
servers.
domain_name
Specifies the user-specified domain. Use this value when you configure
your own name for the domain.
The domain_name value is an alphanumeric, case-sensitive string. String
values are expected to be characters that are part of the local code set.
Valid characters for domain names for US English are the letters a-Z, the
numbers 0-9, a period (.), an underscore (_), a plus sign (+), a hyphen (-),
an "at" symbol (@), an ampersand (&), and an asterisk (*). You cannot use a
space in the domain name.
316 IBM Security Access Manager for Web Version 7.0: Administration Guide
Usage
Required
Default value
Default
Example
management-domain = mymgmtdomain
master-host
This stanza entry specifies the host name of the Security Access Manager server.
Syntax
master-host = server_hostname
Description
Host name of the Security Access Manager server. The following host names are
valid:
v mycomputer.city.company.com
v mycomputer
Options
server_hostname
Represents the valid name for the host.
Usage
Required
Default value
Example
master-host = ammaster
master-port
This stanza entry specifies the TCP port on which the server listens for requests.
Syntax
master-port = port
Description
TCP port on which the server listens for requests. This value is created and set by
one of the following utilities:
v For the pd.conf file, the value is set with the bassslcfg utility.
v For all other configuration files, the value is set with the svrsslcfg utility.
Usage
Required
Default value
Example
master-port = 7135
[meta-info] stanza
The stanza entry for configuring Security Access Manager version information is in
the [meta-info] stanza of each of the following configuration files:
v The ivmgrd.conf configuration file for the policy server
v The [instance-]ivacld.conf configuration file for the authorization server
v The pd.conf configuration file when you use the authorization server
v The pdmgrproxyd.conf configuration file for the policy proxy server
version
This stanza entry specifies the version of Security Access Manager in decimal
format.
Syntax
version = number
Description
[pdconfig] stanza
This stanza defines the configuration key value pairs that are required for the
LDAP server. The entries in this stanza are for internal use only. Do not modify the
values in this file. To properly configure these entries, use the pdconfig utility.
LdapSSL
This stanza entry specifies whether to enable SSL communication on the LDAP
server.
Syntax
LdapSSL = {ssl|nossl}
318 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Note: The entries in this stanza are for internal use only. Do not modify the values
in this file. To properly configure these entries, use the pdconfig utility.
Options
ssl Enables SSL communication. SSL is automatically configured.
nossl Disables SSL communication. Anything other than ssl, including a blank
value, is interpreted as nossl.
Usage
Optional
Default value
Example
LdapSSL = nossl
LdapSSLKeyFile
This stanza entry specifies the SSL key file name and location.
Syntax
LdapSSLKeyFile = ldap-ssl-key-filename
Description
SSL key file name and location. Use the SSL key file to handle certificates that are
used in LDAP communication. The file extension can be anything, but the
extension is usually .kdb.
The certificate files in a directory need to be accessible to the server user (or all
users). Make sure that the server user (for example, ivmgr) or all users have
permission to access the .kdb file and the folder that contains the .kdb file.
Note: The entries in this stanza are for internal use only. Do not modify the values
in this file. To properly configure these entries, use the pdconfig utility.
Options
ldap-ssl-key-filename
The file name and location that represents an alphanumeric string that is
not case-sensitive. String values are expected to be characters that are part
of the local code set. The set of valid characters in a file name can be
determined by the file system and by the local code set. For Windows
operating systems, file names cannot have a backward slash (\), a colon (:),
a question mark (?), or double quotation marks ("). Windows operating
Usage
Default value
Example
LdapSSL = ssl
LdapSSLKeyFile = /opt/PolicyDirector/keytab/ivmgrd.kdb
LdapSSLKeyFileDn
This stanza entry specifies the key label of the client certificate within the SSL key
file.
Syntax
LdapSSLKeyFileDn = keyLabel
Description
Key label of the client certificate within the SSL key file. This stanza entry is used
when the LDAP server is configured to do client authentication.
Note: The entries in this stanza are for internal use only. Do not modify the values
in this file. To properly configure these entries, use the pdconfig utility.
Options
keyLabel
Identifies the client certificate that is presented to the LDAP server.
Usage
Default value
Example
LdapSSL = ssl
LdapSSLKeyFileDn = "PD_LDAP"
320 IBM Security Access Manager for Web Version 7.0: Administration Guide
LdapSSLKeyFilePwd
This stanza entry specifies the password to access the SSL key file.
Syntax
LdapSSLKeyFilePwd = ldap-ssl-keyfile-password
Description
Note: The entries in this stanza are for internal use only. Do not modify the values
in this file. To properly configure these entries, use the pdconfig utility.
Options
ldap-ssl-keyfile-password
The password that is associated with the SSL key file. The default SSL key
file is key4ssl.
Usage
Default value
Example
LdapSSL = ssl
LdapSSLKeyFilePwd = mysslpwd
[pdaudit-filter] stanza
The stanza entry for Security Access Manager auditing support is in the
[pdaudit-filter] stanza of the pdaudit.conf configuration file.
logcfg
This stanza entry enables logging and auditing for the application.
Syntax
logcfg = audit.azn:[log-agent][[param[=value]] ...]
Description
Enables logging and auditing for the application. Category, destination, and other
parameters are used to capture Security Access Manager auditing and logging
events.
Each server provides its own setting for event logging in its corresponding
configuration file.
Options
audit.azn:log-agent
Category of auditing event. Also specifies that the destination where
log-agent is one of the following agents:
Usage
Optional
Default value
Remove the number signs (#) at the beginning of the configuration file lines to
enable authentication or authorization auditing (or both) for the application.
Example
logcfg = audit.azn:file path=audit.log,flush_interval=20,log_id=audit_log
[pdmgrproxyd] stanza
The stanza entries for configuring the policy proxy server are in the
pdmgrproxyd.conf configuration file.
cache-database
This stanza entry specifies whether in-memory caching of the policy database is
enabled.
Syntax
cache-database = {yes|no}
Description
Options
yes Enables in-memory caching of the policy database.
no Disables in-memory caching of the policy database.
Usage
Required
Default value
no
Example
cache-database = yes
322 IBM Security Access Manager for Web Version 7.0: Administration Guide
log-file
This stanza entry specifies the location and name of the log file.
Syntax
log-file = fully_qualified_path
Description
Location and name of the log file. Messages are redirected from STDOUT and
STDERR and sent to the server log file as defined in the policy proxy server
routing file (pdmgrproxyd_routing). The policy proxy server relies on the routing
file to determine the log file names and path.
At startup of the policy proxy server, a check is made to see whether the routing
file exists. If it exists, the routing file is used and this stanza entry is ignored;
otherwise, this stanza entry is used.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:). For AIX, Linux, and Solaris operating systems, path
names and file names are case-sensitive.
Usage
Required
Default value
Example
The three-character identifier used in the example is HPD, which specifies that the
log files are for the Security Access Manager common component.
pid-file
This stanza entry specifies the location and name of the PID file.
Syntax
pid-file = fully_qualified_path
Description
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:). For AIX, Linux, and Solaris operating systems, path
names and file names are case-sensitive.
Usage
Required
Default value
Example
pid-file = c:\pd\log\pdmgrproxyd.pid
tcp-req-port
This stanza entry specifies the TCP port on which the server listens for requests.
Syntax
tcp-req-port = {0|port}
324 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Options
0 Disables the port number.
port Enables the port number. Use any valid port number. A valid port is any
positive number that is allowed by TCP/IP and that is not currently being
used by another application. Use the default port number value, or use a
port number over 1000 that is currently not being used.
Usage
Required
Default value
8138
Example
tcp-req-port = 8138
unix-group
This stanza entry specifies the Linux or UNIX group account for this server.
Syntax
unix-group = group_name
Description
The Linux or UNIX group account for this server. The group name and user name
are different items, and both can have the same value. The user name is set as the
group owner of the policy proxy server files. The validity of the group name
specified depends on the requirements of the specific AIX, Linux, or Solaris
operating system.
Options
group_name
Represents an alphabetic string for the group associated with the user
account.
Usage
Conditional. This stanza entry is required when working with Linux or UNIX
group accounts.
Default value
ivmgr
Example
unix-group = ivmgr
Syntax
unix-user = user_name
Description
The Linux or UNIX user account for this server. The group name and user name
are different items, but both can have the same value. The user name is set as the
user owner of the proxy manager files. The validity of the user name specified
depends on the requirements of the specific AIX, Linux, or Solaris operating
system.
Options
user_name
Represents an alphabetic string for the name associated with the user
account.
Usage
Conditional. This stanza entry is required when working with Linux or UNIX user
accounts.
Default value
ivmgr
Example
unix-user = ivmgr
[pdrte] stanza
When the policy server is installed, the policy server automatically starts after each
system reboot. When the authorization server is installed, the authorization server
daemon automatically starts after each system reboot.
The stanza entries for automating server startup when using any of the user
registries are in the [pdrte] stanza of the following configuration file:
v The pd.conf configuration file when you use the authorization server
When you use the Security Access Manager authorization server, you must have
the pd.conf configuration file.
boot-start-[instance-]ivacld
This stanza entry specifies whether to start the authorization server instance at
system startup.
Syntax
boot-start-[instance-]ivacld = {yes|no}
326 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Specifies whether to start the authorization server instance at system startup. The
syntax contains:
v The boot-start-ivacld default instance stanza
v Other entries corresponding to configured authorization server instances
When you configure any authorization server with a specified (non-empty string)
instance name, the configuration file adds a boot-start-[instance-]ivacld entry
for that server.
The configuration file always contains an entry for the empty string instance name
authorization server, boot-start-ivacld.
Options
instance-
The instance name created during configuration of an authorization server.
yes Start the authorization server at system startup.
no Do not start the authorization server at system startup.
Usage
Conditional. This stanza entry is required for AIX, Linux, and Solaris operating
systems only.
Default value
no
Example
boot-start-ivacld = yes
boot-start-otherinst-ivacld = yes
boot-start-ivmgrd
This stanza entry specifies whether to start the policy server at system boot.
Syntax
boot-start-ivmgrd = {yes|no}
Description
Options
yes Start the policy server at system boot.
no Do not start the policy server at system boot.
Usage
Conditional. This stanza entry is required for AIX, Linux, and Solaris operating
systems only.
no
Example
boot-start-ivmgrd = yes
boot-start-pdproxyd
This stanza entry specifies whether to start the policy proxy server at system boot.
Syntax
boot-start-pdproxyd = {yes|no}
Description
Options
yes Start the policy proxy server at system boot.
no Do not start the policy proxy server at system boot.
Usage
Conditional. This stanza entry is required for AIX, Linux, and Solaris operating
systems only.
Default value
no
Example
boot-start-pdproxyd = yes
configured
This stanza entry specifies whether the IBM Security Access Manager runtime
package was configured.
Syntax
configured = {yes|no}
Description
Specification of whether the IBM Security Access Manager runtime package was
configured.
ivacld-instances
This stanza entry specifies a list of configured authorization server instance names.
Syntax
ivacld-instances = [ ’instance1’ [ ’instance2’ [ ...] ] ]
328 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Options
Each authorization server instance name must be set in single quotation marks and
separated by space characters. An empty string instance name is set as the default
authorization server instance. This default name must not be present in the list of
ivacld-instances.
Usage
Conditional. This stanza entry is required for Linux and UNIX operating systems
only.
Do not modify this value directly. The authorization server configuration tools
maintain this value.
Default value
no
Example
ivacld-instances = ’otherinst’ ’otherinst2’
tivoli_common_dir
This stanza entry specifies the file name and location for message files and trace
log files.
Syntax
tivoli_common_dir = fully_qualified_path
Description
File name and location for message files and trace log files. Specifies whether
Tivoli Common Directory is used.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
file name can be determined by the file system and by the local code set.
For Windows operating systems, file names cannot have a backward slash
(\), a colon (:), a question mark (?), or double quotation marks (").
Windows operating systems path names, however, can have a backward
slash (\) or a colon (:).
For AIX, Linux, and Solaris operating systems, path names and file names
are case-sensitive.
Conditional. This stanza entry is required when you configure the IBM Security
Access Manager Runtime for Java environment for Tivoli Common Directory
(TCD) logging.
Default value
user-reg-host
This stanza entry specifies the user registry host name.
Syntax
user-reg-host = hostname
Description
user-reg-hostport
This stanza entry specifies the non-SSL IP port number that is used for
communicating with the user registry server.
Syntax
user-reg-hostport = port
Description
Non-SSL IP port number that is used for communicating with the user registry
server.
user-reg-server
This stanza entry specifies the user registry server name.
Syntax
user-reg-server = server_name
Description
user-reg-type
This stanza entry specifies the user registry type.
Syntax
user-reg-type = {ldap|active_directory}
330 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
[pdwpm] stanza
The stanza entry for configuring Web Portal Manager information is in the [pdwpm]
stanza of the amconf.properties configuration file.
The /images/en subdirectory under the iscwpm.war directory contains the default
GIF files for English locales.
For changes to the amconf.properties file to take effect, restart the WebSphere
server.
aclMembership
This stanza entry specifies whether the ACL Management tab is shown for the
User and Group properties page.
Syntax
aclMembership = {true|false}
Description
Specifies whether the ACL Management tab is shown for the User and Group
properties page.
Usage
Required
Default value
true
authMethod
This stanza entry specifies the authentication method.
Description
Options
FORM
Use when FORM-based login is needed.
BASIC
Use when basic authentication is needed.
SSO Use for single sign-on, when Web Portal Manager is junctioned behind
WebSEAL or when WebSphere Application Server security is in use.
TAI Use when Web Portal Manager is junctioned behind WebSEAL and
WebSphere Application Server security is in use
Usage
Required
Default value
FORM
Example
authMethod = BASIC
bannerFile
This stanza entry specifies which JSP or HTML file is loaded.
Syntax
bannerFile = file_name
Description
Options
file_name
The name of the JSP or HTML file to load. The JSP or HTML file must in
one of the following directories:
For administration
/pdadmin.war
For delegate administration
/delegate.war
Usage
Required
332 IBM Security Access Manager for Web Version 7.0: Administration Guide
Default value
top_banner.jsp
Example
bannerFile = top_banner.jsp
changePassword
This stanza entry specifies whether the password-change pages are displayed so
that users can change their passwords with Web Portal Manager.
Syntax
changePassword = {true|false}
Description
Passwords for Web Portal Manager must adhere to the password policies that is set
by the administrator. By default, passwords must contain a minimum of eight
characters (consisting of at least one number and four letters) and a maximum of
two repeated characters.
Options
true Display pages that allow Web Portal Manager users to change their
passwords.
false Do not display pages that allow Web Portal Manager users to change their
passwords.
Usage
Required
Default value
true
Example
changePassword = false
debug
This stanza entry specifies whether the trace is displayed to standard out (stdout)
when an exception is thrown.
Syntax
debug = {true|false}
Description
Usage
Required
Default value
false
Example
debug = true
infoBarGif
This stanza entry specifies which image is shown on the lower right of the page.
Syntax
infoBarGif = file_name
Description
Options
file_name
The name of the GIF file. The GIF file must in one of the following
directories under the /pdadmin.war directory for administration or
/delegate.war directory for delegate administration:
v /images
v /images/locale
Usage
Required
Default value
infobar_ibm.gif
Example
infoBarGif = infobar_ibm.gif
jrteHost
This stanza entry specifies the host name of the system where the IBM Security
Access Manager Runtime for Java package is installed and configured.
Syntax
jrteHost = hostname
334 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Specifies the host name of the system where the IBM Security Access Manager
Runtime for Java package is installed and configured.
jrteProps
This stanza entry specifies the file name and location of the properties file that is
used by the IBM Security Access Manager Runtime for Java environment.
Syntax
jrteProps = fully_qualified_path
Description
Specifies the file name and location of the properties file that is used by the IBM
Security Access Manager Runtime for Java environment. This stanza entry requires
the jrteHost stanza entry.
loginGif
This stanza entry specifies which image is shown on the login page.
Syntax
loginGif = file_name
Description
Options
file_name
The name of the GIF file. The GIF file must in one of the following
directories under the /pdadmin.war directory for administration or
/delegate.war directory for delegate administration:
v /images
v /images/locale
Usage
Required
Default value
accessmanager.gif
Example
loginGif = accessmanager.gif
Syntax
splashGif = file_name
Description
Specifies which image is shown on the Welcome page, after the Login page.
Options
file_name
The name of the GIF file. The GIF file must in one of the following
directories under the /pdadmin.war directory for administration or
/delegate.war directory for delegate administration:
v /images
v /images/locale
Usage
Required
Default value
accessmanager.gif
Example
splashGif = accessmanager.gif
wasEmbedded
This stanza entry specifies whether only the User, Group, GSO, and Policy pages
are displayed.
Syntax
wasEmbedded = {true|false}
Description
Specifies whether only the User, Group, GSO, and Policy pages are displayed.
This stanza entry is for internal use only. Do not change it.
Usage
Required
Default value
false
336 IBM Security Access Manager for Web Version 7.0: Administration Guide
[ssl] stanza
The [ssl] stanza in the configuration file defines the Secure Sockets Layer (SSL)
configuration settings for the Security Access Manager servers.
The stanza entries for configuring Security Access Manager SSL settings are in the
[ssl] stanza of each of the following configuration files:
v The ivmgrd.conf configuration file for the policy server
v The [instance-]ivacld.conf configuration file for the authorization server
v The pd.conf configuration file when you use the authorization server
v The pdmgrproxyd.conf configuration file for the policy proxy server
v Your configuration file of the resource manager for configured SSL entries
The aznAPI.conf configuration file is provided with Security Access Manager as
a sample file for creating your own resource manager configuration file.
Developers of service plug-ins must provide the standard functions. Before you
implement service plug-ins, read and thoroughly understand the concepts in the
IBM Security Access Manager for Web: Authorization C API Developer Reference.
ssl-authn-type
This stanza entry specifies the type of authentication.
Syntax
ssl-authn-type = certificate
Description
Type of authentication.
Note: This value is created and its value set during configuration for the
authentication server and the policy proxy server. This stanza entry is not used for
the policy server.
Default value
certificate
ssl-auto-refresh
This stanza entry specifies whether automatic refresh of the SSL certificate and the
key database file password occur.
Syntax
ssl-auto-refresh = {yes|no}
Description
Specification of whether automatic refresh of the SSL certificate and the key
database file password occur.
This value is created and its value set with one of the following utilities:
v For the ivmgrd.conf configuration file, it is set with the mgrsslcfg utility.
v For the pd.conf configuration file, it is set with the bassslcfg utility.
Appendix C. Configuration file stanza reference 337
v For all other configuration files, it is set with the svrsslcfg utility.
Note: This value is set with a configuration utility. Do not edit this stanza entry.
Options
yes Enables automatic certificate and password refresh.
no Disables automatic certificate and password refresh.
ssl-cert-life
This stanza entry specifies the number of days in the lifetime of a certificate.
Syntax
ssl-cert-life = number_days
Description
Value for number of days in the lifetime of a certificate. Any issued or renewed
certificates must use this value.
For the ivmgrd.conf configuration file, set this value with the mgrsslcfg utility to a
value 1 - 7299. (The default is 1460, or four years.) The name and path are fixed for
this configuration file. Use this utility to modify this value after initial
configuration.
To increase or decrease the value, change the value and restart the policy server.
The new value is in effect only for certificates that are issued or that are renewed
from that point on. If both the certificate and the password to the key database file
that contains the certificate expire, the password must be refreshed first.
Note:
1. Only the policy server uses this value.
2. The password value is set with the mgrsslcfg utility.
3. Do not edit this stanza entry.
disallow-trailing-spaced-usernames
The disallow-trailing-spaced-usernames is a configuration file parameter in the [ssl]
stanza for pd.conf that determines whether trailing spaces in usernames are
accepted.
Syntax
disallow-trailing-spaced-usernames = {yes|no}
Default value
no
Option descriptions
yes Indicates that trailing spaces in usernames are not accepted.
no Indicates that trailing spaces in usernames are accepted.
338 IBM Security Access Manager for Web Version 7.0: Administration Guide
Usage notes
Enable this configuration file parameter if trailing spaces in usernames are not
accepted. This configuration file parameter is optional.
Example
This example indicates that trailing spaces in usernames are not accepted.
disallow-trailing-spaced-usernames = yes
ssl-compliance
Syntax
ssl-compliance = { none | fips | sp800-131-transition | sp800-131-strict
| suite-b-128 | suite-b-192 }
Description
Options
none Indicates that no special compliance modes are applied to the TLS
communication protocol. This setting is equivalent to [ssl]
ssl-enable-fips = no, which is a deprecated option.
fips Enables FIPS 140-2 compliance. This setting is equivalent to [ssl]
ssl-enable-fips = yes, which is a deprecated option.
sp800-131-transition
Enables NIST SP 800-131a support at the transition level. The transition
level has fewer restrictions than the strict level.
sp800-131-strict
Enables NIST SP 800-131a support at the strict level. This enforcement is
required by some federal agencies and enterprises that work with the
federal government starting in 2014.
suite-b-128
Enables NSA Suite B at the 128-bit support level.
suite-b-192
Enables NSA Suite B at the 192-bit support level.
Usage
Required.
This setting is used for secure communication between Security Access Manager
processes, secure communication from Security Access Manager to the LDAP
registry servers, and secure communication from Security Access Manager to
syslog servers.
Default value
none
Example
ssl-compliance = suite-b-128
ssl-enable-fips (deprecated)
This stanza entry determines whether Federal Information Process Standards (FIPS)
mode is enabled. This entry is deprecated and replaced by the ssl-compliance
entry.
Syntax
ssl-enable-fips = {yes|no}
Description
Options
yes Specifies that TLSv1 is the secure communication protocol.
no Specifies that SSLv3 is the secure communication protocol.
Usage
Required
Default value
There is no default value. This value is set by the configuration utility that is
associated with each server.
Example
ssl-enable-fips = no
ssl-enhanced-security
Syntax
ssl-enhanced-security = {yes|true|no|false}
340 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Options
yes|true
Enables enhanced security.
no|false
Disables enhanced security. Anything other than yes or true, including a
blank value, is interpreted as no or false.
Default value
Example
ssl-enhanced-security = yes
ssl-io-inactivity-timeout
This stanza entry specifies the time in seconds that an SSL connection waits for a
response before timing out.
Syntax
ssl-io-inactivity-timeout = {0|number_seconds}
Description
Duration in seconds that an SSL connection waits for a response before timing out.
For certain administration requests, you might receive the HPDBA0219E error
message when the timeout value is too small. For example, a request might be to
look up members in a large user registry group over an SSL connection. To resolve
this problem, increase this timeout value in the pd.conf configuration file.
This timeout value is created, and the value is set with one of the following
utilities:
v For the ivmgrd.conf configuration file, it is set with the mgrsslcfg utility.
v For the pd.conf configuration file, it is set with the bassslcfg utility.
v For all other configuration files, it is set with the svrsslcfg.
Note: The timeout value is set with the configuration utility. Do not edit this
stanza entry.
Usage
Required
Default value
There is no default value. This value is set by the configuration utility that is
associated with each server.
Example
ssl-io-inactivity-timeout = 300
ssl-keyfile
This stanza entry specifies the file name and location on the local system of the
SSL key file.
Syntax
ssl-keyfile = key-path
Description
File name and location on the local system of the SSL key file. If the key-value pair
does not exist in the configuration file, the application fails. The file extension can
be anything, but it is usually .kdb. By default, the key file is in one of the
following operating system-specific directories:
AIX, Linux, and Solaris operating systems
/var/PolicyDirector/keytab
Windows operating systems
c:\program files\tivoli\policy director\keytab
The certificate files in a directory need to be accessible to the server user (or all
users). Make sure that server user (for example, ivmgr) or all users have permission
to access the .kdb file and the folder that contains the .kdb file.
This file is created, and the value is set with one of the following utilities:
v For the ivmgrd.conf configuration file, it is set with the mgrsslcfg utility.
v For the pd.conf configuration file, it is set with the bassslcfg utility.
v For all other configuration files, it is set with the svrsslcfg utility.
Note: The file name, including extension, is generated and set by the configuration
utility. Do not edit this stanza entry.
ssl-keyfile-label
This stanza entry specifies the label of the key, other than the default key that you
can use.
342 IBM Security Access Manager for Web Version 7.0: Administration Guide
Syntax
ssl-keyfile-label = label
Description
Label of the key to use other than the default. Quotation marks that surround the
label value are not permitted.
This label is created, and the value is set with one of the following utilities:
v For the ivmgrd.conf configuration file, it is set with mgrsslcfg utility
v For the pd.conf configuration file, this entry does not apply.
v For all other configuration files, it is set with the svrsslcfg utility.
Note: The label is set by the configuration utility. Do not edit this stanza entry.
ssl-keyfile-stash
This stanza entry specifies the file name and location of the SSL password stash
file that protects private keys in the key file.
Syntax
ssl-keyfile-stash = stash-path
Description
File name and location of the SSL password stash file that is used to protect
private keys in the key file. The password might be stored encrypted in the stash
file.
The file extension can be anything, but it is usually .sth. By default, the key file is
in one of the following operating system-specific directories:
AIX, Linux, and Solaris operating systems
/var/PolicyDirector/keytab
Windows operating systems
c:\program files\tivoli\policy director\keytab
This file is created, and the value is set with one of the following utilities:
v For the ivmgrd.conf configuration file, it is set with the mgrsslcfg utility.
v For the pd.conf configuration file, it is set with the bassslcfg utility.
v For all other configuration files, it is set with the svrsslcfg utility. The path is
defined by the –d option, and the name is defined by the –n option.
Note: The file name, including extension, is generated and set by the configuration
utility. Do not edit this stanza entry.
ssl-listening-port
This stanza entry specifies the TCP port to listen on for incoming requests.
Syntax
ssl-listening-port = {0|port}
Note: The policy server does not use this stanza entry.
Options
0 Disables listening. The value is specified during configuration by with the
svrsslcfg utility.
Note: Do not change this parameter directly; modify the parameter only
by issuing the scrsslcfg -chgport command so that the policy server
knows that the listening port is changed. Otherwise, the resource manager
cannot receive policy update notifications or pdadmin server task
commands.
port Enables listening at the specified port number. The valid range for port is
any positive number that is allowed by TCP/IP and is not currently being
used by another application.
There is no one default value, because the configuration programs for each
daemon specify its own default value. For example, when configuring the
policy proxy server, the user is prompted for a port, with 8139 as the
default. This value is then used in the call to the SSL configuration utility.
Usage
Default value
If not specified during configuration, the default value is 0. Otherwise, the value is
server-dependent.
Example
ssl-listening-port = 8139
ssl-local-domain
This stanza entry specifies the name of the local domain.
Syntax
ssl-local-domain = {Default|domain_name}
Description
The name of the local domain. The server runs on this domain. If this value is not
in the configuration file, then operations that rely on its presence fail.
The domain name value is created during configuration, but you can change it
using one of the following utilities:
v For the ivmgrd.conf configuration file, change it with the mgrsslcfg utility.
v For the pd.conf configuration file, change it with the bassslcfg utility.
v For all other configuration files, change it with the svrsslcfg utility.
Note: This value is set during configuration or set with the configuration utility.
Do not edit this stanza entry.
344 IBM Security Access Manager for Web Version 7.0: Administration Guide
ssl-maximum-worker-threads
This stanza entry specifies the number of threads that the server can create to
handle incoming requests.
Syntax
ssl-maximum-worker-threads = number_threads
Description
Number of threads that can be created by the server to handle incoming requests.
Options
number_threads
Number of threads that can be specified. The valid range must be equal to
or greater than 1. The maximum number varies, because it is dependent on
available system resources.
Usage
Required
Default value
Example
ssl-maximum-worker-threads = 50
ssl-pwd-life
This stanza entry specifies the password lifetime in days for the key database file.
Syntax
ssl-pwd-life = number_days
Description
Password lifetime for the key database file, specified in the number of days. For
automatic password renewal, the value for the lifetime of a password is controlled
by the number_days value when the server is started.
The number of days 1 - 7299 is created, and the value is set with one of the
following utilities:
v For the ivmgrd.conf configuration file, it is set with the mgrsslcfg utility.
v For the pd.conf configuration file, it is set with the bassslcfg utility.
v For all other configuration files, it is set with the svrsslcfg utility.
For manual password renewal, the value is dictated by the value supplied to the
svrsslcfg –chgpwd utility. This value is also written into the appropriate
configuration file.
Note:
1. If a certificate and the password to the key database file that contains that
certificate are both expired, the password must be refreshed first.
ssl-v3-timeout
This stanza entry specifies the session timeout in seconds for SSL Version 3
connections between clients and servers.
Syntax
ssl-v3-timeout = number_seconds
Description
Session timeout in seconds for SSL Version 3 connections between clients and
servers. This timeout value controls how often a full SSL handshake is completed
between Security Access Manager clients and servers.
This timeout value is created, and the value is set with one of the following
utilities:
v For the ivmgrd.conf configuration file, it is set with the mgrsslcfg utility.
v For the pd.conf configuration file, it is set with the bassslcfg utility.
v For all other configuration files, it is set with the svrsslcfg. The path is defined
by the –d option, and the name is defined by the –n option.
Note:
1. Security Access Manager components might not function with small timeout
values in some network environments.
2. The timeout value is set with the configuration utility. Do not edit this stanza
entry.
| ssl-v2-enable
| This stanza entry specifies the Secure Sockets Layer (SSL), Version 2, settings for
| Security Access Manager server communication.
| Syntax
| ssl-v2-enable = {yes|true|no|false}
| Description
| The ssl-v2-enable option has an effect only when ssl-compliance = none. The
| setting is for compatibility with version 6.1.1 of Security Access Manager.
| Enabling SSL Version 2 is not required. By default, the SSL Version 2 protocol is
| disabled, which increases communication security.
| Options
| yes|true
| Enables the SSL v2 protocol. The protocols SSL v3 and TLS are also choices
| for Security Access Manager communication and are chosen by Security
| Access Manager in preference to SSL Version 2, even if this setting is
| enabled.
346 IBM Security Access Manager for Web Version 7.0: Administration Guide
| no|false
| Disables the SSL Version 2 protocol. Anything other than yes or true,
| including a blank value, is interpreted as no or false.
| Usage
| Optional. If used, must be set to the same value in all Security Access Manager
| server and application configuration files.
| Default value
| Example
ssl-session-cache-size
This stanza entry specifies the number of concurrent sessions supported by a
Security Access Manager server or service.
Syntax
ssl-session-cache-size = numeric value
Description
A larger cache size can improve the Secure Sockets Layer (SSL) security
performance of the server if you add additional memory.
Note: You might need to double the SSL session cache size for a target maximum
cache size. For example: if you want a cache size of 8,192, set the
ssl-session-cache-size parameter value to 16,384.
Options
numeric value
The cache size can be 1-524,288 number of concurrent sessions.
Usage
Optional.
Default value
Example
Syntax
ssl-v3-cipher-specs = configuration string
Description
Options
configuration string
Allowed SSLV30 CipherSpecs:
TLS_RSA_WITH_NULL_NULL, TLS_RSA_WITH_NULL_MD5,
TLS_RSA_WITH_NULL_SHA, TLS_RSA_EXPORT_WITH_RC4_40_MD5,
TLS_RSA_WITH_RC4_128_MD5, TLS_RSA_WITH_RC4_128_SHA,
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5, TLS_RSA_WITH_DES_CBC_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
(Deprecated), TLS_RSA_EXPORT1024_WITH_RC4_56_SHA (Deprecated),
SSL_RSA_FIPS_WITH_DES_CBC_SHA (Deprecated),
SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA (Deprecated),
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA
FIPS and NIST SP800-131a allowed SSLV30 CipherSpecs:
None
Note: For more information on the latest IBM Global Security Kit (GSKit)
documentation, see “Related publications” on page xvi.
Usage
Optional.
Default value
Example
ssl-v3-cipher-specs = TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA
348 IBM Security Access Manager for Web Version 7.0: Administration Guide
tls-v10-cipher-specs
This stanza entry specifies the Transport Layer Security (TLS), Version 1.0, ciphers
to use.
Syntax
tls-v10-cipher-specs = configuration string
Description
To specify the ciphers for TLS Version 1.0, modify the tls-v10-cipher-specs
parameter value in the appropriate configuration file. Enter multiple ciphers in a
comma-separated list.
Any TLS Version 1.0 connection to a Security Access Manager server or service is
limited to the set of ciphers defined in the tls-v10-cipher-specs parameter.
Options
configuration string
Allowed TLSV10 CipherSpecs:
TLS_RSA_WITH_NULL_NULL, TLS_RSA_WITH_NULL_MD5,
TLS_RSA_WITH_NULL_SHA, TLS_RSA_EXPORT_WITH_RC4_40_MD5,
TLS_RSA_WITH_RC4_128_MD5, TLS_RSA_WITH_RC4_128_SHA,
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5, TLS_RSA_WITH_DES_CBC_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
(Deprecated), TLS_RSA_EXPORT1024_WITH_RC4_56_SHA (Deprecated),
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA
FIPS and NIST SP800-131a allowed TLSV10 CipherSpecs:
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA
Note: For more information on the latest IBM Global Security Kit (GSKit)
documentation, see “Related publications” on page xvi.
Usage
Optional.
Default value
Example
tls-v10-cipher-specs = TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA
Syntax
tls-v11-cipher-specs = configuration string
Description
To specify the ciphers for TLS Version 1.1, modify the tls-v11-cipher-specs
parameter value in the appropriate configuration file. You can specify one or more
ciphers. Enter multiple ciphers in a comma-separated list.
Any TLS Version 1.1 connection to a Security Access Manager server or service is
limited to the set of ciphers defined in the tls-v11-cipher-specs parameter.
Options
configuration string
Allowed TLSV11 CipherSpecs:
TLS_RSA_WITH_NULL_NULL, TLS_RSA_WITH_NULL_MD5,
TLS_RSA_WITH_NULL_SHA, TLS_RSA_WITH_RC4_128_MD5,
TLS_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_DES_CBC_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_256_CBC_SHA
FIPS and NIST SP800-131a allowed TLSV11 CipherSpecs:
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA
Note: For more information on the latest IBM Global Security Kit (GSKit)
documentation, see “Related publications” on page xvi.
Usage
Optional.
Default value
Example
tls-v11-cipher-specs = TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA
tls-v12-cipher-specs
This stanza entry specifies the Transport Layer Security (TLS), Version 1.2, ciphers.
Syntax
tls-v12-cipher-specs = configuration string
350 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
To specify the ciphers for TLS Version 1.2, modify the tls-v12-cipher-specs
parameter value in the appropriate configuration file. You can specify one or more
ciphers. Enter multiple ciphers in a comma-separated list.
Any TLS Version 1.2 connection to a Security Access Manager server or service is
limited to the set of ciphers defined in the tls-v12-cipher-specs parameter.
Options
configuration string
Allowed TLSV12 CipherSpecs: The allowed CipherSpecs are the same as
the Default TLSV12 CipherSpecs with the addition of:
TLS_RSA_WITH_NULL_NULL TLS_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
FIPS and NIST SP800-131a allowed TLSV12 CipherSpecs:
TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384 TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Suite B Allowed TLSV12 CipherSpecs:
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
Note: For more information on the latest IBM Global Security Kit (GSKit)
documentation, see “Related publications” on page xvi.
Usage
Optional.
Default value
Note: TLS Version 1.2 CipherSpecs that do not explicitly indicate a SHA256 or
SHA384 hash implicitly use a SHA256 or SHA384 hash. However, the use of
CipherSpecs that do not explicitly indicate a SHA256 or SHA384 hash with TLS
Version 1.2 might result in interoperability problems with SSL and TLS stacks.
CipherSpecs with explicit SHA256 or SHA384 hashes must be used.
Example
tls-v12-cipher-specs = TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_CBC_SHA256
[uraf-registry] stanza
A User Registry Adapter Framework (URAF) stanza is required when the
configured registry type is not LDAP.
The stanza entries for configuring URAF-based registry settings for the server are
in the [uraf-registry] stanza of the following configuration files:
v The ivmgrd.conf configuration file for the policy server
v The [instance-]ivacld.conf configuration file for the authorization server
v The pdmgrproxyd.conf configuration file for the policy proxy server
v Your resource managers' configuration file for configured registry types that are
not LDAP
The aznAPI.conf configuration file that is provided with Security Access
Manager is a sample file for creating configuration files for your own resource
managers. Developers of service plug-ins typically provide the standard
functions. Before you implement service plug-ins, read and thoroughly
understand the concepts in the IBM Security Access Manager for Web:
Authorization C API Developer Reference.
You can set additional stanza entries in the [uraf-registry] stanza of the
activedir.conf or activedir_ldap.conf configuration files. The configuration file
that is used depends on the type of URAF user registry that you configure.
Most information in this stanza is filled in during configuration, except for the
cache-related items that must be manually updated by the Security Access
Manager administrator. The cache-mode, cache-size, and cache-lifetime stanza
entries do not appear in ivmgrd.conf configuration file, because the policy server
object should not be cached.
Note: Do not place the following stanza entries in the [uraf-registry] stanza of
the activedir.conf or activedir_ldap.conf configuration files:
v uraf-registry-config
v bind-id
352 IBM Security Access Manager for Web Version 7.0: Administration Guide
bind-id
This stanza entry specifies the login identity of the server administrator or the user
that is used to bind (sign on) to the registry server.
Syntax
bind-id = server_id
Description
The login identity of the server administrator or of the user that is used to bind
(sign on) to the registry server. Only the server uses this ID.
If the ID belongs to a user rather than an administrator, the user must have
privileges to update and modify data in the user registry.
cache-mode
This stanza entry specifies that the cache mode is on or off.
Syntax
cache-mode = {enabled|disabled}
Description
Mode for caching that represents the cache is either turned on or turned off.
Note: This stanza entry is not in the ivmgrd.conf configuration file, because you
do not want to cache the policy server object.
Options
enabled
Turns on the cache. You would enable the cache mode to improve the
performance of repetitive Read actions on a specified object, such as: login
performance that is done more than one time a day. Performance for Write
actions would not be improved.
disabled
Turns off the cache. You would disable the cache mode for better security.
Caching opens a small window for users to go from server to server to
bypass the maximum number of failed login attempts.
Usage
Optional, normally provided for all Security Access Manager servers, except the
policy server
Default value
enabled
Example
cache-mode = enabled
Syntax
cache-lifetime = number_seconds
Description
For performance tuning, the longer the time specified, the longer the repetitive
Read advantage is held. A smaller number of seconds negates the cache advantage
for user-initiated Reads.
Note: This stanza entry is not in the ivmgrd.conf configuration file, because you
do not want to cache the policy server object.
Options
number_seconds
The timeout specified in number of seconds 1 - 86400.
Usage
Optional
Default value
30
Example
cache-lifetime = 63200
cache-size
This stanza entry specifies the maximum number of objects for a particular object
type that can be in the cache at one time without hash table collisions.
Syntax
cache-size = {number_objects|object_type:cache_count_value;[...]}
Description
Maximum number of objects for a particular object type that can be in the cache at
one time without hash table collisions. Or, if it is not numeric, the value is a list of
one or more object types and their cache counts.
If cache-mode = enabled and this stanza entry is not used, the default value for
cache size is used.
354 IBM Security Access Manager for Web Version 7.0: Administration Guide
251 might not be good if 1000 users log on and out several times a day. However,
if only 200 of those users log on and out repetitively during the day, a setting of
251 might work well.
Note: This stanza entry is not in the ivmgrd.conf configuration file, because you
do not want to cache the policy server object.
Options
number_objects
Maximum number of objects (as a prime number) for the cache count
between 3 and a maximum number that is logical for the task and that
does not affect performance. Non-prime numbers are rounded up to the
next higher prime number. If the number fails, the default value is used.
object_type:cache_count_value
List of one or more object types and their cache counts.
Usage
Optional
Default value
Example
The following example sets the cache to 251 objects for each of the user, group,
resgroup, resource, and rescreds objects:
cache-size = user:251;group:251;resgroup:251;resource:251;rescreds:251;
The following example sets the cache to 251 objects for each of the user and group
objects. The other object types are not cached.
cache-size = user:251;group:251;
uraf-registry-config
This stanza entry specifies the file name and location of the URAF registry
configuration file for Security Access Manager.
Syntax
uraf-registry-config = fully_qualified_path
Description
File name and location of the URAF registry configuration file for Security Access
Manager.
Options
fully_qualified_path
Represents an alphanumeric string. String values are expected to be
characters that are part of the local code set. The set of valid characters in a
Usage
Conditional. This stanza entry is required for URAF user registries only.
Default value
Example
The following Windows example uses a Microsoft Active Directory server as a user
registry from Windows Active Directory Domain or from a client of an Active
Directory Domain.
uraf-registry-config = c:\program files\tivoli\Policy Director\etc\
activedir.conf
The following Windows example uses a Microsoft Active Directory server as a user
registry from a Windows 2008 client:
uraf-registry-config = c:\program files\tivoli\policy director\etc\
activedir_ldap.conf
The following example uses a Microsoft Active Directory server as the user registry
from a UNIX client:
uraf-registry-config = /opt/PolicyDirector/etc/activedir_ldap.conf
uraf-return-registry-id
This stanza entry specifies whether the URAF registry returns the Security Access
Manager user identity as it is stored in the registry or the value entered by the
user.
Syntax
uraf-return-registry-id = {yes|no}
Description
Specifies whether the URAF registry returns the Security Access Manager user
identity as it is stored in the registry or the value entered by the user.
Note: See Appendix A, “Guidelines for changing configuration files,” on page 213
for guidelines on changing configuration file properties.
356 IBM Security Access Manager for Web Version 7.0: Administration Guide
Options
yes Return the Security Access Manager user identity as it is stored in the
registry. This option returns the user identity exactly as it was created and
preserved in the registry.
no Return the Security Access Manager user identity as the value is entered
by the user.
Usage
Optional
Default value
no
Example
uraf-return-registry-id = no
dnforpd
This stanza entry specifies the Distinguished Name that is used by Active
Directory to store Security Access Manager data.
Syntax
dnforpd = ad_dn
Description
Note: This stanza entry is set during configuration. Do not edit this entry.
domain
This stanza entry is the Active Directory root (primary) domain.
Syntax
domain = root_domain_name
Description
Note: This name is domain-dependent, based on what you selected during the
configuration of the IBM Security Access Manager runtime. Do not edit this entry.
dynamic-groups-enabled
This stanza entry specifies dynamic group support.
dynamic-groups-enabled = {yes|no}
Description
Options
yes Security Access Manager attempts to resolve dynamic group membership.
no Security Access Manager does not attempt to resolve dynamic group
membership.
Usage
Optional
Default value
no
Example
dynamic-groups-enabled = yes
enabled
This stanza entry specifies whether Active Directory is the user registry.
Syntax
enabled = {yes|no}
Description
Options
yes Specifies that Active Directory is the user registry.
no Specifies that Active Directory is not the user registry. Anything other than
yes, including a blank value, is interpreted as no.
Usage
Conditional. This stanza entry is required when your user registry is Microsoft
Active Directory.
Default value
no
Example
enabled = yes
358 IBM Security Access Manager for Web Version 7.0: Administration Guide
hostname
This stanza entry specifies the Active Directory DNS host name.
Syntax
hostname = host_name
Description
Note: This value is automatically specified during the configuration of the IBM
Security Access Manager runtime. Do not edit this entry.
multi-domain
This stanza entry specifies whether the domain is a single domain or a
multi-domain configuration.
Syntax
multi-domain = {true|admd|false}
Description
Note: This stanza entry is set during configuration. Do not edit it.
uraf-return-registry-id
This stanza entry specifies whether the URAF registry returns the Security Access
Manager user identity as it is stored in the registry or the value entered by the
user.
Syntax
uraf-return-registry-id = {yes|no}
Description
Specifies whether the URAF registry returns the Security Access Manager user
identity as it is stored in the registry or the value entered by the user.
Options
yes Return the Security Access Manager user identity as it is stored in the
registry. This option returns the user identity exactly as it was created and
preserved in the registry, which is case-sensitive.
no Return the Security Access Manager user identity as the value is entered
by the user.
Optional
Default value
no
Example
uraf-return-registry-id = no
use-email-as-user-id
This stanza entry specifies whether the support for an alternate format of the
userPrincipalName registry attribute is enabled.
Syntax
use-email-as-user-id = {yes|no}
Description
Note: To fully enable this support, this option must be enabled in all IBM Security
Access Manager runtime configured environments.
Options
yes Support is enabled for using an alternate format for the userPrincipalName
registry attribute.
no Support for an alternate format userPrincipalName is disabled.
Usage
Conditional. This stanza entry is required when your user registry is Microsoft
Active Directory.
Default value
no
Example
use-email-as-user-id = no
useEncryption
This stanza entry specifies whether encryption communication to Active Directory
is used.
Syntax
useEncryption = {true|false}
360 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
Note: This value is specified during the configuration of the IBM Security Access
Manager runtime. Do not edit this entry.
Use this configuration file to customize the operation of each Active Directory
registry server.
The stanza entries for configuring the Microsoft Active Directory as the user
registry on a Security Access Manager server are in the [uraf-registry] stanza of
the activedir_ldap.conf configuration file.
change-pwd-using-ldap-api
This stanza entry specifies whether password change requests are done with a
direct LDAP connection to the Active Directory server.
Syntax
change-pwd-using-ldap-api = {yes|no}
Description
Specifies whether password change requests are done with a direct LDAP
connection to the Active Directory server.
When this option is set to yes, the Policy Server does not need to be available to
process the password change request.
Note:
1. To implement this functionality across an enterprise system, this option must be
enabled (set to yes) in every IBM Security Access Manager runtime configured
environment in which change password requests are to be handled with LDAP
APIs rather than the Policy Server.
2. Before this option is enabled, Security Access Manager must be configured for
Secure Socket Layer (SSL) for a connection between the LDAP client and the
Active Directory server. The Active Directory environment must also be able to
accept LDAP connections over SSL.
Options
yes Specifies that password change requests are done with a direct LDAP
connection to the Active Directory server; the Policy Server does not need
to be available.
no Specifies that password change requests are done with the Security Access
Manager Policy Server and are treated as password resets.
Conditional. This stanza entry is required when your user registry is Microsoft
Active Directory.
Default value
no
Example
change-pwd-using-ldap-api = no
dnforpd
This stanza entry specifies the Distinguished Name that is used by Active
Directory to store Security Access Manager data.
Syntax
dnforpd = ad_dn
Description
Note: This stanza entry value is set during configuration. Do not change it.
domain
This stanza entry is the name of the Active Directory secondary or child domain
host name.
Syntax
domain = secondary_domain_name
Description
Name of Active Directory secondary or child domain host name. This host name is
in the same forest as the root domain, its host name, and zero or more replica host
names. This name is domain-dependent, based on what you select during the
configuration of the IBM Security Access Manager runtime.
For the Active Directory multiple domain configuration, multiple domain name
entries are allowed.
Options
secondary_domain_name
An alphanumeric, case-sensitive string. String values are expected to be
characters that are part of the local code set. The maximum length for the
domain name is user registry dependent. For Active Directory that
maximum length is 256 alphanumeric characters.
Use the following format to specify a domain:
362 IBM Security Access Manager for Web Version 7.0: Administration Guide
domain = nnn|hhh[|rrr1[|rrr2[|...]]]
Where:
nnn The primary domain name. The name format can be child.ibm.com
or dc=child,dc=ibm,dc=com.
hhh The primary domain host name or IP address.
rrr The primary domain replica host name or IP address.
Square brackets ([]) show entries that are optional and the required vertical
bar (|) acts as a separator.
Usage
Conditional. This stanza entry is required when your user registry is Microsoft
Active Directory and when the multi-domain entry is set to true or admd.
Default value
Example
domain = dc=child,dc=ibm,dc=com|adhost.child.ibm.com|adhostreplica.child.ibm.com
dynamic-groups-enabled
This stanza entry specifies dynamic group support.
Syntax
dynamic-groups-enabled= {yes|no}
Description
Note: Before enabling dynamic group support on blade servers, you must first
enable dynamic group support on the policy server. Remember that while dynamic
group support must be enabled on the policy server, you can disable this option
for a blade server. If disabled, the blade server cannot benefit from dynamic group
support.
Options
yes Security Access Manager attempts to resolve dynamic group membership.
no Security Access Manager does not attempt to resolve dynamic group
membership.
Usage
Optional
Default value
no
enabled
This stanza entry specifies whether Active Directory is the user registry.
Syntax
enabled = {yes|no}
Description
Options
yes Specifies that Active Directory is the user registry.
no Specifies that Active Directory is not the user registry. Anything other than
yes, including a blank value, is interpreted as no.
Usage
Conditional. This stanza entry is required when your user registry is Microsoft
Active Directory.
Default value
no
Example
enabled = yes
ldap-client-timeout
This stanza entry specifies the amount of time for LDAP simple bind and searches
before the LDAP client is considered down.
Syntax
ldap-client-timeout = {0|number_seconds}
Description
Amount of time that is allowed for LDAP simple bind and searches before the
LDAP client is considered down.
Options
0 Unlimited amount of time for synchronous operations only.
number_seconds
Amount of time, in seconds, allowed for asynchronous operations. The
number of seconds is specified as a positive whole number. The suggested
range is between 240 to 900.
364 IBM Security Access Manager for Web Version 7.0: Administration Guide
Usage
Required
Default value
Example
ldap-client-timeout = 520
max-connections-per-ad-domain
This stanza entry specifies the number of concurrent connections with each
Microsoft Active Directory domain.
Syntax
max-connections-per-ad-domain = {2-16}
Description
Usage
Conditional. This stanza entry is required when your user registry is Microsoft
Active Directory.
Default value
16
Example
max-connections-per-ad-domain = 16
multi-domain
This stanza entry specifies whether the domain is a singledomain or a
multidomain configuration.
Syntax
multi-domain = {true|admd|false}
Description
Note: This stanza entry is set during configuration. Do not edit it.
primary-domain
This stanza entry specifies the Active Directory primary domain host name and
zero or more replica host names.
Description
Active Directory primary domain host name, and zero or more replica host names.
Only one primary domain entry is allowed. This name is domain-dependent, based
on what you select during the configuration of the IBM Security Access Manager
runtime.
For the Active Directory multi-domain configuration, the primary domain entry
must contain the root domain information.
For the Active Directory single domain configuration, either the primary-domain =
entry or the domain = entry can be used for the domain information.
Options
primary_domain_name
An alphanumeric, case-sensitive string. String values are expected to be
characters that are part of the local code set. The maximum length for the
domain name is user registry dependent. For Active Directory that
maximum length is 256 alphanumeric characters.
Use the following format to specify a domain:
primary-domain = nnn|hhh[|rrr1[|rrr2[|...]]]
Where:
nnn The primary domain name. The name format can be either ibm.com
or dc=ibm,dc=com.
hhh The primary domain host name or IP address.
rrr The primary domain replica host name or IP address.
Square brackets ([]) show entries that are optional and the required vertical
bar (|) acts as a separator.
Usage
Required
Default value
Example
primary-domain = dc=ibm,dc=com|adprim.ibm.com|adprimreplica1.ibm.com
ssl-keyfile
This stanza entry specifies the SSL key file name and location.
Syntax
ssl-keyfile = ldap-ssl-key-filename
366 IBM Security Access Manager for Web Version 7.0: Administration Guide
Description
SSL key file name and location. Use the SSL key file to handle certificates that are
used in LDAP communication. The file extension can be anything, but the
extension is usually .kdb.
The certificate files in a directory need to be accessible to the server user (or all
users). Make sure that the server user (for example, ivmgr) or all users have
permission to access the .kdb file and the folder that contains the .kdb file.
The location and file name value represents an alphanumeric string that is not
case-sensitive. String values are expected to be characters that are part of the local
code set. The set of valid characters in a file name can be determined by the file
system and by the local code set. For Windows operating systems, file names
cannot have a backward slash (\), a colon (:), a question mark (?), or double
quotation marks ("). Windows operating systems path names, however, can have a
backward slash (\) or a colon (:). The maximum string length for the Active
Directory user registry is 256 alphanumeric characters. For AIX, Linux, and Solaris
operating systems, path names and file names are case-sensitive.
Usage
Default value
Example
ssl-keyfile = /opt/PolicyDirector/keytab/ivmgrd.kdb
ssl-keyfile-label
This stanza entry specifies the key label that identifies the client certificate that is
presented to the LDAP server.
Syntax
ssl-keyfile-label = key_label
Description
Specifies the key label that is used to identify the client certificate that is presented
to the LDAP server. It is the key label of the client certificate within the SSL key
file.
Options
key_label
An alphanumeric string that is not case-sensitive. String values are
Usage
Conditional. This stanza entry is required when the LDAP server is configured to
do client authentication.
Default value
Example
ssl-keyfile-label = "PDLDAP"
ssl-keyfile-pwd
This stanza entry specifies the password to access the SSL key file.
Syntax
ssl-keyfile-pwd = ldap-ssl-keyfile-password
Description
Password to access the SSL key file. The password associated with the default SSL
key file is key4ssl.
Usage
Default value
Example
ssl-keyfile-pwd = key4ssl
uraf-return-registry-id
This stanza entry specifies whether the URAF registry returns the Security Access
Manager user identity as it is stored in the registry or the value entered by the
user.
Syntax
uraf-return-registry-id = {yes|no}
Description
Specifies whether the URAF registry returns the Security Access Manager user
identity as it is stored in the registry or the value entered by the user.
368 IBM Security Access Manager for Web Version 7.0: Administration Guide
Options
yes Returns the Security Access Manager user identity as it is stored in the
registry. This option returns the user identity exactly as it was created and
preserved in the registry.
no Returns the Security Access Manager user identity as the value is entered
by the user.
Usage
Optional
Default value
no
Example
uraf-return-registry-id = no
use-email-as-user-id
This stanza entry specifies whether support is enabled for using an alternate
format for the userPrincipalName registry attribute.
Syntax
use-email-as-user-id = {yes|no}
Description
Specifies whether support is enabled for using an alternate format for the
userPrincipalName registry attribute. This support ensures that Security Access
Manager works with the Microsoft Active Directory registry when the
userPrincipalName attribute of the Active Directory user object is required to have
a non-default value.
Note: To fully enable this support, this option must be enabled in all IBM Security
Access Manager runtime configured environments. If this property is enabled
manually with the pdadmin utility, the ad-gc-server entry must also be modified to
add the host name or host names for the global catalog server.
Options
yes Support is enabled for using an alternate format for the userPrincipalName
registry attribute.
no Support for an alternate format userPrincipalName is disabled.
Usage
Conditional. This stanza entry is required when your user registry is Microsoft
Active Directory.
Default value
no
ad-gc-server
This stanza entry specifies the Active Directory host name for the Global Catalog
server.
Syntax
ad-gc-server = gc_server_hostname
Description
Specifies the Active Directory host name for the Global Catalog server. This value
must be set and in effect before enabling support for alternate UPNs. This property
accepts multiple values.
Options
gc_server_hostname
Active Directory host name for the Global Catalog server.
Usage
Default value
none
Example
ad-gc-server = gc-server1.tivoli.com
ad-gc-server = gc-server2.tivoli.com
ad-gc-port
This stanza entry specifies the port number for the Active Directory Global Catalog
on the Global Catalog server.
Syntax
ad-gc-port = {3268|3269}
Description
Specifies the port number for the Active Directory Global Catalog on the Global
Catalog server.
Options
3268 Port number reserved by Microsoft Active Directory for Global Catalog in
a non-SSL environment.
370 IBM Security Access Manager for Web Version 7.0: Administration Guide
3269 Port number reserved by Microsoft Active Directory for Global Catalog in
an SSL environment.
Usage
Default value
none
UseSSL
This stanza entry specifies whether to use SSL.
Syntax
UseSSL = {yes|no}
Description
Options
yes Specifies that you want to use SSL.
no Specifies that you do not want to use SSL.
Usage
Required
Default value
yes
Example
usessl = no
[xmladi-attribute-definitions] stanza
The stanza entries for configuring the Access Decision Information Extensible
Markup Language (ADI XML) document attribute definitions are in the
[xmladi-attribute-definitions] stanza.
This stanza can be found or placed into any of the Security Access Manager
configuration files, except for the pd.conf configuration file.
Syntax
AttributeName = "AttributeValue"
Description
Definition of ADI XML document attributes that are inserted into the XML ADI
element start tag. The entry enables attributes to be defined for the entire XML
ADI document and for all ADI defined in the XML ADI document.
The ADI XML model requires that the XML document contains the following
top-level XML element into which all target ADI for a particular rule evaluation is
inserted. The XMLADI element is created automatically as part of the rule
evaluation process:
<XMLADI>
<!-- XML formatted ADI are inserted here. -->
</XMLADI>
Usage
Required
Example
xmlns:myNS = "http://myURI.mycompany.com"
appID = ’"Jupiter" - Account Management Web Portal Server #1.’
The attribute value must be enclosed in either double or single quotation marks.
372 IBM Security Access Manager for Web Version 7.0: Administration Guide
Appendix D. User registry differences
Each user registry presents unique concerns when integrated with Security Access
Manager. This release of Security Access Manager supports the specified LDAP
and URAF user registries.
General concerns
There are several concerns specific to all supported user registries.
v Do not use the forward slash (/) character when defining the names for users
and groups when distinguished names strings are used to define the name. Each
user registry treats this character differently.
v Do not use leading and trailing blanks in user and group names. Each user
registry treats blanks differently.
LDAP concerns
There are several concerns specific to all supported LDAP user registries.
v There are no configuration steps needed to make Security Access Manager
support the password policy of the LDAP. Security Access Manager does not
assume that the LDAP has its own password policy. Security Access Manager
first enforces its own Password Policy. Security Access Manager attempts to
update the password in LDAP only if the provided password meets the
requirements of the Security Access Manager password policy.
v Next, Security Access Manager implements the password policy of the LDAP by
using the return code that it gets from LDAP during a password-related update.
v If Security Access Manager can map the return code without ambiguity with the
corresponding error code, then it maps the code and returns an error message.
v To take advantage of the multi-domain support in Security Access Manager, you
must use an LDAP user registry. When using a URAF user registry, only a single
Security Access Manager domain is supported.
v When using an LDAP user registry, the capability to own global sign-on
credentials must be explicitly granted to a user. After this capability is granted, it
can then be removed. Conversely, users that are created in a URAF user registry
are automatically given this capability. This capability cannot be removed.
v Leading and trailing blanks in user names and group names are ignored when
using an LDAP user registry in a Security Access Manager secure domain. To
If the user registry contains more entries than the defined look-through limit, then
the directory server returns the following status:
LDAP_ADMINLIMIT_EXCEEDED
Procedure
1. On the Sun Java System Directory Server Console, select the Configuration tab.
2. Expand the Data entry.
3. Select Database Settings.
4. Select the LDBM Plug-in Settings tab.
5. In the Look-through Limit field, type the maximum number of entries that you
want the server to check in response to the search. Alternatively, type -1 to
define no maximum limit.
Note: If you bind the directory as the Directory Manager, the look-through
limit is unlimited and overrides any settings specified in this field.
374 IBM Security Access Manager for Web Version 7.0: Administration Guide
example, you cannot use the following command to create a user because the
value of the cn attribute, fred, is different from the cn naming attribute in the
dn, user1:
pdadmin user create user1 cn=user1,o=ibm,c=us fred smith password1
URAF concerns
The following concerns are specific to the supported URAF user registries.
v When using a URAF user registry, only one Security Access Manager domain is
supported. To take advantage of the Security Access Manager multidomain
support, use an LDAP user registry.
v Users created in a URAF user registry are automatically given the capability to
own global sign-on credentials. This capability cannot be removed. When using
an LDAP user registry, this capability must be explicitly granted. After this
capability is granted, it can then be removed.
v The Security Access Manager authorization API provides a credential attribute
entitlements service. This service retrieves user attributes from a user registry.
When this service is used with a URAF user registry, the retrieved attributes can
be string, binary, or integer data. However, when used with an LDAP user
registry, the retrieved attributes can be only string or binary data.
376 IBM Security Access Manager for Web Version 7.0: Administration Guide
example, the registry user johndoe@other_domain.com is created in Active
Directory example.com and the registry user [email protected] is created in
Active Directory domain child_domain.example.com. Both of these users can be
Security Access Manager users, and their user identities are
johndoe@other_domain.com and [email protected].
You must enable the alternative user principal name (UPN) support in all
Security Access Manager runtime environments to ensure that Security Access
Manager user identities work properly with alternate UPNs.
After you enable the use of alternate UPN format as the Security Access
Manager user identity, you cannot reverse it without breaking Security Access
Manager functions.
v Giving users and groups names that use a distinguished name string that
contains a forward slash (/) character might cause subsequent operations on the
object to fail. Some Active Directory functions interpret the forward slash
character as a separator between the object name and the host name. To avoid
this problem, do not use a forward slash character to define the user.
Length of names
The maximum lengths of various names that are associated with Security Access
Manager vary depending on the user registry that is being used.
See Table 35 for a comparison of the maximum lengths that are allowed and the
recommended maximum length to use to ensure compatibility with all the user
registries that are supported by Security Access Manager.
Table 35. Maximum lengths for names by user registry and the optimum length across user registries
Name IBM Tivoli IBM z/OS Novell Sun Java Microsoft Active Optimum
Directory Security eDirectory System Active Directory length
Server Server Server Directory Directory Lightweight
Server Server Directory
Service (AD
LDS)
Given name 256 256 64 256 64 64 64
(LDAP CN)
Middle name 128 128 128 128 64 64 64
Family name 128 128 128 128 64 64 64
Registry UID 1024 1024 1024 1024 2048 1024 255
(LDAP DN)
Security 256 256 256 256 64 64 64
Access
Manager user
identity
User unlimited unlimited unlimited unlimited 256 128 256
password
User 1024 1024 1024
description
Group name 256 256 256 256 64 64 64
Group 1024 1024 1024
description
Single sign-on 240 240 240 240 60 240 60
resource
name
Although the lengths of some names can be unlimited, the excessive lengths can
result in a policy that is difficult to manage and might result in poor system
performance. Choose maximum values that are logical for your environment.
378 IBM Security Access Manager for Web Version 7.0: Administration Guide
Appendix E. pdadmin to Web Portal Manager equivalents
This appendix shows the mapping of the administration pdadmin commands to
Web Portal Manager.
Information about the pdadmin utility can be found in the IBM Security Access
Manager for Web: Command Reference.
Table 36. Mapping between the pddamin utility and Web Portal Manager
pdadmin utility Web Portal Manager
acl attach object_name acl_name ACL → List ACL → click ACL name → Attach
tab → Attach → type protected object path →
Attach
acl create acl_name ACL → Create ACL → complete the form →
Create
acl delete acl_name ACL → List ACL → select ACL names →
Delete
acl detach object_name ACL → List ACL → click ACL name → Attach
tab → select protected object → Detach
acl find acl_name ACL → List ACL → click ACL name → Attach
tab
acl list ACL → List ACL
acl list acl_name attribute ACL → List ACL → click ACL name →
Extended Attribute tab
acl modify acl_name delete attribute ACL → List ACL → select ACL name →
attribute_name Extended Attribute tab → select attributes →
Delete
acl modify acl_name delete attribute Not supported
attribute_name attribute_value
acl modify acl_name description description ACL → List ACL → click ACL name → modify
description → Set
acl modify acl_name remove any-other ACL → List ACL → click ACL name → select
Any-other → Delete
acl modify acl_name remove group ACL → List ACL → click ACL name → select
group_name group name → Delete
acl modify acl_name remove ACL → List ACL → click ACL name → select
unauthenticated Unauthenticated → Delete
acl modify acl_name remove user user_name ACL → List ACL → click ACL name → select
user name → Delete
acl modify acl_name set any-other ACL → List ACL → click ACL name → select
permissions Any-other → Create → select permissions →
Apply
acl modify acl_name set attribute ACL → List ACL → click ACL name →
attribute_name attribute_value Extended Attribute tab → Create → complete
the form → Apply
acl modify acl_name set group group_name ACL → List ACL → click ACL name → Create
permissions → select Group → specify group name → select
permissions → Apply
380 IBM Security Access Manager for Web Version 7.0: Administration Guide
Table 36. Mapping between the pddamin utility and Web Portal Manager (continued)
pdadmin utility Web Portal Manager
config modify svrpassword config_file Not supported
password
config modify keyvalue set [–obfuscate] Not supported
config_file stanza key value
config modify keyvalue append Not supported
[–obfuscate] config_file stanza key value
config modify keyvalue remove config_file Not supported
stanza key value
config modify keyvalue remove config_file Not supported
stanza key
config show config_file stanza key Not supported
context show Not supported
domain create domain domain_admin_id Secure Domain → Create Secure Domain →
domain_admin_password [–desc description] complete the form → Create
domain delete domain [–registry] Secure Domain → List Secure Domain →
select secure domain names → Delete
domain list Secure Domain → List Secure Domain
domain modify domain description description Secure Domain → List Secure Domain →
click secure domain name → modify
description → Apply
domain show domain Secure Domain → List Secure Domain →
click secure domain name
errtext error_number Not supported
exit Not supported
group create group_name dn cn Group → Create Group → complete the form
[group_container] → Create
group delete [–registry] group_name Group → Search Groups → type pattern and
maximum results → Search → select group
names → Delete
group import group_name dn Group → Import Group → complete the form
[group_container] → Import
group list pattern max_return Group → Search Groups → type pattern and
maximum results → Search
group list-dn pattern max_return Not supported
Group → Search Groups → type pattern and
group modify group_name add user maximum results → Search → click group
name → Members tab → select users → Add
group modify group_name add (user_1 user_2
[... user_n])
group modify group_name description Group → Search Groups → type pattern and
description maximum results → Search → click group
name → type description → Apply
Group → Search Groups → type pattern and
group modify group_name remove user maximum results → Search → click group
name → Members tab → select user names →
group modify group_name remove (user_1 Remove
user_2 [... user_n])
382 IBM Security Access Manager for Web Version 7.0: Administration Guide
Table 36. Mapping between the pddamin utility and Web Portal Manager (continued)
pdadmin utility Web Portal Manager
object show object_name Object Space → Browse Object Space →
expand and click object name
object show object_name attribute Object Space → Browse Object Space →
attribute_name expand and click object name → Extended
Attributes tab
objectspace create objectspace_name Object Space → Create Object Space →
complete the form → Create
objectspace delete objectspace_name Object Space → Browse Object Space → click
object space name → Delete
objectspace list Object Space → Browse Object Space
policy get policy_name User → Show Global User Policy
policy get policy_name –user user_name User → Search Users → type pattern and
maximum results → Search → click user name
→ Policy tab
policy set policy_name policy_value User → Show Global User Policy → modify
value → Apply
policy set policy_name policy_value –user User → Search Users → type pattern and
user_name maximum results → Search → click user name
→ Policy tab → modify value → Apply
pop attach object_name pop_name POP → List POP → click POP name → Attach
tab → Attach → type protected object path →
Attach
pop create pop_name POP → Create POP → complete the form →
Create
pop delete pop_name
POP → List POP → select POP names →
Delete
pop detach object_name POP → List POP → click POP name → Attach
tab → select object → Detach
pop find pop_name POP → List POP → click POP name → Attach
tab
pop list POP → List POP
pop list pop_name POP → List POP → click POP name
pop list pop_name attribute POP → List POP → click POP name →
Extended Attributes tab
pop modify pop_name delete attribute POP → List POP → click POP name →
attribute_name Extended Attributes tab → select attributes →
Delete
pop modify pop_name delete attribute Not supported
attribute_name attribute_value
pop modify pop_name set attribute POP → List POP → click POP name →
attribute_name attribute_value Extended Attributes tab → Create → complete
the form → Apply
pop modify pop_name set audit-level {all | POP → List POP → click POP name → select
none | audit_level_list} or clear appropriate check boxes → Apply
pop modify pop_name set description POP → List POP → click POP name → modify
description description → Apply
384 IBM Security Access Manager for Web Version 7.0: Administration Guide
Table 36. Mapping between the pddamin utility and Web Portal Manager (continued)
pdadmin utility Web Portal Manager
rsrccred list user user_name User → Search Users → Search → click user
name → GSO Credentials tab
rsrccred modify resource_name rsrctype {web User → Search Users → Search → click user
| group} [–rsrcuser resource_userid] name → GSO Credentials tab → Create →
[–rsrcpwd resource_pwd] user user_name modify form → Create
rsrccred modify resource_group_name User → Search Groups → Search → click user
rsrctype {web | group} [–rsrcuser name → GSO Credentials tab → Create →
resource_userid] [–rsrcpwd resource_pwd] user modify form → Create
user_name
rsrccred show resource_name rsrctype {web | User → Search Users → Search → click user
group} user user_name name → GSO Credentials tab
rsrccred show resource_group_name rsrctype User → Search Groups → Search → click user
{web | group} user user_name name → GSO Credentials tab
rsrcgroup create resource_group_name [–desc GSO Resource → Create GSO Group →
description] complete the form → Create
rsrcgroup delete resource_group_name GSO Resource → List GSO Groups → select
resource groups → Delete
rsrcgroup list GSO Resource → List GSO Groups
rsrcgroup modify resource_group_name add GSO Resource → List GSO Groups → select
rsrcname resource_name resource group → select members → Add
rsrcgroup modify resource_group_name GSO Resource → List GSO Groups → select
remove rsrcname resource_name resource group → select members → Remove
rsrcgroup show resource_group_name GSO Resource → List GSO Groups → select
resource group
server list Not supported
server listtasks server_name Not supported
server replicate server_name Not supported
server show server_name Not supported
server task server_name {help | stats | Not supported
trace}
server task server_name server_task Not supported
386 IBM Security Access Manager for Web Version 7.0: Administration Guide
Appendix F. Managing user registries
This appendix contains a subset of user registry tasks that are specific to installing
Security Access Manager.
You might need more information about common administrative tasks for your
particular registry (tasks that are not specific to Security Access Manager). See the
documentation that came with your user registry product.
LDAP-specific tasks
LDAP is a protocol that runs over TCP/IP. The LDAP protocol standard includes
low-level network protocol definitions plus data representation and handling.
Note: AD LDS instances cannot replicate with Active Directory. They replicate on a
schedule that is independent of the Active Directory replication schedule, even
when AD LDS is running in an Active Directory domain.
For information about setting the AD LDS replication schedule, see the IBM
Security Access Manager for Web: Installation Guide. To set preference values, see
“Preference values for replica LDAP servers” on page 390.
Note: For SSL, ensure that the same certificate authority issues the AD LDS
certificate for each instance in the configuration set. This way, Security Access
Manager can validate the AD LDS certificate from each instance. If the AD LDS
instances in the configuration set are on the same system, the instances can share
the certificate.
For a generic LDAP server, the failover configuration depends on the specific
LDAP server. The LDAP server recognizes the concept of master-subordinate, and
Security Access Manager can use this replication support. For information about
whether your LDAP server supports replication in this manner, see the
documentation for your LDAP server.
The combination of a master server and multiple replicated servers helps to ensure
that directory data is always available when needed. If any server fails, the
directory service continues to be available from another replicated server. Security
Access Manager supports this replication capability.
LDAP refers to the master as the master server and to the replica as the replica
server. Even when peer-to-peer replication is being used, the peer servers can be
considered “masters” for the Security Access Manager perspective. All updates are
made on the master server and these updates are later propagated to the replica
servers. Each replica server directory contains a copy of the data in the master
server directory.
Changes to the directory can be made only to a master server, which is always
used for write operations to the directory. For Security Access Manager, these types
of servers are configured as readwrite servers. Either the master or the replicas can
be used for read operations. When the original master server is out of service for
an extended period, a replica server can be promoted as a master server. The
change enables write operations to the directory.
If the LDAP master server is down for any reason, the Security Access Manager
server must be able to connect to an available LDAP replica server for any read
operations. For Security Access Manager, these types of servers are configured as
readonly servers.
388 IBM Security Access Manager for Web Version 7.0: Administration Guide
Many operations, especially those from regular users, are read operations. These
include operations such as user authentication and sign-on to back-end junctioned
web servers. After configuration, Security Access Manager fails over to a replica
server when it cannot connect to the master server.
You can find the configuration parameters for LDAP failover in the [ldap] stanza
of the ldap.conf configuration file. This configuration file is in one of the following
operating system-specific locations:
On AIX, Linux, and Solaris operating systems
/opt/PolicyDirector/etc/ldap.conf
On Windows operating systems
install_path\etc\ldap.conf
Sun Java System Directory Server supports multiple read/write LDAP servers.
Security Access Manager treats the Sun Java System supplier server as the master
server for configuration purposes.
The active configuration lines in the ldap.conf file represent the parameters and
values for this master LDAP server. You determine these values during Security
Access Manager configuration. For example:
[ldap]
enabled = yes
host = outback
port = 389
ssl-port = 636
max-search-size = 2048
You might change the LDAP database. For example, when you add a user account
through the Web Portal Manager, Security Access Manager uses the read/write
(master) LDAP server.
Sun Java System Directory Server supports the existence of one or more read-only
replica LDAP servers that are termed consumers.
Example:
replica = replica1.ldap.tivoli.com,389,readonly,4
replica = replica2.ldap.tivoli.com,389,readonly,4
Changes to the ldap.conf file do not take effect until you restart Security Access
Manager.
The higher the number, the higher the priority. If the primary read-only server fails
for any reason, the server with the next highest preference value is used. If two or
more servers have the same preference value, a least-busy load balancing
algorithm determines which one is selected.
Remember that the master LDAP server can function as both a read-only and a
read/write server. For read-only access, the master server has a hardcoded default
preference setting of 5. Use this preference setting to set replica servers at values
higher or lower than the master to obtain the required performance. For example,
with appropriate preference settings, you can prevent the master server from
handling everyday read operations.
You can set hierarchical preference values to allow access to a single LDAP server
with failover to the other servers. You can also set equal preferences for all servers
and allow load balancing to dictate server selection.
390 IBM Security Access Manager for Web Version 7.0: Administration Guide
Table 39. Potential preference scenarios
M R1 R2 R3 Failover preference
5 5 5 5 All servers have the same preference values. Load balancing
determines which server is selected for each access
operation.
5 6 6 6 The 3 replica servers have the same preference value. This
value is higher than the master server value. Load balancing
determines server selection among the 3 replicas. The master
is used only if all 3 replica servers become unavailable.
5 6 7 8 Server 3 (with the highest preference value) becomes the
primary server. If server 3 fails, server 2 becomes the
primary server because it has the next highest preference
value.
Preference values affect only read-only access to the LDAP database. Security
Access Manager always uses the master (read/write) server when you need to
change the LDAP database.
Some Security Access Manager daemons such as the policy server override the
preference settings in their configuration files to indicate that the read/write server
is preferred. This override occurs because those daemons usually make update
operations that go to the master LDAP server.
Server polling
If an LDAP server does fail, Security Access Manager continuously polls the server
to check for its return to active duty. The poll time is 10 seconds.
The specific LDAP server can also dictate the validity of these characters.
In general, you can use special characters within a distinguished name. However,
certain special characters require an additional escape character. The following
special characters must be escaped when used in a distinguished name:
v Plus sign (+)
v Semicolon (;)
v Comma (,)
v Backward slash (\)
v Double quote (")
v Less than (<)
v Greater than (>)
v Pound sign (#)
Note: Avoid the backward slash character (\) as part of a user or group name. For
more information, see "Characters disallowed for user and group name" in
appendix A of the IBM Security Access Manager for Web: Command Reference.
If you use special characters with the pdadmin utility, enclose each argument of the
user or group command with double quotation marks. The double quotation
marks allow the argument to be entered without being subject to interpretation by
the operating system shell command processor.
Due to the variability of special character handling in general, avoid the use of
special characters.
Many LDAP server products, such as Tivoli Directory Server, which is included
with Security Access Manager, and the Sun Java System Directory Server and
Novell eDirectory, maintain the data of the DIT in a hierarchical namespace that is
often represented as a tree structure. The top of the tree is termed a naming context.
Sometimes, this naming context is called a suffix because it represents the ending
portion of a distinguished name (DN). For example, the c=us suffix might be
created to represent country-specific data within an organization. An entry within
this suffix might have a DN similar to cn=Joe Williams,ou=austin,o=ibm,c=us.
The set of suffixes that is maintained by the LDAP server can be configured with
the vendor-specific LDAP administration tools.
When the Security Access Manager policy server is configured, it attempts to apply
appropriate access controls in the form of Access Control Lists (ACLs) to each
LDAP suffix that is in the LDAP server. This access control gives appropriate
permissions to allow Security Access Manager to create and manage user and
group information in these suffixes.
Note: The Security Access Manager policy server does not attempt to apply ACLs
to each LDAP suffix when AD LDS is used as the user registry. Access to AD LDS
registry entries is controlled by administration groups within AD LDS.
For LDAP server types other than AD LDS, an LDAP administrator might add an
LDAP suffix after Security Access Manager is configured. To have Security Access
Manager to manage users and groups in this new suffix, the administrator must
apply the appropriate ACLs to the new suffix.
To apply the appropriate access controls to a newly created LDAP suffix, use the
ivrgy_tool utility with the add-acls parameter. For more information, see
"ivrgy_tool" in the IBM Security Access Manager for Web: Command Reference.
Alternately, you can manually apply the following ACLs to each new suffix:
cn=SecurityGroup,secAuthority=Default
v Full access
cn=ivacld-servers,cn=SecurityGroups,secAuthority=Default
v read
392 IBM Security Access Manager for Web Version 7.0: Administration Guide
v search
v compare
v write for the following attributes:
– secAcctValid
– secPwdFailCountTime
– secPwdFailures
– secPwdLastChanged
– secPwdLastFailed
– secPwdLastUsed
– secPwdUnlockTime
– secPwdValid
cn=remote-acl-users,cn=SecurityGroups,secAuthority=Default
v read
v search
v compare
v write for the following attributes:
– secAcctValid
– secPwdFailCountTime
– secPwdFailures
– secPwdLastChanged
– secPwdLastFailed
– secPwdLastUsed
– secPwdUnlockTime
– secPwdValid
When using a generic LDAP server, give the same access controls to the specified
groups. For information about how to set access control for a generic LDAP server,
see the documentation that is associated with the generic LDAP server.
If a Security Access Manager administrator created a domain other than the initial
\Management domain, which is created during the configuration of the policy
server, apply the following additional ACLs to the new suffix for each domain:
cn=SecurityGroup,secAuthority=domain_name,cn=Subdomains,
secAuthority=Default
v Full access
cn=ivacld-servers,cn=SecurityGroups,secAuthority=domain_name,cn=Subdomains,
secAuthority=Default
v read
v search
v compare
v write for the following attributes:
– secAcctValid
– secPwdFailCountTime
– secPwdFailures
– secPwdLastChanged
– secPwdLastFailed
– secPwdLastUsed
– secPwdUnlockTime
– secPwdValid
cn=remote-acl-users,cn=SecurityGroups,secAuthority=domain_name,
cn=Subdomains,secAuthority=Default
v read
v search
v compare
v write for the following attributes:
– secAcctValid
Where domain_name is the name of the additional administrative domain. For a list
of domains, use the domain list command.
Example procedures
You can use these example procedures for either Tivoli Directory Server or Sun
Java System Directory Server, depending on the LDAP server type that is used.
The example procedures assume that there is a newly created c=fr suffix.
Substitute your newly created suffix for this value in the procedures.
This procedure describes how to apply the appropriate Security Access Manager
access controls in Tivoli Directory Server for a newly created suffix.
This procedure uses the Tivoli Directory Server Web Administration Tool and
assumes that this tool is installed and configured into the WebSphere Application
Server.
Procedure
1. Access the login page with a supported web browser. The default login page
is the following URL:
http://server_name:12100/IDSWebApp/IDSjsp/Login.jsp
Where server_name is the host name of the application server where the Web
Administration Tool is installed.
If the list of console server contains the LDAP server to be administered, select
its host name and go to step 4 on page 395. If this list does not contain the
server, add it as a console server.
2. Add an LDAP server to the list of console servers:
a. Log on as the Console Admin. The default Console Admin identity is
superadmin and the default password is secret.
b. In the navigation area on the left, click Console administration and
Manage console servers. This action presents a list of LDAP servers that
are currently configured for administration.
c. Click Add and type the host name and port number for the LDAP server
to be administered.
d. Click OK to add the server.
e. Click Close to complete the action.
f. From the navigation area, click Logout.
394 IBM Security Access Manager for Web Version 7.0: Administration Guide
3. Access the login page with the URL in step 1 on page 394 and select from the
list the LDAP server that you added.
4. In the Login window, type the LDAP server administrator in the Username
field (for example, cn=root) and password in the password field, and click
Login.
5. In the navigation area on the left, click Directory management and Manage
entries. If you see the newly added suffix in the Manage entries window on
the right, go to step 7. If you do not see the newly added suffix, add an entry
for a newly created suffix.
6. Add a suffix:
a. Click Add to display the Add an entry window.
b. Select the appropriate structural object class for the newly added suffix.
For the c=fr suffix, the appropriate object class is country.
c. Click Next to display the Select auxiliary object classes window where you
can add additional object classes appropriate for the entry type.
d. Because this example does not use other object classes, click Next to define
the selected structural object class.
e. In the Relative DN field, type c=fr and leave the Parent DN field blank.
The only required attribute is c for country. Enter the value fr, and click
Finish to return to the Manage entries window. You now see the newly
added suffix in the list of top-level entries.
7. In the Manage entries window:
a. From the Select column, select the suffix.
b. From the Select Action list, select Edit ACL.
c. Click Go to display the Edit ACL window that shows the current ACLs on
the suffix.
8. In the Edit ACL window:
a. Click Non-filtered ACLs.
b. Ensure that the Propagate ACLs option is selected.
c. Click Add to display the Add access rights window.
9. In the Add access rights window:
a. In the Subject DN (distinguished name) field, type
cn=SecurityGroup,secAuthority=Default.
b. Set the Add child right to grant.
c. Set the Delete entry right to grant.
d. Set the normal, sensitive, critical, system and restricted security classes to
grant for the read, write, search and compare actions.
e. Click OK to return to the Edit ACL window.
10. In the Edit ACL window, click Add to display the Add access rights window.
11. In the Add access rights window:
a. In the Subject DN (distinguished name) field, type cn=ivacld-
servers,cn=SecurityGroups,secAuthority=Default.
b. Set the Subject Type to group.
c. Set the normal security classes to grant for the read, search and compare
actions.
d. From the Attributes list, select secAcctValid and click Define. Repeat this
step for each of the following attributes:
v secPwdFailCountTime
v secPwdFailures
396 IBM Security Access Manager for Web Version 7.0: Administration Guide
b. Set the Subject Type to group.
c. Set the normal security classes to grant for the read, search and compare
actions.
d. From the Attributes list, select secAcctValid and click Define. Repeat this
step for each of the following attributes:
v secPwdFailCountTime
v secPwdFailures
v secPwdLastChanged
v secPwdLastFailed
v secPwdLastUsed
v secPwdUnlockTime
v secPwdValid
e. After defining these attributes, set each of these attributes to grant for the
read, write, search and compare actions.
f. Click OK to return to the Edit ACL window.
This completes the addition of the access control for the suffix.
17. Click Close. You do not need to restart the LDAP server for the changes to
take effect.
18. If you no longer need to use the Web Administration Tool, click Logout.
This procedure applies the appropriate Security Access Manager access controls to
the newly created suffix for Sun Java System Directory Server.
Procedure
1. Start the Sun Java System Server Console with one of the following
commands:
v On AIX, Linux, and Solaris operating systems, enter the following
command from the Sun Java System Directory Server installation directory:
# ./startconsole
v On systems that run the Solaris operating environment, when not using the
Solaris packaged version:
a. Change to the server root directory.
b. Enter the following command:
startconsole arguments
c. Type –h to display a usage message that explains command-line
arguments.
v On Windows operating systems, select Start > Programs > Sun Java System
Server Products > Sun Java System Server Console Version
version_number.
2. Log on to the Sun Java System Server Console:
a. Type the LDAP administrator ID, which is usually cn=Directory Manager
b. Type the password for this administrator.
c. Click OK.
3. Select the Sun Java System Domain to be used by Security Access Manager.
Note: These instructions assume an example suffix. Create the entry type and
name that corresponds to your actual suffix.
To create the entry:
a. Right-click the name of the server at the top of the directory tree, and
select Object > New Root Object to display a list of root suffixes.
b. Select c=fr from the list of root suffixes. The New Object selection window
is displayed.
c. In the New Object selection window, scroll down and select Country as
the new object entry type.
d. Click OK to display the Property Editor window.
e. In the Country field type fr, and click OK.
f. Select View > Refresh to display the new suffix.
8. Right-click c=fr in the left pane, and select Object → Set Access Permissions to
display the Manage Access Control for c=fr window.
9. Click New to display the Edit ACI for c=fr window.
10. In the Edit ACI for c=fr window:
a. In the ACI name field, type SECURITY GROUP – ALLOW ALL.
b. Highlight All Users, and click Remove.
c. Click Edit Manually.
d. Replace the default ACI text with the following text:
(target="ldap:///c=fr")(targetattr="*")
(version 3.0; acl "SECURITY GROUP – ALLOW ALL";
allow (all)
groupdn = "ldap:///cn=SecurityGroup,secAuthority=Default";)
e. Click Check Syntax to ensure validate the text. Correct errors until the
syntax validates.
f. Click OK to return to the Manage Access Control for c=fr window.
11. Click New to display the Edit ACI for c=fr window.
12. In the Edit ACI for c=fr window:
a. In the ACI name field, type PD Servers GROUP – ALLOW READ.
b. Highlight All Users, and click Remove.
c. Click Edit Manually.
d. Replace the default ACI text with the following text:
(target="ldap:///c=fr")(targetattr="*")
(version 3.0; acl "PD Servers GROUP – ALLOW READ";
allow (read, search, compare)
groupdn = "ldap:///cn=ivacld-servers,cn=SecurityGroups,
secAuthority=Default";)
e. Click Check Syntax to ensure validate the text. Correct errors until the
syntax validates.
f. Click OK to return to the Manage Access Control for c=fr window.
13. Click New to display the Edit ACI for c=fr window.
398 IBM Security Access Manager for Web Version 7.0: Administration Guide
14. In the Edit ACI for c=fr window:
a. In the ACI name field, type SECURITY GROUP– ALLOW WRITE.
b. Highlight All Users, and click Remove.
c. Click Edit Manually.
d. Replace the default ACI text with the following text:
(target="ldap:///c=fr")(targetattr="secAcctValid ||
secPwdFailCountTime || secPwdFailures || secPwdLastChanged ||
secPwdLastFailed || secPWDLastUsed || secPwdUnlockTime ||
secPwdValid")
(version 3.0; acl "SECURITY GROUP– ALLOW WRITE";
allow (read, search, compare)
groupdn = "ldap:///cn=ivacld-servers,cn=SecurityGroups,
secAuthority=Default";)
e. Click Check Syntax to ensure validate the text. Correct errors until the
syntax validates.
f. Click OK to return to the Manage Access Control for c=fr window.
15. Click New to display the Edit ACI for c=fr window.
16. In the Edit ACI for c=fr window:
a. In the ACI name field, type PD Remote ACL Users GROUP – ALLOW READ.
b. Highlight All Users, and click Remove.
c. Click Edit Manually.
d. Replace the default ACI text with the following text:
(target="ldap:///c=fr")(targetattr="*")
(version 3.0; acl "PD Remote ACL Users GROUP – ALLOW READ";
allow (read, search, compare)
groupdn = "ldap:///cn=remote-acl-users,cn=SecurityGroups,
secAuthority=Default";)
e. Click Check Syntax to ensure validate the text. Correct errors until the
syntax validates.
f. Click OK to return to the Manage Access Control for c=fr window.
17. Click New to display the Edit ACI for c=fr window.
18. In the Edit ACI for c=fr window:
a. In the ACI name field, type SECURITY GROUP– ALLOW WRITE.
b. Highlight All Users, and click Remove.
c. Click Edit Manually.
d. Replace the default ACI text with the following text:
(target="ldap:///c=fr")(targetattr="secAcctValid ||
secPwdFailCountTime || secPwdFailures || secPwdLastChanged ||
secPwdLastFailed || secPWDLastUsed || secPwdUnlockTime ||
secPwdValid")
(version 3.0; acl "SECURITY GROUP– ALLOW WRITE";
allow (read, search, compare)
groupdn = "ldap:///cn=remote-acl-users,cn=SecurityGroups,
secAuthority=Default";)
e. Click Check Syntax to ensure validate the text. Correct errors until the
syntax validates.
f. Click OK to return to the Manage Access Control for c=fr window.
19. Click New to display the Edit ACI for c=fr window.
20. In the Edit ACI for c=fr window:
a. In the ACI name field, type PD Deny-Others.
b. Highlight All Users, and click Remove.
c. Click Edit Manually.
400 IBM Security Access Manager for Web Version 7.0: Administration Guide
(target="ldap:///c=fr")(targetattr="secAcctValid ||
secPwdFailCountTime || secPwdFailures || secPwdLastChanged ||
secPwdLastFailed || secPWDLastUsed || secPwdUnlockTime ||
secPwdValid")
(version 3.0; acl "SECURITY GROUP– ALLOW WRITE";
allow (read, search, compare)
groupdn = "ldap:///cn=ivacld-servers,cn=SecurityGroups,
secAuthority=domain_name,cn=Subdomains,secAuthority=Default";)
e. Click Check Syntax to ensure validate the text. Correct errors until the
syntax validates.
f. Click OK to return to the Manage Access Control for c=fr window.
27. Click New to display the Edit ACI for c=fr window.
28. In the Edit ACI for c=fr window:
a. In the ACI name field, type PD Remote ACL Users GROUP – ALLOW READ.
b. Highlight All Users, and click Remove.
c. Click Edit Manually.
d. Replace the default ACI text with the following text:
(target="ldap:///c=fr")(targetattr="*")
(version 3.0; acl "PD Remote ACL Users GROUP - ALLOW READ";
allow (read, search, compare)
groupdn = "ldap:///cn=remote-acl-users,cn=SecurityGroups,
secAuthority=domain_name,cn=Subdomains,secAuthority=Default";)
This procedure applies the appropriate Security Access Manager access controls to
the newly created suffix for IBM z/OS Security Server. Do this procedure after the
Security Access Manager policy server is configured.
Instead of using the manual process described below, you can use the ivrgy_tool
utility to update the ACLs on suffixes added after the initial policy server
configuration. See "ivrgy_tool" in the IBM Security Access Manager for Web:
Installation Guide.
These steps are specifically for the IBM Tivoli Directory Server for z/OS Version
1.8. This LDAP server is the IBM z/OS LDAP Server.
Procedure
1. Add the new suffix to the LDAP server configuration file. See z/OS LDAP
Server Administration and Use for your version of z/OS LDAP for details on
how to update the server configuration file.
2. Restart the IBM z/OS LDAP Server.
3. To add an entry to the newly created suffix, do the following steps:
a. Create an LDIF file. This example assumes that the new suffix is
o=neworg,c=us:
dn: o=neworg,c=us
objectClass: organization
objectClass: top
o: neworg
b. Use the appropriate LDIF file as input to the ldapadd command:
ldapadd -h ldap_host -p ldap_port -D ldap_admin_dn -w ldap_admin_pwd
-v -f ldif_filename
4. To apply the appropriate Security Access Manager access controls to the newly
created suffix (suffix), do either of the following tasks:
v If no additional Security Access Manager domains were created other than
the initial management domain, complete the following steps:
a. Create the following LDIF file:
402 IBM Security Access Manager for Web Version 7.0: Administration Guide
dn: suffix
aclpropagate: TRUE
aclentry: group:cn=SecurityGroup,secAuthority=Default:object:ad:normal:\
rwsc:sensitive:rwsc:critical:rwsc:restricted:rwsc
aclentry: group:cn=ivacld-servers,cn=SecurityGroups,secAuthority=Defaul\
t:normal:rsc:at.userPassword:wc:at.secAcctValid:rwsc:
at.secPwdFailCountTime:rwsc:at.secPwd\
Failures:rwsc:at.secPwdLastChanged:rwsc:at.secPwdLastFailed:rwsc:at.sec\
PwdLastUsed:rwsc:at.secPwdUnlockTime:rwsc:at.secPwdValid:rwsc
aclentry: group:cn=remote-acl-users,cn=SecurityGroups,secAuthority=Defau\
lt:normal:rsc:at.secAcctValid:rwsc:at.secPwdFailCountTime:rwsc:at.secPwd\
Failures:rwsc:at.secPwdLastChanged:rwsc:at.secPwdLastFailed:rwsc:at.secP\
wdLastUsed:rwsc:at.secPwdUnlockTime:rwsc:at.secPwdValid:rwsc
entryowner: LDAP_admin_dn
entryowner: group:cn=SecurityGroup,secAuthority=Default
ownerpropagate: TRUE
The backward slash (\) at the end of a line indicates that this line
combines with the next line, without any spaces.
b. Apply the updates in the LDIF file by using it as input to the ldapmodify
command:
ldapmodify -h ldap_host -p ldap_port -D ldap_admin_dn
-w ldap_admin_pwd -v -f ldif_file
v If a domain was created in addition to the initial management domain, and if
a new suffix is created, apply ACLs for each added domain. Complete the
following steps:
a. Add ACLs to the default domain and added domain (added_domain) by
creating an LDIF file similar to the following one:
dn: suffix
aclentry: group:cn=SecurityGroup,secAuthority=Default:object:ad:normal\
:rwsc:sensitive:rwsc:critical:rwsc:restricted:rwsc
aclentry: group:cn=ivacld-servers,cn=SecurityGroups,secAuthority=Defau\
lt:normal:rsc:at.userPassword:wc:at.secAcctValid:
rwsc:at.secPwdFailCountTime:rwsc:at.secP\wdFailures:rwsc:
at.secPwdLastChanged:rwsc:at.secPwdLastFailed:rwsc:at.\secPwdLastUsed:
rwsc:at.secPwdUnlockTime:rwsc:at.secPwdValid:rwsc
aclentry: group:cn=remote-acl-users,cn=SecurityGroups,secAuthority=Def\
ault:normal:rsc:at.secAcctValid:rwsc:at.secPwdFailCountTime:rwsc:at.se\
cPwdFailures:rwsc:at.secPwdLastChanged:rwsc:at.secPwdLastFailed:rwsc:a\
t.secPwdLastUsed:rwsc:at.secPwdUnlockTime:rwsc:at.secPwdValid:rwsc
aclentry: group:cn=SecurityGroup,secAuthority=added_domain,cn=Subdomai\
ns,secAuthority=Default:object:ad:normal:rwsc:sensitive:rwsc:critical:\
rwsc:restricted:rwsc
aclentry: group:cn=ivacld-servers,cn=SecurityGroups,secAuthority=added\
_domain,cn=Subdomains,secAuthority=
Default:normal:rsc:at.userPassword:wc:at.secAcctValid:\
rwsc:at.secPwdFailCountTime:rwsc:at.secPwdFailures:rwsc:at.secPwdLastC\
hanged:rwsc:at.secPwdLastFailed:rwsc:at.secPwdLastUsed:rwsc:at.secPwdU\
nlockTime:rwsc:at.secPwdValid:rwsc
aclentry: group:cn=remote-acl-users,cn=SecurityGroups,secAuthority=add\
ed_domain,cn=Subdomains,secAuthority=
Default:normal:rsc:at.userPassword:wc:at.secAcctVali\
d:rwsc:at.secPwdFailCountTime:rwsc:at.secPwdFailures:rwsc:at.secPwdLas\
tChanged:rwsc:at.secPwdLastFailed:rwsc:at.secPwdLastUsed:rwsc:at.secPw\
dUnlockTime:rwsc:at.secPwdValid:rwsc
aclpropagate: TRUE
entryowner: LDAP_admin_dn
entryowner: group:cn=SecurityGroup,secAuthority=Default
ownerpropagate: TRUE
b. Apply the updates in the LDIF file by using it as input to the ldapmodify
command:
Note: The ldapmodify command returns an error if the following attributes and
values are set by default for the newly added suffix:
aclpropagate: TRUE
entryowner: LDAP_admin_dn
ownerpropagate: TRUE
If the ldapmodify command returns the following error, remove these three
attribute and value pairs from the LDIF file and run the ldapmodify command
again:
ldapmodify: additional info: R004086 Entry ’suffix’ already contains
attribute ’attribute’ with value ’value’
For more information about setting the password policy that is used with Tivoli
Directory Server, see the IBM Tivoli Directory Server: Administration Guide.
Procedure
1. Access the login page with a supported web browser. The default login page is
the following URL:
http://server_name:12100/IDSWebApp/IDSjsp/Login.jsp
Where server_name is the host name of the application server where the Web
Administration Tool is installed.
2. Select the LDAP host name to be managed and log on as an LDAP
administrator (for example, cn=root). The Web Administration Tool starts.
3. In the navigation area, select Server administration > Manage security
properties.
4. In the main window, select Password validation.
5. Set the minimum number of passwords that must be used before a password
can be reused. Enter a number from 0 to 30. If you enter zero, a password can
be reused without restriction.
6. Click Apply.
7. In the main window, click Password policy.
8. If not already enabled, set the Password policy enabled check box to enable
password policy.
9. Click OK.
404 IBM Security Access Manager for Web Version 7.0: Administration Guide
v “Setting up Microsoft Windows 2008 Domain Name System for Active
Directory”
v “Updating the Security Access Manager schema” on page 406
v “Adding a Security Access Manager user to the Active Directory system group”
on page 407
v “Using valid characters for Active Directory user, group, and distinguished
names” on page 407
v “Importing dynamic groups to Security Access Manager” on page 409
v “Enabling change user password requests to be done with LDAP APIs” on page
409
For multi-domain mode, at least two domains are required from these types of
domains:
v A primary domain
v A child domain of the primary domain
v A domain tree in the forest
For failover, at least two primary domain controllers are needed.
You can set up the DNS server before configuring the domain controllers or when
you configure the primary Active Directory domain controller. There are two ways
to set up DNS for Active Directory:
1. Configure DNS on the forest root
2. Use a separate DNS server
The DNS server is not necessary on the host that is the domain controller in the
forest. You can use any DNS server. You might not use a DNS server on a
Windows operating system. Contact your DNS administrator or a DNS server
vendor to find out whether your server supports the required standards. If the
server does not support the required standards or the zone cannot be configured to
allow dynamic updates, you need to modify the existing DNS infrastructure.
Procedure
1. Click Start > Programs > Administrator Tools > DNS to open the DNS.
2. Expand the host name, and expand Forward Lookup Zones.
3. Create a zone (new root domain) or child domain.
4. If using a separate DNS, open the domain properties and change the Allow
dynamic updates field to Yes.
Add the Security Access Manager schema to the schema master. The master
schema is a root domain controller in the forest. The Security Access Manager
schema is updated to the schema master during the configuration of Security
Access Manager
Note: Before updating the Security Access Manager schema, verify that it is not
already on the schema master. The Security Access Manager schema requires an
update only one time in the forest.
To verify that the Security Access Manager schema is updated on your system,
complete the following steps:
1. In your domain controller, go to Start > Programs > Administrative Tools >
Active Directory Users and Computers. The Active Directory Users and
Computers window is displayed.
2. In this window, expand the domain that contains the Users folder.
3. Right click the Users folder. A menu opens.
4. Click New in the menu. Another menu opens.
5. If a list of Security Access Manager classes for Active Directory is displayed in
the menu in the URAF-xxx form, (for example, URAF-container), then the
Security Access Manager schema is already on the schema master. You do not
need to update the Security Access Manager schema.
To manually update the Security Access Manager schema, complete the following
steps.
Procedure
1. Install IBM Security Access Manager runtime on the root domain controller.
2. Run the following command:
aminstall_dir\sbin\adschema_update –u AMConfID –p AMConfPWD
where:
v aminstall_dir is the directory that installs Security Access Manager
v AMConfID is the Security Access Manager configuration login ID
v AMConfPWD is the Security Access Manager configuration login password
3. After you verify that the Security Access Manager schema was added to the
schema master, you can uninstall IBM Security Access Manager runtime from
the root domain.
406 IBM Security Access Manager for Web Version 7.0: Administration Guide
Adding a Security Access Manager user to the Active
Directory system group
To have sufficient access to modify user and group attributes, a Security Access
Manager user must be added to the appropriate Active Directory system group on
a system where Active Directory is configured as a Security Access Manager user
registry.
Procedure
1. Log on as Administrator.
2. Go to Start > Programs > Administrative Tools.
3. Click Active Directory Users and Computers from the menu. The Active
Directory Users and Computers window is displayed.
4. On the left navigation panel, go to Tivoli PD Domains > default > system >
users, where the users container of the Security Access Manager user registry
container is located.
5. From the list of users displayed, select the Security Access Manager user that
you want to add to the Active Directory system group.
6. Right-click the Security Access Manager user, and click Properties. The
Properties window for the selected Security Access Manager user is displayed.
7. Click the Member Of tab.
8. Click Add. The Select Groups window is displayed.
9. Select the appropriate group that you want the Security Access Manager user
to become a member of, and click Add.
10. Do one of these steps:
v If the purpose is to modify user or group attributes for Active Directory
single domain, select the Domain Admins group.
v If Security Access Manager is configured with Active Directory multiple
domain, select the Enterprise Admins group.
11. For each user you want to add to multiple groups, repeat the
add-user-to-group process.
12. Click OK to close all opened windows.
Note: An "at" symbol (@) is not allowed unless it is used to specify the domain.
For example, [email protected] is allowed; user@[email protected] is not
allowed.
If you use special characters with the pdadmin utility, enclose each argument of the
user or group command with double quotation marks. The double quotation
marks allow the argument to be entered without being subject to interpretation by
the operating system shell command processor.
Due to the variability of special character handling in general, avoid the use of
special characters.
The following characters must be escaped with the backward slash (\) character
before being used in a distinguished name:
v Number sign (#) at the beginning of the string
v A space at the end of the string
v Comma (,)
v Plus sign (+)
v Double quotation (")
v Left angle bracket (<)
v Right angle bracket (>)
v Semicolon (;)
Note: Due to differences in registries and command shell processors, avoid the
backward slash character (\) in distinguished names. For more information, see
"Characters disallowed for distinguished names" in appendix A of the IBM Security
Access Manager for Web: Command Reference.
For other reserved characters, such as an equal sign (=), asterisk (*), or a non
UTF-8 character, the character must be encoded in hexadecimal.
Example 1
To create a user with a DN that contains a comma next to the separator:
pdadmin sec_master> user create "johndoe"
"cn=doe\,john,cn=users,dc=mydomain,dc=com" John Doe password1
Example 2
To create a user with a DN that contains a carriage return, which is a
reserved character:
pdadmin sec_master> user create "johndoe"
"cn=doe\ODJohn,cn=users,dc=mydomain,dc=com" John Doe password1
408 IBM Security Access Manager for Web Version 7.0: Administration Guide
The hexadecimal representation of a carriage return is 0D.
Example 3
To create a user with a distinguished name that contains a number sign:
pdadmin sec_master>user create "#pounduser"
"cn=\#pounduser,cn=users,dc=mydomain,dc=com" "#pound" "user"
password1
The group short name and ID do not include the @domain suffix when Security
Access Manager is configured to use Active Directory multiple domain. This
requirement is to ensure that only one dynamic group can be mapped to a Security
Access Manager group object at any give time.
For example, if you have an Active Directory group with cn = dyngroup1 and
distinguishedName = cn=dyngroup1,cn=AzGroupObjectContainer-
myAuthorizationStore,cn=myAuthorizationStore,cn=ProgramData,dc-
=domain,dc=com, the import command would be similar to one of these examples:
v Security Access Manager configured to an Active Directory registry single
domain environment:
pdadmin sec_master> group import dyngroup1
"cn=dyngroup1, cn=AzGroupObjectContainer-myAuthorizationStore,
cn=myAuthorizationStore,cn=Program Data,dc=domain,dc=com"
v Security Access Manager configured to an Active Directory registry multiple
domain environment:
pdadmin sec_master> group import [email protected]
"cn=dyngroup1,cn=AzGroupObjectContainer-myAuthorizationStore,
cn=myAuthorizationStore,cn=Program Data,dc=domain,dc=com"
To enable this functionality, use the pdadmin config modify command to update
the change-pwd-using-ldap-api property in the [uraf-registry] stanza of the
activedir_ldap.conf configuration file.
Note: After you enable this option, the policy server does not need to be running
to handle user change password requests.
The following lines show an example of how to enable the change user password
by LDAP APIs on Windows with Active Directory LDAP:
The following lines show an example of how to enable the change user password
with LDAP APIs for Active Directory LDAP on AIX:
pdadmin> login local
pdadmin local> config modify keyvalue set
"/opt/PolicyDirector/etc/activedir_ldap.conf"
"uraf-registry" "change-pwd-using-ldap-api" yes
When this optional enhancement is enabled, both the default and the alternate
format of the userPrincipalName can co-exist in the Security Access Manager
environment.
For an existing Security Access Manager environment, enabling this support allows
only new Security Access Manager user identities to use the alternate format. Do
not modify existing Security Access Manager user identities.
To enable this support, use the pdadmin command utility to modify the registry
configuration file.
The following example demonstrates how to use the pdadmin utility to enable
support of alternate userPrincipalName natively for an Active Directory
environment:
pdadmin> login local
pdadmin local> config modify keyvalue set
"c:\Program Files\Tivoli\Policy Director\etc\activedir.conf"
"uraf-registry" "use-email-as-user-id" yes
The following example demonstrates how to use the pdadmin utility to enable
support of an alternate userPrincipalName with LDAP APIs on an AIX system:
pdadmin> login local
pdadmin local> config modify keyvalue set
"/opt/PolicyDirector/etc/activedir_ldap.conf"
"uraf-registry" "use-email-as-user-id" yes
pdadmin local> config modify keyvalue set
"/opt/PolicyDirector/etc/activedir_ldap.conf"
"uraf-registry" "ad-gc-server" adgc.hostname.com
410 IBM Security Access Manager for Web Version 7.0: Administration Guide
Novell-specific tasks
The Novell eDirectory can be configured as a Security Access Manager user
registry.
This section describes a few steps that are unique to this configuration.
v “Updating the eDirectory schema with ConsoleOne”
v “Updating the eDirectory schema with Novell iManager” on page 412
v “Novell eDirectory maintenance activities that can damage schema modifications
applied by Security Access Manager” on page 413
Before you configure the policy server, modify Novell eDirectory with Novell’s
ConsoleOne directory management utility or iManager web-based administration
console.
Note: The default Novell eDirectory schema assumes that the directory does not
use the X.500 object classes of inetOrgPerson or groupOfNames. By default, these
classes are mapped into the eDirectory classes of User and Group. Because Security
Access Manager uses the inetOrgPerson and groupOfNames object classes for
creating its own users and groups, modifications to the default eDirectory schema
are required.
Procedure
1. Start the Novell ConsoleOne directory management utility.
2. Select the organization object within your Novell eDirectory tree. A list of
objects is displayed on the right side of the ConsoleOne window.
3. Right click the LDAP group object (not LDAP server), and click Properties
from the menu.
4. Click the Class Map tab and the table of LDAP class names. The Novell
eDirectory class names are displayed.
5. Delete the entries with LDAP classes of inetOrgPerson and groupOfNames.
6. Click Apply and then click Close.
7. Click the Attribute Map tab and the table of LDAP attribute names. The
Novell eDirectory attribute names are displayed.
8. Scroll through the table and find the Novell eDirectory attribute member. Check
the value of the corresponding LDAP attribute. If the LDAP attribute value is
member, then no change is needed. If the attribute is showing the default value
of uniqueMember, you need to modify it as follows.
v Click Modify. The Attribute Mapping window is displayed.
v Change the Primary LDAP Attribute field from uniqueMember to member.
v Change the Secondary LDAP attribute field from member to uniqueMember.
Before you configure the policy server, modify Novell eDirectory with Novell’s
ConsoleOne directory management utility or iManager web-based administration
console.
Note: The default Novell eDirectory schema assumes that the directory does not
use the X.500 object classes of inetOrgPerson or groupOfNames. By default, these
classes are mapped into the eDirectory classes of User and Group. Because Security
Access Manager uses the inetOrgPerson and groupOfNames object classes for
creating its own users and groups, modifications to the default eDirectory schema
are required.
Procedure
1. Launch the iManager web page and log on as the administrator for the Novell
eDirectory tree to be updated.
2. Click the Roles and Tasks icon at the top of the iManager window to open
the Roles and Tasks view.
3. In the Roles and Tasks navigation frame, expand the LDAP category.
4. In the expanded list, click the LDAP Options task.
5. On the LDAP Options page, click the LDAP Group listed.
6. Click Class Map to display the Novell eDirectory class to LDAP class
mappings.
7. Remove mappings to inetOrgPerson and groupOfNames.
a. Scroll through the list and look for mappings of eDirectory classes to the
LDAP class inetOrgPerson.
b. If a mapping exists, select the row and click the Remove Mapping icon to
remove the mapping.
c. Click OK in the pop-up window to confirm the removal of the mapping.
d. Click Apply to apply the changes.
e. Repeat this step to remove a mapping for the LDAP class groupOfNames.
8. Click OK to accept the changes.
9. Repeat steps 3-5 to return to the LDAP Group page.
412 IBM Security Access Manager for Web Version 7.0: Administration Guide
10. Click Attribute Map to access the Novell eDirectory attribute to LDAP
attribute mappings.
11. Scroll through the table and find the Novell eDirectory attribute member.
Check the value of the corresponding LDAP attribute. If the LDAP attribute
value is member, no change is needed. If the attribute is the default value of
uniqueMember, modify it as follows:
a. Select the row and click the View/Edit Mapping icon.
b. Change the Primary LDAP Attribute field from uniqueMember to member.
c. Change the Secondary LDAP attribute field from member to uniqueMember.
d. Click OK in the pop-up window to confirm the change.
e. Click Apply to apply the changes.
12. If you are using Solaris, proceed to the next step. If you are using Windows
NT, you might need to add another mapping for the LDAP attribute
ndsHomeDirectory. To add another mapping for the LDAP attribute
ndsHomeDirectory:
a. Click the Add Mapping icon in the right side of the window. A pop-up
window to define the mapping is displayed.
b. In the eDirectory Attribute field, select Home Directory.
c. In the Primary LDAP Attribute field, type ndsHomeDirectory.
d. Click OK to confirm the mapping and close the pop-up window.
13. Click OK in the Attribute Map window to accept the changes.
Security Access Manager requires the ability to append its own objects beneath
pre-existing eDirectory users and groups to import them and make them usable by
Security Access Manager. When Security Access Manager adds its own object class
definitions to the eDirectory schema, it also redefines the eDirectory User and
Group object classes. Redefinition allows instances of these classes to be container
objects. Novell eDirectory allows this change to its schema definition.
The ivrgy_tool utility can be found in one of the following Security Access
Manager directories:
AIX, Linux, and Solaris operating systems
/opt/PolicyDirector/sbin
Windows operating systems
c:\program files\tivoli\policy director\sbin
Security Access Manager does not add the /sbin directory to the system PATH.
You must run the ivrgy_tool utility from the /sbin directory.
414 IBM Security Access Manager for Web Version 7.0: Administration Guide
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may
be used instead. However, it is the user's responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not give you
any license to these patents. You can send license inquiries, in writing, to:
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law :
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
sites. The materials at those Web sites are not part of the materials for this IBM
product and use of those Web sites is at your own risk.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact:
IBM Corporation
2Z4A/101
11400 Burnet Road
Austin, TX 78758 U.S.A.
The licensed program described in this document and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement or any equivalent agreement
between us.
All statements regarding IBM's future direction or intent are subject to change or
withdrawal without notice, and represent goals and objectives only.
All IBM prices shown are IBM's suggested retail prices, are current and are subject
to change without notice. Dealer prices may vary.
This information is for planning purposes only. The information herein is subject to
change before the products described become available.
This information contains examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples include the
names of individuals, companies, brands, and products. All of these names are
fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
416 IBM Security Access Manager for Web Version 7.0: Administration Guide
IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating
platform for which the sample programs are written. These examples have not
been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or
imply reliability, serviceability, or function of these programs. You may copy,
modify, and distribute these sample programs in any form without payment to
IBM for the purposes of developing, using, marketing, or distributing application
programs conforming to IBM's application programming interfaces.
Each copy or any portion of these sample programs or any derivative work, must
include a copyright notice as follows:
© (your company name) (year). Portions of this code are derived from IBM Corp.
Sample Programs. © Copyright IBM Corp. _enter the year or years_. All rights
reserved.
If you are viewing this information in softcopy form, the photographs and color
illustrations might not be displayed.
Trademarks
IBM, the IBM logo, and ibm.com® are trademarks or registered trademarks of
International Business Machines Corp., registered in many jurisdictions worldwide.
Other product and service names might be trademarks of IBM or other companies.
A current list of IBM trademarks is available on the Web at "Copyright and
trademark information" at www.ibm.com/legal/copytrade.shtml.
Adobe, Acrobat, PostScript and all Adobe-based trademarks are either registered
trademarks or trademarks of Adobe Systems Incorporated in the United States,
other countries, or both.
Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo,
Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or
registered trademarks of Intel Corporation or its subsidiaries in the United States
and other countries.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of
Microsoft Corporation in the United States, other countries, or both.
UNIX is a registered trademark of The Open Group in the United States and other
countries.
Notices 417
Java and all Java-based trademarks and logos are trademarks or registered
trademarks of Oracle and/or its affiliates.
418 IBM Security Access Manager for Web Version 7.0: Administration Guide
Index
A ACL (continued)
access control, managing 81
ACL (continued)
policies (continued)
access ACL entries, creating 95 viewing with Web Portal
control lists 16, 47, 87 administrator 45 Manager 90
decision information 125 attaching 93 request, resolving 51
accessibility xvii attachment location with Web Sun Java System, applying to 397
accessmanager.gif file 30 Portal Manager 94 aclMembership entry 331
accountability 6 authorization rules 43 action
accounts, user and group 153 cloning 90 /Management/Action
ACL creating 88 permissions 56
applying to z/OS 402 creating extended attributes 98 bits 84
commands creating with Web Portal commands
ACL entry, creating 96 Manager 88 action create 105
attaching ACL policy 93 default 53 action delete 106
creating extended attributes 98, default config 54 create 105
99 default GSO 55 deleting 106
deleting ACL policy 95 default management 54 group create 103
deleting attributes 101 default policy 55 group delete 104
detaching ACL policy 94 default proxy 55 group list 103
listing ACL policies 90 default replica 54 listing 105
listing attribute 100 default-domain 55 creating 104
locating ACL policy 94 default-root 54 deleting with Web Portal
modifying ACL policy deleting 95 Manager 106
description 89 deleting extended attributes with description 84
modifying extended attributes 99 pdadmin 101 groups
modifying permissions 97 deleting extended attributes with actions, creating 104
removing ACL entries 98 Web Portal Manager 101 creating 102
viewing ACL entry 90 deleting with Web Portal custom 85
viewing attributes 101 Manager 95 custom scenario 86
control permission 50 description, modifying 89 deleting 104
default policies, administration 53 detaching 93 guidelines 102
Directory Server, applying to 394 entry permissions, modifying 96 listing all 103
entries evaluating 41 management tasks 102
ACL policy, creating 95 exporting 91, 92 overview 84
attributes, required 82 exporting multiple 92 permissions in primary group 84
creating with Web Portal extended attributes, deleting 101 permissions, listing 105
Manager 96 finding 94 representation of 86
custom permissions 86 group management 206 when to create 85
ID attribute 83 importing 91 list command 105
managing 95 inheritance example 52 listing 105
managing extended attributes list extended attributes with Web managing extended attributes in 104
in 98 Portal Manager 100 permissions
modifying permissions with Web listing extended attributes 100 managing 56
Portal Manager 96 listing in domain 89 permissions, creating
permissions attribute 84 locating 94 groups 104
permissions, custom 85 management tasks 87 action groups
permissions, default 84 modifying with Web Portal actions, creating 104
permissions, modifying 96 Manager 89 create command 103
removing from ACL policy 97 object types, different 52 delete command 104
removing with Web Portal operations on an object 40 deleting permissions 106
Manager 97 permissions 47 deleting with Web Portal
type attribute 83 policy inheritance example 52 Manager 104
examples, adding to suffixes 394 removing ACL entries 97 list command 103
explicit versus inherited 49 security considerations 81 listing with Web Portal Manager 103
LDAP suffixes 392 security policy 39 Active Directory
management user management 207 dynamic group 168
ACL permissions 56 viewing 90 Lightweight Directory Service
permissions 55 viewing extended attributes 100 considerations 374
policies 81 viewing extended attributes with Active Directory server
object types, policy application 52 Web Portal Manager 100 activedir.conf 222
permissions, managing 55, 56 adding a user 407
policies 47
420 IBM Security Access Manager for Web Version 7.0: Administration Guide
authorization (continued) azn-app-host entry 233 cache-enabled entry
server azn-server-name entry 233 ldap stanza, ivacld.conf 293
automatic startup, preventing 188 aznapi-admin-services stanza ldap stanza, ivmgrd.conf 293
configuration file 219 description 229 ldap stanza, ldap.conf 306
ivacld.conf 219 service-id entry 230 ldap stanza, pdmgrproxyd.conf 293
key and stash files 171 aznapi-configuration stanza cache-group-expire-time entry 293
pdacld server process 181 audit-attribute entry 232 cache-group-membership entry 294
starting 185 azn-app-host entry 233 cache-group-size entry 294
service azn-server-name entry 233 cache-lifetime entry 354
authorization API 13 cache-refresh-interval entry 234 cache-mode entry 353
benefits 10 cred-attributes-entitlement-services cache-policy-expire-time entry 295
components 12 entry 235 cache-policy-size entry 295
decisions 9 db-file entry 235 cache-refresh-interval entry 234
definition 12 description 231 cache-return-registry-id entry 296
deploying external 23 dynamic-adi-entitlement-services cache-size entry 354
extending 20 entry 236 cache-use-user-cache entry 296
external 20 input-adi-xml-prolog entry 237 cache-user-expire-time entry 297
external example 21 listen-flags entry 238 cache-user-size entry 298
implementation of external 23 logcfg entry 238 cars-client stanza
interfaces 13 mode entry 239 clientPassword entry 252
overview 10 pd-user-name entry 240 clientUserName entry 253
performance 14 pd-user-pwd entry 240 compress entry 250
step-by-step process 16 permission-info-returned entry 240 description 250
authorization API policy-cache-size entry 241 diskCachePath entry 251
examples 18 resource-manager-provided-adi doAudit entry 252
authorize-group-list entry 268 entry 242 errorFilePath entry 253
authzrule xsl-stylesheet-prolog entry 243 flushInterval entry 254
commands aznapi-cred-modification-services stanza hiWater entry 256
attach 150 description 243 keyFilePath entry 254
creating 146 service-id entry 244 lowWater entry 255
delete 152 aznapi-entitlement-services stanza maxCacheFiles entry 256
deleting 152 description 245 maxCacheFileSize entry 257
detaching 151 service-id entry 245 maxErrorFiles entry 257
find 152 aznapi-external-authzn-services stanza maxErrorFileSize entry 257
listing 147 description 247 maxTraceFiles entry 258
locating 152 policy-trigger entry 247 maxTraceFileSize entry 258
modify 147 aznapi-pac-services stanza numberCMThreads entry 259
modifying 147 description 249 numberEQThreads entry 259
create command 146 service-id entry 249 numberRetries entry 260
auto-database-update-notify entry 188, aznAPI.conf configuration file 222 queueSize entry 260
278 rebindInterval entry 260
automatic certificate and password retryInterval entry 261
refresh 171
azn_cred_groups attribute 138
B serverURL entry 261
stashFilePath entry 262
bannerFile entry 332
azn_cred_principal_name attribute 138 traceFilePath entry 263
bassslcfg utility 178
azn_cred_registry_id attribute 138 traceLevel entry 262
benefits, authorization service 10
azn_decision_access_allowed_ext () transferSize entry 264
bind-dn entry 292
method 126 useDiskCache entry 264
bind-id entry 353
azn_decision_access_allowed_ext() cars-filter
Boolean
method 141 auditevent entry 265
configuration file entries 215
azn_decision_access_allowed() description 264
stanza entries 215
method 140 centralized management 6
values 215
azn_engine_requested_actions cert-ldap entry 226
boot-start-[instance-]ivacld entry 326
attribute 127 cert-uraf entry 227
boot-start-ivacld command 188
azn_engine_target_resource attribute 127 certificate
boot-start-ivmgrd command 188
azn_entitlement_get_entitlements() and passwords, refresh 171
boot-start-ivmgrd entry 327
call 143 authority
boot-start-pdmgrproxyd command 188
azn_entitlement_get_entitlements() (CA) 169
boot-start-pdproxyd entry 328
method 135 definition 169
azn_init_set_perminfo_attrs determining trust 172
attribute 140 management tasks 169
azn_init_set_perminfo_attrs initialization C certificates
parameter 141 ca-cert-download-enabled entry 279 automatic refresh 171
azn_perminfo_reason_rule_failed cache-account-policy entry FTP 177
attribute 141 ldap stanza, ldap.conf 306, 314 initial configuration 170
azn_perminfo_rules_adi_request cache-database entry 322 revocation 178
attribute 140, 143 update utilities 171
Index 421
change-pwd-using-ldap-api entry commands (continued) configuration (continued)
uraf-registry stanza, pop files (continued)
activedir_ldap.conf 361 attaching 115 LDAP client with Active Directory
changePassword entry 333 creating 110 server 221
chgcert option of svrsslcfg delete 117 LDAP server 221
command 178 detaching 116 ldap.conf 217, 221
clientPassword entry 252 listing 111 pd.conf 217, 219
clientUserName entry 253 locating 116 pdaudit.instance-webseald-
cloning POPs 112 modifying 111 host.conf 217
commands modifying set ipauth 120 pdaudit.server.conf 217
acl modifying set ipauth adding 121 pdaudit.appsvr.conf 217
attaching policy 93 modifying set ipauth pdaudit.conf 222
creating attributes 98, 99 removing 121 pdaudit.pdacld.conf 217
creating entry 96 viewing 112 pdaudit.pdmgr.conf 217
creating policy 88 server replicate 189 pdaudit.pdproxymgr.conf 217
deleting attributes 101 setting single user 159 pdaudit.webpi.conf 217
deleting policy 95 svrsslcfg -unconfig 178 pdmgrproxyd.conf 217, 220
detaching policy 94 user policy proxy server 220
list 90 creating 155 policy server 220
list attribute 100 delete 163 resource managers 222
locating policy 94 importing 162 runtime 219
modifying attributes 99 list 207 server 187
modifying description 89 list-dn 207 string values 214
modifying permission 97 listing 156 settings, changing 187
removing entries from policy 98 modifying password 157 stanzas 225
viewing attributes 101 show groups 207 configuration-database stanza
viewing policy 90 common audit service description 266
action delete 106 disabling audit 252 file entry 267
action groups enabling audit 252 configured entry 328
creating 103 communication connection-inactivity entry
deleting 104 FIPS mode 3 ldap stanza, ldap.conf 307
action listing 105 SSL 3 constraints, authorization rules 135
action listing group 103 TLS 3 container
actions compress entry 250 creating with Web Portal
in action group, creating 105 config Manager 203
authzrule attaching 150 ACL (default) 54 names
authzrule creating 146 option, bassslcfg 178 ADI containers 129
authzrule deleting 152 permissions, managing 58 limitations 130
authzrule detaching 151 configuration object 203
authzrule listing 147 /Management/Config creating with pdadmin 204
authzrule locating 152 permissions 58 groups 204
authzrule modifying 147 entries objects
bassslcfg 178 dynamic-adi-entitlement- creating 203
domain services 143 hierarchy 37
creating 64 input-adi-xml-prolog 143 security considerations 81
domain delete 66 resource-manager-provided- context
listing 66 adi 143 information
modifying description 65 xsl-stylesheet-prolog 143 application 126
global user, setting 161 files authorization engine 127
group Active Directory server 222 control permission 50
creating 164 activedir_ldap.conf 217, 221 core technologies 1
group create 205 activedir.conf 222 cred-attributes-entitlement-services
group delete 167 amconf.properties 217, 222 entry 235
group importing 166 authorization server 219 credential entitlements 126
group listing 165 aznAPI.conf 217, 222 cross-site request forgery attacks 29
group support, enabling 167 Boolean values 215 custom
login 63 changing 213 action groups
object Common Auditing Service 222 representation in ACL entries 86
creating 76 default location 219 scenario 86
creating container objects 204 default values 214
deleting 79 defined strings 214
object listing 77
object space
file names 214
general guidelines 213
D
data
creating 70 guidelines 213
integrity, with RAID 193
deleting 73 integer values 215
redundancy 193
listing 71 ivacld.conf 217, 219
database
pdadmin group import 166 ivmgrd.conf 217, 220
master authorization 10
422 IBM Security Access Manager for Web Version 7.0: Administration Guide
database (continued) domain (continued) dynamic-groups-enabled entry (continued)
path for user registry 195 commands (continued) uraf-registry stanza,
replica authorization 10 domain delete command 66 activedir_ldap.conf 363
database-path entry list 66
domain=domain_name stanza 270 modify command 65
domains stanza 270
ivmgrd stanza 279
creating
with pdadmin 64
E
education xviii
db-file entry 235 with Web Portal Manager 64
enable-last-login entry 290
DB2 xvi definition 35
enabled entry
debug entry 333 deleting
ldap stanza, ldap.conf 308
default with pdadmin 66
uraf-registry stanza,
administration ACL 53 with Web Portal Manager 66
activedir_ldap.conf 364
config ACL 54 description, changing 64
uraf-registry stanza,
domain ACL 55 enterprise 197
activedir.conf 358
GSO ACL 55 entry
encryption
management ACL 54 domain=domain_name
GSKit 3
policy ACL 55 stanza 271
JSSE 3
proxy ACL 55 domains stanza 271
supported ciphers 3
replica ACL 54 listing 65
enhanced-pwd-policy
root ACL 50, 54 with pdadmin 66
entry 287
security policy 45 with Web Portal Manager 65
Tivoli Directory Server 289
default-config ACL policy 54 logging on 63
enterprise domain 197
default-policy-override-support with pdadmin 63
entitlements
entry 298 with Web Portal Manager 63
example, XML 132
delegated managing (overview) 63
retrieval entitlement services 127
administration modifying 64
user credential 126
managing policy 208 with pdadmin 65
entries
administration policy, managing 208 with Web Portal Manager 65
aclMembership 331
role, administration 199 multiple 197
ad-gc-port 370
delegated administration name, adding 405
ad-gc-server 370
example 201 permissions, managing 61
allowed-registry-substrings 269
group ACL permissions 206 subdomain 197
am610compat 286
group container objects 203 superdomain 197
AttributeName 372
illustrated 197 domain entry
audit-attribute 232
object space management 200 uraf-registry stanza,
auditevent 265
overview 27 activedir_ldap.conf 362
auth-using-compare 291
self-care 28 uraf-registry stanza,
authMethod 332
self-registration 28 activedir.conf 357
authn-timeout 291
user management 207 domain=domain_name stanza
authorize-group-list 268
users and groups 45 allowed-registry-substrings entry 269
auto-database-update-notify 278
delegated management database-path entry 270
azn-app-host 233
administration users and groups 201 domain entry 271
azn-server-name 233
group management 202 domains
bannerFile 332
delegated-admin stanza managing domain permissions 61
bind-dn 292
authorize-group-list entry 268 stanza
bind-id 353
description 268 allowed-registry-substrings
boot-start-[instance-]ivacld 326
delimiters, authorization rules entry 269
boot-start-ivmgrd 327
evaluator 134 database-path entry 270
boot-start-pdproxyd 328
dependencies, server 183 description 269
ca-cert-download-enabled 279
deployment, administrator 45 domain entry 271
cache-account-policy
diagnostic events, overview 211 dynamic
ldap stanza, ldap.conf 306, 314
disallow-trailing-spaced-usernames group
cache-database 322
entry 338 Active Directory 168
cache-enabled 293
diskCachePath entry 251 enabling 167
cache-group-expire-time 293
dnforpd entry LDAP registry 168
cache-group-membership 294
uraf-registry stanza, support 38, 166
cache-group-size 294
activedir_ldap.conf 362 dynamic ADI 127
cache-lifetime 354
uraf-registry stanza, retrieval entitlement services 143
cache-mode 353
activedir.conf 357 dynamic-adi-entitlement-services
cache-policy-expire-time 295
doAudit entry 252 configuration entry 143
cache-policy-size 295
document, ADI model 128 dynamic-adi-entitlement-services
cache-refresh-interval 234
domain entry 236
cache-return-registry-id 296
ACL (default) 55 dynamic-groups-enabled entry
cache-size 354
administrator 153, 197 ldap stanza
cache-use-user-cache 296
administrator (sec_master) 38 ldap.conf 308
cache-user-expire-time 297
commands uraf-registry stanza
cache-user-size 298
create command 64 activedir.conf 358
cert-ldap 226
Index 423
entries (continued) entries (continued) entries (continued)
cert-uraf 227 numberCMThreads 259 user-and-group-in-same-suffix 305
change-pwd-using-ldap-api 361 numberEQThreads 259 user-reg-host 330
changePassword 333 numberRetries 260 user-reg-hostport 330
clientPassword 252 passwd-ldap 228 user-reg-server 330
clientUserName 253 passwd-uraf 228 user-reg-type 330
compress 250 pd-user-name 240 UseSSL 371
configured 328 pd-user-pwd 240 version 318
connection-inactivity 307 permission-info-returned 240 wasEmbedded 336
cred-attributes-entitlement- permit-unauth-remote-caller 274 xsl-stylesheet-prolog 243
services 235 pid-file 274 errorFilePath entry 253
database-path 270 policy-cache-size 241 evaluation process, authorization 21
db-file 235 policy-trigger 247 evaluator, authorization rules 134
debug 333 port 301 events
default-policy-override-support 298 prefer-readwrite-server 301 auditing 211
disallow-trailing-spaced- primary-domain 366 diagnostic 211
usernames 338 provide-last-login 277 messages 211
diskCachePath 251 provide-last-pwd-change 278 statistics 211
dnforpd 357 queueSize 260 trace 211
doAudit 252 rebindInterval 260 examples
domain 271 replica 313 custom permissions 85
dynamic-adi-entitlement-services 236 resource-manager-provided-adi 242 external authorization service 21
dynamic-groups-enabled 308 retryInterval 261 explicit
enable-last-login 290 search-timeout 302 ACL 49
enabled 308 secauthority-suffix 313 policy 15
enhanced-pwd-policy 287 serverURL 261 extended attributes
errorFilePath 253 service-id 230 ACL policies
file 267 splashGif 336 creating 98
flushInterval 254 ssl-authn-type 337 deleting 101
hiWater 256 ssl-auto-refresh 337 deleting with pdadmin 101
host 309 ssl-cert-life 338 deleting with Web Portal
hostname 359 ssl-compliance 339 Manager 101
ignore-suffix 310 ssl-enable-fips 340 viewing 100
infoBarGif 334 ssl-enabled 302 listing ACL policies 100
input-adi-xml-prolog 237 ssl-enhanced-security 340 Extensible
jrteHost 334 ssl-io-inactivity-timeout 341 Markup Language 128
jrteProps 335 ssl-keyfile 303 Style Language 128
keyFilePath 254 ssl-keyfile-dn 304 external authorization service
ldap-client-timeout 364 ssl-keyfile-label 343 deploying 23
ldap-server-config 299 ssl-keyfile-pwd 368 implementing 23
LdapSSL 318 ssl-keyfile-stash 343 introduction 20
LdapSSLKeyFile 319 ssl-listening-port 343
LdapSSLKeyFileDn 320 ssl-local-domain 344
LdapSSLKeyFilePwd 321
listen-flags 238
ssl-maximum-worker-threads 345
ssl-port 314
F
failover
log-file 272 ssl-pwd-life 345
configuration
logcfg 238 ssl-session-cache-size 347
capability 388
login-failures-persistent 300 ssl-v2-enable 346
replication 387
loginGif 335 ssl-v3-cipher-specs 348
Federal Information Processing
lowWater 255 ssl-v3-timeout 346
Standards 3
management-domain 316 standby 284
file, stanza entry 267
master-host 317 stashFilePath 262
files
master-port 317 tcp-req-port 275
accessmanager.gif 30
max-connections-per-ad-domain 365 tivoli_common_dir 329
Active Directory server 222
max-notifier-threads 282 tls-v10-cipher-specs 349
activedir_ldap.conf 221
max-search-size 300 tls-v11-cipher-specs 350
activedir.conf 222
max-server-connections 311 tls-v12-cipher-specs 350
amconf.properties 222
maxCacheFiles 256 traceFilePath 263
authorization server 219
maxCacheFileSize 257 traceLevel 262
aznAPI.conf 222
maxErrorFiles 257 transferSize 264
Common Auditing Service 222
maxErrorFileSize 257 unix-group 276
configuration 219
maxTraceFiles 258 unix-user 276, 285
default location 219
maxTraceFileSize 258 uraf-registry-config 355
ivacld.conf 219
mode 239 uraf-return-registry-id 356
ivmgrd.conf 220
multi-domain 359 use-email-as-user-id 369
LDAP client with Active Directory
notifier-wait-time 282 useDiskCache 264
server 221
novell-suffix-search-enabled 311 useEncryption 360
LDAP server 221
424 IBM Security Access Manager for Web Version 7.0: Administration Guide
files (continued) groups (continued) IP addresses
ldap.conf 221 managing groups permissions 60 adding network-based authorization
pdaudit.conf 222 permissions for POPs 121
pdmgrproxyd.conf 220 managing 60 deleting network-based authorization
policy proxy server 220 modifying 96 for POPs 121
policy server 220 removing ACL entries from ACL for POPs 120
regAdmin.jsp 32 policies 97 forbidding network-based
regControl.jsp 32 searching 165 authorization for POPs 121
regProp.jsp 32 type attribute 83 iPlanet 387
renewal guidelines 178 gskcapicmd xvi iv-admin group 38, 45
renewing 171 gskikm.jar xvi ivacld instances 328
resource managers 222 GSKit documentation xvi ivacld stanza
runtime 219 GSO description 271
stash renewal guidelines 178 ACL (default) 55 log-file entry 272
FIPS managing GSO permissions 61 logcfg entry 273
140-2 4 permissions permit-unauth-remote-caller
communication 3 managing 61 entry 274
flushInterval entry 254 guidelines pid-file entry 274
format, authorization rules 135 key file renewal 178 tcp-req-port entry 275
framework, descriptions 1 secure object space 43 unix-group entry 276
FTP 177 stash file renewal 178 unix-user entry 276
ivacld-instances 328
ivacld.conf configuration file 219
G H ivacld.kdb key file 171
ivacld.sth stash file 171
GIF files, accessmanager.gif 30 HACMP
ivmgrd stanza
global environment 193
am610compat entry 286
sign-on 61 guidelines for cluster 193
auto-database-update-notify
user policy, setting 160 high availability
entry 278
group policy server 193
ca-cert-download-enabled entry 279
accounts 153 High Availability Cluster
database-path 279
commands Multiprocessing 193
description 277
creating group 164 hiWater entry 256
log-file entry 280
creating groups 205 host entry 309
logcfg entry 281
deleting 167 hostname entry 359
max-notifier-threads entry 282
importing 166
notifier-wait-time entry 282
container objects, creating 203
pid-file entry 283
dynamic 166
group create command 205
I provide-last-login entry 277
IBM provide-last-pwd-change entry 278
importing 166
Software Support xviii standby entry 284
management 206
Support Assistant xviii tcp-req-port entry 284
groups
IBM Security Access Manager runtime unix-group entry 285
ACL entry to ACL policy, adding 95
package 171 unix-user entry 285
commands
ID attribute 83 ivmgrd-servers group 45
importing using pdadmin 166
ignore-suffix entry 310 ivmgrd.conf configuration file 220
listing 165
iKeyman xvi ivmgrd.kdb key file 171
creating
infoBarGif entry 334 ivmgrd.sth stash file 171
with pdadmin 164
inherited
with Web Portal Manager 164
ACL 49, 52
definition 153
delegating management 202
policy 15
initialization
J
deleting Java runtime applications
attributes
with pdadmin 167 certification
dynamic-adi-entitlement-
with Web Portal Manager 167 reconfiguration 174
services 143
dynamic 38, 167 updating 174
initialization attributes
importing files backup 174
configuring 142
with pdadmin 166 jrteHost entry 334
input-adi-xml-prolog 143
with Web Portal Manager 166 jrteProps entry 335
resource-manager-provided-adi 143
in container objects, creating with Web JSP files
xmladi-attribute-definitions 144
Portal Manager 204 regAdmin.jsp 32
xsl-stylesheet-prolog 143
iv-admin 38 regControl.jsp 32
input-adi-xml-prolog configuration
iv-admin group 45 regProp.jsp 32
entry 143
ivmgrd-servers 45
input-adi-xml-prolog entry 237
listing
integrity of data 193
with pdadmin 165
with Web Portal Manager 165
introduction K
Security Access Manager 1 key files
management tasks 153, 164
Web Portal Manager 7 definition 169
managing accounts 153
Index 425
key files (continued) ldap stanza (continued) Management/ACL permissions 56
ivacld.kdb 171 ignore-suffix entry 310 Management/Action permissions 56
ivmgrd.kdb 171 ivacld.conf 287 Management/Config permissions 58
pd.kdb 171 ivmgrd.conf 287 Management/Domain permissions 61
pdmgrproxyd.kdb 171 ldap-server-config entry 299 Management/Groups permissions 60
renewal guidelines 178 ldap.conf 306 Management/GSO permissions 61
renewing 171 login-failures-persistent entry 300 Management/Policy permissions 58
key management, GSKit xvi max-search-size entry 300 Management/POP permissions 57
keyFilePath entry 254 max-server-connections entry 311 Management/Proxy permissions 61
keystores, definition 169 novell-suffix-search-enabled Management/Replica permissions 58
entry 311 Management/Rule permissions 61
pdmgrproxyd.conf 287 Management/Server permissions 57
L port entry 301
prefer-readwrite-server entry 301
Management/Users permissions 59
manager stanza
LDAP
replica entry 313 description 316
ACLs
search-timeout entry 302 management-domain entry 316
applying 392
secauthority-suffix entry 313 master-host entry 317
applying to Directory Server 394
ssl-enabled entry 302 master-host port entry 317
applying to Sun Java System 397
ssl-enhanced-security 340 master-host entry 317
applying ACLs to z/OS 402
ssl-keyfile entry 303 master-port entry 317
as user registry 391
ssl-keyfile-dn entry 304 max-connections-per-ad-domain entry
client
ssl-keyfile-pwd entry 305 uraf-registry stanza,
activedir_ldap.conf 221
ssl-port entry 314 activedir.conf 365
with Active Directory server 221
user registry 287 max-notifier-threads entry 190, 282
concerns 373
user-and-group-in-same-suffix max-search-size entry
examples, adding ACLs 394
entry 305 ldap stanza, ivacld.conf 300
failover
user-search-filter entry 315 ldap stanza, ivmgrd.conf 300
capability 388
LDAP_ADMINLIMIT_EXCEEDED 374 ldap stanza, ldap.conf 310
configuration 387
ldap-client-timeout entry 364 ldap stanza, pdmgrproxyd.conf 300
preference values 390
ldap-generic-acls (internal use) 221 max-server-connections entry
ldap.conf 306
ldap-generic-general (internal use) 221 ldap stanza, ldap.conf 311
master server 389
ldap-generic-pwd-change-error-map maxCacheFiles entry 256
password history policy 404
(internal use) 221 maxCacheFileSize entry 257
polling 391
ldap-server-config entry 299 maxErrorFiles entry 257
registry, enabling dynamic
ldap.conf configuration file 221, 389 maxErrorFileSize entry 257
groups 168
LdapSSL entry 318 maxTraceFiles entry 258
replica server 389
LdapSSLKeyFile entry 319 maxTraceFileSize entry 258
replication model 388
LdapSSLKeyFileDn entry 320 messages 211
server
LdapSSLKeyFilePwd entry 321 meta-info stanza
accounts 289
Linux servers 184 description 318
failover 193
listen-flags entry 238 version entry 318
ldap.conf 221
local cache mode 17, 19 mode entry 239
valid characters for names 391
log-file entry model
LDAP server on z/OS xvi
ivacld stanza 272 authorization 9
ldap stanza
ivmgrd stanza 280 document, ADI 128
auth-using-compare entry 291
pdmgrproxyd stanza 323 modes
authn-timeout entry 291
logcfg entry authorization API
bind-dn entry 292
aznapi-configuration stanza 238 local cache 19
cache-account-policy entry
ivacld stanza 273 remote cache 19
ldap.conf 306, 314
ivmgrd stanza 281 cache
cache-enabled entry 293
pdaudit-filter stanza 321 local 17
cache-group-expire-time entry 293
login-failures-persistent entry 300 remote 17
cache-group-membership entry 294
loginGif entry 335 multi-domain entry
cache-group-size entry 294
look-through limit 374 uraf-registry stanza,
cache-policy-expire-time entry 295
lowWater entry 255 activedir_ldap.conf 365
cache-policy-size entry 295
uraf-registry stanza,
cache-return-registry-id entry 296
activedir.conf 359
cache-use-user-cache entry 296
cache-user-expire-time entry 297 M multi-factor authentication 124
multiple domain
cache-user-size entry 298 management
example 197
connection-inactivity entry 307 ACL (default) 54
illustrated 197
default-policy-override-support authorization rules 144
multiple-tenancy policy server 195
entry 298 centralized 6
dynamic-groups-enabled entry 308 delegation 200, 202
enable-last-login entry 290 domain 35
enabled entry 308 interface 13 N
enhanced-pwd-policy entry 287 region permissions 55 name length 377
host entry 309 management-domain entry 316
426 IBM Security Access Manager for Web Version 7.0: Administration Guide
network-based authorization object space (continued) pdmgrproxyd stanza
adding for POPs 121 exporting with Web Portal cache-database entry 322
algorithm 117 Manager 72 description 322
deleting for POPs 121 importing with Web Portal log-file entry 323
forbidding or POPs 121 Manager 72 pid-file entry 324
IP addresses and ranges 120 listing tcp-req-port entry 324
limitations 117 with pdadmin 71 unix-group entry 325
notification delay time 190 with Web Portal Manager 71 unix-user entry 326
notifier-wait-time entry 190, 282 management tasks 69 pdmgrproxyd.conf configuration file 220
Novell server resource objects 69 pdmgrproxyd.kdb key file 171
maintenance activities 413 objectspace delete command 73 pdmgrproxyd.sth stash file 171
managing 411 objectspace list command 71 pdrte stanza
updating eDirectory schema online boot-start-[instance-]ivacld entry 326
(iManager) 411, 412 publications xiii boot-start-ivmgrd entry 327
novell-suffix-search-enabled entry terminology xiii boot-start-pdproxyd entry 328
ldap stanza, ldap.conf 311 overview, Security Access Manager 1 configured 328
numberCMThreads entry 259 description 326
numberEQThreads entry 259 tivoli_common_dir entry 329
numberRetries entry 260 P user-reg-host entry 330
user-reg-hostport entry 330
passwd-ldap entry 228
user-reg-server entry 330
passwd-uraf entry 228
O password
user-reg-type entry 330
pdwpm stanza
object automatic refresh 171
aclMembership entry 331
commands changing 156
authMethod entry 332
creating 76 history policy 404
bannerFile entry 332
creating group 204 management tasks 169
changePassword entry 333
deleting 79 policy, LDAP 373
debug entry 333
listing 77 troubleshooting 199
description 331
create command 204 pd_start utility
infoBarGif entry 334
creating servers
jrteHost entry 334
from parent object 75 restarting 185
jrteProps entry 335
from root 75 starting 184
loginGif entry 335
with pdadmin 76 status, displaying 185
splashGif entry 336
delete command 79 stopping servers 185
wasEmbedded entry 336
deleting pd-user-name entry 240
permission_info attribute list 141
with pdadmin 79 pd-user-pwd entry 240
permission-info-returned entry 240
with Web Portal Manager 79 pd.conf configuration file 219
permissions
exporting with Web Portal pd.kdb key file 171
/Management/ACL permissions 56
Manager 78 pd.sth stash file 171
/Management/Action
importing with Web Portal pdacld server process
permissions 56
Manager 78 authorization server 181
/Management/Config
list command 77 starting 185
permissions 58
listing with pdadmin 77 pdadmin
/Management/Domain
listing with Web Portal Manager 77 CLI, mapping to Web Portal
permissions 61
management tasks 75 Manager 379
/Management/Groups
parent object, creating from 76 command interface 7
permissions 60
root, creating from 75 definition 25
/Management/GSO permissions 61
space pdaudit-filter stanza
/Management/Policy permissions 58
creating 69 description 321
/Management/POP permissions 57
deleting 73 logcfg entry 321
/Management/Proxy permissions 61
object space pdaudit.conf configuration file 222
/Management/Replica
browsing 71 PDCA
permissions 58
commands certificate 170
/Management/Rule permissions 61
creating 70 policy server, reconfiguring 173
/Management/Server
deleting 73 pdconfig stanza
permissions 57
listing 71 description 318
/Management/Users permissions 59
container objects 69 LdapSSL entry 318
ACL entry to ACL policy, adding 95
copying 71 LdapSSLKeyFile entry 319
actions, creating 104
create command 70 LdapSSLKeyFileDn entry 320
administration users 45
creating LdapSSLKeyFilePwd entry 321
attribute behaviors 84
with pdadmin 70 pdmgr 12
attribute, represented in ACL
with Web Portal Manager 69 pdmgrd server process
entries 86
definition 37 policy server 181
control 50
delegation management 200, 201 starting 185
custom 85
deleting pdmgrproxyd server process
defaults 84
with pdadmin 73 policy proxy server 181
deleting from action group 106
with Web Portal Manager 73 starting 185
Index 427
permissions (continued) POP (continued) primary group, default permissions 84
iv-admin group 45 audit level 119 primary-domain entry 366
listing for action group 105 configuring 118 problem-determination xviii
modifying 96 management tasks 108 prolog statements 143
protected resources, control 84 setting 118 protected
roles 199 time of day 119 object management tasks 75
sec_master 45 warning mode 118 object space 37
traverse (T) 50 authorization rules 43 object space guidelines 43
permit-unauth-remote-caller entry 274 cloning 112 resource administrator 45
pid-file entry creating protected object
ivacld stanza 274 with pdadmin 110 See also POP
ivmgrd stanza 283 with Web Portal Manager 109 policy 39, 107
pdmgrproxyd stanza 324 definition 16, 39 attributes 47
policy delete command 117 enforcement 47
ACL deleting permissions 57
default 55 with pdadmin 117 provide-last-login entry 277
deleting extended attributes with with Web Portal Manager 116 provide-last-pwd-change entry 278
pdadmin 101 deleting network-based proxy
deleting extended attributes with authorization 121 ACL (default) 55
Web Portal Manager 101 detaching permissions, managing 61
list in domain 89 with pdadmin 116 publications
authorization rules 49 with Web Portal Manager 115 accessing online xiii
commands exporting list of for this product xiii
set all users 161 all 113 pwdMustChange option, policy
set single user 159 multiple 114 server 289
database for each domain 12 one with Web Portal Manager 114
detaching with Web Portal find command 116
Manager 93
enforcer 9
forbidding network-based
authorization 121
Q
QoP 2
global, disabling 289 importing with Web Portal
Quality of Protection
permissions, managing 58 Manager 113
introduction 2
POP 42 introducing 107
setting 122
protected object policy (POP) 42 listing
queueSize entry 260
proxy server with pdadmin 111
demilitarized zone 182 with Web Portal Manager 111
firewall server 182 locating
gateway server 182 with pdadmin 116 R
introducing 182 with Web Portal Manager 116 RAID 193
server management tasks 108 reason codes
automatic startup, preventing 188 managing permissions 57 access decision 141
global policies 289 modify set ipauth add command 121 conditions for return 141
overview 12 modify set ipauth remove forwarding to protected web
pdmgrd server process 181 command 121 application 141
pwdMustChange option 289 modifying rule failure 141
policy proxy server with pdadmin 111 rebindInterval entry 260
automatic startup, preventing 188 with Web Portal Manager 110 redundancy of data 193
configuration file 220 network-based authorization 117 regAdmin.jsp file 32
key and stash files 171 object regControl.jsp file 32
pdmgrproxyd server process 181 attach 114 regProp.jsp file 32
pdmgrproxyd.conf 220 detaching 115 remote cache mode 17, 19
starting 185 permissions, managing 57 renewals
policy server policies 42 key files 171
configuration file 220 protection 122 stash files 171
high availability of 193 set ipauth command 120 replica 390
ivmgrd.conf 220 show command 111, 112 ACL (default) 54
key and stash files 171 showing 112 databases, synchronizing 190
PDCA, reconfiguring 173 specifying 120 entry 313
starting 185 viewing permissions, managing 58
policy-cache-size entry 241 with pdadmin 112 replication
policy-trigger entry 247 with Web Portal Manager 112 authorization database 188
POP port entry performance 13
adding authorization 121 ldap stanza, ivacld.conf 301 scalability 13
attach command 115 ldap stanza, ivmgrd.conf 301 requests
attaching ldap stanza, ldap.conf 312 authenticated 41
with pdadmin 115 ldap stanza, pdmgrproxyd.conf 301 unauthenticated 42
with Web Portal Manager 115 prefer-readwrite-server entry 301 resource
attributes 47, 107 preference values (LDAP failover) 390 manager 9
428 IBM Security Access Manager for Web Version 7.0: Administration Guide
resource (continued) security (continued) ssl stanza (continued)
aznAPI.conf 222 standards (continued) ssl-keyfile entry 342
configuration file 222 configuration 3 ssl-keyfile-label entry 343
requesting ADI 140 FIPS 140-2 4 ssl-keyfile-stash entry 343
objects 37 Java properties 5 ssl-listening-port entry 343
requests, example conditions 21 SP 800-131a 4 ssl-maximum-worker-threads
resource-manager-provided-adi Suite B 5 entry 345
configuration entry 143 Suite B 5 ssl-pwd-life entry 345
resource-manager-provided-adi self-care, description 28 ssl-session-cache-size entry 347
entry 242 self-registration ssl-v2-enable entry 346
restriction, ADI XML document description 31 ssl-v3-cipher-specs entry 348
model 130 Java Server Pages 32 ssl-v3-timeout entry 346
retrieval overview 28 tls-v10-cipher-specs entry 349
entitlement services 143 scenario 31 tls-v11-cipher-specs entry 350
entitlements service 127 server tls-v12-cipher-specs entry 350
retrieval entitlements service 127 automatic startup 187 ssl-authn-type entry 337
retryInterval entry 261 configuration files 187 ssl-auto-refresh entry 337
roles dependencies 183 ssl-cert-life entry 338
activation 200 HACMP cluster 193 ssl-compliance entry 339
assignment 200 LDAP 193 ssl-enable-fips entry 340
creation 200 management 181 ssl-enabled entry 302
defined 199 management tasks 184 ssl-enhanced-security entry 340
delegate 199 permissions, managing 57 ssl-io-inactivity-timeout entry 341
permissions 199 primary and standby 193 ssl-keyfile entry
root replicating 189 ldap stanza 303
ACL restart with pd_start utility 185 ssl stanza 342
default 50, 54 server replicate command 189 uraf-registry stanza,
policy replacement by starting activedir_ldap.conf 366
administrator 50 manually 185 ssl-keyfile-dn entry 304
users and permissions 50 with the pd_start utility 184 ssl-keyfile-label entry
rule starting and stopping ssl stanza 343
failure reason code 141 UNIX 184 uraf-registry stanza,
permissions Windows 185 activedir_ldap.conf 367
authorization 61 status, displaying 185 ssl-keyfile-pwd entry 305, 368
managing 61 stopping ssl-keyfile-stash entry 343
runtime using the pd_start utility 185 ssl-listening-port entry 343
configuration file 219 with Windows Services control ssl-local-domain entry
pd.conf 219 panel 186 ssl stanza, ivacld.conf 344
reconfiguring secure serverURL entry 261 ssl stanza, ivmgrd.conf 344
communication 176 service-id entry ssl stanza, pd.conf 344
aznapi-admin-services stanza 230 ssl stanza, pdmgrproxyd.conf 344
aznapi-cred-modification-services ssl-maximum-worker-threads entry 345
S stanza 244
aznapi-entitlement-services
ssl-port entry 314
ssl-pwd-life entry 345
scalability 6, 13
stanza 245 ssl-session-cache-size 347
search-timeout entry 302
aznapi-pac-services stanza 249 ssl-v2-enable 346
sec_master 197
shared disk arrays 193 ssl-v3-cipher-specs 348
domain administrator 38
sources for ADI 127 ssl-v3-timeout entry 346
user 38, 45
SP 800-131a 4 standby entry 284
secauthority-suffix entry 313
sparse ACL model 49 stanza entries 226
secure communication, reconfiguring
splashGif entry 336 stanzas
runtime 176
SSL authentication-mechanisms 225
Secure Socket Layer 3
communication 3 aznapi-admin-services 229
security
reconfiguring runtime 176 aznapi-configuration 231
considerations
ssl stanza aznapi-cred-modification-
ACL policies 81
disallow-trailing-spaced-usernames services 243
container objects 81
entry 338 aznapi-entitlement-services 245
policy 199
ivacld.conf 337 aznapi-external-authzn-services 247
administrator 45
ivmgrd.conf 337 aznapi-pac-services 249
applying 15
pd.conf 337 cars-client 250
default 45
pdmgrproxyd.conf 337 cars-filter 264
defining 15, 47
ssl-authn-type entry 337 configuration-database 266
domain 39
ssl-auto-refresh entry 337 delegated-admin 268
implementation 14
ssl-cert-life entry 338 domain=domain_name 269
overview 7
ssl-compliance entry 339 domains 269
protected object space 39
ssl-enable-fips entry 340 general format 225
standards
ssl-io-inactivity-timeout entry 341 ivacld 271
compliance types 3
Index 429
stanzas (continued) Sun Java System Directory Server unix-user entry
ivmgrd 277 (continued) ivacld stanza 276
key-value pair 225 look-through limit 374 ivmgrd stanza 285
labels 225 superdomain 197 pdmgrproxyd stanza 326
ldap 287 svrsslcfg -unconfig command 178 update-notifier threads 190
ldap-generic-acls (internal use) 221 URAF considerations 375
ldap-generic-general (internal uraf-registry stanza
use) 221
ldap-generic-pwd-change-error-map
T activedir_ldap.conf 361, 362
activedir.conf 357
tasks
(internal use) 221 ad-gc-port entry 370
role
manager 316 ad-gc-server entry 370
activation 200
meta-info 318 bind-id entry 353
administration 200
pdaudit-filter 321 cache-lifetime entry 354
assignment 200
pdconfig 318 cache-mode entry 353
creation 200
pdmgrproxyd 322 cache-size entry 354
roles 199
pdrte 326 change-pwd-using-ldap-api
types 200
pdwpm 331 entry 361
tcp-req-port entry
uraf-registry activedir_ldap.conf 361 dynamic-groups-enabled entry 358
ivacld stanza 275
uraf-registry activedir.conf 357 hostname entry 359
ivmgrd stanza 284
uraf-registry ivacld.conf 352 ivacld.conf 352
pdmgrproxyd stanza 324
uraf-registry ivmgrd.conf 352 ivmgrd.conf 352
terminology xiii
uraf-registry pdmgrproxyd.conf 352 ldap-client-timeout entry 364
Tivoli Directory Integrator xvi
xmladi-attribute-definition 371 max-connections-per-ad-domain
Tivoli Directory Server
starting servers entry 365
related publication xvi
UNIX 184 multi-domain entry 359
tivoli_common_dir entry 329
using the pd_start utility 184 pdmgrproxyd.conf 352
TLS
using the Windows Services Control primary-domain entry 366
communication 3
Panel 186 ssl-keyfile entry 366
reconfiguring runtime 176
Windows 185 ssl-keyfile-label entry 367
tls-v10-cipher-specs 349
startup ssl-keyfile-pwd entry 368
tls-v11-cipher-specs 350
authorization server uraf-registry-config entry 355
tls-v12-cipher-specs 350
automatic startup, preventing 188 uraf-return-registry-id entry 356
trace data 211
policy proxy server useEncryption entry 360
traceFilePath entry 263
automatic startup, preventing 188 UseSSL entry 371
traceLevel entry 262
policy server uraf-registry-config entry 355
training xviii
automatic startup, preventing 188 uraf-return-registry-id entry 356
transferSize entry 264
stash files uraf-registry stanza,
Transport Layer Security 3
definition 169 activedir_ldap.conf 368
traverse permission 50
ivacld.sth 171 uraf-registry stanza,
troubleshooting xviii
ivmgrd.sth 171 activedir.conf 359
trust determination, certificates 172
pd.sth 171 use-email-as-user-id entry
type attribute
pdmgrproxyd.sth 171 uraf-registry stanza,
any-authenticated 83
renewal guidelines 178 activedir.conf 360, 369
any-other 83
renewing 171 useDiskCache entry 264
categories 83
stashFilePath entry 262 useEncryption entry 360
group 83
statistics 211 user
unauthenticated 83
status accounts 153
user 83
displaying with pd_start 185 alternate forms of user identity 410
types of
server 185 management 207
Security Access Manager servers 181
step-up passwords, changing 156
Security Access Manager utilities 184
authentication policies, global setting 160
applying 123 registries
step-up authentication Active Directory 404
configuring 122 U Active Directory server 222
levels unauthenticated Active Directory with LDAP
configuring 122 ACL entry to ACL policy, adding 95 client 221
versus multi-factor permissions, modifying 96 considerations for user names 373
authentication 124 removing ACL entries from ACL differences 373
stopping servers policies 97 LDAP server 221
pd_start utility 185 requests, evaluate 42 length of names in 377
UNIX 184 type attribute 83 managing 387
Windows 185 user 40 managing LDAP 387
string identifiers 135 UNIX servers, starting and stopping 184 managing Novell 411
subdomain 197 unix-group entry maximum values 377
Sun Java System Directory Server ivacld stanza 276 user-and-group-in-same-suffix entry 305
LDAP_ADMINLIMIT_ ivmgrd stanza 285 user-reg-host entry 330
EXCEEDED 374 pdmgrproxyd stanza 325 user-reg-hostport entry 330
430 IBM Security Access Manager for Web Version 7.0: Administration Guide
user-reg-server entry 330
user-reg-type entry 330
W
user-search-filter entry wasEmbedded entry 336
ldap stanza, ldap.conf 315 Web Portal Manager
users accessing online help 30
accounts 153 amconf.properties 222
ACL entry to ACL policy, adding 95 common tasks 28
administrator 38, 198 configuration file 222
administrator support 199 cross-site request forgery attacks 29
changing with pdadmin 157 customizing 30
commands customizing images 30
create 155 introduction 7, 25
import 162 logging on 30
list 156 rebranding 30
modify password 157 roles 25
user delete 163 signing off 30
creating 154 URL 28
with pdadmin 155 WebSphere Application Server Network
with Web Portal Manager 154 Deployment xvi
credential entitlements 126 WebSphere eXtreme Scale xvi
definition 153 Windows
delegate 199 starting and stopping servers 185
deleting wpmdelegateadmin
with pdadmin 163 description 27
with Web Portal Manager 163 tasks 27
domain administrator 197 wpmpolicyadmin
global policy description 25
setting with pdadmin 161 tasks 25
global policy, setting with Web Portal wpmregistryadmin
Manager 160 description 26
importing 162 tasks 26
with pdadmin 162 wpmwebsealadmin
withWeb Portal Manager 162 description 26
listing tasks 26
wildcards, limiting use 155
with pdadmin 156
with Web Portal Manager 156 X
management tasks 153 XML
managing users permissions 59 ADI
password with Web Portal Manager, containers and container
changing 157 names 129
permissions document model 128
managing 59 document model restriction 130
modifying 96 name/value pair attributes 130
policies authorization
compliance with operating rules 128
systems, user registries 157 entitlement document example 132
setting with pdadmin 159 namespace definitions 132
setting with Web Portal prolog statements 143
Manager 158 xmladi-attribute-definition stanza
removing ACL entries from ACL AttributeName entry 372
policies 97 definition 371
searching 155 XSL
sec_master 38, 45 authorization
sec_master administrator 197 rules 128
senior administrator 198 prolog statements 143
setting user policy 157 xsl:template statement 135
type attribute 83 xsl:when statement 138
UseSSL entry 371 xsl-stylesheet-prolog entry 143, 243
utilities 184 xsl:when statement 138
manual certificate updates 171
V
version entry 318
Index 431
432 IBM Security Access Manager for Web Version 7.0: Administration Guide
Printed in USA
SC23-6504-03