348
IBM Security Access Manager for Web Version 7.0 Administration C API Developer Reference SC23-6513-02

Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

  • Upload
    others

  • View
    38

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IBM Security Access Manager for WebVersion 7.0

Administration C API DeveloperReference

SC23-6513-02

���

Page 2: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information
Page 3: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IBM Security Access Manager for WebVersion 7.0

Administration C API DeveloperReference

SC23-6513-02

���

Page 4: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

NoteBefore using this information and the product it supports, read the information in “Notices” on page 319.

Edition notice

Note: This edition applies to version 7, release 0, modification 0 of IBM Security Access Manager (productnumber 5724-C87) and to all subsequent releases and modifications until otherwise indicated in new editions.

© Copyright IBM Corporation 2000, 2012.US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contractwith IBM Corp.

Page 5: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Contents

Tables . . . . . . . . . . . . . . . vii

About this publication . . . . . . . . ixIntended audience . . . . . . . . . . . . ixAccess to publications and terminology . . . . . ix

Related publications . . . . . . . . . . xiiAccessibility . . . . . . . . . . . . . . xiiiTechnical training . . . . . . . . . . . . xivSupport information . . . . . . . . . . . xiv

Chapter 1. Introduction to theadministration API . . . . . . . . . . 1Administration API overview. . . . . . . . . 1Administration API components . . . . . . . . 2Administration API shared libraries . . . . . . 2Administration API application development kit . . 3Building applications with the administration API . . 3

Software requirements . . . . . . . . . . 3Linking required libraries . . . . . . . . . 4Tested compilers . . . . . . . . . . . . 4

Administration API example program . . . . . . 5Deploying an administration API application . . . 5Gathering problem determination information . . . 5

Enabling tracing on the policy server . . . . . 6Enabling tracing on a system with the runtimecomponent . . . . . . . . . . . . . . 6Gathering trace and message logs . . . . . . 6

Chapter 2. Administration API tasks. . . 7Establishing security contexts . . . . . . . . . 7

Required input parameters . . . . . . . . 8Handling of character data . . . . . . . . 8Returned objects . . . . . . . . . . . . 9Example code . . . . . . . . . . . . . 9Compatibility with earlier versions . . . . . . 9Delegating user credentials . . . . . . . . 9

Creating objects . . . . . . . . . . . . . 10Setting object values . . . . . . . . . . . 11Getting objects . . . . . . . . . . . . . 12Reading object values . . . . . . . . . . . 13Listing object information . . . . . . . . . 13Handling errors . . . . . . . . . . . . . 14

Evaluating a response object . . . . . . . . 15Obtaining error message text . . . . . . . 15Obtaining error codes . . . . . . . . . . 16Obtaining error message modifiers . . . . . 16

Cleaning up and shutting down . . . . . . . 17Freeing memory . . . . . . . . . . . . 17Deleting a security context . . . . . . . . 17

Chapter 3. Users and groups . . . . . 19Administering users . . . . . . . . . . . 19Administering user accounts . . . . . . . . 20Administering user passwords . . . . . . . . 22

Administering groups . . . . . . . . . . . 23Administering group attributes . . . . . . . . 24

Chapter 4. Administering protectedobjects and protected object spaces . . 27Administering protected object spaces . . . . . 27Administering protected objects . . . . . . . 28Administering extended attributes for a protectedobject . . . . . . . . . . . . . . . . 29

Chapter 5. Administering accesscontrol . . . . . . . . . . . . . . . 31Administering access control lists . . . . . . . 31Administering access control list entries . . . . . 32Administering access control list extended attributes 34Administering action groups . . . . . . . . 34Administering extended actions . . . . . . . 35

Chapter 6. Administering protectedobject policies . . . . . . . . . . . 37Administering protected object policy objects . . . 37Administering protected object policy settings . . . 38Administering protected object policy extendedattributes . . . . . . . . . . . . . . . 40

Chapter 7. Administering authorizationrules. . . . . . . . . . . . . . . . 41

Chapter 8. Administering singlesign-on resources . . . . . . . . . . 43Administering web resources . . . . . . . . 43Administering resource groups . . . . . . . . 44Administering resource credentials . . . . . . 45

Chapter 9. Administering domains . . . 47

Chapter 10. Configuring applicationservers . . . . . . . . . . . . . . 49Configuration commands . . . . . . . . . . 49Administering replicas. . . . . . . . . . . 50Certificate maintenance . . . . . . . . . . 50

Chapter 11. Administering servers . . . 51Getting and doing administration tasks . . . . . 51Notifying replica databases when the masterauthorization database is updated . . . . . . . 51

Notifying replica databases automatically . . . 52Notifying replica databases manually . . . . . 52Setting the maximum number of notificationthreads . . . . . . . . . . . . . . . 52Setting the notification wait time . . . . . . 52

Administrating servers and database notification . . 53

© Copyright IBM Corp. 2000, 2012 iii

Page 6: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 12. Administration C APIreference. . . . . . . . . . . . . . 55ivadmin_accessOutdata_getAccessResult() . . . . 55ivadmin_accessOutdata_getPermInfo() . . . . . 55ivadmin_accessOutdata_getResponseInfo() . . . . 56ivadmin_acl_attrdelkey() . . . . . . . . . . 56ivadmin_acl_attrdelval() . . . . . . . . . . 57ivadmin_acl_attrget() . . . . . . . . . . . 58ivadmin_acl_attrlist() . . . . . . . . . . . 59ivadmin_acl_attrput() . . . . . . . . . . . 60ivadmin_acl_create() . . . . . . . . . . . 60ivadmin_acl_delete() . . . . . . . . . . . 61ivadmin_acl_get() . . . . . . . . . . . . 62ivadmin_acl_getanyother() . . . . . . . . . 63ivadmin_acl_getdescription() . . . . . . . . 63ivadmin_acl_getgroup() . . . . . . . . . . 64ivadmin_acl_getid(). . . . . . . . . . . . 65ivadmin_acl_getunauth() . . . . . . . . . . 66ivadmin_acl_getuser() . . . . . . . . . . . 66ivadmin_acl_list() . . . . . . . . . . . . 67ivadmin_acl_list2() . . . . . . . . . . . . 68ivadmin_acl_listgroups() . . . . . . . . . . 69ivadmin_acl_listusers() . . . . . . . . . . 70ivadmin_acl_removeanyother() . . . . . . . . 71ivadmin_acl_removegroup() . . . . . . . . . 72ivadmin_acl_removeunauth() . . . . . . . . 72ivadmin_acl_removeuser() . . . . . . . . . 73ivadmin_acl_setanyother() . . . . . . . . . 74ivadmin_acl_setdescription(). . . . . . . . . 75ivadmin_acl_setgroup() . . . . . . . . . . 76ivadmin_acl_setunauth() . . . . . . . . . . 77ivadmin_acl_setuser() . . . . . . . . . . . 78ivadmin_action_create() . . . . . . . . . . 79ivadmin_action_create_in_group() . . . . . . . 80ivadmin_action_delete() . . . . . . . . . . 81ivadmin_action_delete_from_group() . . . . . . 82ivadmin_action_getdescription() . . . . . . . 83ivadmin_action_getid() . . . . . . . . . . 84ivadmin_action_gettype() . . . . . . . . . . 84ivadmin_action_group_create() . . . . . . . . 85ivadmin_action_group_delete() . . . . . . . . 85ivadmin_action_group_list() . . . . . . . . . 86ivadmin_action_list() . . . . . . . . . . . 87ivadmin_action_list_in_group() . . . . . . . . 88ivadmin_authzrule_create() . . . . . . . . . 89ivadmin_authzrule_delete() . . . . . . . . . 90ivadmin_authzrule_get() . . . . . . . . . . 90ivadmin_authzrule_getdescription() . . . . . . 91ivadmin_authzrule_getfailreason() . . . . . . . 92ivadmin_authzrule_getid() . . . . . . . . . 92ivadmin_authzrule_getruletext() . . . . . . . 93ivadmin_authzrule_list() . . . . . . . . . . 93ivadmin_authzrule_setdescription() . . . . . . 94ivadmin_authzrule_setfailreason() . . . . . . . 95ivadmin_authzrule_setruletext() . . . . . . . 96ivadmin_cfg_addreplica2() . . . . . . . . . 97ivadmin_cfg_chgreplica2() . . . . . . . . . 98ivadmin_cfg_configureserver3(). . . . . . . . 99ivadmin_cfg_configureserver4() . . . . . . . 101ivadmin_cfg_getvalue() . . . . . . . . . . 103ivadmin_cfg_removevalue() . . . . . . . . 105

ivadmin_cfg_renewservercert() . . . . . . . 107ivadmin_cfg_rmvreplica2() . . . . . . . . . 108ivadmin_cfg_setapplicationcert2(). . . . . . . 108ivadmin_cfg_setkeyringpwd2() . . . . . . . 109ivadmin_cfg_setlistening2() . . . . . . . . . 110ivadmin_cfg_setport2() . . . . . . . . . . 111ivadmin_cfg_setssltimeout2() . . . . . . . . 112ivadmin_cfg_setsvrpwd() . . . . . . . . . 113ivadmin_cfg_setvalue() . . . . . . . . . . 114ivadmin_cfg_unconfigureserver() . . . . . . . 116ivadmin_context_cleardelcred() . . . . . . . 117ivadmin_context_create3() . . . . . . . . . 118ivadmin_context_createdefault2() . . . . . . . 119ivadmin_context_createlocal() . . . . . . . . 121ivadmin_context_delete() . . . . . . . . . 122ivadmin_context_domainismanagement() . . . . 122ivadmin_context_getaccexpdate() . . . . . . . 123ivadmin_context_getcodeset() . . . . . . . . 124ivadmin_context_getdisabletimeint() . . . . . . 125ivadmin_context_getdomainid() . . . . . . . 126ivadmin_context_getmaxconcurwebsess() . . . . 126ivadmin_context_getmaxlgnfails() . . . . . . 127ivadmin_context_getmaxpwdage() . . . . . . 128ivadmin_context_getmaxpwdrepchars(). . . . . 129ivadmin_context_getmgmtdomainid() . . . . . 130ivadmin_context_getmgmtsvrhost() . . . . . . 130ivadmin_context_getmgmtsvrport() . . . . . . 131ivadmin_context_getminpwdalphas() . . . . . 131ivadmin_context_getminpwdnonalphas() . . . . 132ivadmin_context_getminpwdlen() . . . . . . 133ivadmin_context_getpwdspaces() . . . . . . . 134ivadmin_context_gettodaccess() . . . . . . . 135ivadmin_context_getuserid() . . . . . . . . 136ivadmin_context_getuserreg() . . . . . . . . 136ivadmin_context_hasdelcred() . . . . . . . . 137ivadmin_context_setaccexpdate() . . . . . . . 138ivadmin_context_setdelcred() . . . . . . . . 138ivadmin_context_setdisabletimeint() . . . . . . 139ivadmin_context_setmaxconcurwebsess() . . . . 140ivadmin_context_setmaxlgnfails(). . . . . . . 142ivadmin_context_setmaxpwdage() . . . . . . 142ivadmin_context_setmaxpwdrepchars() . . . . . 143ivadmin_context_setminpwdalphas() . . . . . 144ivadmin_context_setminpwdnonalphas() . . . . 145ivadmin_context_setminpwdlen() . . . . . . . 146ivadmin_context_setpwdspaces() . . . . . . . 146ivadmin_context_settodaccess() . . . . . . . 147ivadmin_domain_create() . . . . . . . . . 148ivadmin_domain_delete() . . . . . . . . . 149ivadmin_domain_get() . . . . . . . . . . 150ivadmin_domain_getdescription() . . . . . . 151ivadmin_domain_getid(). . . . . . . . . . 152ivadmin_domain_list() . . . . . . . . . . 152ivadmin_domain_setdescription(). . . . . . . 153ivadmin_free() . . . . . . . . . . . . . 154ivadmin_user_getlastpwdchange() . . . . . . 155ivadmin_group_addmembers() . . . . . . . 155ivadmin_group_create2() . . . . . . . . . 156ivadmin_group_delete2() . . . . . . . . . 157ivadmin_group_get() . . . . . . . . . . . 158ivadmin_group_getbydn() . . . . . . . . . 159

iv IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 7: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_group_getcn() . . . . . . . . . . 160ivadmin_group_getdescription() . . . . . . . 160ivadmin_group_getdn() . . . . . . . . . . 161ivadmin_group_getid() . . . . . . . . . . 162ivadmin_group_getmembers() . . . . . . . . 162ivadmin_group_import2() . . . . . . . . . 163ivadmin_group_list() . . . . . . . . . . . 164ivadmin_group_listbydn() . . . . . . . . . 165ivadmin_group_removemembers() . . . . . . 166ivadmin_group_setdescription() . . . . . . . 167ivadmin_objectspace_create() . . . . . . . . 168ivadmin_objectspace_delete() . . . . . . . . 169ivadmin_objectspace_list() . . . . . . . . . 170ivadmin_pop_attach() . . . . . . . . . . 171ivadmin_pop_attrdelkey() . . . . . . . . . 171ivadmin_pop_attrdelval() . . . . . . . . . 172ivadmin_pop_attrget() . . . . . . . . . . 173ivadmin_pop_attrlist() . . . . . . . . . . 174ivadmin_pop_attrput() . . . . . . . . . . 175ivadmin_pop_create(). . . . . . . . . . . 175ivadmin_pop_delete() . . . . . . . . . . 177ivadmin_pop_detach() . . . . . . . . . . 177ivadmin_pop_find() . . . . . . . . . . . 178ivadmin_pop_get() . . . . . . . . . . . 179ivadmin_pop_getanyothernw2() . . . . . . . 180ivadmin_pop_getauditlevel() . . . . . . . . 180ivadmin_pop_getdescription() . . . . . . . . 181ivadmin_pop_getid() . . . . . . . . . . . 182ivadmin_pop_getipauth3() . . . . . . . . . 182ivadmin_pop_getqop() . . . . . . . . . . 184ivadmin_pop_gettod() . . . . . . . . . . 184ivadmin_pop_getwarnmode() . . . . . . . . 185ivadmin_pop_list() . . . . . . . . . . . 186ivadmin_pop_removeipauth2() . . . . . . . 187ivadmin_pop_setanyothernw2() . . . . . . . 188ivadmin_pop_setanyothernw_forbidden2() . . . 189ivadmin_pop_setauditlevel() . . . . . . . . 189ivadmin_pop_setdescription() . . . . . . . . 190ivadmin_pop_setipauth2() . . . . . . . . . 191ivadmin_pop_setipauth_forbidden2() . . . . . 192ivadmin_pop_setqop() . . . . . . . . . . 193ivadmin_pop_settod() . . . . . . . . . . 194ivadmin_pop_setwarnmode() . . . . . . . . 195ivadmin_protobj_access() . . . . . . . . . 196ivadmin_protobj_attachacl() . . . . . . . . 198ivadmin_protobj_attachauthzrule() . . . . . . 199ivadmin_protobj_attrdelkey() . . . . . . . . 199ivadmin_protobj_attrdelval() . . . . . . . . 200ivadmin_protobj_attrget() . . . . . . . . . 201ivadmin_protobj_attrlist() . . . . . . . . . 202ivadmin_protobj_attrput() . . . . . . . . . 203ivadmin_protobj_create() . . . . . . . . . 204ivadmin_protobj_delete() . . . . . . . . . 205ivadmin_protobj_detachacl() . . . . . . . . 205ivadmin_protobj_detachauthzrule() . . . . . . 206ivadmin_protobj_effattrget() . . . . . . . . 207ivadmin_protobj_effattrlist() . . . . . . . . 208ivadmin_protobj_exists(). . . . . . . . . . 209ivadmin_protobj_get3() . . . . . . . . . . 209ivadmin_protobj_getaclid() . . . . . . . . . 211ivadmin_protobj_getauthzruleid(). . . . . . . 211

ivadmin_protobj_getdesc() . . . . . . . . . 212ivadmin_protobj_geteffaclid() . . . . . . . . 213ivadmin_protobj_geteffauthzruleid() . . . . . . 213ivadmin_protobj_geteffpopid(). . . . . . . . 214ivadmin_protobj_getid() . . . . . . . . . . 215ivadmin_protobj_getpolicyattachable() . . . . . 215ivadmin_protobj_getpopid() . . . . . . . . 216ivadmin_protobj_gettype() . . . . . . . . . 217ivadmin_protobj_list3() . . . . . . . . . . 217ivadmin_protobj_listbyacl() . . . . . . . . . 219ivadmin_protobj_listbyauthzrule() . . . . . . 219ivadmin_protobj_multiaccess(). . . . . . . . 220ivadmin_protobj_setdesc() . . . . . . . . . 222ivadmin_protobj_setpolicyattachable() . . . . . 223ivadmin_protobj_settype() . . . . . . . . . 223ivadmin_response_getcode() . . . . . . . . 224ivadmin_response_getcount() . . . . . . . . 225ivadmin_response_getmessage() . . . . . . . 225ivadmin_response_getmodifier() . . . . . . . 226ivadmin_response_getok() . . . . . . . . . 226ivadmin_server_gettasklist() . . . . . . . . 227ivadmin_server_performtask() . . . . . . . . 228ivadmin_server_replicate() . . . . . . . . . 229ivadmin_ssocred_create() . . . . . . . . . 230ivadmin_ssocred_delete() . . . . . . . . . 231ivadmin_ssocred_get() . . . . . . . . . . 232ivadmin_ssocred_getid() . . . . . . . . . . 233ivadmin_ssocred_getssopassword() . . . . . . 234ivadmin_ssocred_getssouser() . . . . . . . . 234ivadmin_ssocred_gettype() . . . . . . . . . 235ivadmin_ssocred_getuser() . . . . . . . . . 236ivadmin_ssocred_list() . . . . . . . . . . 236ivadmin_ssocred_set() . . . . . . . . . . 237ivadmin_ssogroup_addres() . . . . . . . . 238ivadmin_ssogroup_create() . . . . . . . . . 239ivadmin_ssogroup_delete() . . . . . . . . . 240ivadmin_ssogroup_get() . . . . . . . . . . 241ivadmin_ssogroup_getdescription() . . . . . . 241ivadmin_ssogroup_getid() . . . . . . . . . 242ivadmin_ssogroup_getresources() . . . . . . . 243ivadmin_ssogroup_list() . . . . . . . . . . 243ivadmin_ssogroup_removeres() . . . . . . . 244ivadmin_ssoweb_create() . . . . . . . . . 245ivadmin_ssoweb_delete() . . . . . . . . . 246ivadmin_ssoweb_get() . . . . . . . . . . 247ivadmin_ssoweb_getdescription(). . . . . . . 247ivadmin_ssoweb_getid() . . . . . . . . . . 248ivadmin_ssoweb_list() . . . . . . . . . . 249ivadmin_user_create3() . . . . . . . . . . 249ivadmin_user_delete2() . . . . . . . . . . 251ivadmin_user_get() . . . . . . . . . . . 252ivadmin_user_getaccexpdate() . . . . . . . . 253ivadmin_user_getaccountvalid() . . . . . . . 254ivadmin_user_getbydn() . . . . . . . . . . 254ivadmin_user_getcn(). . . . . . . . . . . 255ivadmin_user_getdescription() . . . . . . . . 256ivadmin_user_getdisabletimeint() . . . . . . . 256ivadmin_user_getdn() . . . . . . . . . . 257ivadmin_user_getid() . . . . . . . . . . . 258ivadmin_user_getlastlogin() . . . . . . . . 259ivadmin_user_getmaxconcurwebsess() . . . . . 259

Contents v

Page 8: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_user_getmaxlgnfails() . . . . . . . 260ivadmin_user_getmaxpwdage() . . . . . . . 261ivadmin_user_getmaxpwdrepchars(). . . . . . 262ivadmin_user_getmemberships() . . . . . . . 263ivadmin_user_getminpwdalphas() . . . . . . 264ivadmin_user_getminpwdlen() . . . . . . . 265ivadmin_user_getminpwdnonalphas() . . . . . 265ivadmin_user_getpasswordvalid() . . . . . . 266ivadmin_user_getpwdspaces() . . . . . . . . 267ivadmin_user_getsn() . . . . . . . . . . . 268ivadmin_user_getssouser() . . . . . . . . . 268ivadmin_user_gettodaccess() . . . . . . . . 269ivadmin_user_import2() . . . . . . . . . . 270ivadmin_user_list() . . . . . . . . . . . 271ivadmin_user_listbydn() . . . . . . . . . . 272ivadmin_user_setaccexpdate() . . . . . . . . 273ivadmin_user_setaccountvalid() . . . . . . . 274ivadmin_user_setdescription() . . . . . . . . 275ivadmin_user_setdisabletimeint() . . . . . . . 276ivadmin_user_setmaxconcurwebsess() . . . . . 277ivadmin_user_setmaxlgnfails(). . . . . . . . 278ivadmin_user_setmaxpwdage() . . . . . . . 279ivadmin_user_setmaxpwdrepchars() . . . . . . 280ivadmin_user_setminpwdalphas() . . . . . . 281ivadmin_user_setminpwdlen(). . . . . . . . 282ivadmin_user_setminpwdnonalphas() . . . . . 283ivadmin_user_setpassword() . . . . . . . . 283ivadmin_user_setpasswordvalid() . . . . . . 284

ivadmin_user_setpwdspaces() . . . . . . . . 285ivadmin_user_setssouser() . . . . . . . . . 286ivadmin_user_settodaccess() . . . . . . . . 287

Appendix A. Deprecated APIs andconstants . . . . . . . . . . . . . 289APIs deprecated in version 7.0 . . . . . . . 289APIs deprecated in previous releases . . . . . 289Deprecated constants . . . . . . . . . . . 291

Appendix B. User registry differences 293General concerns . . . . . . . . . . . . 293LDAP concerns . . . . . . . . . . . . . 293

Sun Java System Directory Server concerns . . 294Microsoft Active Directory LightweightDirectory Server (AD LDS) concerns. . . . . 294

URAF concerns. . . . . . . . . . . . . 295Microsoft Active Directory Server concerns . . 295

Length of names . . . . . . . . . . . . 297

Appendix C. Administration APIequivalents . . . . . . . . . . . . 301

Notices . . . . . . . . . . . . . . 319

Index . . . . . . . . . . . . . . . 323

vi IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 9: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Tables

1. Shared libraries . . . . . . . . . . . 22. Administration API application developer kit

files . . . . . . . . . . . . . . . 33. Compilers tested with Security Access Manager 44. Creating objects . . . . . . . . . . . 115. Example set operations. . . . . . . . . 116. Example data types returned by get functions 127. Example read operations . . . . . . . . 138. Administering users . . . . . . . . . 209. Administering user accounts . . . . . . . 21

10. Administering user passwords . . . . . . 2311. Administering groups . . . . . . . . . 2412. Administering group attributes . . . . . . 2413. Administering protected object spaces. . . . 2814. Administering protected objects . . . . . . 2815. Administering protected object attributes 3016. Administering access control lists . . . . . 3217. Administering access control list entries 3318. Administering access control list extended

attributes . . . . . . . . . . . . . 3419. Administering action groups . . . . . . . 3420. Administering extended actions . . . . . . 3521. Administering protected object policy objects 3722. Administering protected object policy settings 3923. Administering protected object policy

extended attributes . . . . . . . . . . 40

24. Administering authorization rules . . . . . 4125. Administering web resources . . . . . . 4426. Administering resource groups . . . . . . 4427. Administering credentials . . . . . . . . 4528. Administering domains . . . . . . . . 4729. Configuring application servers . . . . . . 4930. Administering replicas . . . . . . . . . 5031. Certificate maintenance . . . . . . . . 5032. Administering servers and database

notification. . . . . . . . . . . . . 5333. Supported object types . . . . . . . . 16834. Protected object policy default values 17635. Descriptions of audit levels . . . . . . . 18136. APIs deprecated in Security Access Manager

version 7.0 . . . . . . . . . . . . 28937. APIs deprecated in previous versions of

Access Manager or Tivoli SecureWay PolicyDirector . . . . . . . . . . . . . 289

38. Maximum lengths for names by user registryand the optimal length across user registries . 297

39. Mapping of the administration C API to theJava methods, the pdadmin interface, andWeb Portal Manager . . . . . . . . . 301

© Copyright IBM Corp. 2000, 2012 vii

Page 10: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

viii IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 11: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

About this publication

IBM Security Access Manager for Web, formerly called IBM Tivoli Access Managerfor e-business, is a user authentication, authorization, and web single sign-onsolution for enforcing security policies over a wide range of web and applicationresources.

This reference contains information about how to use Security Access Manager Cadministration API to enable an application to programmatically perform SecurityAccess Manager administration tasks. This document describes the Cimplementation of the Security Access Manager administration API. See the IBMSecurity Access Manager for Web: Administration Java Classes Developer Reference forinformation regarding the Java™ implementation of these APIs.

Information on the pdadmin command-line interface (CLI) can be found in the IBMSecurity Access Manager for Web: Command Reference.

Intended audienceThis reference is for application programmers implementing programs in the Cprogramming language to administer the users and objects that are associated withthe IBM Security Access Manager for Web product.

Readers must be familiar with:v Microsoft Windows and UNIX operating systemsv Database architecture and conceptsv Security managementv Internet protocols, including HTTP, TCP/IP, File Transfer Protocol (FTP), and

Telnetv The user registry that Security Access Manager is configured to usev Lightweight Directory Access Protocol (LDAP) and directory services, if used by

your user registryv Authentication and authorization

If you are enabling Secure Sockets Layer (SSL) communication, you must befamiliar with SSL protocol, key exchange (public and private), digital signatures,cryptographic algorithms, and certificate authorities.

Access to publications and terminologyThis section provides:v A list of publications in the “IBM Security Access Manager for Web library.”v Links to “Online publications” on page xi.v A link to the “IBM Terminology website” on page xii.

IBM Security Access Manager for Web library

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.

© Copyright IBM Corp. 2000, 2012 ix

Page 12: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

v IBM Security Web Gateway Appliance Quick Start Guide – Hardware OfferingGuides users through the process of connecting and completing the initialconfiguration of the WebSEAL Hardware Appliance, SC22-5434-00

v IBM Security Web Gateway Appliance Quick Start Guide – Virtual OfferingGuides users through the process of connecting and completing the initialconfiguration of the WebSEAL Virtual Appliance.

v IBM Security Access Manager for Web Installation Guide, GC23-6502-02Explains how to install and configure Security Access Manager.

v IBM Security Access Manager for Web Upgrade Guide, SC23-6503-02Provides information for users to upgrade from version 6.0, or 6.1.x to version7.0.

v IBM Security Access Manager for Web Administration Guide, SC23-6504-02Describes the concepts and procedures for using Security Access Manager.Provides instructions for performing tasks from the Web Portal Managerinterface and by using the pdadmin utility.

v IBM Security Access Manager for Web WebSEAL Administration Guide, SC23-6505-02Provides background material, administrative procedures, and referenceinformation for using WebSEAL to manage the resources of your secure Webdomain.

v IBM Security Access Manager for Web Plug-in for Web Servers Administration Guide,SC23-6507-02Provides procedures and reference information for securing your Web domainby using a Web server plug-in.

v IBM Security Access Manager for Web Shared Session Management AdministrationGuide, SC23-6509-02Provides administrative considerations and operational instructions for thesession management server.

v IBM Security Access Manager for Web Shared Session Management Deployment Guide,SC22-5431-00Provides deployment considerations for the session management server.

v IBM Security Web Gateway Appliance Administration Guide, SC22-5432-00Provides administrative procedures and technical reference information for theWebSEAL Appliance.

v IBM Security Web Gateway Appliance Configuration Guide for Web Reverse Proxy,SC22-5433-00Provides configuration procedures and technical reference information for theWebSEAL Appliance.

v IBM Security Web Gateway Appliance Web Reverse Proxy Stanza Reference,SC27-4442-00Provides a complete stanza reference for the IBM® Security Web GatewayAppliance Web Reverse Proxy.

v IBM Security Access Manager for Web WebSEAL Configuration Stanza Reference,SC27-4443-00Provides a complete stanza reference for WebSEAL.

v IBM Global Security Kit: CapiCmd Users Guide, SC22-5459-00Provides instructions on creating key databases, public-private key pairs, andcertificate requests.

v IBM Security Access Manager for Web Auditing Guide, SC23-6511-02

x IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 13: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Provides information about configuring and managing audit events by using thenative Security Access Manager approach and the Common Auditing andReporting Service. You can also find information about installing andconfiguring the Common Auditing and Reporting Service. Use this service forgenerating and viewing operational reports.

v IBM Security Access Manager for Web Command Reference, SC23-6512-02Provides reference information about the commands, utilities, and scripts thatare provided with Security Access Manager.

v IBM Security Access Manager for Web Administration C API Developer Reference,SC23-6513-02Provides reference information about using the C language implementation ofthe administration API to enable an application to perform Security AccessManager administration tasks.

v IBM Security Access Manager for Web Administration Java Classes DeveloperReference, SC23-6514-02Provides reference information about using the Java language implementation ofthe administration API to enable an application to perform Security AccessManager administration tasks.

v IBM Security Access Manager for Web Authorization C API Developer Reference,SC23-6515-02Provides reference information about using the C language implementation ofthe authorization API to enable an application to use Security Access Managersecurity.

v IBM Security Access Manager for Web Authorization Java Classes Developer Reference,SC23-6516-02Provides reference information about using the Java language implementation ofthe authorization API to enable an application to use Security Access Managersecurity.

v IBM Security Access Manager for Web Web Security Developer Reference,SC23-6517-02Provides programming and reference information for developing authenticationmodules.

v IBM Security Access Manager for Web Error Message Reference, GI11-8157-02Provides explanations and corrective actions for the messages and return code.

v IBM Security Access Manager for Web Troubleshooting Guide, GC27-2717-01Provides problem determination information.

v IBM Security Access Manager for Web Performance Tuning Guide, SC23-6518-02Provides performance tuning information for an environment that consists ofSecurity Access Manager with the IBM Tivoli Directory Server as the userregistry.

Online publications

IBM posts product publications when the product is released and when thepublications are updated at the following locations:

IBM Security Access Manager for Web Information CenterThe http://pic.dhe.ibm.com/infocenter/tivihelp/v2r1/topic/com.ibm.isam.doc_70/welcome.html site displays the information centerwelcome page for this product.

About this publication xi

Page 14: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IBM Publications CenterThe http://www-05.ibm.com/e-business/linkweb/publications/servlet/pbi.wss site offers customized search functions to help you find all the IBMpublications that you need.

IBM Terminology website

The IBM Terminology website consolidates terminology for product libraries in onelocation. You can access the Terminology website at http://www.ibm.com/software/globalization/terminology.

Related publicationsThis section lists the IBM products that are related to and included with theSecurity Access Manager solution.

Note: The following middleware products are not packaged with IBM SecurityWeb Gateway Appliance.

IBM Global Security Kit

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 WebVersion 7.0 product image or DVD for your particular platform.

GSKit version 8 includes the command-line tool for key management,GSKCapiCmd (gsk8capicmd_64).

GSKit version 8 no longer includes the key management utility, iKeyman(gskikm.jar). iKeyman is packaged with IBM Java version 6 or later and is now apure Java application with no dependency on the native GSKit runtime. Do notmove or remove the bundled java/jre/lib/gskikm.jar library.

The IBM Developer Kit and Runtime Environment, Java Technology Edition, Version 6and 7, iKeyman User's Guide for version 8.0 is available on the Security AccessManager 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:

GSKit version 8 includes important changes made to the implementation ofTransport Layer Security required to remediate security issues.

The GSKit version 8 changes comply with the Internet Engineering Task Force(IETF) Request for Comments (RFC) requirements. However, it is not compatiblewith earlier versions of GSKit. Any component that communicates with SecurityAccess 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.

IBM Tivoli Directory Server

IBM Tivoli Directory Server version 6.3 FP17 (6.3.0.17-ISS-ITDS-FP0017) is includedon the IBM Security Access Manager for Web Version 7.0 product image or DVD foryour particular platform.

xii IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 15: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

You can find more information about Tivoli Directory Server at:

http://www.ibm.com/software/tivoli/products/directory-server/

IBM Tivoli Directory Integrator

IBM Tivoli Directory Integrator version 7.1.1 is included on the IBM Tivoli DirectoryIntegrator Identity Edition V 7.1.1 for Multiplatform product image or DVD for yourparticular 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™

IBM DB2 Universal Database Enterprise Server Edition, version 9.7 FP4 is providedon the IBM Security Access Manager for Web Version 7.0 product image or DVD foryour particular platform. You can install DB2® with the Tivoli Directory Serversoftware, or as a stand-alone product. DB2 is required when you use TivoliDirectory Server or z/OS® LDAP servers as the user registry for Security AccessManager. For z/OS LDAP servers, you must separately purchase DB2.

You can find more information about DB2 at:

http://www.ibm.com/software/data/db2

IBM WebSphere® products

The installation packages for WebSphere Application Server Network Deployment,version 8.0, and WebSphere eXtreme Scale, version 8.5.0.1, are included withSecurity Access Manager version 7.0. WebSphere eXtreme Scale is required onlywhen you use the Session Management Server (SMS) component.

WebSphere Application Server enables the support of the following applications:v Web Portal Manager interface, which administers Security Access Manager.v Web Administration Tool, which administers Tivoli Directory Server.v Common Auditing and Reporting Service, which processes and reports on audit

events.v Session Management Server, which manages shared session in a Web security

server environment.v Attribute Retrieval Service.

You can find more information about WebSphere Application Server at:

http://www.ibm.com/software/webservers/appserv/was/library/

AccessibilityAccessibility features help users with a physical disability, such as restrictedmobility or limited vision, to use software products successfully. With this product,you can use assistive technologies to hear and navigate the interface. You can alsouse the keyboard instead of the mouse to operate all features of the graphical userinterface.

About this publication xiii

Page 16: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Visit the IBM Accessibility Center for more information about IBM's commitmentto accessibility.

Technical trainingFor technical training information, see the following IBM Education website athttp://www.ibm.com/software/tivoli/education.

Support informationIBM Support provides assistance with code-related problems and routine, shortduration installation or usage questions. You can directly access the IBM SoftwareSupport site at http://www.ibm.com/software/support/probsub.html.

The IBM Security Access Manager for Web Troubleshooting Guide provides detailsabout: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 canprovide more support resources.

xiv IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 17: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 1. Introduction to the administration API

You can use the Security Access Manager application developer kit (ADK)component to enable your application to programmatically administer SecurityAccess Manager users and data.

The IBM Security Access Manager for Web (Security Access Manager)administration API component provides a set of functions for the administration ofSecurity Access Manager users and data objects.

The API provides a way for applications to administer users, groups, protectedobjects, access control lists, protected object policies, and web resources.

This chapter contains the following topics:v “Administration API overview”v “Administration API components” on page 2v “Building applications with the administration API” on page 3v “Administration API example program” on page 5v “Deploying an administration API application” on page 5

Administration API overviewThis section describes the types of objects that you can administer with theadministration API.

You can use the administration API to administer the following types of objects:v Policiesv Usersv Groupsv Access control lists (ACLs)v Action groupsv Protected object policies (POPs)v Protected objectsv Protected object spacesv Authorization rulesv Domainsv Web resourcesv Web resource groupsv Resource credentials

The administration API provides a set of functions for creating, modifying,examining, and deleting each of the preceding object types. The API also definesdata types to represent each object type. The API includes the function callsnecessary for manipulating each of the data types.

The administration API communicates directly with the Security Access Managerpolicy server component. The API establishes an authenticated, Secure Sockets

© Copyright IBM Corp. 2000, 2012 1

Page 18: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Layer (SSL) session with the Security Access Manager policy server process. Whenthe SSL session is established, the API can send administration requests to thepolicy server.

The Security Access Manager policy server component services these requests inthe same manner that it would service any other incoming requests.

System administrators also can use the pdadmin and svrsslcfg command-lineinterfaces to accomplish Security Access Manager administration tasks. Theadministration API functions map closely to these commands. Appendix C,“Administration API equivalents,” on page 301 describes the commands that matchadministration API functions. Some administration API functions do not have apdadmin or svrsslcfg command-line equivalent.

Security Access Manager APIs are thread-safe. Use caution when performingoperations on objects with multiple threads; for example, if you want to create,modify and delete an ACL, and the delete is done before modifying, an error isreturned.

Administration API componentsThis section identifies the components of the administration API.

The administration API consists of the following components:v The administration API shared libraryv The administration API header filev The administration API library to link against (Microsoft Windows only)v A demonstration applicationv Makefiles for the demonstration application

The administration API shared libraries are distributed in the Security AccessManager runtime environment for each platform. The balance administration APIcomponents are distributed in the Security Access Manager ADK component.

The following sections provide more information about the shared libraries andADK.

Administration API shared librariesThe administration API shared library is distributed in the Security AccessManager runtime environment component.

Table 1 lists the names of the shared libraries on each platform.

Table 1. Shared libraries

Platform Shared Library Name

Solaris Operating Environment libpdadminapi.so

IBM AIX® libpdadminapi.a

Microsoft Windows pdadminapi.dll

Linux libpdadminapi.so

2 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 19: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Administration API application development kitThis section describes the administration API application development kit (ADK).

The ADK files are installed as part of the Security Access Manager ADKcomponent package.

The ADK component contains files that can be placed anywhere on your system.Table 2 lists the files and suggests an installation directory (beneath the SecurityAccess Manager installation directory) for each file.

Table 2. Administration API application developer kit files

Suggested Directory File to Include File Description

include ivadminapi.h The C header file containing theadministration API functiondeclarations.

include ivadmin_deprecated.h The C header file containing theprototypes and declarations for thefunctions, variables, and attributesthat are deprecated in this version ofSecurity Access Manager.

Avoid including this header file asthe symbols provided in it will beremoved in a future release of theproduct.

lib pdadminapi.lib The library against which to link onthe Microsoft Windows platform.

admin_demo pdadminapi_demo.cMakefileREADME.pdadminapi

This ADK provides a demonstrationprogram and a sample makefile foreach supported platform. You canplace the demonstration program inany directory. The readme fileexplains how to build thedemonstration program.

Building applications with the administration APITo develop applications that use the Security Access Manager administration API,you must install the required software and then link with appropriate libraries.

Software requirementsThis section describes the software requirements for using the administration CAPI.

You must install and configure a Security Access Manager secure domain. If youdo not have a Security Access Manager secure domain installed, install one beforebeginning application development. The minimum installation consists of a singlesystem with the following Security Access Manager base components installed:v Security Access Manager runtime environmentv Security Access Manager policy serverv Security Access Manager ADK

Chapter 1. Introduction to the administration API 3

Page 20: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

All systems in the Security Access Manager secure domains that have the runtimeenvironment installed must have the IBM Global Security Kit (GSKit) componentinstalled on them. If the policy server is using an LDAP server as the user registry,the Tivoli Directory Server client also must be installed on the system.

For detailed installation instructions, see the section of the IBM Security AccessManager for Web: Installation Guide relating to your operating system platform.

You might already have a Security Access Manager secure domain installed andwant to add a development system to the domain. The minimum Security AccessManager installation consists of the following components:v Security Access Manager runtime environmentv Security Access Manager ADK

Linking required librariesThis section provides tips for linking the required libraries.

To compile applications that use the administration API, you must install theSecurity Access Manager Application Developer Kit (ADK) component on thebuild computer.

When compiling your application on Windows systems, make sure that you addthe include directory for the Windows library to the compiler command line.

When linking your application, specify the directory that contains theadministration API shared library if it is not in the default location. You mustexplicitly link against the shared library.

Tested compilersThis section lists compilers that IBM tested for use with the Security AccessManager Application Developer Kit (ADK).

IBM tested the use of the Security Access Manager Application Developer Kit(ADK) component with the compilers listed in Table 3. Previous versions of thecompilers listed are not supported. Compilers on other supported platforms werenot tested.

Table 3. Compilers tested with Security Access Manager

Operating system platform tested Tested compiler

IBM AIX 6.1 IBM XL C/C++ Version10.1

Sun Solaris 11 Operating System Oracle Solaris StudioVersion 12.3

Red Hat Enterprise Linux Server release 5.6 64 bit x86

SUSE Linux Enterprise Server 10 SP3 on 64-bit System z®

GNU GCC 4.1.2

Microsoft Windows Server 2008 R2 Enterprise Microsoft Visual Studio2005 (using vcvarsall.batAMD64)

4 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 21: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Administration API example programThe Security Access Manager administration API ADK includes source for anexample program that demonstrates use of the administration API.

The example program demonstrates how to do the following tasks:v Initialize an administration API security contextv Display an error messagev Create a new Security Access Manager userv Set a user account to be validv Change the password of the new userv Create a new groupv Add the new user to the groupv Delete a groupv Delete a userv Delete the administration API security context

See the sample makefile supplied with the sample program for build instructionsspecific to each supported operating system platform.

Deploying an administration API applicationThis section explains how to deploy an administration C API application.

Applications that have been developed with the Security Access Manageradministration API must be run on systems that are configured as part of aSecurity Access Manager secure domain.

To run an administration API application, you must have installed the SecurityAccess Manager runtime environment.

The Security Access Manager runtime environment requires that the TivoliDirectory Server client be installed on the application deployment system if anLDAP server is being used as the user registry.

Administration API applications use the SSL protocol to communicate with theSecurity Access Manager policy server. IBM Global Security Kit (GSKit) providesthe necessary SSL support and is installed as part of the product installation.

Note: The Security Access Manager runtime environment installation enforcesinstallation of the required software. For installation instructions, see theappropriate section in the IBM Security Access Manager for Web: Installation Guide foryour operating system.

Gathering problem determination informationThis section explains how to enable tracing for gathering troubleshootinginformation.

When developing an administration application, you might encounter a problemwith Security Access Manager. To assist Tivoli® support personnel in diagnosingyour problem, gather problem determination information relating to your error.

Chapter 1. Introduction to the administration API 5

Page 22: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Security Access Manager components can be configured to log information to oneor more trace files. You can enable tracing for the policy server, or any system withSecurity Access Manager runtime environment.

Enabling tracing on the policy serverThis section explains how to enable tracing on the policy server.

To enable tracing on the policy server, edit the /etc/routing file, in the installationdirectory for the Security Access Manager policy server. Uncomment the last line.

Shut down and restart the policy server daemon, pdmgrd.

Enabling tracing on a system with the runtime componentThis section explains how to enable tracing with the runtime component.

To enable tracing on the system where the error is occurring, edit the /etc/routingfile, in the installation directory for the Security Access Manager runtimecomponent. Uncomment the last line.

Restart the application that encountered the error, or re-enter the pdadmincommand that failed. After the failure occurs again, gather the trace logs asoutlined in the next section.

Gathering trace and message logsThis section explains how to gather trace logs and message logs for problemdetermination.

Trace and message log files for the policy server and Security Access Managerruntime environments are written to the /log directory. The /log is in the SecurityAccess Manager installation directory. If the Tivoli Common Directory is used, thelog files are located under the HPD directory in the Tivoli Common Directory.

To determine the names of the trace log files, you need to determine the processidentifier (PID) of the Security Access Manager policy or authorization server. Thisinformation is recorded in files called ivmgrd.pid and ivacld.pid.

To determine the PID for the policy server, check the contents of the ivmgrd.pidfile:cat ivmgrd.pid

Similarly, check the ivacld.pid file for the PID of the authorization server.

After determining the PID, look in the AM_BASE/log directory for trace files withnames of the form trace__pdmgrd.PID_trace_utf8.log for the policy server, ortrace__pdacld.PID_trace_utf8.log for the authorization server. Also collect thefollowing message files in the same directory:msg__verbose.logmsg__notice.logmsg__fatal.logmsg__warning.logmsg__error.log

For additional information about logging and tracing, see the IBM Security AccessManager for Web: Troubleshooting Guide. For error messages, see the IBM SecurityAccess Manager for Web: Error Message Reference.

6 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 23: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 2. Administration API tasks

Each application that uses the administration API must do certain tasks necessaryfor API initialization, cleanup, memory management, and error handling.

The administration API provides functions for each of these tasks.

The following sections in this chapter describe the supported functions:v “Establishing security contexts”v “Creating objects” on page 10v “Setting object values” on page 11v “Getting objects” on page 12v “Reading object values” on page 13v “Listing object information” on page 13v “Handling errors” on page 14v “Cleaning up and shutting down” on page 17

Establishing security contextsTo use the administration API, establish a Secure Sockets Layer (SSL) connectionbetween the administration API application and the IBM Security Access Managerfor Web (Security Access Manager) policy server.

The administration API terms this connection a security context.

The security context provides for the secure transfer of requests and data betweenthe administration API application and the Security Access Manager policy server.

Call the function ivadmin_context_createdefault2() to create a context with thedefault SSL configuration. The default SSL configuration is the SSL configurationused by the Security Access Manager policy server.

The function ivadmin_context_createdefault2() automatically accesses thefollowing Security Access Manager policy server configuration information:v SSL key-ring file locationv SSL key-ring stash file locationv Security Access Manager policy server host namev Security Access Manager policy server listening port

When ivadmin_context_createdefault2() is run on the same system as theSecurity Access Manager policy server, the preceding information is obtained fromSecurity Access Manager configuration files.

The ivadmin_context_createdefault2() might be run on another system in theSecurity Access Manager secure domain that does not run the Security AccessManager policy server. The preceding information is obtained from storedinformation that was provided by the system administrator when the SecurityAccess Manager runtime environment was configured.

© Copyright IBM Corp. 2000, 2012 7

Page 24: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

There are two other functions that can be used for creating a security context. Theivadmin_context_create3() function creates a security context with SSLconfiguration information provided with the function call, instead of with sameSSL configuration as the policy server. The ivadmin_context_createlocal()function creates a local context. Unlike other security contexts, a local context doesnot establish communication with any servers. A local context can be used only formanipulating configuration files with ivadmin_cfg_* functions.

A security context must be deleted with ivadmin_context_delete() function whenno longer needed. Free any storage associated with the security context, includingthe context pointer, with ivadmin_free() function.

The following sections further describe how to create a security context.

Required input parametersThe administrator ID and password must be established before callingivadmin_context_createdefault2().

The administrator ID account and password are established during initialconfiguration of the Security Access Manager runtime environment.

You must provide the following information as input parameters when you callivadmin_context_createdefault2() :v The administrator ID to use when authenticating

The administrator ID is the Security Access Manager administrator ID. SecurityAccess Manager uses the underlying user registry to maintain this information.

v The password for the administratorv The domain name

The name of the domain to which the administrator ID belongs.

Handling of character dataSecurity Access Manager represents all internal character data in UnicodeTransformation Format 8 (UTF-8).

The use of UTF-8 ensures that character data is handled the same regardless ofwhat language or code page is used by the policy server. UTF-8 ensures thatcharacter data is handled the same by the authorization server, the user registry, oran application. The handling of character data is determined by the securitycontext. The code set option on the ivadmin_context_create3() andivadmin_context_createlocal() functions can be used to indicate how characterdata is handled.

The code set option of IVADMIN_CODESET_LOCAL indicates that input characterdata is encoded with current code page. Input character data must be converted toUTF-8 by Security Access Manager before use. Output character data is convertedback into the local code page before being returned. This default handling ofcharacter data occurs if the security context was created with a function other thanivadmin_context_create3() and ivadmin_context_createlocal() and the localcode page is not UTF-8.

The code set option of IVADMIN_CODESET_UTF8 indicates that the characterdata is already encoded in UTF-8. No input or output translation needs to be done.

8 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 25: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

If the local code page is UTF-8, no conversion of character data is done by SecurityAccess Manager, regardless of how the security context was created.

Returned objectsThe function ivadmin_context_createdefault2() returns the following data:v A pointer to a context object of type ivadmin_context

The context object contains all the information necessary to establish an SSLconnection with the Security Access Manager policy server.

v A pointer to a response object of type ivadmin_response

The response object contains information about any errors that are generated byadministration API function calls.

Example codeThe following code fragment shows an example call ofivadmin_context_createdefault2() with the administrator ID sec_master:ivadmin_context ctx;ivadmin_response rsp;unsigned long status;

status = ivadmin_context_createdefault2("sec_master", sec_masterpwd, domain_id,&ctx, &rsp);if (status!= IVADMIN_TRUE) {/* The context create call failed so we should just exit.* Optionally, you can insert error handling code here*/return 0}

Compatibility with earlier versionsThe administration API provides a function that can create a context:ivadmin_context_create3().

This function provides compatibility with earlier versions with applicationsdeveloped with older versions of IBM Tivoli Security Access Manager. Applicationsmust use the ivadmin_context_createdefault2() function to create a securitycontext.

The function ivadmin_context_create3() provides only a subset of the functionsavailable in ivadmin_context_createdefault2(). It does not automaticallydetermine the SSL configuration for the Security Access Manager policy server. Youmust manually supply the necessary SSL configuration information.

Delegating user credentialsEach security context has a set of user credentials.

The Security Access Manager policy server examines these credentials. The policyserver then decides whether to allow or deny a request for access to SecurityAccess Manager data. The credentials associated with a security context are of theuser specified to the ivadmin_context_create3() orivadmin_context_createdefault2() function.

Use the administration API function ivadmin_context_setdelcred() to specify analternative user credential used by the Security Access Manager policy server tomake access decisions. The specified credentials accompany all access requests inthe secure context, until the credentials are cleared and set again.

Chapter 2. Administration API tasks 9

Page 26: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

The user must previously have authenticated and established credentials before thecredentials can be delegated.

To call ivadmin_context_setdelcred(), you must supply the following inputparameters:v Privilege Attribute Certificate (PAC) datav PAC length

You can use the Security Access Manager authorization API functionazn_creds_get_pac() to create PAC data from a credential. For more informationabout the establishment and use of user credentials, see the IBM Security AccessManager for Web: Authorization C API Developer Reference.

You can call the function ivadmin_context_cleardelcred() to clear the delegatedcredentials. The ivadmin_context_hasdelcred() function can be used to determinewhether a context set a delegated credential.

See the following reference sections for information about these functions:v “ivadmin_context_setdelcred()” on page 138v “ivadmin_context_cleardelcred()” on page 117v “ivadmin_context_hasdelcred()” on page 137

Creating objectsYou can use the administration API to create the required Security Access Managerobjects to complete administration tasks.

Before you can create an object, you must establish a security context. See“Establishing security contexts” on page 7.

For example, to create a user object, supply the following information:v A security contextv Initialization values for data specific to the object, such as a user IDv Any policies that apply to the object, such as password enforcement policies

To create a user in the user registry, supply the following parameters toivadmin_user_create3():unsigned longivadmin_user_create3(

ivadmin_context ctx, // input - security contextconst char *userid, // input - Security Access Manager user IDconst char *dn, // input - user registry distinguished nameconst char *cn, // input - user registry common nameconst char *sn, // input - user registry attribute surnameconst char *pwd, // input - user registry attribute passwordunsigned long group_count, // input - Number of user registry group membershipsconst char **groups, // input - user registry group membershipsunsigned long ssouser, // input - SSO credentials policy

// (true/false)unsigned long nopwdpolicy, // input - password policy enforced

// at creation (true/false)ivadmin_response *rsp // output - response object

);

Administration API functions that create objects return error conditions within anivadmin_response object.

10 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 27: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

For example, the administration API provides functions to create the followingobjects in Table 4.

Table 4. Creating objects

Function Description

ivadmin_acl_create() Creates an access control list.

ivadmin_action_create() Creates a Security Access Manager action.

ivadmin_action_group_create() Creates a Security Access Manager action group.

ivadmin_authzrule_create() Creates an authorization rule.

ivadmin_domain_create() Creates a secure domain.

ivadmin_group_create2() Creates a Security Access Manager group.

ivadmin_objectspace_create() Creates a Security Access Manager protectedobject space.

ivadmin_pop_create() Creates a protected object policy.

ivadmin_protobj_create() Creates a protected object.

ivadmin_ssocred_create() Creates a single sign-on credential.

ivadmin_ssogroup_create() Creates a single sign-on group resource.

ivadmin_ssoweb_create() Creates a single sign-on web resource.

ivadmin_user_create3() Creates a Security Access Manager user.

Setting object valuesYou can use the administration API to set values in the data objects from the userregistry.

Use the administration API set operations in the following situations:v To modify values just after you create and initialize an object

For example, after creating a user in the user registry, callivadmin_user_setaccexpdate() to set an account expiration date for the user.

v To modify values for existing objectsFor example, to modify the maximum password age for all user accounts, callivadmin_context_setmaxpwdage() .

To do a set operation, you must have a valid context established between theadministration API application and the Security Access Manager policy server.

All set operations return the following data:v An integer value (IVADMIN_TRUE or IVADMIN_FALSE) indicating whether the

operation succeeded or failed.v An ivadmin_response object. This object contains information about error

conditions.

Table 5 lists examples of administration API set operations.

Table 5. Example set operations

Function Description

ivadmin_user_setdescription() Sets the description for the specified user

Chapter 2. Administration API tasks 11

Page 28: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 5. Example set operations (continued)

Function Description

ivadmin_user_setaccexpdate() Sets the expiration date for the specified useraccount

ivadmin_context_setminpwdlen() Sets the minimum password length for alluser accounts

ivadmin_acl_setuser() Sets the entry for the user in the specifiedaccess control list

ivadmin_pop_setauditlevel() Sets the level of audit reporting for thespecified protected object policy

ivadmin_protobj_settype() Sets the protected object type

Getting objectsThe administration API defines a number of data types to contain Security AccessManager data.

You can use the administration API to obtain objects of each of the defined datatypes. You can then use administration API functions to examine the valuescontained in each object.

The administration API get operations send a request to the Security AccessManager policy server to retrieve a reference or handle to the specified object. Forexample, the object might be user information contained in a user registry.

The Security Access Manager policy server returns data that describes therequested object to the client application through a secure communicationschannel. The application then constructs a copy of the object in local memory fromthe returned data. Free the local memory when the Security Access Manager objectis no longer needed.

Table 6 lists examples of some administration API data types that are returned byAPI get functions.

Table 6. Example data types returned by get functions

Function Data Type Returned Object Description

ivadmin_acl_get() ivadmin_acl Access control list

ivadmin_pop_get() ivadmin_pop Protected object policy

ivadmin_user_get() ivadmin_ldapuser User information

ivadmin_group_get() ivadmin_ldapgroup Group information

ivadmin_protobj_get2() ivadmin_protobj Protected object

ivadmin_domain_get() ivadmin_domain Domain

ivadmin_authzrule_get() ivadmin_authzrule Authorization rule

ivadmin_ssocred_get() ivadmin_ssocred Resource credential

ivadmin_ssogroup_get() ivadmin_ssogroup Resource group

ivadmin_ssoweb_get() ivadmin_ssoweb Single sign-on web resource

12 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 29: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Reading object valuesWhen you establish a context and obtain an object through a get operation, use theadministration API to do read operations on data in the object.

For example, when the application obtains an ivadmin_ldapuser object, theapplication can use API functions to read the uses distinguished name.

Character data obtained from the object is returned in the code set specified in thesecurity context.

For performance reasons, the administration API does not send read requestsdirectly to the Security Access Manager policy server. Performance is optimized bycompleting one get transaction through the security context to obtain the relevantobject. Then, querying the contents of the object after it is stored on the localsystem.

Table 7 shows some example operations that read values from a returned object.

Table 7. Example read operations

Functions Description

ivadmin_user_getcn() Gets the common name from the specifiedivadmin_ldapuser object.

ivadmin_user_getdn() Gets the distinguished name from the specifiedivadmin_ldapuser object.

ivadmin_user_getsn() Gets the family name of the user from the specifiedivadmin_ldapuser object.

ivadmin_group_getdescription() Gets the description entry for the group from theivadmin_ldapgroup object.

ivadmin_acl_getuser() Gets the actions defined for a user from theivadmin_acl object.

ivadmin_pop_getauditlevel() Gets the audit level defined for the protected objectpolicy (POP) from the ivadmin_pop object.

ivadmin_protobj_getaclid() Gets the identifier for the access control list (ACL) thatis attached to the protected object from theivadmin_protobj object.

ivadmin_domain_getid() Gets the name of the domain from the ivadmin_domainobject.

ivadmin_authzrule_getid() Gets the ID of the specified authorization rule fromthe ivadmin_authzrule object.

ivadmin_ssocred_gettype() Gets the type of single sign-on resource associatedwith the credential from the ivadmin_ssocred object.

Listing object informationSome administrative tasks require the application to obtain a list of objects of onespecific type.

For example, an administrator might need to review the list of existing users todecide whether a new user must be created.

Chapter 2. Administration API tasks 13

Page 30: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

You can use the administration API list operations to accomplish tasks of this type.These operations are identical to API get operations. Both types of operations takethe following actions:v Communicate with the policy server through the secure contextv Request Security Access Manager data from the policy server

Administration API list operations differ from get operations in one important way.List operations do not obtain a reference to an entire data object and place it inlocal memory. Instead, they obtain an array of pointers to the relevant data type, orto character data (which are names of listed items.)

This array of pointers enables list operations to extract only the important datafrom much larger data structures and return it to the client application. The clientapplication must free all the data associated with the list with the ivadmin_free()function when it is no longer needed.

For example, the function ivadmin_user_list() returns a list of user IDs in theform of an array of pointers to character strings:unsigned longivadmin_user_list(

ivadmin_context ctx, // input - Context to policy serverconst char *pattern, // input - Search patternunsigned long maxreturn, // input - Maximum number of returned itemsunsigned long *count, // output - Count of returned itemchar ***userids, // output - Array of pointers to userIDsivadmin_response *rsp // output - Response object

);

Use the ivadmin_free() function to free the memory used by the list when it is nolonger needed. You must free the data associated with each character pointer andthe array of pointers.

If the list operation encounters an error, the count is set to zero and the array ofpointers is set to NULL.

Handling errorsThe way an administration API call indicates that an error occurred depends onhow the API returns information.

For the purposes of error handling, the administration APIs can be divided intothree groups:v APIs that return a numeric return code, output arguments, and a response

object, such as ivadmin_user_list() and ivadmin_pop_find().v APIs that return a numeric return code and output arguments, such as

ivadmin_acl_attrget() and ivadmin_ssogroup_getresources().v APIs that return a value only, such as ivadmin_group_getdescription() and

ivadmin_user_getsn().

If an administration API call returns a numeric return code, check the return codeto determine whether the API was successful. If the API was unsuccessful and aresponse object is available, check the response object for additional information, asdescribed in “Evaluating a response object” on page 15.

14 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 31: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Whether a return code is provided or not, if an administration API call was notsuccessful, any output or return values are set to indicate that no information wasreturned. Pointer arguments are set to NULL and counts and numeric values areset to zero.

Evaluating a response objectMany administration API calls return a pointer to an object of typeivadmin_response.

ivadmin_response *rsp;

Objects of type ivadmin_response are termed response objects and provide additionalinformation about the operation.

The response objects are initialized by the administration API to NULL.

If a response object is returned, examine the contents to obtain further informationabout the error. Use the ivadmin_response_getok() function to examine a responseobject. This function returns an unsigned long integer. This return valuecorresponds to one of the following constants, which are defined in ivadminapi.h:#define IVADMIN_FALSE 0#define IVADMIN_TRUE 1

v If the call encountered an error, the response object contains the constantIVADMIN_FALSE.

v If the validation of input parameters fails, IVADMIN_FALSE is returned.v If the call succeeded, the response object contains the constant IVADMIN_TRUE.

When ivadmin_response_getok() returns IVADMIN_FALSE, you can use additionaladministration API functions to obtain information about the error.

Obtaining error message textYou can view text messages that describe an error.

Procedure1. Call ivadmin_response_getcount() to determine how many error messages

were returned. Note: Most API calls return only one error message.2. For each message returned, call ivadmin_response_getmessage(). Pass in, as an

input parameter, an index value for each error message. The following samplecode prints the response message (character string) from an administration APIcommand:void printResponse(ivadmin_response rsp, char *api_call) {int i=0;

if (rsp == NULL) {printf(" %s : failed\n", api_call);

}

if (ivadmin_response_getok(rsp)) {printf(" %s : succeeded\n", api_call);

} else {for (i=0; i<ivadmin_response_getcount(rsp); i++) {printf(" %s : %s\n", api_call,

ivadmin_response_getmessage(rsp, i));}

}}

Chapter 2. Administration API tasks 15

Page 32: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

In the preceding example, the response (rsp) can be NULL.

Results

See the following reference pages:v “ivadmin_response_getcount()” on page 225v “ivadmin_response_getmessage()” on page 225

Obtaining error codesYou can display a Security Access Manager value code that corresponds to eachmessage with ivadmin_response_getmessage().

About this task

When you know the meaning of a particular value code, you can use thisinformation to develop application logic specific to the particular error condition.

Procedure1. Call ivadmin_response_getcount() to determine how many error messages

were returned.

Note: Most API calls return only one error message.2. Call ivadmin_response_getcode() with an integer argument - input parameter,

specifying the error message to examine.The response code is returned in the form of an unsigned integer:void printErrorCode(ivadmin_response rsp, char *api_call) {int i=0;

if (rsp == NULL) {printf(" %s : failed\n", api_call);}

if (ivadmin_response_getok(rsp)) {printf(" %s : succeeded\n", api_call);

} else {for (i=0; i<ivadmin_response_getcount(rsp); i++) {

printf(" %s : %ul\n", api_call,ivadmin_response_getcode(rsp, i));

}}

}

Obtaining error message modifiersSome administration API calls return a modifier that categorizes the returnedmessage as an Information, Warning, or Error type.

The modifiers are defined as constants (unsigned longs):#define IVADMIN_RESPONSE_INFO 0#define IVADMIN_RESPONSE_WARNING 1#define IVADMIN_RESPONSE_ERROR 2

v Call ivadmin_message_getcount() to determine how many information, warning,or error messages were returned.

v Call ivadmin_response_getmodifier() to determine the modifier for the specifiedmessage:

16 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 33: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

unsigned long = modifier;modifier = ivadmin_response_getmodifier(ivadmin_response rsp,unsigned long index);

Cleaning up and shutting downCleanup and shutdown of the administration API consists of freeing the memoryand deleting the security contexts.

Freeing memoryThe ivadmin_free() function in the administration API frees memory that isallocated by administration API calls.

All memory that is allocated by administration API calls must be freed with thisfunction.void ivadmin_free(void *p);

Be sure to free memory allocated when you create the following objects:v An ivadmin_context object

See “Establishing security contexts” on page 7.v A local copy of a data object created by an administration API get function

See “Getting objects” on page 12.v An ivadmin_response object that contains error information

See “Handling errors” on page 14.

You also must free character strings and array pointers that are created by anadministration API list function. Use the ivadmin_free function to free thismemory as well. See “Listing object information” on page 13.

Deleting a security contextThe administration API application must close the connection, or security context,to the Security Access Manager policy server before exiting.

The context must be deleted so that the client system and the Security AccessManager policy server can free the SSL resources.

The administration API provides the function ivadmin_context_delete(). Thisfunction takes the following input parameters:v A context object of type ivadmin_context

v A pointer to the response object of type ivadmin_response

When the context is deleted, the context memory is freed. Both theivadmin_context object and ivadmin_response object must be freed.

The following code fragment shows a sample usage of ivadmin_context_delete():unsigned long status:ivadmin_context ctx;ivadmin_response rsp;status = ivadmin_context_delete(ctx, &rsp);

if (status != IVADMIN_TRUE) {

Chapter 2. Administration API tasks 17

Page 34: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

/* Delete failed; insert appropriate error handling */}ivadmin_free(rsp);ivadmin_free(ctx);

18 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 35: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 3. Users and groups

The administration API provides a collection of functions for administering IBMSecurity Access Manager for Web (Security Access Manager) users and groups.

This chapter describes the tasks that those functions accomplish.

Information about Security Access Manager users and groups are stored in the userregistry. You can use the administration API to both modify and access user andgroup settings in the user registry. The administration API provides functions toadminister both individual user settings and global user settings.

Security Access Manager provides the pdadmin command-line interface (CLI) thataccomplishes many of the same user and group administration tasks. Applicationdevelopers who previously used the pdadmin command to manage a SecurityAccess Manager secure domain find the administration API functionsstraightforward to implement.

This chapter displays the pdadmin command-line equivalent for each of theadministration API function calls. You can review the output from the pdadmincommand-line equivalents to better understand the types of information returnedby the administration APIs. See the IBM Security Access Manager for Web:Administration Guide for detailed information about the pdadmin command.

This chapter contains the following topics:v “Administering users”v “Administering user accounts” on page 20v “Administering user passwords” on page 22v “Administering groups” on page 23v “Administering group attributes” on page 24

Administering usersThe administration API provides functions for creating, accessing, deleting, andlisting Security Access Manager user information within the user registry.

The function ivadmin_user_create3() creates a user in the user registry used bythe Security Access Manager policy server.

Note: When a user definition exists in the user registry, use theivadmin_user_import2() function instead.

The ivadmin_user_import2() function imports an existing user definition from theuser registry into Security Access Manager and allows the user definition to bemanaged by Security Access Manager.

Use the ivadmin_user_delete2() function to delete a user from Security AccessManager.

Table 8 on page 20 lists the user administration functions.

© Copyright IBM Corp. 2000, 2012 19

Page 36: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

User registry difference: Leading and trailing blanks in a user name do not makethe name unique when using an LDAP or Active Directory user registry. To keepname processing consistent regardless of what user registry is being used, do notdefine user names with leading or trailing blanks.

Table 8. Administering users

Functions Description

“ivadmin_user_create3()” on page 249 Creates the specified user.

“ivadmin_user_delete2()” on page 251 Deletes the specified user.

“ivadmin_user_import2()” on page 270 Creates a Security Access Manager user byimporting an existing user from the userregistry.

“ivadmin_user_list()” on page 271 Lists Security Access Manager users.

“ivadmin_user_listbydn()” on page 272 Lists users by with distinguished name of theuser registry.

Administering user accountsAfter a user account is created in the user registry, you can set and get differentpieces of information about the user.

You must create a security context between the calling application and the SecurityAccess Manager policy server before you can access the user registry. You canobtain the user registry information for a user object by specifying either the userID or the user distinguished name.

Call the ivadmin_user_set* group of API functions to establish security policiesthat apply to one specific Security Access Manager user. Call the ivadmin_context_*group of API functions to establish security policies that apply to all SecurityAccess Manager users.

A policy might be set for a specific user account by an ivadmin_user_set* API call.The same policy might be set globally for all users by an ivadmin_context_set*API call. In this case, the policy for the specific user account takes priority and isused. This priority takes place regardless of whether the policy for the specific useris more or less restrictive than the global policy.

Note: When both an ivadmin_user_set* API and an ivadmin_context_set* APIexist with similar functionality, they are combined under the ivadmin_context_set*API as shown in Table 9 on page 21.

This section describes the API calls that you can use to modify or access thefollowing data:v Account expiration datev Account disablement time intervalv Maximum number of failed loginsv Time of day accessv User registry typev User objectsv User account-valid statusv User names (distinguished names, common names, and surnames)

20 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 37: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

v User descriptionsv Group membershipsv Concurrent web sessions

Table 9. Administering user accounts

Functions Description

“ivadmin_context_getaccexpdate()” on page 123

“ivadmin_user_getaccexpdate()” on page 253

Returns the account expirationdate for user accounts.

“ivadmin_context_getdisabletimeint()” on page 125

“ivadmin_user_getdisabletimeint()” on page 256

Returns the time to disableuser accounts when themaximum number of loginfailures is exceeded.

“ivadmin_context_getmaxconcurwebsess()” on page 126

“ivadmin_user_getmaxconcurwebsess()” on page 259

Returns the maximum numberof concurrent web sessions.

“ivadmin_context_getmaxlgnfails()” on page 127

“ivadmin_user_getmaxlgnfails()” on page 260

Returns the maximum numberof failed logins allowed foruser accounts.

“ivadmin_context_gettodaccess()” on page 135

“ivadmin_user_gettodaccess()” on page 269

Returns the time of day accesspolicy for user accounts.

“ivadmin_context_getuserreg()” on page 136 Determines which type of userregistry is configured for theSecurity Access Manager policyserver.

“ivadmin_context_setaccexpdate()” on page 138

“ivadmin_user_setaccexpdate()” on page 273

Sets the account expirationdate for user accounts.

“ivadmin_context_setdisabletimeint()” on page 139

“ivadmin_user_setdisabletimeint()” on page 276

Sets the time to disable for useraccounts when the maximumnumber of login failures isexceeded.

“ivadmin_context_setmaxconcurwebsess()” on page 140

“ivadmin_user_setmaxconcurwebsess()” on page 277

Sets the maximum number ofconcurrent sessions that areallowed for user accounts.

“ivadmin_context_setmaxlgnfails()” on page 142

“ivadmin_user_setmaxlgnfails()” on page 278

Sets the maximum number offailed login attempts that areallowed for user accounts.

“ivadmin_context_settodaccess()” on page 147

“ivadmin_user_settodaccess()” on page 287

Sets the time of day access forthe account for user accounts.

“ivadmin_user_get()” on page 252 Gets the user object. TakesuserID (character string) as aninput parameter. Returns anobject of typeivadmin_ldapuser. This objectcontains a number of userregistry attributes for thespecified user.

“ivadmin_user_getaccountvalid()” on page 254 Returns the account-validindicator for the specified userobject.

Chapter 3. Users and groups 21

Page 38: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 9. Administering user accounts (continued)

Functions Description

“ivadmin_user_getbydn()” on page 254 Gets the user object by withdistinguished name in the userregistry. Returns an object oftype ivadmin_ldapuser.

“ivadmin_user_getcn()” on page 255 Returns the common nameattribute from the specifieduser.

“ivadmin_user_getdescription()” on page 256 Returns the user description asa character string.

“ivadmin_user_getdn()” on page 257 Returns the distinguishedname from the specified user.

“ivadmin_user_getmemberships()” on page 263 Lists the groups in which thespecified user is a member.

“ivadmin_user_getsn()” on page 268 Returns the surname attributefor the specified user.

“ivadmin_user_getssouser()” on page 268 Returns a setting that indicateswhether the user account hassingle sign-on capabilities.

“ivadmin_user_setaccountvalid()” on page 274 Enables or disables thespecified user account.

“ivadmin_user_setdescription()” on page 275 Sets the user description.

“ivadmin_user_setssouser()” on page 286 Enables or disables the singlesign-on capabilities of theSecurity Access Manager user.

Administering user passwordsYou can manage user access by setting password attributes. You can specifypolicies that apply only to a single user or that apply to all users. This sectiondescribes the administration API calls to modify or access password data andpolicies.

Call the ivadmin_user_* group of API functions to establish security policies thatapply to one specific Security Access Manager user. Call the ivadmin_context_*group of API functions to establish security policies that apply to all SecurityAccess Manager users.

A policy might be set for a specific user password by an ivadmin_user_* API call.The same policy might be set globally for all users by an ivadmin_context_* APIcall. In this case, the policy for the specific user password takes priority, and isused. This priority takes place regardless of whether the policy for the specific userpassword is more or less restrictive than the global policy.

Note: When both an ivadmin_user_* command and an ivadmin_context_*command exist with similar functionality, they are combined and alphabetizedunder the ivadmin_context_* command in Table 10 on page 23.

22 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 39: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 10. Administering user passwords

Functions Description

“ivadmin_context_getmaxpwdage()” on page 128“ivadmin_user_getmaxpwdage()” on page 261

Returns the maximum passwordage for user accounts.

“ivadmin_context_getmaxpwdrepchars()” on page 129“ivadmin_user_getmaxpwdrepchars()” on page 262

Returns the maximum number ofrepeated characters allowed in apassword for user accounts.

“ivadmin_context_getminpwdalphas()” on page 131“ivadmin_user_getminpwdalphas()” on page 264

Gets the minimum number ofalphabetic characters allowed in apassword for user accounts.

“ivadmin_context_getminpwdlen()” on page 133“ivadmin_user_getminpwdlen()” on page 265

Returns the minimum passwordlength for user accounts.

“ivadmin_context_setminpwdnonalphas()” on page 145“ivadmin_user_getminpwdnonalphas()” on page 265

Returns the minimum number ofnon-alphabetic characters allowedin a password for user accounts.

“ivadmin_context_getpwdspaces()” on page 134“ivadmin_user_getpwdspaces()” on page 267

Returns policy for whether spacesare allowed in passwords for useraccounts.

“ivadmin_context_setmaxpwdage()” on page 142“ivadmin_user_setmaxpwdage()” on page 279

Sets the maximum password agefor user accounts.

“ivadmin_context_setmaxpwdrepchars()” on page 143“ivadmin_user_setmaxpwdrepchars()” on page 280

Sets the maximum number ofrepeated characters allowed in apassword for user accounts.

“ivadmin_context_setminpwdalphas()” on page 144“ivadmin_user_setminpwdalphas()” on page 281

Sets the minimum number ofalphabetic characters allowed in apassword for user accounts.

“ivadmin_context_setminpwdlen()” on page 146“ivadmin_user_setminpwdlen()” on page 282

Sets the minimum passwordlength for user accounts.

“ivadmin_context_setminpwdnonalphas()” on page 145“ivadmin_user_setminpwdnonalphas()” on page 283

Sets the minimum number ofnon-alphabetic characters allowedin a password for user accounts.

“ivadmin_context_setpwdspaces()” on page 146“ivadmin_user_setpwdspaces()” on page 285

Sets policy for whether spaces areallowed in passwords for useraccounts.

“ivadmin_user_getlastpwdchange()” on page 155 Returns the time and date ofwhen the password was lastchanged.

“ivadmin_user_getpasswordvalid()” on page 266 Returns the enabled indicator forthe user password.

“ivadmin_user_setpassword()” on page 283 Sets the user password.

“ivadmin_user_setpasswordvalid()” on page 284 Enables or disables the SecurityAccess Manager user password.

Administering groupsThe administration API provides functions for creating, deleting, and listing themembers of a group.

The name of a group is not case-sensitive. The values “group”, “GROUP”,“Group”, and “GrOuP” all refer to the same Security Access Manager group.Table 11 on page 24 lists the group administration functions.

Chapter 3. Users and groups 23

Page 40: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

User registry difference: Leading and trailing blanks in a group name do notmake the name unique when using an LDAP or Active Directory user registry. Tokeep name processing consistent regardless of what user registry is being used, donot define group names with leading or trailing blanks.

Table 11. Administering groups

Functions Description

“ivadmin_group_create2()” on page 156 Creates a group.

“ivadmin_group_import2()” on page 163 Creates a Security Access Manager group byimporting an existing group from the userregistry.

“ivadmin_group_delete2()” on page 157 Deletes the specified group.

“ivadmin_group_list()” on page 164 Lists group names that match the specifiedpattern. Group names can be Security AccessManager or user registry names.

Administering group attributesUse the administration API to administer the attributes of a group.

Table 12 lists the group attribute administration functions.

Table 12. Administering group attributes

Functions Description

“ivadmin_group_get()” on page 158 Returns the group object for thespecified group name.

“ivadmin_group_getbydn()” on page 159 Returns the group object for thespecified distinguished name.

“ivadmin_group_getcn()” on page 160 Returns the group common nameattribute for the specified group.

“ivadmin_group_getdescription()” on page 160 Returns the group description.

“ivadmin_group_getdn()” on page 161 Returns the group distinguishedname for the specified group.

“ivadmin_group_getid()” on page 162 Returns the group ID for thespecified group.

“ivadmin_group_listbydn()” on page 165 Lists groups that match thespecified pattern for distinguishednames.

“ivadmin_group_setdescription()” on page 167 Sets the group description.

“ivadmin_group_getmembers()” on page 162 Lists the members of the group.

“ivadmin_group_addmembers()” on page 155 Adds the specified users to thespecified group.

User registry difference:Attempting to add a duplicateuser to a group is handleddifferently depending on whatuser registry is being used. SeeAppendix B, “User registrydifferences,” on page 293 fordetails.

24 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 41: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 12. Administering group attributes (continued)

Functions Description

“ivadmin_group_removemembers()” on page 166 Removes the specified users fromthe specified group.

Chapter 3. Users and groups 25

Page 42: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

26 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 43: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 4. Administering protected objects and protectedobject spaces

You can use the administration API to create, modify, examine, list, and deleteSecurity Access Manager protected objects. This chapter describes theadministration API functions for administering protected object spaces andprotected objects.

These protected objects represent resources that must be secured to enforce yoursecurity policy. You can specify the security policy by applying access control lists(ACLs), protected object policies (POPs), and authorization rules to the protectedobjects.

Security Access Manager protected objects exist within a virtual hierarchy knownas a protected object space. Security Access Manager provides several protected objectspaces by default. You can use the administration API to define new regions of theprotected object space. You can also use the API to define and secure resources thatare specific to a third-party application.

You must be familiar with protected objects before working with theadministration API. For an introduction to protected objects, see the chapter aboutmanaging protected objects in the IBM Security Access Manager for Web:Administration Guide.

For an introduction to the use of ACLs, POPs, and authorization rules to secureprotected objects, see the chapters about using access control policies, protectedobject policies, and authorization rules in the IBM Security Access Manager for Web:Administration Guide.

This chapter contains the following topics:v “Administering protected object spaces”v “Administering protected objects” on page 28v “Administering extended attributes for a protected object” on page 29

Administering protected object spacesYou can use the administration API to create and administer a user-definedprotected object space.

You can use this protected object space to define a resource hierarchy that isspecific to a third-party application that uses Security Access Managerauthorization services to enforce a security policy.

User-defined object spaces created with the administration API are dynamicbecause they can be updated while Security Access Manager is running.

Table 13 on page 28 lists the methods available for administering protected objectspaces.

Note: For an introduction to the creation of protected object spaces, see theprotected object space information in the IBM Security Access Manager for Web:Administration Guide.

© Copyright IBM Corp. 2000, 2012 27

Page 44: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 13. Administering protected object spaces

Functions Description

“ivadmin_objectspace_create()” on page168

Creates a Security Access Manager protectedobject space.

“ivadmin_objectspace_delete()” on page169

Deletes the specified Security Access Managerprotected object space.

“ivadmin_objectspace_list()” on page 170 Lists the Security Access Manager protectedobject spaces.

Administering protected objectsDefine protected objects that reflect the resources that your security policy protects.

Security Access Manager defines two types of protected objects: container objectsand resource objects. Understand these concepts before creating and administeringprotected objects.

The name of a protected object can be of any length and contain any character. Theforward slash (/) character is interpreted to be part of the object hierarchy. ACLscan be attached at the various points indicated by the forward slash character.

After creating a protected object, you can specify a security policy for it. You defineand attach ACLs, POPs, authorization rules, or any combination of these entities.

For more information about Security Access Manager security concepts, see theIBM Security Access Manager for Web: Administration Guide.

Use caution when implementing protected objects programmatically. In manycases, the protected object hierarchy is manually designed, built, and tested by asecurity expert. Carefully review the hierarchy to ensure that the security policy iscorrectly enforced. If you choose to build protected object hierarchiesprogrammatically, be sure to test and review the settings for each object beforedeploying the security environment.

Table 14 lists the functions available to administer protected objects.

Table 14. Administering protected objects

Functions Description

“ivadmin_protobj_attachacl()” on page 198 Attaches the specified access control list to thespecified protected object.

“ivadmin_protobj_attachauthzrule()” onpage 199

Attaches an authorization rule to the specifiedprotected object.

“ivadmin_protobj_create()” on page 204 Creates a Security Access Manager protectedobject.

“ivadmin_protobj_delete()” on page 205 Deletes the specified Security Access Managerprotected object.

“ivadmin_protobj_detachacl()” on page205

Detaches the access control list from thespecified protected object.

“ivadmin_protobj_detachauthzrule()” onpage 206

Detaches an authorization rule from thespecified protected object.

“ivadmin_protobj_get3()” on page 209 Gets the specified protected object.

28 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 45: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 14. Administering protected objects (continued)

Functions Description

“ivadmin_protobj_getaclid()” on page 211 Gets the name of the ACL attached to thespecified protected object.

“ivadmin_protobj_geteffaclid()” on page213

Gets the name of the ACL in effect for thespecified protected object.

“ivadmin_protobj_getpopid()” on page 216 Gets the name of the POP attached to thespecified protected object.

“ivadmin_protobj_geteffpopid()” on page214

Gets the name of the POP in effect for thespecified protected object.

“ivadmin_protobj_getauthzruleid()” onpage 211

Gets the name of the authorization rule objectthat is attached to the specified protectedobject.

“ivadmin_protobj_geteffauthzruleid()” onpage 213

Gets the name of the authorization rule objectthat is in effect for the specified protectedobject.

“ivadmin_protobj_getdesc()” on page 212 Gets the description of the specified protectedobject.

“ivadmin_protobj_getid()” on page 215 Gets the name of the specified protected object.

“ivadmin_protobj_getpolicyattachable()”on page 215

Indicates whether a protected object policy oraccess control list can be attached to thespecified protected object.

“ivadmin_protobj_exists()” on page 209 Indicates whether a protected object exists.

“ivadmin_protobj_access()” on page 196 Indicates whether a specific action to a specificobject is permitted.

“ivadmin_protobj_multiaccess()” on page220

Indicates whether the specified actions to thespecified objects are permitted.

“ivadmin_protobj_getpopid()” on page 216 Gets the name of the protected object policyfor the specified protected object.

“ivadmin_protobj_list3()” on page 217 Returns the protected objects contained underthe specified directory.

“ivadmin_protobj_listbyacl()” on page 219 Returns a list of protected objects that have thespecified access control list attached.

“ivadmin_protobj_setdesc()” on page 222 Sets the description field of the specifiedprotected object.

“ivadmin_protobj_setpolicyattachable()”on page 223

Sets whether a protected object policy or accesscontrol list can be attached to the specifiedprotected object.

“ivadmin_protobj_settype()” on page 223 Sets the type field of the specified protectedobject.

“ivadmin_protobj_listbyauthzrule()” onpage 219

Lists the protected objects that have thespecified authorization rule attached.

Administering extended attributes for a protected objectYou can create, set, query, and delete the extended attributes for a protected object.

Chapter 4. Administering protected objects and protected object spaces 29

Page 46: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Protected objects without explicitly defined extended attributes inherit the firstfound set of extended attributes, which are defined at the parent object within theinheritance chain. The found set of extended attributes replaces the empty set ofdefined attributes. These inherited attributes are termed effective extended attributes.

Table 15 describes the methods for administering extended attributes and effectiveextended attributes for a protected object.

Table 15. Administering protected object attributes

Functions Description

“ivadmin_protobj_attrdelkey()” on page199

Deletes the specified extended attribute (nameand values) from the specified protectedobject.

“ivadmin_protobj_attrdelval()” on page200

Deletes the specified value from the specifiedextended attribute key in the specifiedprotected object.

“ivadmin_protobj_effattrget()” on page 207 Displays a list of the values for the effectiveextended attribute that is associated with thespecified protected object.

“ivadmin_protobj_effattrlist()” on page 208 Displays a list of all the effective extendedattributes that are associated with the specifiedprotected object.

“ivadmin_protobj_attrget()” on page 201 Returns the values that are associated with thespecified extended attribute for the specifiedprotected object.

“ivadmin_protobj_attrlist()” on page 202 Lists all the extended attributes that areassociated with the specified protected object.

“ivadmin_protobj_attrput()” on page 203 Creates an extended attribute with thespecified name and value, if it does not exist,and adds the attribute to the specifiedprotected object. If the attribute specifiedexists, the specified value is added to theexisting attribute.

30 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 47: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 5. Administering access control

You can use the administration API to create, modify, examine, list, and deleteSecurity Access Manager access control lists (ACLs).

You can also use the administration API to attach ACLs to Security AccessManager protected objects and to detach ACLs from protected objects.

Each ACL might contain entries for specific users and groups. You can use theadministration API to set ACL entries for users and groups that exist in theSecurity Access Manager secure domain. You also can use the administration APIto set ACL entries for the default user categories any-other and unauthenticated.

ACL entries consist of one or more permissions. These permissions specify actionsthat the owner of the entry is allowed to do. Security Access Manager provides anumber of default permissions. You can use the administration API to defineadditional extended actions. You also can use the administration API to group theextended actions into action groups.

Understand the construction and use of ACLs before working with administrationAPI ACL functions. The correct use of ACLs is key to successfully implementing asecurity policy. For more information, see the chapter about using access controllists in the IBM Security Access Manager for Web: Administration Guide.

This chapter contains the following topics:v “Administering access control lists”v “Administering access control list entries” on page 32v “Administering access control list extended attributes” on page 34v “Administering extended actions” on page 35v “Administering action groups” on page 34

Administering access control listsUse ACLs to grant or restrict specific users and groups access to protectedresources.

Use the administration API to:v Create and delete ACLsv Retrieve or change information associated with an ACLv List the user, group, any-other, and unauthenticated entries that are included in

the ACLv List all defined ACLs

The name of an ACL can be of any length. The following characters are allowed inan ACL name:v Alphanumeric characters defined in the localev The underscore (_) characterv The hyphen (-) character

© Copyright IBM Corp. 2000, 2012 31

Page 48: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

You specify the user entries that belong in each ACL. You also specify thepermissions or actions that each user is allowed to do.

You can specify permissions or actions based on group membership, rather thanindividual user identity, to expedite administration tasks.

The administration API defines the ivadmin_acl data type to contain a retrievedACL. You can use administration API functions to extract information from theivadmin_aclPDAcl object.

Be sure that you understand how to define an ACL policy before working withadministration API ACL functions. For more information, see the section aboutACL entry syntax in the IBM Security Access Manager for Web: Administration Guide.

Table 16 describes the methods for administering ACLs.

Table 16. Administering access control lists

Functions Description

“ivadmin_acl_create()” on page 60 Creates an ACL.

“ivadmin_acl_delete()” on page 61 Deletes the specified ACL.

“ivadmin_acl_get()” on page 62 Returns the specified ACL.

“ivadmin_acl_getdescription()” on page 63 Returns the description of the specified ACL.

“ivadmin_acl_getid()” on page 65 Returns the name of the specified ACL.

“ivadmin_acl_list()” on page 67 Returns the names of all the defined ACLs.

“ivadmin_acl_listgroups()” on page 69 Returns a list of group names included in thespecified ACL.

“ivadmin_acl_listusers()” on page 70 Returns a list of the user names included inthe specified ACL.

“ivadmin_acl_setdescription()” on page 75 Sets or modifies the description for thespecified ACL.

Administering access control list entriesYou must create an ACL object before you can administer ACL entries for theobject.

To create an ACL object, see “ivadmin_acl_create()” on page 60.

The administration API can be used to specify entries for each of the followingACL entry types:v Usersv Groupsv User any-other (also known as any-authenticated)v User unauthenticated

The type any-other applies to any user that is authenticated into the SecurityAccess Manager secure domain but that does not have a separate entry in the ACL.The type unauthenticated applies to all user identities that are unknown toSecurity Access Manager. Unknown users cannot authenticate into the SecurityAccess Manager secure domain.

32 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 49: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Ensure that you understand ACL entry syntax, ACL entry types, ACL ID attributes,and ACL permission (action) attributes. Then use the administration API functionsin this section.

Security Access Manager supports 18 default actions. For a list of the defaultSecurity Access Manager actions, see the section about default Security AccessManager permissions for actions in the IBM Security Access Manager for Web:Administration Guide.

For more information, see the section about ACL entry syntax in the IBM SecurityAccess Manager for Web: Administration Guide.

Table 17 lists the methods for administering ACL entries.

Table 17. Administering access control list entries

Functions Description

“ivadmin_acl_getanyother()” on page 63 Returns the actions defined in the entry forthe user type any-other in the specified ACL.

“ivadmin_acl_getunauth()” on page 66 Returns the actions (permissions) defined inthe entry for the user type unauthenticated inthe specified ACL.

“ivadmin_acl_getuser()” on page 66 Returns the actions (permissions) defined inthe entry for the specified user in thespecified ACL.

“ivadmin_acl_setuser()” on page 78 Returns the actions (permissions) defined inthe entry for the specified group in thespecified ACL.

“ivadmin_acl_removeanyother()” on page71

Removes the ACL entry for the any-otheruser from the specified ACL.

“ivadmin_acl_removegroup()” on page 72 Removes the ACL entry for the specifiedgroup from the specified ACL.

“ivadmin_acl_removeunauth()” on page 72 Removes the ACL entry for theunauthenticated user from the specified ACL.

“ivadmin_acl_removeuser()” on page 73 Removes the ACL entry for the specified userfrom the specified ACL.

“ivadmin_acl_setanyother()” on page 74 Sets or modifies the ACL entry for theany-other user in the ACL.

Call this function to specify permissions forall authenticated users who do not have aseparate user or group entry in the specifiedACL.

“ivadmin_acl_setgroup()” on page 76 Sets or modifies the ACL entry for thespecified group in the specified ACL.

“ivadmin_acl_setunauth()” on page 77 Sets the ACL entry for the unauthenticateduser in the specified ACL.

Call this function to specify permissions forthose users who are not authenticated.

“ivadmin_acl_setuser()” on page 78 Sets the entry for the specified user in thespecified ACL. Use this method to specify theactions that a user is permitted.

Chapter 5. Administering access control 33

Page 50: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Administering access control list extended attributesExtended attributes for an ACL can be obtained, set, and deleted.

Table 18 lists the methods available for administering ACL extended attributes.

Table 18. Administering access control list extended attributes

Functions Description

“ivadmin_acl_attrdelkey()” on page 56 Deletes the specified extended attribute keyfrom the specified ACL.

“ivadmin_acl_attrdelval()” on page 57 Deletes the specified value from the specifiedextended attribute key in the specified ACL.

“ivadmin_acl_attrget()” on page 58 Gets the extended attribute values for thespecified extended attribute key from thespecified ACL.

“ivadmin_acl_attrlist()” on page 59 Lists the extended attribute keys associatedwith the specified ACL.

“ivadmin_acl_attrput()” on page 60 Creates an extended attribute with thespecified name and value, if it does not exist,and adds the attribute to the specified ACL. Ifthe attribute specified exists, the specifiedvalue is added to the existing values for theattribute.

Administering action groupsYou can use the administration API to create, examine, and delete new actiongroups.

Each action group can contain up to 32 actions. The default action group, referredto as the primary action group, contains the 18 predefined Security AccessManager actions, which means you can create up to 14 new actions to the primarygroup.

When you need to create more than 32 actions, you can use the administration APIto define a new action group. Security Access Manager supports up to 32 actiongroups.

For more information about action groups, see the section about creating extendedACL actions and action groups in the IBM Security Access Manager for Web:Administration Guide. Table 19 lists the methods for administering action groups.

Table 19. Administering action groups

Functions Description

“ivadmin_action_create_in_group()” onpage 80

Defines a new action (permission) code in thespecified action group. Call this function toadd an action code to a user-defined extendedaction group.

“ivadmin_action_delete_from_group()” onpage 82

Deletes an action (permission) code from thespecified action group.

34 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 51: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 19. Administering action groups (continued)

Functions Description

“ivadmin_action_group_create()” on page85

Creates a new action group with the specifiedname.

“ivadmin_action_group_delete()” on page85

Deletes the specified action group and all theactions that belong to the specified group.

“ivadmin_action_group_list()” on page 86 Lists all the defined action group names.

“ivadmin_action_list_in_group()” on page88

Lists all the defined action (permission) codesfrom the specified action group.

Administering extended actionsSecurity Access Manager provides a default set of actions (permissions) that belongto the primary action group that can be granted to users or groups. You can usethe administration API to define new extended actions that supplement the set ofdefault actions.

Each of the extended actions can belong to the primary action group or to acustom action group.

Extended actions are typically defined to support actions that are specific to athird-party application. For more information about extended actions, see thesection about creating extended ACL actions and action groups in the IBM SecurityAccess Manager for Web: Administration Guide.

Table 20 lists the methods for administering extended actions.

Table 20. Administering extended actions

Functions Description

“ivadmin_action_create()” on page 79 Defines a new action (permission) code in thespecified action group.

“ivadmin_action_delete()” on page 81 Deletes an action (permission) code from thespecified action group.

“ivadmin_action_getdescription()” on page83

Returns the description for the specifiedaction.

“ivadmin_action_getid()” on page 84 Returns the code for the specified action.

“ivadmin_action_gettype()” on page 84 Returns the type for the specified action.

“ivadmin_action_list()” on page 87 Lists all the defined action (permission) codesfor the specified action group.

Chapter 5. Administering access control 35

Page 52: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

36 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 53: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 6. Administering protected object policies

You can use the administration API to create, modify, examine, and delete SecurityAccess Manager protected object policies (POPs).

You can also use the Administration API to attach or detach POPs from protectedobjects.

You can use POPs to impose additional conditions on operations that are permittedby an access control list (ACL) policy. These additional conditions are enforcedregardless of the user or group identities specified in the ACL entries.

Examples of additional conditions include:v Specifying the quality of protectionv Writing a report record to the auditing servicev Requiring an authentication strength levelv Restricting access to a specific time periodv Enabling or disabling warning mode, which allows an administrator to validate

security policy

Be sure that you understand Security Access Manager POPs before working withadministration API to administer POPs. For more information, see the chapterabout using POPs in the IBM Security Access Manager for Web: Administration Guide.

This chapter contains the following topics:v “Administering protected object policy objects”v “Administering protected object policy settings” on page 38v “Administering protected object policy extended attributes” on page 40

Administering protected object policy objectsPOP objects are administered in a similar way to ACL policies. You can create andconfigure a POP, and then attach the POP to objects in the protected object space.

The administration API defines the ivadmin_pop data type to contain the retrievedPOP. You can use administration API functions to extract data from theivadmin_pop objects. You do not need to know the internal structure of theivadmin_pop data type.

Table 21 lists the methods for administering protected object policy objects.

Table 21. Administering protected object policy objects

Function Description

“ivadmin_pop_create()” on page 175 Creates a POP object with the default values.

“ivadmin_pop_delete()” on page 177 Deletes the specified POP.

“ivadmin_pop_detach()” on page 177 Detaches a POP from the specified protectedobject.

“ivadmin_pop_find()” on page 178 Finds and lists all protected objects that havethe specified POP attached.

© Copyright IBM Corp. 2000, 2012 37

Page 54: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 21. Administering protected object policy objects (continued)

Function Description

“ivadmin_pop_get()” on page 179 Returns the specified POP object. Call thisfunction to get an object of type ivadmin_pop.

“ivadmin_pop_list()” on page 186 Lists all POP objects.

Administering protected object policy settingsYou can use the administration API to set, modify, or remove attributes in a POP.You must create the POP object before specifying POP settings.

To create a POP object, see “ivadmin_pop_create()” on page 175. You can useadministration API functions to specify the following POP attributes:v Authentication levelsv Quality of Protection (QOP) requirementsv Auditing levelsv Time of day access restrictionsv Warning mode settings

Authentication levels specify whether additional or alternative authentication isrequired to access a protected object. The additional authentication is also calledstep-up authentication. This means that an additional authentication step isrequired to access resources that require more restrictive access policies. Whenusing step-up authentication, you can either filter users based on IP address or youcan specify step-up authentication for all users, regardless of IP address.

Call ivadmin_pop_setanyothernw() or ivadmin_pop_setipauth() to specify step-upauthentication policy for objects that require authentication-sensitive authorization.When using step-up authentication, you can either filter users based on IP addressor you can specify step-up authentication for all users, regardless of IP address.

Call ivadmin_pop_setanyothernw() or ivadmin_pop_setipauth() when you want tospecify a POP that specifies step-up authentication policy for all users, regardlessof IP address.

For more information about the use of the authentication level by WebSEAL, seethe section about authentication strength POP policy (step-up) in the IBM SecurityAccess Manager for Web: Web Security Developer Reference.

The quality of protection (QOP) level is not enforced internally by Security AccessManager. Applications that set the quality of protection can enforce it.

Audit levels specify what operations generate an audit record. This value is usedinternally by Security Access Manager and also can be used by applications togenerate their audit records.

The time of day access setting is used to control access to a protected object basedon the time when the access occurs.

The warning mode enables a security administrator to troubleshoot theauthorization policy set on the protected object space.

38 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 55: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

When you set the warning attribute to yes, any action is possible by any user onthe object where the POP is attached. Any access to an object is permitted even ifthe ACL policy attached to the object is set to deny this access.

Audit records are generated that capture the results of all ACL policies withwarning mode set throughout the object space. The audit log shows the outcomeof an authorization decision as it is made if the warning attribute is set to no.

Table 22 lists the methods for administering protected object policy settings.

Table 22. Administering protected object policy settings

Functions Description

“ivadmin_pop_getanyothernw2()” on page180

Returns the anyothernw or any othernetwork, setting for the IP authenticationlevel from the specified POP.

“ivadmin_pop_getauditlevel()” on page 180 Returns the audit level for the specified POP.

“ivadmin_pop_getdescription()” on page 181 Returns the description of the specified POP.

“ivadmin_pop_getipauth3()” on page 182 Returns the IP endpoint authenticationsetting in the specified POP.

“ivadmin_pop_getid()” on page 182 Returns the name of the specified POP.

“ivadmin_pop_getqop()” on page 184 Returns the quality of protection (QOP) levelfor the specified POP.

“ivadmin_pop_gettod()” on page 184 Returns the time of day range for thespecified POP.

“ivadmin_pop_getwarnmode()” on page 185 Returns the warning mode value from thespecified POP.

“ivadmin_pop_removeipauth2()” on page187

Removes the ipauth access setting forauthentication level from the specified POP.

“ivadmin_pop_setanyothernw2()” on page188

Sets the anyothernw setting forauthentication level from the specified POP.

“ivadmin_pop_setanyothernw_forbidden2()”on page 189

Sets the anyothernw access setting toforbidden for the specified POP.

“ivadmin_pop_setauditlevel()” on page 189 Sets the audit level for the specified POP.

“ivadmin_pop_setdescription()” on page 190 Sets the description of the specified POP.

“ivadmin_pop_getipauth3()” on page 182 Returns the specified IP endpointauthentication settings in the specifiedprotected object policy (POP).

“ivadmin_pop_setipauth2()” on page 191 Sets the ipauth setting for authenticationlevel in the specified POP.

“ivadmin_pop_setipauth_forbidden2()” onpage 192

Sets the ipauth setting for authenticationlevel to forbidden in the specified POP.

“ivadmin_pop_setqop()” on page 193 Sets the quality of protection level for thespecified POP.

“ivadmin_pop_settod()” on page 194 Sets the time of day range for the specifiedPOP.

“ivadmin_pop_setwarnmode()” on page 195 Sets the warning mode for the specifiedPOP.

Chapter 6. Administering protected object policies 39

Page 56: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Administering protected object policy extended attributesYou can use the administration API to set, modify, or remove extended attributesin a POP.

Table 23 lists the methods for administering protected object policy extendedattributes.

Table 23. Administering protected object policy extended attributes

Functions Description

“ivadmin_pop_attrdelkey()” on page 171 Deletes the specified extended attribute fromthe specified POP.

“ivadmin_pop_attrdelval()” on page 172 Deletes the specified value from the specifiedextended attribute key in the specified POP.

“ivadmin_pop_attrget()” on page 173 Gets the values for the specified extendedattribute from the specified POP.

“ivadmin_pop_attrlist()” on page 174 Lists the extended attributes associated withthe specified POP.

“ivadmin_pop_attrput()” on page 175 Sets the value for the specified extendedattribute in the specified POP.

40 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 57: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 7. Administering authorization rules

Authorization rules are conditions or standards in an authorization policy.Authorization rules make access decisions based on attributes such as user,application, and environment context.

Authorization rules are defined to specify conditions that must be met beforeaccess to a protected object is permitted. A rule is created with a number ofBoolean conditions. The conditions are based on data supplied to the authorizationengine in the user credential, from the resource manager application, or from theencompassing business environment.

A Security Access Manager authorization rule is a policy type similar to an accesscontrol list (ACL) or a protected object policy (POP). The rule is stored as a textrule in a rule policy object. The rule is attached to a protected object in the sameway and with the same constraints as ACLs and POPs.

The Security Access Manager administration API provides functions to create,delete, modify, list, and get authorization rules.

See the IBM Security Access Manager for Web: Administration Guide.

Use the functions shown in Table 24 to administer authorization rule objects.

Table 24. Administering authorization rules

Function Description

“ivadmin_authzrule_create()” on page 89 Creates the specified authorization rule object.

“ivadmin_authzrule_delete()” on page 90 Deletes the specified authorization rule object.

“ivadmin_authzrule_get()” on page 90 Returns the specified authorization rule object.

“ivadmin_authzrule_getid()” on page 92 Returns the ID for the specified authorizationrule.

“ivadmin_authzrule_getdescription()” onpage 91

Returns the description for the specifiedauthorization rule.

“ivadmin_authzrule_getfailreason()” onpage 92

Returns the fail reason, if any, for the specifiedauthorization rule.

“ivadmin_authzrule_getruletext()” on page93

Returns the rule text for the specifiedauthorization rule.

“ivadmin_authzrule_list()” on page 93 Lists all the registered authorization rules.

“ivadmin_authzrule_setdescription()” onpage 94

Sets the description for the specifiedauthorization rule.

“ivadmin_authzrule_setruletext()” on page96

Sets the authorization rule text.

“ivadmin_authzrule_setfailreason()” onpage 95

Sets the authorization rule fail reason.

© Copyright IBM Corp. 2000, 2012 41

Page 58: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

42 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 59: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 8. Administering single sign-on resources

You can use the administration API to administer resources that enable a SecurityAccess Manager user to obtain single sign-on (SSO) capability across more thanone web server.

This capability requires the use of Security Access Manager WebSEAL junctions.

You can use the administration API to create, modify, examine, and delete thefollowing types of resources:v Administering web resourcesv Administering resource groupsv Administering resource credentials

Be sure that you understand Security Access Manager single sign-on supportbefore you use the administration API to administer single sign-on resources. Formore information about administering single sign-on capability across junctionedweb server resources, see the section about user registry resource managementcommands in the IBM Security Access Manager for Web: Administration Guide and thesection about using global sign-on (GSO) in the IBM Security Access Manager forWeb: Web Security Developer Reference.

This chapter contains the following topics:v “Administering web resources”v “Administering resource groups” on page 44v “Administering resource credentials” on page 45

Administering web resourcesA web resource is a web server that serves as the backend of a Security AccessManager WebSEAL junction.

An application on the joined web server can require users to authenticatespecifically to the application.

The authentication information, such as user name and password, often differsfrom the authentication information used by Security Access Manager. Because ofthis difference, the junctioned web server requires an authenticated Security AccessManager user to log in again, with user name and password specific to theapplication on the joined web server.

You can use the administration API to configure Security Access Manager so thatSecurity Access Manager users need to authenticate only one time. You mustdefine a web resource (server) and then define a user-specific resource credentialthat contains user-specific authentication information for the web resource.

This section describes how to create, modify, and delete web resources.Administration of resource credentials is described in “Administering resourcecredentials” on page 45.

© Copyright IBM Corp. 2000, 2012 43

Page 60: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Note: The administration API does not do all WebSEAL junction configurationtasks through the API. Use the pdadmin commands to modify the junctiondefinitions. For more information, see the IBM Security Access Manager for Web:WebSEAL Administration Guide.

Table 25 lists the methods for administering web resources.

Table 25. Administering web resources

Functions Description

“ivadmin_ssoweb_create()” on page 245 Creates a single sign-on web resource.

“ivadmin_ssoweb_delete()” on page 246 Deletes the specified single sign-on webresource.

“ivadmin_ssoweb_get()” on page 247 Returns the specified single sign-on webresource.

“ivadmin_ssoweb_getdescription()” onpage 247

Returns the description of the specified singlesign-on web resource.

“ivadmin_ssoweb_getid()” on page 248 Returns the name (identifier) of the specifiedsingle sign-on web resource.

“ivadmin_ssoweb_list()” on page 249 Returns a list of all the single sign-on webresource names.

Administering resource groupsA resource group is a group of web servers. The servers are all junctioned to aSecurity Access Manager WebSEAL server and all use the same set of user IDs andpasswords.

You can use the administration API to create resource groups. You can then createa single resource credential for all the resources in the resource group. Use a singleresource credential to simplify the management of web resources by groupingsimilar web resources into resource groups.

You can also use the administration API to add more web resources, whennecessary, to an existing resource group.

Table 26 lists the methods for administering resource groups.

Table 26. Administering resource groups

Functions Description

“ivadmin_ssogroup_addres()” on page 238 Adds a single sign-on resource to asingle sign-on resource group.

“ivadmin_ssogroup_create()” on page 239 Creates a single sign-on groupresource.

“ivadmin_ssogroup_delete()” on page 240 Deletes a single sign-on groupresource.

“ivadmin_ssogroup_get()” on page 241 Returns the specified single sign-ongroup resource.

“ivadmin_ssogroup_getdescription()” on page 241 Returns the description of the singlesign-on group resource.

“ivadmin_ssogroup_getid()” on page 242 Returns the name of the singlesign-on group resource.

44 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 61: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 26. Administering resource groups (continued)

Functions Description

“ivadmin_ssogroup_getresources()” on page 243 Returns a list of the member singlesign-on resource names for thespecified single sign-on group.

“ivadmin_ssogroup_list()” on page 243 Returns a list of all the singlesign-on group resource names.

“ivadmin_ssogroup_removeres()” on page 244 Removes a single sign-on resourcefrom the specified single sign-onresource group.

Note: Depending on the LDAP server in your environment, any attempt to removea non-existing resource from a group might generate an error.

Administering resource credentialsA resource credential provides a user ID and password for a single sign-onuser-specific resource, such as a web server or a group of web servers.

The web resource or group of web resources must exist before you can applyresource credentials to it. Resource credential information is stored in the SecurityAccess Manager entry in the user registry.

You can use the administration API to create, modify, examine, and delete resourcecredentials. Table 27 lists the methods for administering credentials.

Table 27. Administering credentials

Functions Description

“ivadmin_ssocred_create()” on page 230 Creates a single sign-on credential.

“ivadmin_ssocred_delete()” on page 231 Deletes a single sign-on credential.

“ivadmin_ssocred_get()” on page 232 Returns the specified single sign-on credential.

“ivadmin_ssocred_getid()” on page 233 Returns the name of the single sign-onresource associated with this credential.

“ivadmin_ssocred_getssopassword()” onpage 234

Returns the password associated with thesingle sign-on credential.

“ivadmin_ssocred_getssouser()” on page234

Returns the name of the resource userassociated with the specified single sign-oncredential.

“ivadmin_ssocred_gettype()” on page 235 Returns the type of the single sign-on resourceassociated with the specified single sign-oncredential.

“ivadmin_ssocred_getuser()” on page 236 Returns the name of the Security AccessManager user associated with the singlesign-on credential.

“ivadmin_ssocred_list()” on page 236 Returns the list of single sign-on credentialsfor the specified user.

“ivadmin_ssocred_set()” on page 237 Modifies a single sign-on credential.

Chapter 8. Administering single sign-on resources 45

Page 62: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

46 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 63: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 9. Administering domains

A Security Access Manager domain consists of all the physical resources thatrequire protection. The domain also has the associated security policy that protectsthose resources.

The initial domain is the management domain and is created when the PolicyServer is configured. Multiple domains can exist simultaneously in a SecurityAccess Manager environment. Data is securely partitioned between domains. Auser or process must authenticate to a specific domain to access data contained init.

Each Security Access Manager environment contains a single management domain.A user must be authenticated to the management domain to create, delete, list, ormodify additional domains.

The authorization API provides functions that can be used to manage domains.

For more information about the management of domains, see the IBM SecurityAccess Manager for Web: Administration Guide. Table 28 lists the methods foradministering domains.

Table 28. Administering domains

Functions Description

“ivadmin_domain_create()” on page 148 Creates a new Security Access Managerdomain.

“ivadmin_domain_delete()” on page 149 Deletes the specified Security Access Managerdomain.

“ivadmin_domain_get()” on page 150 Gets the specified Security Access Managerdomain object.

“ivadmin_domain_getdescription()” onpage 151

Gets the description for the specified SecurityAccess Manager domain.

“ivadmin_domain_getid()” on page 152 Gets the name of the specified Security AccessManager domain.

“ivadmin_domain_list()” on page 152 Lists the names of all the Security AccessManager domains, except for the managementdomain.

“ivadmin_domain_setdescription()” onpage 153

Changes the description for the specifiedSecurity Access Manager domain.

© Copyright IBM Corp. 2000, 2012 47

Page 64: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

48 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 65: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 10. Configuring application servers

You can use the administration API to configure and unconfigure authorizationand administration servers, modify configuration parameters, administer replicas,and do certificate maintenance.

These APIs are used by the svrsslcfg command-line utility instead of the pdadmincommand-line utility.

The svrsslcfg command-line utility is used to do the necessary configuration stepsthat allow an application to use a secure sockets layer (SSL) connection forcommunicating with the policy server or the authorization server. It is notintended to do all the configuration that might be required to ensure a correctlyfunctioning application.

For more information about the svrsslcfg utility, see the section about usingsvrsslcfg in the IBM Security Access Manager for Web: Command Reference.

Note: The local host name is used to build a unique name for the application.Depending on the TCP/IP configuration, the host name is not always consistentand might result in lookup failures. For example, the operating system mightreturn the fully qualified host name while another computer might return the hostname. If this problem happens in your network, use the following format tospecify the server name to the command-line interface:server_name/desired_host_name

For the API, these parameters are separate. The value of desired_host_name must bespecified for the host_name parameter.

This chapter contains the following topics:v “Configuration commands”v “Administering replicas” on page 50v “Certificate maintenance” on page 50

Configuration commandsUse configuration commands to enable an application and application server thatuse the authorization or administration API to communicate with the policy serveror the authorization server.

An administrative user identity (for example, sec_master) and password must bespecified for connecting to the policy server.

Table 29. Configuring application servers

Functions Description

“ivadmin_cfg_configureserver3()” on page99

Configures an application server by updatingthe configuration file and creating the keyringfile.

“ivadmin_cfg_setlistening2()” on page 110 Sets or resets the enable-listening parameter inthe configuration file.

© Copyright IBM Corp. 2000, 2012 49

Page 66: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 29. Configuring application servers (continued)

Functions Description

“ivadmin_cfg_setport2()” on page 111 Changes the listening port number of theapplication and updates the port number inthe configuration file.

“ivadmin_cfg_unconfigureserver()” onpage 116

Unconfigures an application server.

Administering replicasUse the configuration commands to add, change, or delete replica entries in theconfiguration file and return other configuration information.

Table 30. Administering replicas

Functions Description

“ivadmin_cfg_addreplica2()” on page 97 Adds a replica entry to the configuration file.

“ivadmin_cfg_chgreplica2()” on page 98 Changes parameters of a replica entry in theconfiguration file.

“ivadmin_cfg_rmvreplica2()” on page 108 Removes a replica entry from theconfiguration file.

Certificate maintenanceUse the ivadmin_cfg_renewservercert() function only when the certificate iscompromised.

Table 31. Certificate maintenance

Functions Description

“ivadmin_cfg_renewservercert()” on page107

Renews the server SSL certificate.

50 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 67: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 11. Administering servers

You can use the administration API to get a list of tasks from the server.

You can also send a specific task to an authorization server and notify replicadatabases, either automatically or manually, when the master authorizationdatabase is updated.

This chapter contains the following topics:v “Getting and doing administration tasks”v “Notifying replica databases when the master authorization database is

updated”– “Notifying replica databases automatically” on page 52– “Notifying replica databases manually” on page 52– “Setting the maximum number of notification threads” on page 52– “Setting the notification wait time” on page 52

Getting and doing administration tasksYou can send an administration task to a server. You also can request a list of allsupported administration tasks from a server.

The caller must have credentials with sufficient permission to do the task. Formore information, see the IBM Security Access Manager for Web: Authorization C APIDeveloper Reference.

Notifying replica databases when the master authorization database isupdated

When an administrator makes security policy changes, the policy server adjusts themaster authorization database to reflect these changes.

To ensure that these changes also are dispersed to any authorization servers withreplica databases, you can either:v Configure a Security Access Manager application server, such as WebSEAL, to

poll the master authorization database at regular intervals for updates. Bydefault, polling is disabled. For more information about polling the masterauthorization database, see the cache-refresh-interval option described in theIBM Security Access Manager for Web: Authorization C API Developer Reference.

v Enable the policy server to notify authorization servers each time that the masterauthorization database is updated. Use this automatic process for environmentswhere database changes are infrequent. For more information, see “Notifyingreplica databases automatically” on page 52.

v Notify authorization servers on demand, after you make updates to the masterauthorization database. Use this manual process for environments wheredatabase changes are frequent and involve substantial changes. For instructions,see “Notifying replica databases manually” on page 52.

Select the method that you want to use to update replica databases (automatic,manual, or both). Then fine-tune the settings in the ivmgrd.conf file on the policy

© Copyright IBM Corp. 2000, 2012 51

Page 68: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

server. See “Setting the maximum number of notification threads” and “Setting thenotification wait time.”

Notifying replica databases automaticallyYou can enable the policy server to send notifications to authorization servers eachtime that the master authorization database is updated.

In turn, the authorization servers automatically request a database update from thepolicy server.

To enable automatic database updates, edit the ivmgrd.conf file on the policyserver and add the following attribute=value stanza entry pair:[ivmgrd]auto-database-update-notify = yes

You must restart the policy server for changes to take effect. Use this setting forenvironments where the master database is changed infrequently. To turn offautomatic notification, specify no.

Notifying replica databases manuallyWhen the master authorization database is updated, you can use theivadmin_server_replicate() function to send notifications to application serversthat are configured to receive database update notifications.

You can specify that a specific server receives update notifications, or specifyNULL, which notifies all configured authorization servers in the secure domain.

If you specify a server name, you are notified whether the server was replicatedsuccessfully or if a failure occurred. If you do not specify a server name, returncodes indicate whether the policy server started notifying authorization servers inyour secure domain. Unless you specify the server-name option, you are notnotified when an authorization server database was replicated successfully.

Setting the maximum number of notification threadsWhen the master authorization database is updated, this update is announced toreplica databases through notification threads. Each replica then has theresponsibility of downloading the new data from the master authorizationdatabase.

You can edit the ivmgrd.conf file to set a value for the maximum number ofnotification threads. This number is calculated based on the number of replicadatabases in your secure domain. For example, if you have 10 replica databasesand want to notify them of master database changes simultaneously, specify avalue of 10 for the max-notifier-threads stanza entry as shown:[ivmgrd]max-notifier-threads = 10

The default value is 10 threads.

Setting the notification wait timeThere is a time delay in seconds between when the policy server updates themaster authorization database and when notification is sent to database replicas.

52 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 69: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

If you added the auto-database-update-notify = yes stanza entry to theivmgrd.conf file as described in “Notifying replica databases automatically” onpage 52, you can set this period.

To do so, edit the notifier-wait-time stanza entry value in the ivmgrd.conf file.For example, you might make batch changes to the master authorization database.Wait until all changes are made before sending policy changes to database replicas.You might decide to increase the default value from 15 seconds to 25 seconds asshown:[ivmgrd]notifier-wait-time = 25

Editing the value for this attribute prevents the policy server from sendingindividual replica notifications for each of a series of database changes.

Administrating servers and database notificationThe software provides several functions and methods to administer servers anddatabase notification.

Table 32. Administering servers and database notification

Functions Description

“ivadmin_server_gettasklist()” on page227

Returns a list of tasks from the server.

“ivadmin_server_performtask()” on page228

Sends a command to an authorization server.

“ivadmin_server_replicate()” on page 229 Notifies authorization servers to receivedatabase updates.

Chapter 11. Administering servers 53

Page 70: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

54 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 71: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Chapter 12. Administration C API reference

The APIs in this chapter are in alphabetical order by name.

ivadmin_accessOutdata_getAccessResult()This API interprets the result from the ivadmin_protobj_access() andivadmin_protobj_multiaccess() functions. The API returns the access result, whichindicates whether a specified user can access the specified object.

Syntaxunsigned long ivadmin_accessOutdata_getAccessResult(

ivadmin_accessOutdata outdata);

Parameters

Input

outdataA pointer to an ivadmin_Outdata structure previously returned from eitherthe ivadmin_protobj_access() or ivadmin_protobj_multiaccess() function.

Description

Indicates whether the user has the specified access to the specified object.

Free this structure when it is no longer needed.

Return values

Returns the following values:

AZN_C_PERMITTEDIndicator of whether the user has the necessary access.

AZN_C_NOT_PERMITTEDIndicator of whether the user does not have the necessary access.

ivadmin_accessOutdata_getPermInfo()This API interprets the result from the ivadmin_protobj_access() andivadmin_protobj_multiaccess() functions. The API returns the permissioninformation, if any, that is associated with an access request to an object.

Syntaxazn_attrlist_h_t ivadmin_accessOutdata_getPermInfo(ivadmin_accessOutdata outdata);

Parameters

Input

© Copyright IBM Corp. 2000, 2012 55

Page 72: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

outdataA pointer to an ivadmin_Outdata structure previously returned from eitherthe ivadmin_protobj_access() or ivadmin_protobj_multiaccess() function.

Description

Returns the supplemental permission information (azn_attrlist_h_t structure)that is associated with the specified ivadmin_Outdata object.

Free this structure when it is no longer needed.

Return values

Returns the supplemental permission information (azn_attrlist_h_t structure)that is associated with the specified ivadmin_Outdata object.

ivadmin_accessOutdata_getResponseInfo()This API returns the response information that is associated with an access requestfor an object.

Syntaxivadmin_response ivadmin_accessOutdata_getResponseInfo(ivadmin_accessOutdata outdata);

Parameters

Input

outdataA pointer to an ivadmin_Outdata structure previously returned from eitherthe ivadmin_protobj_access() or ivadmin_protobj_multiaccess() function.

Description

Returns the response information that is associated with the specific access requestto a specific object.

Free this structure when it is no longer needed.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_attrdelkey()This API deletes the specified extended attribute key from the specified accesscontrol list.

Deletes the specified extended attribute key from the specified access control list.

56 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 73: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_acl_attrdelkey(ivadmin_context ctx,char *aclid,char *attr_key,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The name of the access control list.

attr_keyThe extended attribute to delete.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified extended attribute key from the specified access control list.

Command-line equivalent:pdadmin acl modify ACL_name delete attribute attribute_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_attrdelval()This API deletes the specified value from the specified extended attribute key inthe specified access control list.

Syntaxunsigned long ivadmin_acl_attrdelval(ivadmin_context ctx,char *aclid,char *attr_key,char *attr_value,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Chapter 12. Administration C API reference 57

Page 74: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

aclid The name of the access control list.

attr_keyThe extended attribute key.

attr_valueThe extended attribute value to delete from the extended attribute key.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified value from the specified extended attribute key in thespecified access control list.

Command-line equivalent:pdadmin acl modify ACL_name delete attribute attribute_name attribute_value

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_attrget()This API returns the extended attribute value for the specified extended attributekey from the specified access control list.

Syntaxunsigned long ivadmin_acl_attrget(ivadmin_acl acl,char *attr_key,unsigned long *count,char ***attr_value);

Parameters

Input

acl The ivadmin_acl object. This object contains the access control list.

attr_keyThe attribute key to look up.

Output

count The number of extended attribute values returned.

attr_valueAn array of pointers to the values returned. You must free the characterdata referenced by each pointer and also the array of pointers when theyare no longer needed.

58 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 75: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the extended attribute values for the specified extended attribute key fromthe specified access control list.

Command-line equivalent:pdadmin acl show ACL_name attribute attribute_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_attrlist()This API lists the extended attribute keys that are associated with the specifiedaccess control list.

Syntaxunsigned long ivadmin_acl_attrlist(ivadmin_acl acl,unsigned long *count,char ***attr_list);

Parameters

Input

acl The ivadmin_acl object. This object contains the access control list.

Output

count The number of extended attributes returned.

attr_listAn array of pointers to the extended attributes returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

Description

Lists the extended attribute keys that are associated with the specified accesscontrol list.

Command-line equivalent:pdadmin acl list ACL_name attribute

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

Chapter 12. Administration C API reference 59

Page 76: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_attrput()This API creates or changes the extended attribute value for the specified extendedattribute key in the specified access control list.

Syntaxunsigned long ivadmin_acl_attrput(ivadmin_context ctx,char *aclid,char *attr_key,char *attr_value,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The name of the access control list.

attr_keyThe extended attribute key for which you want to set a value.

attr_valueThe value to set.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the extended attribute value for the specified extended attributekey in the specified access control list.

Command-line equivalent:pdadmin acl modify ACL_name set attribute attribute_name attribute_value

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_create()This API creates an access control list (ACL).

60 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 77: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_acl_create(ivadmin_context ctx,const char *aclid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The name of the ACL to create. The name can be of any length. Thefollowing characters are valid in the ACL name.v Alphanumeric characters defined in the localev The underscore (_) characterv The hyphen (-) character

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates an ACL. This function creates an ACL policy in the policy database. It doesnot create the specific ACL entries.

Command-line equivalent:pdadmin acl create ACL_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_delete()This API deletes the specified access control list.

Syntaxunsigned long ivadmin_acl_delete(ivadmin_context ctx,const char *aclid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The name of the access control list.

Chapter 12. Administration C API reference 61

Page 78: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified access control list.

Command-line equivalent:pdadmin acl delete ACL_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_get()This API returns the specified access control list.

Syntaxunsigned long ivadmin_acl_get(ivadmin_context ctx,const char *aclid,ivadmin_acl *acl,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The name of the access control list.

Output

acl The returned access control list. Free this memory when it is no longerneeded.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the specified access control list.

Command-line equivalent:pdadmin acl show ACL_name

Return values

Returns the following values:

62 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 79: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_getanyother()This API returns the actions (permissions) that are defined in the entry for the userany-other in the specified access control list.

Syntaxconst char* ivadmin_acl_getanyother(ivadmin_acl acl);

Parameters

Input

acl A pointer to the access control list.

Description

Returns the actions that are defined in the entry for the user any-other in thespecified access control list. You must call the ivadmin_acl_get() function to obtainthe ivadmin_acl object before using this function to obtain the actions defined forthe any-other user type. Free this character string when it is no longer needed.

Each action is represented by a single alphabetic character. Default actions areprovided in the primary action group by Security Access Manager. These defaultactions, such as A for add, or v for view, are listed in the IBM Security AccessManager for Web: Administration Guide.

Actions in the primary action group are always returned first, followed by theactions defined in other action groups. For example, if the entry contains the addand view actions from the primary action group, along with the P, D, and q actionsfrom the AdminGroup action group, and the b and V actions from the Auditorsaction group, the returned string might be:Av[AdminGroup]PDq[Auditors]bV

If no actions are defined in the entry, an empty string ("") is returned.

Command-line equivalent:pdadmin acl show any-other

Return values

Returns the actions defined in the entry for the user any-other in the specifiedaccess control list.

ivadmin_acl_getdescription()This API returns the description of the specified access control list.

Chapter 12. Administration C API reference 63

Page 80: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxconst char* ivadmin_acl_getdescription(ivadmin_acl acl);

Parameters

Input

acl A pointer to the access control list.

Description

Returns the description of the specified access control list. You must call theivadmin_acl_get() function to obtain the ivadmin_acl object before usingivadmin_acl_getdescription(). Do not free this entry. This data is maintained inthe access control list structure.

Command-line equivalent:pdadmin acl show ACL_name

The description is part of the information returned by the pdadmin acl showcommand.

Return values

Returns the description of the specified access control list. The maximum length fora description is 1024 characters.

ivadmin_acl_getgroup()This API returns the actions (permissions) defined in the entry for the specifiedgroup in the specified access control list.

Syntaxconst char* ivadmin_acl_getgroup(ivadmin_acl acl,const char *groupid);

Parameters

Input

acl A pointer to the access control list.

groupidThe name of the group for which you want the actions.

Description

Returns the actions (permissions) defined in the entry for the specified group inthe specified access control list. You must call the ivadmin_acl_get() function toobtain the ivadmin_acl object before using the ivadmin_acl_getgroup() function toobtain the actions defined for the group. Free this entry when it is no longerneeded.

64 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 81: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Each action is represented by a single alphabetic character. Default actions areprovided in the primary action group by Security Access Manager. These defaultactions, such as A for add, or v for view, are listed in the IBM Security AccessManager for Web: Administration Guide.

Actions in the primary action group are always returned first, followed by theactions defined in other action groups. For example, if the entry contains the addand view actions from the primary action group, along with the P, D, and q actionsfrom the AdminGroup action group, and the b and V actions from the Auditorsaction group, the returned string might be:Av[AdminGroup]PDq[Auditors]bV

If no actions are defined in the entry, an empty string ("") is returned.

Command-line equivalent:pdadmin acl show ACL_name

Return values

Returns the actions (permissions) defined in the entry for the specified group inthe specified access control list.

ivadmin_acl_getid()This API returns the name of the specified access control list.

Syntaxconst char* ivadmin_acl_getid(ivadmin_acl acl);

Parameters

Input

acl A pointer to the access control list.

Description

Returns the name of the specified access control list. You must call theivadmin_acl_get() function to obtain the ivadmin_acl object before using thisfunction. Do not free the returned name. This data is maintained in theivadmin_acl structure.

Command-line equivalent:pdadmin acl show ACL_name

The access control list name is part of the information returned by the pdadmincommand.

Return values

Returns the name of the specified access control list. There is no limit to the lengthof the name.

Chapter 12. Administration C API reference 65

Page 82: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_acl_getunauth()This API returns the actions (permissions) that are defined in the entry for theunauthenticated user in the specified access control list.

Syntaxconst char* ivadmin_acl_getunauth(ivadmin_acl acl);

Parameters

Input

acl A pointer to the access control list.

Description

Returns the actions (permissions) that are defined in the entry for the userunauthenticated in the specified access control list. You must call theivadmin_acl_get() function to obtain the ivadmin_acl object before using theivadmin_get_unauth() function to obtain the actions defined for allunauthenticated users. Free the returned actions when they are no longer needed.

Each action is represented by a single alphabetic character. Default actions areprovided in the primary action group by Security Access Manager. These defaultactions, such as A for add, or v for view, are listed in the IBM Security AccessManager for Web: Administration Guide.

Actions in the primary action group are always returned first, followed by theactions defined in other action groups. For example, if the entry contains the addand view actions from the primary action group, along with the P, D, and q actionsfrom the AdminGroup action group, and the b and V actions from the Auditorsaction group, the returned string might be:Av[AdminGroup]PDq[Auditors]bV

If no actions are defined in the entry, an empty string ("") is returned.

Command-line equivalent:pdadmin acl show ACL_name

Return values

Returns the actions (permissions) that are defined in the entry for the userunauthenticated in the specified access control list.

ivadmin_acl_getuser()This API returns the actions (permissions) that are defined in the entry for thespecified user in the specified access control list.

Syntaxconst char* ivadmin_acl_getuser(ivadmin_acl acl,const char *userid);

66 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 83: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

acl A pointer to the access control list.

useridThe name of the user entry from which you want to get the list of definedactions.

Description

Returns the actions (permissions) defined in the entry for the specified user in thespecified access control list. You must call the ivadmin_acl_get() function to obtainthe ivadmin_acl object before using ivadmin_acl_getuser() to obtain the actionsdefined for the user. Free this character string when no longer needed.

Each action is represented by a single alphabetic character. Default actions areprovided in the primary action group by Security Access Manager. These defaultactions, such as A for add, or v for view, are listed in the IBM Security AccessManager for Web: Administration Guide.

Actions in the primary action group are always returned first, followed by theactions defined in other action groups. For example, if the entry contains the addand view actions from the primary action group, along with the P, D, and q actionsfrom the AdminGroup action group, and the b and V actions from the Auditorsaction group, the returned string might be:Av[AdminGroup]PDq[Auditors]bV

If no actions are defined in the entry, an empty string ("") is returned.

Command-line equivalent:pdadmin acl show ACL_name

Return values

Returns the actions (permissions) that are defined in the entry for the specifieduser in the specified access control list.

ivadmin_acl_list()This API returns the names of all the defined access control lists.

Syntaxunsigned long ivadmin_acl_list(ivadmin_context ctx,unsigned long *count,char ***aclids,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

Chapter 12. Administration C API reference 67

Page 84: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

count The number of access control list names returned.

aclids An array of pointers to the access control list names returned. You mustfree the character data referenced by each pointer and also the array ofpointers when they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the names of all the defined access control lists. If no access control listsexist, or an error is encountered, NULL is returned.

Command-line equivalent:pdadmin acl list

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_list2()This API returns the names of all the defined access control lists that match theinput pattern and maximum return count.

Syntaxunsigned long ivadmin_acl_list2(ivadmin_context ctx,const char *pattern,unsigned long *maxreturn,unsigned long *count,char ***aclids,ivadmin_response *rsp);

Default value

None

Option descriptions

Input

ctx The context represents the login session in the Security Access Manageradministrator API. The context value sends administration requests to thepolicy server.

patternThe search term for access control lists. IVADMIN_ALLPATTERN is a searchterm that indicates all access control lists.

68 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 85: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

maxreturnThe maximum number of access control lists to return. 0 means there areno limit to the returned number of access control lists.

Usage notes

Use this API to view the names of all the defined access control lists that match theinput pattern and maximum return count.

The command-line equivalent is:pdadmin acl list <pattern> <max-return>

Return values

count The number of access control list names returned.

aclids An array of pointers to the access control list names returned. You mustfree the character data referenced by each pointer and the array of pointerswhen they are no longer needed.

rsp The response object indicates the success or failure of the function. It alsocontains error information.

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

Examples

This sample returns the names of all the defined access control lists.unsigned long ivadmin_acl_list2(ivadmin_context ctx,const char *pattern,unsigned long *maxreturn,

ivadmin_acl_listgroups()This API returns the group names that are included in the specified access controllist.

Syntaxunsigned long ivadmin_acl_listgroups(ivadmin_acl acl,unsigned long *count,char ***groupids);

Parameters

Input

acl A pointer to the access control list.

Output

count The number of group names returned.

Chapter 12. Administration C API reference 69

Page 86: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

groupidsAn array of pointers to the group names is returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

Description

Returns the group names that are included in the specified access control list. Youmust call the ivadmin_acl_get() function to obtain the ivadmin_acl object beforeusing this function.

Command-line equivalent:pdadmin acl show ACL_name

The list of group names is part of the information returned by this pdadmincommand.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_listusers()This API returns the user names that are included in the specified access controllist.

Syntaxunsigned long ivadmin_acl_listusers(ivadmin_acl acl,unsigned long *count,char ***userids);

Parameters

Input

acl A pointer to the access control list.

Output

count The number of user names returned.

useridsAn array of pointers to the user names returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

Description

Returns the user names that are included in the specified access control list. Youmust call the ivadmin_acl_get() function to obtain the ivadmin_acl object beforeusing this function.

70 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 87: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Command-line equivalent:pdadmin acl show ACL_name

The list of users is part of the information returned in the pdadmin command.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_removeanyother()This API removes the access control list entry for the user any-other from thespecified access control list.

Syntaxunsigned long ivadmin_acl_removeanyother(ivadmin_context ctx,const char *aclid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The name of the access control list.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Removes the access control list entry for the user any-other from the specifiedaccess control list.

Command-line equivalent:pdadmin acl modify ACL_name remove any-other

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

Chapter 12. Administration C API reference 71

Page 88: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_acl_removegroup()This API removes the access control list entry for the specified group from thespecified access control list.

Syntaxunsigned long ivadmin_acl_removegroup(ivadmin_context ctx,const char *aclid,const char *groupid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The name of the access control list.

groupidThe name of the group entry to remove from the access control list.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Removes the access control list entry for the specified group from the specifiedaccess control list.

Command-line equivalent:pdadmin acl modify ACL_name remove group group_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_removeunauth()This API removes the access control list entry for the user unauthenticated fromthe specified access control list.

Syntaxunsigned long ivadmin_acl_removeunauth(ivadmin_context ctx,const char *aclid,ivadmin_response *rsp);

72 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 89: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The name of the access control list.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Removes the access control list entry for the user unauthenticated from thespecified access control list.

Command-line equivalent:pdadmin acl modify ACL_name remove unauthenticated

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_removeuser()This API removes the access control list entry for the specified user from thespecified access control list.

Syntaxunsigned long ivadmin_acl_removeuser(ivadmin_context ctx,const char *aclid,const char *userid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The name of the access control list.

userid The name of the user entry to remove from the access control list.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Chapter 12. Administration C API reference 73

Page 90: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Removes the access control list entry for the specified user from the specifiedaccess control list.

Command-line equivalent:pdadmin acl modify ACL_name remove user user_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_setanyother()This API creates or changes the access control list entry for the user any-other inthe access control list.

Syntaxunsigned long ivadmin_acl_setanyother(ivadmin_context ctx,const char *aclid,const char *actions,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The access control list name.

actionsThe new permissions for this access control list entry. This string consistsof single-letter permission codes.

Each action is represented by a single alphabetic character. Default actionsare provided in the primary action group by Security Access Manager.These default actions, such as A for add, or v for view, are listed in the IBMSecurity Access Manager for Web: Administration Guide.

Actions in the primary action group can be specified first without thename of the action group. Otherwise, the action group name must precedethem. Actions in other action groups must always be preceded with theaction group name, which is enclosed in brackets ([]).For example, to set an entry so that it contains the add and view actionsfrom the primary action group, along with the P, B, and J actions from theAdmin2 action group, and the b and C actions from the Auditors actiongroup, any of the following strings can be used:Av[Admin2]PBJ[Auditors]bC[primary]Av[Admin2]PBJ[Auditors]bC[Auditors]bC[Admin2]PBJ[primary]Av[Admin2]PBJ[primary]Av[Auditors]bC

74 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 91: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the access control list entry for the user any-other in the accesscontrol list.

Command-line equivalent:pdadmin acl modify ACL_name set any-other perms

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_setdescription()This API creates or changes the description for the specified access control list.

Syntaxunsigned long ivadmin_acl_setdescription(ivadmin_context ctx,const char *aclid,const char *description,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The access control list name.

descriptionThe new description.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the description for the specified access control list.

Command-line equivalent:pdadmin acl modify ACL_name description description

Chapter 12. Administration C API reference 75

Page 92: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_setgroup()This API creates or changes the access control list (ACL) entry for the specifiedgroup in the specified access control list.

Syntaxunsigned long ivadmin_acl_setgroup(ivadmin_context ctx,const char *aclid,const char *groupid,const char *actions,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The access control list name.

groupidThe access control list entry for a specified group.

actionsThe new permissions for this access control list entry. This string consistsof single-letter permission codes.

Each action is represented by a single alphabetic character. Default actionsare provided in the primary action group by Security Access Manager.These default actions, such as A for add, or v for view, are listed in the IBMSecurity Access Manager for Web: Administration Guide.

Actions in the primary action group can be specified first without thename of the action group. Otherwise, the action group name must precedethem. Actions in other action groups must always be preceded with theaction group name, which is enclosed in brackets ([]).For example, to set an entry so that it contains the add and view actionsfrom the primary action group, along with the P, B, and J actions from theAdmin2 action group, and the b and C actions from the Auditors actiongroup, any of the following strings can be used:Av[Admin2]PBJ[Auditors]bC[primary]Av[Admin2]PBJ[Auditors]bC[Auditors]bC[Admin2]PBJ[primary]Av[Admin2]PBJ[primary]Av[Auditors]bC

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

76 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 93: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Creates or changes the ACL entry for the specified group in the specified accesscontrol list. The Security Access Manager user registry must contain an entry forthe specified group. Then, you can call this function to add an entry for the groupto an ACL.

Command-line equivalent:pdadmin acl modify ACL_name set group group_name perms

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_setunauth()This API creates or changes the access control list entry for the user specified byunauthenticated in the specified access control list.

Syntaxunsigned long ivadmin_acl_setunauth(ivadmin_context ctx,const char *aclid,const char *actions,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The access control list name.

actionsThe new permissions for this access control list entry. This string consistsof single-letter permission codes.

Each action is represented by a single alphabetic character. Default actionsare provided in the primary action group by Security Access Manager.These default actions, such as A for add, or v for view, are listed in the IBMSecurity Access Manager for Web: Administration Guide.

Actions in the primary action group can be specified first without thename of the action group. Otherwise, the action group name must precedethem. Actions in other action groups must always be preceded with theaction group name, which is enclosed in brackets ([]).For example, to set an entry so that it contains the add and view actionsfrom the primary action group, along with the P, B, and J actions from theAdmin2 action group, and the b and C actions from the Auditors actiongroup, any of the following strings can be used:

Chapter 12. Administration C API reference 77

Page 94: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Av[Admin2]PBJ[Auditors]bC[primary]Av[Admin2]PBJ[Auditors]bC[Auditors]bC[Admin2]PBJ[primary]Av[Admin2]PBJ[primary]Av[Auditors]bC

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the access control list entry for the user specified byunauthenticated in the specified access control list.

Command-line equivalent:pdadmin acl modify ACL_name set unauthenticated perms

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_acl_setuser()This API creates or changes the entry for the specified user in the specified accesscontrol list.

Syntaxunsigned long ivadmin_acl_setuser(ivadmin_context ctx,const char *aclid,const char *userid,const char *actions,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The access control list name.

userid The access control list entry for the specified user.

actionsThe new permissions for this access control list entry. This string consistsof single-letter permission codes.

Each action is represented by a single alphabetic character. Default actionsare provided in the primary action group by Security Access Manager.These default actions, such as A for add, or v for view, are listed in the IBMSecurity Access Manager for Web: Administration Guide.

78 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 95: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Actions in the primary action group can be specified first without thename of the action group. Otherwise, the action group name must precedethem. Actions in other action groups must always be preceded with theaction group name, which is enclosed in brackets ([]).For example, to set an entry so that it contains the add and view actionsfrom the primary action group, along with the P, B, and J actions from theAdmin2 action group, and the b and C actions from the Auditors actiongroup, any of the following strings can be used:Av[Admin2]PBJ[Auditors]bC[primary]Av[Admin2]PBJ[Auditors]bC[Auditors]bC[Admin2]PBJ[primary]Av[Admin2]PBJ[primary]Av[Auditors]bC

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the entry for the specified user in the specified access controllist.

Call this function to specify the permissions that the user is permitted to do. For alist of the default Security Access Manager actions, see the section about defaultSecurity Access Manager permissions for actions in the IBM Security AccessManager for Web: Administration Guide. The Security Access Manager user registrymust contain an entry for the specified user. Then, you can use this function to addan entry for the user to an access control list.

Command-line equivalent:pdadmin acl modify ACL_name set user user_name perms

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_action_create()This API defines a new action (permission) code in the primary action group.

Syntaxunsigned long ivadmin_action_create(ivadmin_context ctx,const char *actionid,const char *description,const char *type,ivadmin_response *rsp);

Chapter 12. Administration C API reference 79

Page 96: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server.

actionidAn action identifier. This identifier must be a single-letter code that doesnot conflict with existing permission codes. The input is left as a string forfuture expansion.

descriptionThe description of a permission code. This description occurs in Web PortalManager.

type The label for action category. This label occurs in Web Portal Manager.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Defines a new action (permission) code in the primary action group.

Each action group can contain 32 action codes. The default action group containsthe 18 predefined Security Access Manager action codes. Therefore, you can callivadmin_action_create() to add up to 14 new action codes to the primary group.

Action codes consist of one alphabetic character (a–z or A–Z). Action codes arecase-sensitive. Each action code can be used only one time in an action group. Besure that you do not attempt to redefine the default Security Access Manageraction codes when adding new codes to the primary group.

Command-line equivalent:pdadmin action create name description action_type

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_action_create_in_group()This API defines a new action (permission) code in the specified action group.

Syntaxunsigned long ivadmin_action_create_in_group(ivadmin_context ctx,const char *actionid,const char *description,

80 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 97: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

const char *type,const char *groupname,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

actionidThe action identifier. This identifier must be a single-letter code that doesnot conflict with existing permission codes. The input is left as a string forfuture expansion.

descriptionThe description of the permission code. This description occurs in WebPortal Manager.

type The label for the action category. This label occurs in Web Portal Manager.

groupnameThe name of the action group in which to create the action.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Defines a new action (permission) code in the specified action group. Call thisfunction to add an action code to a user-defined extended action group.

Action codes consist of one alphabetic character (a–z or A–Z). Action codes arecase-sensitive. Each action code can be used only one time in an action group.Security Access Manager supports up to 32 actions in one action group.

Command-line equivalent:pdadmin action create name description action_type action_group_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_action_delete()This API deletes an action (permission) code from the primary action group.

Chapter 12. Administration C API reference 81

Page 98: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_action_delete(ivadmin_context ctx,const char *actionid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

actionidThe action identifier. This identifier must be a single-letter code thatidentifies the permission to delete.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes an action (permission) code from the primary action group.

Command-line equivalent:pdadmin action delete name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_action_delete_from_group()This API deletes an action (permission) code from the specified action group.

Syntaxunsigned long ivadmin_action_delete_from_group(ivadmin_context ctx,const char *actionid,const char *groupname,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

actionidThe action identifier. This identifier must be a single-letter code thatidentifies the permission to delete.

82 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 99: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

groupnameThe name of the action group from which to delete the action.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes an action (permission) code from the specified action group.

Command-line equivalent:pdadmin action delete name action_group_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_action_getdescription()This API returns the description for the specified action.

Syntaxconst char* ivadmin_action_getdescription(ivadmin_action action);

Parameters

Input

action A pointer to the action.

Description

Returns the description for the specified action.

Do not free this description. This data is maintained in the ivadmin_action object.

Command-line equivalent:pdadmin action list

The pdadmin command lists information about all the actions, including thedescription for each action.

Return values

Returns the description for the specified action. The maximum length for adescription is 1024 characters.

Chapter 12. Administration C API reference 83

Page 100: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_action_getid()This API returns the action identifier for the specified action.

Syntaxconst char* ivadmin_action_getid(ivadmin_action action);

Parameters

Input

action A pointer to the action.

Description

Returns the single character action identifier for the specified action.

Do not free this action identifier. This data is maintained in the ivadmin_actionstructure.

Command-line equivalent:pdadmin action list

This pdadmin command lists information about all the actions, including the codefor each action.

Return values

Returns the single character action identifier for the specified action, or NULL if anerror occurred.

ivadmin_action_gettype()This API returns the type, or label, for the action category that is associated withthe specified action.

Syntaxconst char* ivadmin_action_gettype(ivadmin_action action);

Parameters

Input

action A pointer to the action.

Description

Returns the type, or label, of the action category that is associated with thespecified action.

Do not free this type or label. This data is maintained in the ivadmin_actionstructure.

84 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 101: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Command-line equivalent:pdadmin action list

This pdadmin command lists information about all the actions, including the typefor each action.

Return values

Returns the type, or label, of the action category that is associated with thespecified action. There is no limit to the length of the label.

ivadmin_action_group_create()This API creates an action group with the specified name.

Syntaxunsigned long ivadmin_action_group_create(ivadmin_context ctx,const char *groupname,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

groupnameThe name of the new action group.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates an action group with the specified name. Security Access Managersupports a maximum of 32 action groups.

Command-line equivalent:pdadmin action group create action_group_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_action_group_delete()This API deletes the specified action group and all the actions that belong to thespecified group.

Chapter 12. Administration C API reference 85

Page 102: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_action_group_delete(ivadmin_context ctx,const char *groupname,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

groupnameThe name of the action group to delete.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified action group and all the actions that belong to the specifiedgroup.

Command-line equivalent:pdadmin action group delete action_group_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_action_group_list()This API lists all the defined action group names.

Syntaxunsigned long ivadmin_action_group_list(ivadmin_context ctx,unsigned long *count,char ***names,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

count The number of action group names returned.

86 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 103: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

names An array of pointers to the action group names returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists all the defined action group names.

Command-line equivalent:pdadmin action group list

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_action_list()This API lists all the defined action (permission) codes from the primary actiongroup.

Syntaxunsigned long ivadmin_action_list(ivadmin_context ctx,unsigned long *count,ivadmin_action **actions,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

count The number of actions returned.

actionsAn array of pointers to the actions returned. You must free the datareferenced by each pointer and also the array of pointers when they are nolonger needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists all the defined action (permission) codes from the primary action group. Usethis function to obtain an opaque list of actions. You can then use additional

Chapter 12. Administration C API reference 87

Page 104: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

functions to obtain information from each action (ivadmin_action). For example,you can use ivadmin_action_getdescription() to obtain a description for thespecified ivadmin_action object.

Command-line equivalent:pdadmin action list

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_action_list_in_group()This API lists all the defined action (permission) codes from the specified actiongroup.

Syntaxunsigned long ivadmin_action_list_in_group(ivadmin_context ctx,const char *actiongroup,unsigned long *count,ivadmin_action **actions,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

actiongroupThe name of the action group to list.

Output

count The number of actions returned.

actionsAn array of pointers to the actions returned. You must free the datareferenced by each pointer and also the array of pointers when they are nolonger needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists all the defined action (permission) codes from the specified action group.

Command-line equivalent:pdadmin action list action_group_name

88 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 105: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_authzrule_create()This API creates the specified authorization rule object.

Syntaxunsigned long ivadmin_authzrule_create(ivadmin_context ctx,const char *ruleid,const char *ruledesc,const char *ruletext,const char *failreason,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ruleid The name of the authorization rule to create.

ruledescThe description of the rule. Can be NULL.

ruletextThe rule text in XSL format.

failreasonA string that represents a fail reason code. Authorization might be deniedas a result of evaluating this rule, but other authorization checks (such as aPOP or an ACL) might be successful. In this case, this reason code isreturned to the application that makes the authorization check. Can beNULL.

Output

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Creates an authorization rule. You can attach an authorization rule to a protectedobject. The rule attachment compares the user credential and application contextattributes against the rule when authorizing access to the protected object.

Command-line equivalent:pdadmin authzrule create rulename ruletext [-desc description][-failreason failreason]

Chapter 12. Administration C API reference 89

Page 106: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_authzrule_delete()This API deletes the specified authorization rule object.

Syntaxunsigned long ivadmin_authzrule_delete(ivadmin_context ctx,const char *ruleid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ruleid The name of the authorization rule to delete.

Output

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Deletes an authorization rule.

Command-line equivalent:pdadmin authzrule delete rulename

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_authzrule_get()This API returns the specified authorization rule object.

90 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 107: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_authzrule_get(ivadmin_context ctx,const char *ruleid,ivadmin_authzrule *rule,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ruleid The name of the authorization rule to return.

Output

rule The authorization rule object. Free this object when it is no longer needed.

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Returns the specified authorization rule object.

Command-line equivalent:pdadmin authzrule show rulename

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_authzrule_getdescription()This API returns the description for the specified authorization rule.

Syntaxconst char* ivadmin_authzrule_getdescription(ivadmin_authzrule rule);

Parameters

Input

rule A pointer to the authorization rule object.

Description

Returns the description from the specified authorization rule object. You must callthe ivadmin_authzrule_get() function to obtain an ivadmin_authzrule object

Chapter 12. Administration C API reference 91

Page 108: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

before using this function. Do not free the character string that is returned. Thisdata is maintained in the ivadmin_authzrule object.

Command-line equivalent:pdadmin authzrule show rulename

The description is part of the information returned by the pdadmin command.

Return values

Returns the description for the specified authorization rule.

ivadmin_authzrule_getfailreason()This API returns the fail reason, if any, for the specified authorization rule.

Syntaxconst char* ivadmin_authzrule_getfailreason(ivadmin_authzrule rule);

Parameters

Input

rule A pointer to the authorization rule object.

Description

Returns the fail reason from the specified authorization rule object. You must callthe ivadmin_authzrule_get() function to obtain an ivadmin_authzrule objectbefore using this function. Do not free the character string that is returned. Thisdata is maintained in the ivadmin_authzrule object.

Command-line equivalent:pdadmin authzrule show rulename

The fail reason is part of the information returned by the pdadmin command.

Return values

Returns the fail reason, if any, for the specified authorization rule. Returns anempty string when there is no fail reason.

ivadmin_authzrule_getid()This API returns the name (ID) for the specified authorization rule.

Syntaxconst char* ivadmin_authzrule_getid(ivadmin_authzrule rule);

Parameters

Input

92 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 109: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

rule A pointer to the authorization rule object.

Description

Returns the rule name (ID) from the specified authorization rule object. You mustcall the ivadmin_authzrule_get() function to obtain an ivadmin_authzrule objectbefore using this function. Do not free the character string that is returned. Thisdata is maintained in the ivadmin_authzrule object.

Command-line equivalent:pdadmin authzrule show rulename

The rule name is part of the information returned by the pdadmin command.

Return values

Returns the name of the specified authorization rule.

ivadmin_authzrule_getruletext()This API returns the text for the specified authorization rule.

Syntaxconst char* ivadmin_authzrule_getruletext(ivadmin_authzrule rule);

Parameters

Input

rule A pointer to the authorization rule object.

Description

Returns the text from the specified authorization rule object. You must call theivadmin_authzrule_get() function to obtain an ivadmin_authzrule object beforeusing this function. Do not free the character string that is returned. This data ismaintained in ivadmin_authzrule object.

Command-line equivalent:pdadmin authzrule show rulename

The rule text is part of the information returned by the pdadmin command.

Return values

Returns the rule text, in XSL format, for the specified authorization rule.

ivadmin_authzrule_list()This API lists the names of all the registered authorization rules.

Chapter 12. Administration C API reference 93

Page 110: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_authzrule_list(ivadmin_context ctx,unsigned long *count,char ***ruleids,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

count The number of authorization rule strings returned.

ruleidsAn array of pointers to the authorization rule strings returned. You mustfree the character data referenced by each pointer as well as the array ofpointers when they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists the names of all the registered authorization rules.

Command-line equivalent:pdadmin authzrule list

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_authzrule_setdescription()This API creates or changes the authorization rule description.

Syntaxunsigned long ivadmin_authzrule_setdescription(ivadmin_context ctx,const char *ruleid,const char *description,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

94 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 111: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ruleid The name of the authorization rule.

descriptionThe new description. Cannot be NULL. An empty string can be specifiedto clear the description.

Output

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Creates or changes the description for the specified authorization rule.

Command-line equivalent:pdadmin authzrule modify rulename description description

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_authzrule_setfailreason()This API creates or modifies the authorization rule fail reason.

Syntaxunsigned long ivadmin_authzrule_setruletext(ivadmin_context ctx,const char *ruleid,const char *failreason,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ruleid The name of the authorization rule.

failreasonThe new fail reason code. Authorization might be denied, but otherauthorization checks (such as a POP or an ACL) might be successful. Inthis case, this reason code is returned to the application that makes theauthorization check. Cannot be NULL. An empty string can be specified toclear the fail reason code.

Output

Chapter 12. Administration C API reference 95

Page 112: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Creates or modifies the fail reason for the specified authorization rule

Command-line equivalent:pdadmin authzrule modify rulename failreason failreason

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_authzrule_setruletext()This API creates or modifies the authorization rule text.

Syntaxunsigned long ivadmin_authzrule_setruletext(ivadmin_context ctx,const char *ruleid,const char *ruletext,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ruleid The name of the authorization rule.

ruletextThe new text for the rule, in XSL format.

Output

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Creates or modifies the rule text for the specified authorization rule.

Command-line equivalent:pdadmin authzrule modify rulename ruletext ruletext

96 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 113: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_addreplica2()This API adds a replica entry to the configuration file.

Syntaxunsigned long ivadmin_cfg_addreplica2(ivadmin_context ctx,const char *cfg_file_name,const char *ivacld_host,int ivacld_port,int ivacld_rank,ivadmin_response *rsp);

Parameters

Input

ctx The local context created by the ivadmin_context_createlocal() function.

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, the specified parameter must be a fully qualified path name.

ivacld_hostThe TCP host name of the ivacld server.

ivacld_portThe listening port number of the ivacld replica server. This value is theport number on which the ivacld server listens for requests.

ivacld_rankThe replica order of preference among other replicas.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Adds a replica entry to the configuration file. A replica entry is the host name, portnumber, and rank of an ivacld server with which the application server mightcommunicate.

Command-line equivalent:svrsslcfg -add_replica -f cfg_file -h host_name [-p port] [-k rank]

Return values

Returns the following values:

Chapter 12. Administration C API reference 97

Page 114: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_chgreplica2()This API changes parameters of a replica entry in the configuration file.

Syntaxunsigned long ivadmin_cfg_chgreplica2(ivadmin_context ctx,const char *cfg_file_name,const char *ivacld_host,int ivacld_port,int ivacld_rank,ivadmin_response *rsp);

Parameters

Input

ctx The local context created by the ivadmin_context_createlocal() function.

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, the specified parameter must be a fully qualified path name.

ivacld_hostThe TCP host name of the ivacldv server.

ivacld_portThe listening port number of the ivacld replica server. This value is theport number on which the ivacld server listens for requests.

ivacld_rankThe replica order of preference among other replicas.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Changes parameters of a replica entry in the configuration file. A replica entry isthe host name, port number, and rank of an ivacld server with which theapplication server might communicate.

Command-line equivalent:svrsslcfg -chg_replica -f cfg_file -h host_name [-p port] [-k rank]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

98 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 115: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_configureserver3()This API configures an application API server.

Syntaxunsigned long ivadmin_cfg_configureserver3(ivadmin_context ctx,const char *cfg_file_name,const char *kdb_dir_name,const char *application_name,const char *host_name,ivadmin_cfg_servermode server_mode,const char *server_pwd,int enable_listening,int listening_port,int enable_refresh,int kdb_pwd_life,int ssl_timeout,const char *appl_cert,unsigned long group_count,const char **groups,const char *description,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server. Theapplication server is defined in the domain to which this context isauthenticated.

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, the parameter must be a fully qualified path name.

kdb_dir_nameThe keyring database directory.

application_nameThe name for the application or server. The application_name and host_namecombination must be unique, as this combination is used to uniquelyidentify the application.

host_nameThe host name on which the application runs.

server_mode

The Security Access Manager server mode. The data typeivadmin_cfg_servermode is an enumerated data type. Enumerated valuesare (1) local and (2) remote.

server_pwdThe password for the application server. If NULL or an empty password isspecified, a random password is automatically generated for the serveraccount.

Chapter 12. Administration C API reference 99

Page 116: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

enable_listeningThe listening-enabled setting in the configuration file. Specify IVADMIN_TRUEto enable listening and IVADMIN_FALSE to disable listening.

listening_portThe TCP/IP port on which the application listens.

enable_refreshThe certificate automatic refresh support setting. Specify IVADMIN_TRUE toenable or IVADMIN_FALSE to disable.

kdb_pwd_lifeThe keyring database password life, specified in days. If it is 0, a default of183 days is used.

ssl_timeoutThe Secure Sockets Layer (SSL) session timeout value in seconds. If it is 0,a default of 7200 is used.

appl_certThe name of the file that contains a base-64 encoded SSL certificate. Thisparameter is optional. If specified, the certificate is stored in the keyringdatabase with a label of APPL_LDAP_CERT. Typical use of this parameter is tostore the certificate authority certificate that the application uses when itauthenticates directly to the user registry.

Do not confuse this certificate with the certificate that is used toauthenticate with the Security Access Manager policy server. The certificatespecified by this parameter does not participate in authentication with thepolicy server. It is for application use only and allows the application touse a single keyring database for all SSL certificates.

group_countThe number of groups of which the application server must be made amember.

groupsA list of groups of which the application server must be made a member.

descriptionThe description of the application server. Cannot be NULL but can be anempty string.

Output

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Configures an authorization API server by updating the configuration file andcreating the keyring database. The combination of the application_name andhost_name must be unique, as this combination is used to uniquely identify theapplication.

Command-line equivalent:svrsslcfg –config -f cfg_file_name -d kdb_dir_name -n server_name \-s server_mode -r listening_port -P admin_pwd [-S server_pwd] \[-A admin_ID] [-t ssl_timeout] [-e kbd_pwd_life] [-l listening_mode]

100 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 117: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_configureserver4()This API configures an application API server.

Syntaxunsigned long ivadmin_cfg_configureserver4(ivadmin_context ctx,const char *cfg_file_name,const char *kdb_dir_name,const char *application_name,const char *host_name,ivadmin_cfg_servermode server_mode,const char *server_pwd,int enable_listening,int listening_port,int enable_refresh,int kdb_pwd_life,int ssl_timeout,const char *appl_cert,unsigned long group_count,const char **groups,const char *description,ivadmin_response *rspint ldap_conf_server_config);

Parameters

Input

ctx The context to use when communicating with the policy server. Theapplication server is defined in the domain to which this context isauthenticated.

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, the parameter must be a fully qualified path name.

kdb_dir_nameThe keyring database directory.

application_nameThe name for the application or server. The application_name and host_namecombination must be unique, as this combination is used to uniquelyidentify the application.

host_nameThe host name on which the application runs.

server_mode

Chapter 12. Administration C API reference 101

Page 118: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

The Security Access Manager server mode. The data typeivadmin_cfg_servermode is an enumerated data type. Enumerated valuesare (1) local and (2) remote.

server_pwdThe password for the application server. If NULL or an empty password isspecified, a random password is automatically generated for the serveraccount.

enable_listeningThe listening-enabled setting in the configuration file. Specify IVADMIN_TRUEto enable listening and IVADMIN_FALSE to disable listening.

listening_portThe TCP/IP port on which the application listens.

enable_refreshThe certificate automatic refresh support setting. Specify IVADMIN_TRUE toenable or IVADMIN_FALSE to disable.

kdb_pwd_lifeThe keyring database password life, specified in days. If it is 0, a default of183 days is used.

ssl_timeoutThe Secure Sockets Layer (SSL) session timeout value in seconds. If it is 0,a default of 7200 is used.

appl_certThe name of the file that contains a base-64 encoded SSL certificate. Thisparameter is optional. If specified, the certificate is stored in the keyringdatabase with a label of APPL_LDAP_CERT. Typical use of this parameter is tostore the certificate authority certificate that the application uses when itauthenticates directly to the user registry.

Do not confuse this certificate with the certificate that is used toauthenticate with the Security Access Manager policy server. The certificatespecified by this parameter does not participate in authentication with thepolicy server. It is for application use only and allows the application touse a single keyring database for all SSL certificates.

group_countThe number of groups of which the application server must be made amember.

groupsA list of groups of which the application server must be made a member.

descriptionThe description of the application server. The value can be an emptystring, but cannot be NULL.

ldap_conf_server_configWhen set to true, [ldap] ldap-server-config is set up to pointPolicyDirector/etc/ldap.conf in the configuration file of the server. TheLDAP host port and replica configuration are obtained from this commonlocation.

When set to false, the host and port values are set directly in theconfiguration file of the server. The replica value is not updatedautomatically. You must manually configure the value.

102 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 119: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Output

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Configures an authorization API server by updating the configuration file andcreating the keyring database. The combination of the application_name andhost_name must be unique, as this combination is used to uniquely identify theapplication.

Command-line equivalent:svrsslcfg –config -f cfg_file_name -d kdb_dir_name -n server_name \-s server_mode -r listening_port -P admin_pwd [-S server_pwd] \[-A admin_ID] [-t ssl_timeout] [-e kbd_pwd_life] [-l listening_mode][-ldap.conf mode]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_getvalue()This API returns a value that is associated with a specific key in a specific stanzaof the specified configuration file.

Syntaxunsigned long ivadmin_cfg_getvalue(ivadmin_context ctx,const char *cfg_file_name,const char *stanza,const char *key,int *count,char ***valuesivadmin_response *rsp);

Parameters

Input

ctx The local context created by the ivadmin_context_createlocal() function.

cfg_file_nameThe configuration file to examine. This value can be a fully qualified pathname to a configuration file or a reference to a Security Access Managerconfiguration file. A reference to a Security Access Manager configurationfile is indicated by using one of the following constants:

IVADMIN_CFG_CFGFILE_AMRTESecurity Access Manager runtime configuration file

Chapter 12. Administration C API reference 103

Page 120: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_CFG_CFGFILE_AMMGRDSecurity Access Manager policy server configuration file

IVADMIN_CFG_CFGFILE_AMACLDSecurity Access Manager authorization server configuration file

IVADMIN_CFG_CFGFILE_AMPROXYSecurity Access Manager proxy server configuration file

stanza The name of the stanza under which the input key is located. This valuecan be a user-defined stanza name, or a reference to a Security AccessManager stanza. Stanzas used by Security Access Manager components arelisted in the appendixes of the IBM Security Access Manager for Web:Administration Guide. The following constants can be used:

IVADMIN_CFG_STANZA_SSLSSL entries

IVADMIN_CFG_STANZA_POLICY_SVRSecurity Access Manager policy server entries

key The name of the key whose value is to be returned. This value can be auser-defined key name or a reference to a Security Access Manager key.Keys used by Security Access Manager components are listed in theappendixes of the IBM Security Access Manager for Web: AdministrationGuide. The following constants can be used:

IVADMIN_CFG_KEY_POLICY_SVRSecurity Access Manager policy server host name and port

IVADMIN_CFG_KEY_SSL_KEYFILESSL key file path

IVADMIN_CFG_KEY_SSL_STASHFILESSL stash file path

IVADMIN_CFG_KEY_SSL_PASSWORDSSL password

Output

count The number of values returned. A zero is returned if there is no valueassociated with the key.

values An array of pointers to the values returned. You must free the characterdata referenced by each pointer and also the array of pointers when theyare no longer needed.

rsp The response object. Indicates the success or failure of the function. Theoutput might be empty or contain more than one error, informational, andwarning messages. Free this object when it is no longer needed.

Description

Returns the value of a specific key from a specific stanza in a configuration file. Alldata is returned in an array of character strings, because some keys might bemulti-valued. The caller must have the necessary operating system permissions toread the configuration file or database.

Command-line equivalent:pdadmin config show config-file stanza key

104 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 121: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_removevalue()This API removes a value or an array of values that are associated with thespecified key in the specified stanza of the specified configuration file.

Syntaxunsigned long ivadmin_cfg_removevalue(ivadmin_context ctx,const char *cfg_file_name,const char *stanza,const char *key,int count,char **valuesivadmin_response *rsp);

Parameters

Input

ctx The local context created by the ivadmin_context_createlocal() function.

cfg_file_nameThe configuration file to examine. This value can be a fully qualified pathname to a configuration file or a reference to a Security Access Managerconfiguration file. A reference to a Security Access Manager configurationfile is indicated by using one of the following constants:

IVADMIN_CFG_CFGFILE_AMRTESecurity Access Manager runtime configuration file

IVADMIN_CFG_CFGFILE_AMMGRDSecurity Access Manager policy server configuration file

IVADMIN_CFG_CFGFILE_AMACLDSecurity Access Manager authorization server configuration file

IVADMIN_CFG_CFGFILE_AMPROXYSecurity Access Manager proxy server configuration file

stanza The name of the stanza under which the input key is located. This valuecan be a user-defined stanza name, or a reference to a Security AccessManager stanza. Stanzas used by Security Access Manager components arelisted in the appendixes of the IBM Security Access Manager for Web:Administration Guide. The following constants can be used:

IVADMIN_CFG_STANZA_SSLSSL entries

IVADMIN_CFG_STANZA_POLICY_SVRSecurity Access Manager policy server entries

key The name of the key whose value is to be modified. This value can be a

Chapter 12. Administration C API reference 105

Page 122: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

user-defined key name or a reference to a Security Access Manager key.Keys used by Security Access Manager components are listed in theappendixes of the IBM Security Access Manager for Web: AdministrationGuide.

Alternatively, specify a NULL key parameter and NULL array of valuesparameter to delete the stanza.

The following constants can be used:

IVADMIN_CFG_KEY_POLICY_SVRSecurity Access Manager policy server host name and port

IVADMIN_CFG_KEY_SSL_KEYFILESSL key file path

IVADMIN_CFG_KEY_SSL_STASHFILESSL stash file path

IVADMIN_CFG_KEY_SSL_PASSWORDSSL password

count The number of items in the values input array. The count must be zero ifyou want to delete stanza or key.

values An array of character pointers to configuration values to remove from theinput key. Alternatively, specify a NULL array of values parameter to deletethe specified key parameter.

Output

rsp The response object. Indicates the success or failure of the function. Theoutput might be empty or contain more than one error, informational, andwarning messages. Free this object when it is no longer needed.

Description

Removes the specified values from the specified key in the specified configurationfile. If the key and values parameters are NULL, the entire stanza is removed. Ifonly the values parameter is NULL, the specified key is removed. The caller musthave the necessary operating system permissions to modify the configuration file.

Command-line equivalent:

To remove a value:pdadmin config modify keyvalue remove config-file stanza key value

To remove a key:pdadmin config modify keyvalue remove config-file stanza key

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

106 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 123: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

If all the values in the values array do not exist, IVADMIN_FALSE is returned andoutput rsp contains an error message. If at least one of the values specified in thearray values exists, the function completes successfully.

ivadmin_cfg_renewservercert()This API renews the server Secure Sockets Layer (SSL) certificate.

Syntaxunsigned long ivadmin_cfg_renewservercert(ivadmin_context ctx,const char *cfg_file_name,const char *server_name,const char *host_name,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, this parameter must be a fully qualified path name.

server_nameThe unique server name.

host_nameThe host name on which the application runs.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Use this API to refresh the certificate used to authenticate with the policy server ifit expires or is compromised. The application must be stopped before using thisAPI.

Command-line equivalent:svrsslcfg -chgcert -f cfg_file -n server_name [-A admin_id] -P admin_pwd

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

Chapter 12. Administration C API reference 107

Page 124: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_cfg_rmvreplica2()This API removes a replica entry from the configuration file. A replica entry is thehost name, port number, and rank of an authorization server with which theapplication server might communicate.

Syntaxunsigned long ivadmin_cfg_rmvreplica2(ivadmin_context ctx,const char *cfg_file_name,const char *ivacld_host,ivadmin_response *rsp);

Parameters

Input

ctx The local context created by the ivadmin_context_createlocal() function.

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, this parameter must be a fully qualified path name.

ivacld_hostThe TCP host name of the ivacld server.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Removes a replica entry from the configuration file.

Command-line equivalent:svrsslcfg -chg_replica -f cfg_file -h host_name [-p port] [-k rank]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_setapplicationcert2()This API replaces the optional application certificate authority certificate and theoptional Secure Sockets Layer (SSL) certificate in the keyring database.

108 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 125: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_cfg_setapplicationcert2(ivadmin_context ctx,const char *cfg_file_name,const char *appl_cert,ivadmin_response *rsp);

Parameters

Input

ctx The local context created by the ivadmin_context_createlocal() function.

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, this parameter must be a fully qualified path name.

appl_certThe name of the file that contains a base-64 encoded SSL certificate. Thisparameter is optional. If specified, the certificate is stored in the keyringdatabase with a label of APPL_LDAP_CERT. Typical use of this parameter is tostore the certificate authority certificate that the application uses when itauthenticates directly to the user registry.

Do not confuse this certificate with the certificate that is used toauthenticate with the Security Access Manager policy server. The certificatespecified by this parameter does not participate in authentication with thepolicy server. It is for application use only and allows the application touse a single keyring database for all SSL certificates.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Replaces the optional application certificate authority certificate and the optionalSecure Sockets Layer (SSL) certificate in the keyring database.

The application must be stopped before invoking this API.

Command-line equivalent:svrsslcfg -modify -f cfg_file [-t timeout] [-C cert_file] [-llistening_mode]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_setkeyringpwd2()This API refreshes or changes the keyring database random password.

Chapter 12. Administration C API reference 109

Page 126: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_cfg_setkeyringpwd2(ivadmin_context ctx,const char *cfg_file_name,int kdb_pwd_life,ivadmin_response *rsp);

Parameters

Input

ctx The local context created by the ivadmin_context_createlocal() function.

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, this parameter must be a fully qualified path name.

kdb_pwd_lifeThe keyring database password life in days. If 0, a default of 183 days isused.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Use this API to refresh or change the keyring database random password. A newrandom password is created in the stash file. The application must be stopped toexecute this API.

Command-line equivalent:svrsslcfg -chgcert -f <cfg_file_name> [-A admin_id] [-P admin_pwd]

where cfg_file_name is the configuration file to use. Unless the configuration file isin the current directory, this parameter must be a fully qualified path name.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_setlistening2()This API sets or resets the enable-listening parameter in the configuration file.

Syntaxunsigned long ivadmin_cfg_setlistening(ivadmin_context ctx,const char *cfg_file_name,int enable_listening,ivadmin_response *rsp);

110 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 127: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The local context created by the ivadmin_context_createlocal() function.

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, this parameter must be a fully qualified path name.

enable_listeningThe listening-enabled setting in the configuration file. Specify IVADMIN_TRUEto enable listening and IVADMIN_FALSE to disable listening.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets or resets the enable-listening parameter in the configuration file. This flagdetermines whether the application server listens for communications from thepolicy server.

The listening port in the configuration file must be nonzero to enable listening.Otherwise, an error is returned. The application must be stopped and restartedafter calling this API.

Command-line equivalent:svrsslcfg -config -f cfg_file_name -l {yes | no | unset}

Where cfg_file_name is the configuration file to use. Unless the configuration file isin the current directory, this parameter must be a fully qualified path name.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_setport2()This API changes the listening port number of the application and updates the portnumber in the configuration file.

Syntaxunsigned long ivadmin_cfg_setport2(ivadmin_context ctx,const char *cfg_file_name,int listening_port,ivadmin_response *rsp);

Chapter 12. Administration C API reference 111

Page 128: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The local context created by the ivadmin_context_createlocal() function.

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, this parameter must be a fully qualified path name.

listening_portThe TCP/IP port on which the application listens.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Changes the listening port number of the application and updates the port numberin the configuration file. The application server uses this port to communicate withthe policy server.

The server must be stopped and restarted to activate this change. If the port valueis set to zero, the listening-enabled flag are set to disable.

Command-line equivalent:svrsslcfg –config -f cfg_file_name -d kdb_dir_name -n server_name \-s server_type -r listening_port -P admin_pwd [-S server_pwd] \[-A admin_ID] [-t ssl_timeout] [-e kbd_pwd_life] [-l listening_mode]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_setssltimeout2()This API changes the Secure Sockets Layer (SSL) timeout value in the configurationfile.

Syntaxunsigned long ivadmin_cfg_setssltimeout2(ivadmin_context ctx,const char *cfg_file_name,int ssl_timeout,ivadmin_response *rsp);

Parameters

Input

ctx The local context created by the ivadmin_context_createlocal() function.

112 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 129: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, this parameter must be a fully qualified path name.

ssl_timeoutThe Secure Sockets Layer (SSL) session timeout value in seconds. If it is 0,a default of 7200 is used

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Changes the Secure Sockets Layer (SSL) timeout value in the configuration file.

The application must be stopped and restarted to activate this change.

Command-line equivalent:svrsslcfg -modify -f cfg_file [-t timeout] [-C cert_file] [-llistening_mode]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_setsvrpwd()This API sets the password on the specified server.

Syntaxunsigned long ivadmin_cfg_setsvrpwd(ivadmin_context ctx,const char *cfg_file_name,const char *newpassword,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

cfg_file_nameThe configuration file to examine. This value can be a fully qualified pathname to a configuration file or a reference to a configuration file. Areference to a configuration file is indicated by using one of the followingconstants:

IVADMIN_CFG_CFGFILE_AMRTESecurity Access Manager runtime configuration file

Chapter 12. Administration C API reference 113

Page 130: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_CFG_CFGFILE_AMMGRDSecurity Access Manager policy server configuration file

IVADMIN_CFG_CFGFILE_AMACLDSecurity Access Manager authorization server configuration file

IVADMIN_CFG_CFGFILE_AMPROXYSecurity Access Manager proxy server configuration file

newpasswordThe new password to set.

Output

rsp The response object. Indicates the success or failure of the function. Theoutput might be empty or contain more than one error, informational, andwarning messages. Free this object when it is no longer needed.

Description

Updates the password of the server user account. If the update of the user registryis successful, the local configuration is updated. The caller must have the necessarySecurity Access Manager permissions to modify the password in the user registry.The caller must also have the necessary operating system permissions to modifythe configuration file or database.

Command-line equivalent:config modify svrpassword config-file password

Where config-file is the local configuration file and password is the password youwant to set.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_setvalue()This API creates or modifies a value that is associated with a specific key in aspecific stanza of the specified configuration file.

Syntaxunsigned long ivadmin_cfg_setvalue(ivadmin_context ctx,const char *cfg_file_name,const char *stanza,const char *key,int count,char **values,int append,int obfuscated_db,ivadmin_response *rsp);

114 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 131: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The local context created by the ivadmin_context_createlocal() function.

cfg_file_nameThe configuration file to use. This value can be a fully qualified path nameto a configuration file or a reference to a Security Access Managerconfiguration file. A reference to a Security Access Manager configurationfile is indicated by using one of the following constants:

IVADMIN_CFG_CFGFILE_AMRTESecurity Access Manager runtime configuration file

IVADMIN_CFG_CFGFILE_AMMGRDSecurity Access Manager policy server configuration file

IVADMIN_CFG_CFGFILE_AMACLDSecurity Access Manager authorization server configuration file

IVADMIN_CFG_CFGFILE_AMPROXYSecurity Access Manager proxy server configuration file

stanza The name of the stanza under which the input key is located. This valuecan be a user-defined stanza name, or a reference to a Security AccessManager stanza. Stanzas used by Security Access Manager components arelisted in the appendixes of the IBM Security Access Manager for Web:Administration Guide. The following constants can be used:

IVADMIN_CFG_STANZA_SSLSSL entries

IVADMIN_CFG_STANZA_POLICY_SVRSecurity Access Manager policy server entries

key The name of the key whose value is to be set. This value can be auser-defined key name or a reference to a Security Access Manager key.Keys used by Security Access Manager components are listed in theappendixes of the IBM Security Access Manager for Web: AdministrationGuide. The following constants can be used:

IVADMIN_CFG_KEY_POLICY_SVRSecurity Access Manager policy server host name and port

IVADMIN_CFG_KEY_SSL_KEYFILESSL key file path

IVADMIN_CFG_KEY_SSL_STASHFILESSL stash file path

IVADMIN_CFG_KEY_SSL_PASSWORDSSL password

count The number of values to set.

values An array of character pointers to configuration values that are to be set forthe specified key.

appendSpecifies whether the values must be appended to the current values thatare associated with the key. If true, values are appended to the currentvalues that are associated with the key. Any duplicate values are ignored.Otherwise, the input values replace any existing values for the key.

Chapter 12. Administration C API reference 115

Page 132: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

obfuscated_dbSpecifies whether the value must be obfuscated. If true, the key is placedin the obfuscated section of the configuration file. Otherwise, the key isplaced in the non-obfuscated section.

Output

rsp The response object. Indicates the success or failure of the function. Theoutput might be empty or contain more than one error, informational, andwarning messages. Free this object when it is no longer needed.

Description

Creates or modifies the value of a specific key in a configuration file. If obfuscationis requested, the configuration file identified by the file key in theconfiguration-database stanza is updated. The caller must have the necessaryoperating system permissions to modify the configuration file, otherwise,IVADMIN_FALSE is returned.

Command-line equivalent:pdadmin config modify keyvalue set [-obfuscate] config-file stanza key value

pdadmin config modify keyvalue append [-obfuscate] config-file stanza key value

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_cfg_unconfigureserver()This API unconfigures an application server.

Syntaxunsigned long ivadmin_cfg_unconfigureserver(ivadmin_context ctx,const char *cfg_file_name,const char *server_name,const char *host_name,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

cfg_file_nameThe configuration file to use. Unless the configuration file is in the currentdirectory, this parameter must be a fully qualified path name.

server_nameThe name for the application or server. The server_name and host_namecombination is used to uniquely identify the application.

116 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 133: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

host_nameThe host name on which the application runs.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Unconfigures an application server. This function reports success even if the serverwas not configured. This command destroys the keyring, any objects in the userregistry, and the access control list database for the server.

The application must be stopped before calling this function.

Command-line equivalent:svrsslcfg –unconfig -f cfg_file_name -n server_name \[-P admin_password] [-A admin_ID]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_cleardelcred()This API clears the delegated credential for the context.

Syntaxunsigned long ivadmin_context_cleardelcred(ivadmin_context ctx,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Clears the delegated credential for the context.

Return values

Returns the following values:

Chapter 12. Administration C API reference 117

Page 134: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_create3()This API creates a security context for communicating with the Security AccessManager policy server.

Syntaxunsigned long ivadmin_context_create3(const char *userid,const char *pwd,const char *domain,const char *codeset,const char *serverhost,unsigned long port,const char *keyringfile,const char *keyringstashfile,const char *configfile,ivadmin_context *ctx,ivadmin_response *rsp);

Parameters

Input

userid The administrator user name used for authentication. This user must havethe appropriate administration authority to do the required administrativeoperations. Cannot be NULL.

pwd The administrator password. Cannot be NULL.

domainThe name of the domain to which authentication occurs. If this argument isIVADMIN_DOMAIN_MANAGEMENT, then the management domain is used. If thisargument is IVADMIN_DOMAIN_LOCAL, then the local domain is used. Theseconstants are defined in the ivadminapi.h file.

If NULL is specified, the domain is obtained from the ssl-local-domainkey in the ssl stanza of the specified configfile.

codeset

Character codeset. Indicates how the application encodes its character data.Cannot be NULL. The following constants are defined in the ivadminapi.hfile:

IVADMIN_CODESET_UTF8Character data is encoded in UTF-8.

IVADMIN_CODESET_LOCALCharacter data is encoded in the local code page

serverhostThe policy server host name or IP address. If NULL is specified, the hostname is obtained from the master-host key in the manager stanza in thespecified configfile.

118 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 135: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

port The policy server listening port number. If NULL is specified, the portnumber is obtained from the master-port key in the manager stanza in thespecified configfile.

keyringfileThe fully qualified path name to the Secure Sockets Layer (SSL) keyringfile that contains the public key of the Security Access Manager policyserver. If NULL is specified, the keyring file name is obtained from thessl-keyfile key in the ssl stanza in the specified configfile.

keyringstashfileThe fully qualified path name to the stash file that contains the passwordused to access the keyring file. If NULL is specified, the keyring stash filename is obtained from the ssl-keyfile-stash key in the ssl stanza in thespecified configfile.

configfileThe fully qualified path name to a local configuration file. If NULL isspecified, the pd.conf file is used. The content of this configuration file isused to determine the values for any arguments that were not explicitlyspecified as input.

Output

ctx The new context that is used to send administration requests to the policyserver. Free this object when it is no longer needed.

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Creates a security context for communicating with the Security Access Managerpolicy server.

The context represents a connection to the Security Access Manager policy server.To successfully create a context, the Security Access Manager policy server must beavailable and the authentication must be successful.

Command-line equivalent:pdadmin login [-a admin_id [-p password] [-d domain | -m]]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_createdefault2()This API creates a security context for communicating with the Security AccessManager policy server with the default Secure Sockets Layer (SSL) configuration.

Chapter 12. Administration C API reference 119

Page 136: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_context_createdefault2(const char *userid,const char *pwd,const char *domainid,ivadmin_context *ctx,ivadmin_response *rsp);

Parameters

Input

userid The administrator user name for authentication. This user must have theappropriate administrative authority to do the required administrativeoperations.

pwd The administrator password.

domainidThe name of the domain to which authentication occurs. If this argument isIVADMIN_DOMAIN_MANAGEMENT, then the management domain is used. If thisargument is IVADMIN_DOMAIN_LOCAL, then the local domain is used. Theseconstants are defined in ivadminapi.h. If this argument is NULL, then thelocal domain is used.

Output

ctx The new context that is used to send administration requests to theSecurity Access Manager policy server. Free this object when it is no longerneeded.

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

The context represents a connection to the Security Access Manager policy server.To successfully create a context, the Security Access Manager policy server must beavailable and the authentication must be successful.

The security context defined by this function treats character data as being encodedin the local code set. Character data supplied later to Security Access Managerwith this security context is converted to UTF-8 from the local code set. Datareturned is converted from UTF-8 back to the local code set. To have character datatreated as UTF-8, create the security context with the ivadmin_context_create3()function and specify the appropriate value for the codeset parameter.

Command-line equivalent:pdadmin login [-a admin_id [-p password] [-d domain | -m]]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

120 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 137: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_createlocal()This API creates a context for local administration operations.

Syntaxunsigned long ivadmin_context_createlocal(const char *userid,const char *pwd,const char *domain,const char *codeset,ivadmin_context *ctx,ivadmin_response *rsp);

Parameters

Input

userid This argument is ignored.

pwd This argument is ignored.

domainThis argument is ignored.

codeset

Character codeset. Indicates how the application encodes its character data.Cannot be NULL. The following constants are defined in the ivadminapi.hfile:

IVADMIN_CODESET_UTF8Character data is encoded in UTF-8.

IVADMIN_CODESET_LOCALCharacter data is encoded in the local code page

Output

ctx The new context that is used to send administration requests to the policyserver. Free this object when it is no longer needed.

rsp The response object. Indicates the success or failure of the function. Theempty or contains one or more informational, warning, and errormessages. Free this object when it is no longer needed.

Description

Creates a context for local administration operations.

The context represents the authentication required to perform local Security AccessManager administrative tasks. Local tasks are those tasks that do not requirecommunication with the Security Access Manager policy server.

Command-line equivalent:pdadmin login -l

The pdadmin command always uses the local code page.

Chapter 12. Administration C API reference 121

Page 138: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_delete()This API deletes a security context and frees any resources that are associated withthe context. Deletion includes any connections with the Security Access Managerpolicy server.

Syntaxunsigned long ivadmin_context_delete(ivadmin_context ctx,ivadmin_response *rsp);

Parameters

Input

ctx The security context to delete. This context can be used for communicatingwith the Security Access Manager policy server or a local context.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the security context and any resources that are associated with that context.This function must be called before exiting the application. Deletes the connectionwith the Security Access Manager policy server (if one exists) and frees SecureSockets Layer (SSL) resources. The security context is not usable after this call.After deleting the context, free the context memory with the ivadmin_freefunction.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_domainismanagement()This API indicates whether the specified context is authenticated to themanagement domain.

122 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 139: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_context_domainismanagement(ivadmin_context ctx);

Parameters

Input

ctx The context to use when communicating with the policy server.

Description

Indicates whether the specified context is authenticated to the managementdomain. You must call the ivadmin_context_create3() orivadmin_context_createdefault2() function to obtain an ivadmin_context objectbefore using this function.

Command-line equivalent:pdadmin context show

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The context is authenticated to the management domain.

IVADMIN_FALSEDefined as 0. The context is not authenticated to the management domain.

ivadmin_context_getaccexpdate()This API returns the account expiration date for all user accounts.

Syntaxunsigned long ivadmin_context_getaccexpdate(ivadmin_context ctx,unsigned long *seconds,unsigned long *unlimited,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

secondsThe date and time of the expiration of all user accounts to return. Thisvalue is the number of seconds since 00:00:00 Universal time,1 January 1970 (same as time_t).

unlimitedThe account-expiration-not-restricted indicator to return.

Chapter 12. Administration C API reference 123

Page 140: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the account expiration date for all user accounts.

Command-line equivalent:pdadmin policy get account-expiry-date

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_getcodeset()This API returns the character code set that is associated with the specified securitycontext.

Syntaxconst char* ivadmin_context_getcodeset(ivadmin_context ctx);

Parameters

Input

ctx A pointer to the context whose code set is returned.

Description

Returns IVADMIN_CODESET_UTF8 if the character data is encoded in UTF-8, orIVADMIN_CODESET_LOCAL if the character data is encoded in the local code page. Youmust call the ivadmin_context_create3(), ivadmin_context_createdefault2(), orivadmin_context_createlocal() function to obtain an ivadmin_context objectbefore using this function.

Do not free the character data string that is returned. This data is maintained inthe ivadmin_context object.

No command-line equivalent, as the pdadmin command always uses the local codepage.

124 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 141: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the code set that is in effect for this context. Valid return values areIVADMIN_CODESET_LOCAL and IVADMIN_CODESET_UTF8. These constants are defined inthe ivadminapi.h file.

ivadmin_context_getdisabletimeint()This API returns the time to disable user accounts when the maximum number oflogin failures is exceeded. This setting applies to all user accounts.

Syntaxunsigned long ivadmin_context_getdisabletimeint(ivadmin_context ctx,unsigned long *seconds,unsigned long *disable,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

secondsThe specified number of seconds that the user account is disabled if themaximum number of login failures is exceeded.

disableThe user account that is disabled when the maximum number of loginfailures is exceeded. Administrator action is required to enable the account.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the time to disable user accounts if the maximum number of login failuresis exceeded. This setting applies to all user accounts.

Command-line equivalent:pdadmin policy get disable-time-interval

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

Chapter 12. Administration C API reference 125

Page 142: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_getdomainid()This API returns the name of the domain that is associated with the specifiedcontext. This domain is the one selected for this context when the context wascreated.

Syntaxconst char* ivadmin_context_getdomainid(ivadmin_context ctx);

Parameters

Input

ctx The context to use when communicating with the policy server.

Description

Returns the domain name from the specified context object. You must call theivadmin_context_create3() or ivadmin_context_createdefault2() function toobtain an ivadmin_context object before using this function. Do not free thecharacter string that is returned. This data is maintained in the ivadmin_contextobject.

Command-line equivalent:pdadmin context show

Return values

Returns the name of the domain to which the specified context is authenticated.

ivadmin_context_getmaxconcurwebsess()This API returns the maximum number of concurrent web sessions that areallowed for each user account.

Syntaxunsigned long ivadmin_context_getmaxconcurwebsess(ivadmin_context ctx,unsigned long *sessions,unsigned long *displace,unsigned long *unlimited,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

126 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 143: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

sessionsA nonzero value that indicates the maximum number of concurrent websessions.

displaceIVADMIN_TRUE indicates that the policy is set for session displacement.

unlimitedIVADMIN_TRUE indicates that the policy is set to allow unlimited concurrentsessions.

unset IVADMIN_TRUE indicates that the policy is not set; otherwise.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the setting for the maximum number of concurrent web sessions for eachuser account or IVADMIN_TRUE for the displace, unlimited or unset parameter.

This policy applies only to certain components of Security Access Manager. A Websession is a user session that is maintained by the Security Access Manager systems:Security Access Manager WebSEAL and Security Access Manager Plug-ins for WebServers.

Command-line equivalent:pdadmin policy get max-concurrent-web-sessions

Where the command returns one of the following values:v An nonzero numberv displace

v unlimited

v unset

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_getmaxlgnfails()This API returns the maximum number of login failures that are allowed for eachuser account.

Syntaxunsigned long ivadmin_context_getmaxlgnfails(ivadmin_context ctx,unsigned long *failures,unsigned long *unset,ivadmin_response *rsp);

Chapter 12. Administration C API reference 127

Page 144: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

failuresThe maximum number of login failures allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the maximum number of login failures allowed for each user account.

Command-line equivalent:pdadmin policy get max-login-failures

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_getmaxpwdage()This API returns the maximum password age for all user accounts.

Syntaxunsigned long ivadmin_context_getmaxpwdage(ivadmin_context ctx,unsigned long *seconds,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

secondsThe returned maximum lifetime, in seconds, before expiration of thepassword. A value of zero means the password never expires.

128 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 145: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the maximum password age for all user accounts.

Command-line equivalent:pdadmin policy get max-password-age

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_getmaxpwdrepchars()This API returns the maximum number of repeated characters allowed in apassword for each user account.

Syntaxunsigned long ivadmin_context_getmaxpwdrepchars(ivadmin_context ctx,unsigned long *chars,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

chars The maximum number of repeated characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the maximum number of repeated characters allowed in a password foreach user account.

Chapter 12. Administration C API reference 129

Page 146: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Command-line equivalent:pdadmin policy get max-password-repeated-chars

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_getmgmtdomainid()This API returns the name of the management domain.

Syntaxconst char* ivadmin_context_getmgmtdomainid(ivadmin_context ctx);

Parameters

Input

ctx The context to use when communicating with the policy server.

Description

Returns the name of the management domain from the specified context object.You must call the ivadmin_context_create3() orivadmin_context_createdefault2() function to obtain an ivadmin_context objectbefore using this function. Do not free the character string that is returned. Thisdata is maintained in the ivadmin_context object.

There is no explicit command-line equivalent. To log on to the managementdomain, use the -m flag on pdadmin invocation, or use the login subcommand andspecify –m.

Return values

Returns the name of the management domain.

ivadmin_context_getmgmtsvrhost()This API returns the name of the host system that runs the policy server withwhich this context has a communication session.

Syntaxconst char* ivadmin_context_getmgmtsvrhost(ivadmin_context ctx);

Parameters

Input

130 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 147: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ctx A pointer to the context whose policy server host name is returned.

Description

Returns the policy server host name from the specified context object. You mustcall the ivadmin_context_create3() or ivadmin_context_createdefault2() functionto obtain an ivadmin_context object before using this function. Do not free thecharacter string that is returned. This data is maintained in the ivadmin_contextobject.

There is no explicit command-line equivalent.

Return values

Returns the name of the host system that is running the policy server with whichthis context has a communication session.

ivadmin_context_getmgmtsvrport()This API returns the TCP/IP port of the policy server with which this context hasa communication session.

Syntaxunsigned long ivadmin_context_getmgmtsvrport(ivadmin_context ctx);

Parameters

Input

ctx A pointer to the context whose policy server port is returned.

Description

Returns the policy server port number from the specified context object. You mustcall the ivadmin_context_create3() or ivadmin_context_createdefault2() functionto obtain an ivadmin_context object before using this function.

There is no explicit command-line equivalent.

Return values

Returns the TCP/IP port of the policy server with which this context has acommunication session.

ivadmin_context_getminpwdalphas()This API returns the minimum number of alphabetic characters that are allowed ina password for each user account.

Chapter 12. Administration C API reference 131

Page 148: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_context_getminpwdalphas(ivadmin_context ctx,unsigned long *chars,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

chars The minimum number of alphabetic characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the minimum number of alphabetic characters that are allowed in apassword for each user account.

Command-line equivalent:pdadmin policy get min-password-alphas

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_getminpwdnonalphas()This API returns the minimum number of non-alphabetic characters that areallowed in a password for each user account.

Syntaxunsigned long ivadmin_context_getminpwdnonalphas(ivadmin_context ctx,unsigned long *chars,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

132 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 149: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ctx The context to use when communicating with the policy server.

Output

chars The minimum number of non-alphabetic characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the minimum number of non-alphabetic characters that are allowed in apassword for each user account.

Command-line equivalent:pdadmin policy get min-password-non-alphas

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_getminpwdlen()This API returns the minimum password length that is allowed for all useraccounts.

Syntaxunsigned long ivadmin_context_getminpwdlen(ivadmin_context ctx,unsigned long *length,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

length The minimum password length allowed to be set.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Chapter 12. Administration C API reference 133

Page 150: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the minimum password length for all user accounts.

Command-line equivalent:pdadmin policy get min-password-length

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_getpwdspaces()This API returns whether spaces are allowed in passwords for all user accounts.

Syntaxunsigned long ivadmin_context_getpwdspaces(ivadmin_context ctx,unsigned long *allowed,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

allowedThe indicator of whether spaces are allowed in passwords.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns whether spaces are allowed in passwords for all user accounts.

Command-line equivalent:pdadmin policy get password-spaces

Return values

Returns the following values:

134 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 151: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_gettodaccess()This API returns the global time-of-day access policy.

Syntaxunsigned long ivadmin_context_gettodaccess(ivadmin_context ctx,unsigned long *days,unsigned long *start,unsigned long *end,unsigned long *reference,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

days A bitmap of the days for the time-of-day access policy.

start The minutes after midnight for the start of the time range.

end The minutes after midnight for the end of the time range.

referenceThe time zone: Either Coordinated Universal Time (UTC) or local.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the global time-of-day access policy.

Command-line equivalent:pdadmin policy get todaccess

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

Chapter 12. Administration C API reference 135

Page 152: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_context_getuserid()This API returns the name of the user for which the specified context isauthenticated. This user ID is the one specified for this context when the contextwas created.

Syntaxconst char* ivadmin_context_getuserid(ivadmin_context ctx);

Parameters

Input

ctx A pointer to the context whose userid is returned.

Description

Returns the user name from the specified context object. You must call theivadmin_context_create3() or ivadmin_context_createdefault2() function toobtain an ivadmin_context object before using this function. Do not free thecharacter string that is returned. This data is maintained in the ivadmin_contextobject.

Command-line equivalent:pdadmin context show

Return values

Returns the name of the user for which the specified context is authenticated.

ivadmin_context_getuserreg()This API returns the type of user registry that is configured for the policy server.

Syntaxunsigned long ivadmin_context_getuserreg(ivadmin_context ctx,unsigned long *registry,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

registryA pointer to a registry type indicator (IVADMIN_CONTEXT_DCEUSERREG orIVADMIN_CONTEXT_LDAPUSERREG).

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

136 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 153: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the type of user registry that is configured for this Security AccessManager policy server. The following indicators are defined:#define IVADMIN_CONTEXT_DCEUSERREG 0#define IVADMIN_CONTEXT_LDAPUSERREG 1#define IVADMIN_CONTEXT_ADUSERREG 2#define IVADMIN_CONTEXT_DOMINOUSERREG 3#define IVADMIN_CONTEXT_MULTIDOMAIN_ADUSERREG 4

Command-line equivalent:pdadmin admin show configuration

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_hasdelcred()This API indicates whether the specified context has a delegated credential set.

Syntaxunsigned long ivadmin_context_hasdelcred(ivadmin_context ctx);

Parameters

Input

ctx The context to use when communicating with the policy server.

Description

Indicates whether the specified context has a delegated credential associated withit. A delegated credential is associated with a context with theivadmin_context_setdelcred() function and is removed from a context with theivadmin_context_cleardelcred() function.

There is no explicit command-line equivalent.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The context has a delegated credential.

IVADMIN_FALSEDefined as 0. The context does not have a delegated credential.

Chapter 12. Administration C API reference 137

Page 154: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_context_setaccexpdate()This API sets the account expiration date for all user accounts.

Syntaxunsigned long ivadmin_context_setaccexpdate(ivadmin_context ctx,unsigned long seconds,unsigned long unlimited,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

secondsThe date and time of the expiration of all user accounts. This value is thenumber of seconds since 00:00:00 Universal time, 1 January 1970 (same astime_t).

unlimitedThe specified user account is not expired and the seconds parameter isignored if set to true.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the account expiration date for all user accounts.

Command-line equivalent:pdadmin policy set account-expiry-date {unlimited | absolute_time | unset}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_setdelcred()This API sets the delegated credential for the context based on the specifiedPrivilege Attribute Certificate (PAC).

138 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 155: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_context_setdelcred(ivadmin_context ctx,const unsigned char *pacValue,const unsigned long pacLength,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

pacValueThe credential PAC data.

pacLengthThe credential PAC length.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the delegated credential for the context based on the specified PAC. Only onecredential can be delegated at a time. If a delegated credential exists already forthis context, it is overwritten.

There is no explicit command-line equivalent.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_setdisabletimeint()This API sets the number of seconds before disabling each user account when themaximum number of login failures is exceeded.

Syntaxunsigned long ivadmin_context_setdisabletimeint(ivadmin_context ctx,unsigned long seconds,unsigned long disable,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

Chapter 12. Administration C API reference 139

Page 156: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ctx The context to use when communicating with the policy server.

secondsThe specified number of seconds that the user account is disabled if themaximum number of login failures is exceeded.

disableThe user account is disabled when the maximum number of login failuresis exceeded. Administrator action is required to enable the account.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the number of seconds before disabling each user account when the maximumnumber of login failures is exceeded.

Command-line equivalent:pdadmin policy set disable-time-interval {number | unset | disable}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_setmaxconcurwebsess()This API sets the maximum number of concurrent web sessions that are allowedfor each user account.

Syntaxunsigned long ivadmin_context_setmaxconcurwebsess(ivadmin_context ctx,unsigned long sessions,unsigned long displace,unsigned long unlimited,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

140 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 157: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

displaceThe policy is to be set for session displacement if set to true. If set to false,the policy is set as specified. When set to true, this parameter overrides thesessions and unlimited parameters. This setting is overridden when theunset parameter is set to true.

Required value is IVADMIN_TRUE or IVADMIN_FALSE.

sessionsThe maximum number of concurrent Web sessions that are allowed. Thisparameter is overridden when one of the following parameters is set totrue: unset, displace, or unlimited. When specified, the value cannot be 0.

unlimitedThe policy is set to allow unlimited concurrent sessions if set to true. If setto false, the policy is set as specified. When set to true, this parameteroverrides the sessions parameters. This parameter is overridden when theunset or displace parameter is set to true.

Required value is IVADMIN_TRUE or IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified. When set to true this parameter overrides thesessions, displace and unlimited parameters.

Required value is IVADMIN_TRUE or IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the maximum number of concurrent web sessions that are allowed for eachuser account.

Sets concurrent web session policy to be limited to a maximum number ofconcurrent sessions. The setting can allow unlimited concurrent sessions or can beset for session displacement. When set to displace, a new web session for a userterminates any existing web session for that user. When set to number, the numberrepresents the maximum number of web sessions that can be established. Thenumber cannot be zero.

This policy applies only to certain components of Security Access Manager. A websession is a user session that is maintained by the Security Access Manager systems:Security Access Manager WebSEAL and Security Access Manager Plug-ins for WebServers.

Command-line equivalent:pdadmin policy set max-concurrent-web-sessions { number | displace | unlimited|unset }

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

Chapter 12. Administration C API reference 141

Page 158: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_setmaxlgnfails()This API sets the maximum number of login failures that are allowed for each useraccount.

Syntaxunsigned long ivadmin_context_setmaxlgnfails(ivadmin_context ctx,unsigned long failures,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

failuresThe maximum number of login failures allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the maximum number of login failures that are allowed for each user account.

Command-line equivalent:pdadmin policy set max-login-failures {number | unset}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_setmaxpwdage()This API sets the maximum password age, in seconds, for all user accounts.

142 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 159: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_context_setmaxpwdage(ivadmin_context ctx,unsigned long seconds,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

secondsThe maximum lifetime, in seconds, before expiration of a password. Settingthis value to zero means the password never expires.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the maximum password age, in seconds, for all user accounts.

Command-line equivalent:pdadmin policy set max-password-age {unset | relative_time}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_setmaxpwdrepchars()This API sets the maximum number of repeated characters that are allowed in apassword for each user account.

Syntaxunsigned long ivadmin_context_setmaxpwdrepchars(ivadmin_context ctx,unsigned long chars,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

Chapter 12. Administration C API reference 143

Page 160: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ctx The context to use when communicating with the policy server.

chars The maximum number of repeated characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the maximum number of repeated characters that are allowed in a passwordfor each user account.

Command-line equivalent:pdadmin policy set max-password-repeated-chars {number | unset}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_setminpwdalphas()This API sets the minimum number of alphabetic characters that are allowed in apassword for each user account.

Syntaxunsigned long ivadmin_context_setminpwdalphas(ivadmin_context ctx,unsigned long chars,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

chars The minimum number of alphabetic characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

144 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 161: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Sets the minimum number of alphabetic characters that are allowed in a passwordfor each user account.

Command-line equivalent:pdadmin policy set min-password-alphas {unset | number}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_setminpwdnonalphas()This API sets the minimum number of non-alphabetic characters that are allowedin a password for each user account.

Syntaxunsigned long ivadmin_context_setminpwdnonalphas(ivadmin_context ctx,unsigned long chars,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

chars The minimum number of non-alphabetic characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the minimum number of non-alphabetic characters that are allowed in apassword for each user account.

Command-line equivalent:pdadmin policy set min-password-non-alphas {number | unset}

Return values

Returns the following values:

Chapter 12. Administration C API reference 145

Page 162: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_setminpwdlen()This API sets the minimum password length for each user account.

Syntaxunsigned long ivadmin_context_setminpwdlen(ivadmin_context ctx,unsigned long length,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

length The minimum password length allowed to be set.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the minimum password length for each user account.

Command-line equivalent:pdadmin policy set min-password-length {unset | number}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_setpwdspaces()This API specifies whether spaces are allowed in passwords for all user accounts.

146 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 163: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_context_setpwdspaces(ivadmin_context ctx,unsigned long allowed,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

allowedA setting that indicates whether spaces are allowed in passwords.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Indicates whether spaces are allowed in passwords for all user accounts.

The initial value of setpwdspaces is unset.

Command-line equivalent:pdadmin policy set password-spaces {yes | no | unset}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_context_settodaccess()This API sets the global time-of-day access policy.

Syntaxunsigned long ivadmin_context_settodaccess(ivadmin_context ctx,unsigned long days,unsigned long start,unsigned long end,unsigned long reference,

Chapter 12. Administration C API reference 147

Page 164: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

unsigned long unset,ivadmin_response *rsp););

Parameters

Input

ctx The context to use when communicating with the policy server.

days A bitmap of the days for the time-of-day policy.

start The minutes after midnight for the start of the time range.

end The minutes after midnight for the end of the time range.

referenceThe time zone: Coordinated Universal Time (UTC) or local.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Note: When setting a password policy, you provide a list of days, start time, andend time. The start time and end time apply to each day on the list. If the specifiedstart time is later than the specified end time, then the access is allowed until thespecified end time is reached on the next day.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the global time-of-day access policy.

Command-line equivalent:pdadmin policy set todaccess todaccess_string

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_domain_create()This API creates a domain.

Syntaxunsigned long ivadmin_domain_create(ivadmin_context ctx,const char *domainid,const char *adminid,

148 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 165: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

const char *password,const char *description,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server. Thiscontext must be authenticated to the management domain.

domainidThe name of the domain to create.

adminidThe name of the domain administrator. Cannot be NULL or an emptystring.

passwordThe initial password for the specified adminid account in the new domain.

descriptionThe description of the new domain. Cannot be NULL.

Output

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Creates a domain with the specified description. This domain might be createdearlier and then deleted without deleting the associated user and group data fromthe user registry. In this case, those users and groups will be availableautomatically after this API is started. In that case, a special response message isreturned to indicate that is the case.

This command applies to LDAP registries only.

Command-line equivalent:pdadmin domain create domain_name domain_admin domain_admin_password[-desc description]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_domain_delete()This API deletes a domain.

Chapter 12. Administration C API reference 149

Page 166: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_domain_delete(ivadmin_context ctx,const char *domainid,unsigned long registry,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server. Thiscontext must be authenticated to the management domain.

domainidThe name of the domain to delete.

registryThe indicator of whether to delete the user and group data of the domainfrom the user registry and also delete the user and group data fromSecurity Access Manager. Supported values are IVADMIN_TRUE andIVADMIN_FALSE. The user and group data of the domain might not bedeleted from the user registry. In this case, those users and groups areavailable automatically if the domain is re-created.

Output

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Deletes a domain. If the registry argument is IVADMIN_TRUE, the user and groupdata of the domain is removed from the user registry. A user and group data of thedomain might not be deleted from the user registry. In this case, those users andgroup data are available automatically if the domain is created again.

This command applies to LDAP registries only.

Command-line equivalent:pdadmin domain delete domain_name [-registry]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_domain_get()This API returns the specified domain object.

150 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 167: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_domain_get(ivadmin_context ctx,const char *domainid,ivadmin_domain *domain,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server. Thiscontext must be authenticated to the management domain.

domainidThe name of the domain to return.

Output

domainThe domain object. Free this object when it is no longer needed.

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Returns the specified domain object.

This command applies to LDAP registries only.

Command-line equivalent:pdadmin domain show domain_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_domain_getdescription()This API returns the description for the specified domain object.

Syntaxconst char* ivadmin_domain_getdescription(ivadmin_domain domain);

Parameters

Input

Chapter 12. Administration C API reference 151

Page 168: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

domainA pointer to the domain object.

Description

Returns the description for the specified domain object. You must call theivadmin_domain_get() function to obtain an ivadmin_domain object before usingthis function. Do not free the character string that is returned. This data ismaintained in the ivadmin_domain object.

Command-line equivalent:pdadmin domain show domain_name

The description is part of the information returned by the pdadmin command.

Return values

Returns the description that is associated with the domain, or an empty string ifthe domain has no description.

ivadmin_domain_getid()This API returns the name of the specified domain.

Syntaxconst char* ivadmin_domain_getid(ivadmin_domain domain);

Parameters

Input

domainA pointer to the domain object.

Description

Returns the name of the specified domain object. You must call theivadmin_domain_get() function to obtain an ivadmin_domain object before usingthis function. Do not free the character string that is returned. This data ismaintained in the ivadmin_domain object.

Command-line equivalent:pdadmin domain show domain_name

The domain name is part of the information returned by the pdadmin command.

Return values

Returns the name of the specified domain.

ivadmin_domain_list()This API lists the names of all the domains, except the management domain.

152 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 169: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_domain_list(ivadmin_context ctx,unsigned long *count,char ***domainids,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server. Thiscontext must be authenticated to the management domain.

Output

count The number of domain identifiers returned. The number can be zero if nodomains other than the management domain exist.

domainidsAn array of pointers to domain names. Free each domain name and thearray of pointers when they are no longer needed.

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Lists the names of all the domains, except the management domain.

This command applies to LDAP registries only.

Command-line equivalent:pdadmin domain list

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_domain_setdescription()This API creates or changes the description for the specified domain.

Syntaxunsigned long ivadmin_domain_setdescription(ivadmin_context ctx,const char *domainid,const char *description,ivadmin_response *rsp);

Chapter 12. Administration C API reference 153

Page 170: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server. Thiscontext must be authenticated to the management domain.

domainidThe name of the domain. Cannot be NULL or an empty string.

descriptionThe new description. Cannot be NULL.

Output

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Creates or changes the description for the specified domain.

This command applies to LDAP registries only.

Command-line equivalent:pdadmin domain modify domain_name description description

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_free()This API frees the memory that is allocated to the specified object.

Syntaxvoid ivadmin_free(void p*);

Parameters

Input

p A pointer to the object to be freed.

Description

Frees the memory that is allocated to the specified object. Use this function to freeall memory that is allocated by the administration API functions.

There is no command-line equivalent for this function.

154 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 171: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_user_getlastpwdchange()Returns a value that indicates the date and time of the user's last password change.

Syntaxunsigned long ivadmin_user_getlastpwdchange(ivadmin_ldapuser user);

Parameters

Input

user Pointer to the user structure.

Description

Returns an attribute that indicates the date and time that the user last changed thepassword.

Command-line equivalent:pdadmin user show user_name

The last password change status for the user is part of the information returned bythe pdadmin command.

This value is only available if the following option is configured:ivmgrdprovide-last-pwd-change = yes

Return values

Returns the following values:v 0 is returned if the user is NULL.v A long integer value that indicates the data and time of the user's last password

change.

ivadmin_group_addmembers()This API adds the specified users to the specified group.

Syntaxunsigned long ivadmin_group_addmembers(ivadmin_context ctx,const char *groupid,unsigned long user_count,const char **users,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

groupidThe group name.

Chapter 12. Administration C API reference 155

Page 172: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

user_countThe number of users to add to the group.

users The new member user names.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Adds the specified users to the specified group. Security Access Manager does notsupport a group as a group member.

Command-line equivalent:pdadmin group modify group_name add user

pdadmin group modify group_name add (user1 user_2 ... user_n)

User registry difference: Attempting to add a duplicate user to a group is handleddifferently depending on what user registry is being used. See Appendix B, “Userregistry differences,” on page 293 for details.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_group_create2()This API creates a group.

Syntaxunsigned long ivadmin_group_create2(ivadmin_context ctx,const char *groupid,const char *dn,const char *cn,const char *group_container,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

groupidThe group name.

dn The user registry distinguished name.

cn The common name attribute of the user registry.

156 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 173: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

group_containerThe container object within the /Management object space. Can be NULL toindicate that it is at the root level.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates a Security Access Manager group in the user registry with the specifiedname, distinguished name, and common name.

Groups created in the Active Directory Lightweight Directory Service (AD LDS)user registry must be created in the same AD LDS partition where the SecurityAccess Manager Management Domain information is stored.

User registry difference: Leading and trailing blanks in a group name do notmake the name unique when using an LDAP or Active Directory user registry. Tokeep name processing consistent regardless of what user registry is being used, donot define group names with leading or trailing blanks.

Command-line equivalent:pdadmin group create group_name dn cn

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_group_delete2()This API deletes the specified group.

Syntaxunsigned long ivadmin_group_delete2(ivadmin_context ctx,const char *groupid,unsigned long registry,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

groupidThe group name.

Chapter 12. Administration C API reference 157

Page 174: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

registryThe indicator of whether to delete the group from the user registry andalso deleting all information about the group from Security AccessManager.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified group. Deletes all Security Access Manager information aboutthe group and optionally deletes the user registry contents.

Command-line equivalent:pdadmin group delete [–registry] group_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_group_get()This API returns the specified group object.

Syntaxunsigned long ivadmin_group_get(ivadmin_context ctx,const char *groupid,ivadmin_ldapgroup *group,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

groupidThe group name.

Output

group The returned group. Free the memory for this ivadmin_ldapgroup objectwhen it is no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

158 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 175: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the group object for the specified group name. Free the memory for thisivadmin_ldapgroup object when it is no longer needed.

Command-line equivalent:pdadmin group show group-name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_group_getbydn()This API returns a group user with the user registry distinguished name foridentification.

Syntaxunsigned long ivadmin_group_getbydn(ivadmin_context ctx,const char *dn,ivadmin_ldapgroup *group,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

dn The distinguished name of group in the user registry.

Output

group The returned group. Free this memory when it is no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns a group user with the user registry DN for identification. Free the memoryfor this ivadmin_ldapgroup object when it is no longer needed.

User registry difference: The maximum length of the distinguished name variesdepending on the user registry that is used. See Appendix B, “User registrydifferences,” on page 293 to determine the maximum length in your environment.

Command-line equivalent:pdadmin group show-dn dn

Chapter 12. Administration C API reference 159

Page 176: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_group_getcn()This API returns the user registry common name attribute for the specified group.

Syntaxconst char* ivadmin_group_getcn(ivadmin_ldapgroup group);

Parameters

Input

group A pointer to the group structure.

Description

Returns the user registry common name attribute for the specified group object.

Do not free this memory. This data is maintained in the ivadmin_ldapgroupstructure.

User registry difference: The maximum length of the common name variesdepending on the user registry that is used. See Appendix B, “User registrydifferences,” on page 293 to determine the maximum length in your environment.

Command-line equivalent:pdadmin group show group-name

The user registry common name is part of the information returned by the pdadmingroup show command.

Return values

Returns the user registry common name attribute for the specified group.

ivadmin_group_getdescription()This API returns the user registry description for the specified group.

Syntaxconst char* ivadmin_group_getdescription(ivadmin_ldapgroup group);

160 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 177: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

groupA pointer to the group structure.

Description

Returns the user registry description for the specified group.

Do not free this memory. This data is maintained in the ivadmin_ldapgroupstructure.

Command-line equivalent:pdadmin group show group-name

The description is part of the information returned by the pdadmin group showcommand.

Return values

Returns the user registry description for the specified group. The maximum lengthof a description is 1024 characters.

ivadmin_group_getdn()This API returns the user registry distinguished name for the specified group.

Syntaxconst char* ivadmin_group_getdn(ivadmin_ldapgroup group);

Parameters

Input

group A pointer to the group structure.

Description

Returns the user registry distinguished name for the specified group.

Do not free this memory. This data is maintained in the ivadmin_ldapgroupstructure.

User registry difference: The maximum length of the distinguished name variesdepending on the user registry that is used. See Appendix B, “User registrydifferences,” on page 293 to determine the maximum length in your environment.

Command-line equivalent:pdadmin group show group-name

The user registry distinguished name is part of the information returned by thepdadmin group show command.

Chapter 12. Administration C API reference 161

Page 178: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the user registry distinguished name for the specified group.

ivadmin_group_getid()This API returns the group name from the specified group object.

Syntaxconst char* ivadmin_group_getid(ivadmin_ldapgroup group);

Parameters

Input

group A pointer to the group structure.

Description

Returns the group name from the specified group object.

Do not free this memory. This data is maintained in the ivadmin_ldapgroupstructure.

Command-line equivalent:pdadmin group show group-name

The group name is part of the information that is returned by the pdadmin groupshow command.

Return values

Returns the group name from the specified group object. The maximum length of agroup name is 256 characters.

ivadmin_group_getmembers()This API lists the user names of the members of the specified group.

Syntaxunsigned long ivadmin_group_getmembers(ivadmin_context ctx,const char *groupid,unsigned long *count,char ***userids,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

groupidThe group name.

162 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 179: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Output

count The number of user names returned.

useridsAn array of pointers to the user names returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists the user names of the members of the specified group.

Command-line equivalent:pdadmin group show-members group_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_group_import2()This API creates a Security Access Manager group by importing a group that existsin the user registry.

Syntaxunsigned long ivadmin_group_import2(ivadmin_context ctx,const char *groupid,const char *dn,const char *group_container,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

groupidThe group name.

dn The user registry distinguished name.

group_containerThe container object within the /Management object space. Can be NULL toindicate that it is at the root level.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Chapter 12. Administration C API reference 163

Page 180: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Creates a Security Access Manager group by importing a group that exists in theuser registry.

Groups created in the Active Directory Lightweight Directory Service (AD LDS)user registry must be created in the same AD LDS partition where the AccessManager Management Domain information is stored.

Command-line equivalent:pdadmin group import group_name dn

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_group_list()This API lists the names of the Security Access Manager groups.

Syntaxunsigned long ivadmin_group_list(ivadmin_context ctx,const char *pattern,unsigned long maxreturn,unsigned long *count,char ***groupids,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

patternThe pattern match for group names. IVADMIN_ALLPATTERN indicates allgroups.

maxreturnThe maximum number to return. IVADMIN_MAXRETURN indicates unlimited.This number can also be limited by the user registry server so themaximum returned is really the minimum of the server configuration andthis value.

Output

count The number of group names returned.

groupidsAn array of pointers to the group names returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

164 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 181: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists the names of the Security Access Manager groups. Returns a list of groupnames whose name matches the pattern specified.

The order returned is the order created.

Command-line equivalent:pdadmin group list pattern max_return

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_group_listbydn()This API returns a list of user registry distinguished names whose user registrycommon name attribute matches the pattern specified.

Syntaxunsigned long ivadmin_group_listbydn(ivadmin_context ctx,const char *pattern,unsigned long maxreturn,unsigned long *count,char ***dns,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

patternThe pattern match for common name attribute. IVADMIN_ALLPATTERNindicates all users.

maxreturnThe maximum number to return. IVADMIN_MAXRETURN indicates unlimited.This number can also be limited by the user registry server. The limitspecifies that the maximum returned is really the minimum of the serverconfiguration and this value.

Output

count The number of user registry distinguished names returned.

dns An array of pointers to the user registry distinguished names returned. You

Chapter 12. Administration C API reference 165

Page 182: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

must free the character data referenced by each pointer and also the arrayof pointers when they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns a list of user registry distinguished names whose user registry commonname attributes match the pattern specified.

User registry difference: The maximum length of the distinguished name variesdepending on the user registry that is used. See Appendix B, “User registrydifferences,” on page 293 to determine the maximum length in your environment.

Command-line equivalent:pdadmin group list-dn pattern max_return

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_group_removemembers()This API removes the specified user or users from the specified group.

Syntaxunsigned long ivadmin_group_removemembers(ivadmin_context ctx,const char *groupid,unsigned long user_count,const char **users,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

groupidThe group name.

user_countThe number of user names to remove.

users The member user names to remove.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

166 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 183: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Removes the specified user or users from the specified group.

Command-line equivalent:pdadmin group modify group_name remove user_name

pdadmin group modify group_name remove (user_1 user_2 ... user_n)

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_group_setdescription()This API creates or changes the description for the specified group.

Syntaxunsigned long ivadmin_group_setdescription(ivadmin_context ctx,const char *groupid,const char *description,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

groupidThe group name.

descriptionThe new description.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the description for the specified group.

Command-line equivalent:pdadmin group modify group_name description description

Return values

Returns the following values:

Chapter 12. Administration C API reference 167

Page 184: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_objectspace_create()This API creates a Security Access Manager protected object space.

Syntaxunsigned long ivadmin_objectspace_create(ivadmin_context ctx,const char *objspaceid,unsigned long type,const char *description,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objspaceidThe name of the object space to create.

type The type of object space to create.

descriptionA description for the object space.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates a Security Access Manager protected object space.

You must specify the object type for each new object by with the type inputparameter. The object type is used by Web Portal Manager to display anappropriate icon with the object.

Note: The root of the new protected object has the ispolicyattachable attributeset to true. See “ivadmin_protobj_setpolicyattachable()” on page 223.

The supported object types are in Table 33.

Table 33. Supported object types

Variable name Value Description

IVADMIN_PROTOBJ_TYPE_UNKNOWN 0 Unknown

IVADMIN_PROTOBJ_TYPE_DOMAIN 1 Secure domain

IVADMIN_PROTOBJ_TYPE_FILE 2 File

IVADMIN_PROTOBJ_TYPE_PROGRAM 3 Executable program

IVADMIN_PROTOBJ_TYPE_DIR 4 Directory

168 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 185: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 33. Supported object types (continued)

Variable name Value Description

IVADMIN_PROTOBJ_TYPE_JNCT 5 Junction

IVADMIN_PROTOBJ_TYPE_WEBSEAL_SVR 6 WebSEAL server

IVADMIN_PROTOBJ_TYPE_NETSEAL_SVR 7 Unused

IVADMIN_PROTOBJ_TYPE_EXTERN_AUTH_SVR 8 Unused

IVADMIN_PROTOBJ_TYPE_HTTP_SVR 9 Unused

IVADMIN_PROTOBJ_TYPE_NON_EXIST_OBJ 10 Nonexistent object

IVADMIN_PROTOBJ_TYPE_CONTAINER 11 Container object

IVADMIN_PROTOBJ_TYPE_LEAF 12 Leaf object

IVADMIN_PROTOBJ_TYPE_PORT 13 Port

IVADMIN_PROTOBJ_TYPE_APP_CONTAINER 14 Application containerobject

IVADMIN_PROTOBJ_TYPE_APP_LEAF 15 Application leaf object

IVADMIN_PROTOBJ_TYPE_MGMT_OBJ 16 Management object

IVADMIN_PROTOBJ_TYPE_NETSEAL_NET 17 Unused

Command-line equivalent:pdadmin objectspace create objectspace_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_objectspace_delete()This API deletes the specified Security Access Manager protected object space.

Syntaxunsigned long ivadmin_objectspace_delete(ivadmin_context ctx,const char *objspaceid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objspaceidThe name of the object space to delete.

Output

Chapter 12. Administration C API reference 169

Page 186: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified Security Access Manager protected object space.

Command-line equivalent:pdadmin objectspace delete objectspace_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_objectspace_list()This API lists the names of all the Security Access Manager protected object spaces.

Syntaxunsigned long ivadmin_objectspace_list(ivadmin_context ctx,unsigned long *count,char ***objspace_list,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

count The number of object space names returned.

objspace_listAn array of pointers to the names of the object spaces returned. You mustfree the character data referenced by each pointer as well as the array ofpointers when they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists the names of all the Security Access Manager protected object spaces.

Command-line equivalent:pdadmin objectspace list

170 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 187: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_attach()This API attaches a protected object policy to the specified protected object.

Syntaxunsigned long ivadmin_pop_attach(ivadmin_context ctx,char *popid,char *objid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy to attach.

objid The name of the protected object.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Attaches a protected object policy to the specified protected object. Be sure that theprotected object exists in the protect object space before attempting to attach a POP.

Command-line equivalent:pdadmin attach object_name pop_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_attrdelkey()This API deletes the specified extended attribute from the specified protectedobject policy.

Chapter 12. Administration C API reference 171

Page 188: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_pop_attrdelkey(ivadmin_context ctx,char *popid,char *attr_key,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy.

attr_keyThe extended attribute to delete.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified extended attribute from the specified protected object policy.

Command-line equivalent:pdadmin pop modify pop_name delete attribute attribute_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_attrdelval()This API deletes the specified value from the specified extended attribute key inthe specified protected object policy.

Syntaxunsigned long ivadmin_pop_attrdelval(ivadmin_context ctx,char *popid,char *attr_key,char *attr_value,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

172 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 189: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

popid The name of the protected object policy.

attr_keyThe extended attribute that contains the value to delete.

attr_valueThe value to delete from the extended attribute.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified value from the specified extended attribute key in thespecified protected object policy.

Command-line equivalent:pdadmin pop modify pop_name delete attribute attribute_name attribute_value

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_attrget()This API returns the values for the specified extended attribute from the specifiedprotected object policy.

Syntaxunsigned long ivadmin_pop_attrget(ivadmin_pop pop,char *attr_key,unsigned long *count,char ***attr_value);

Parameters

Input

pop The protected object policy to access.

attr_keyThe extended attribute to get.

Output

count The number of values returned.

attr_valueAn array of pointers to the extended attribute values returned. You mustfree the character data referenced by each pointer as well as the array ofpointers when they are no longer needed.

Chapter 12. Administration C API reference 173

Page 190: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the values for the specified extended attribute from the specified protectedobject policy. The value returned is in the same format as when it was created withthe ivadmin_pop_attrput() function. If an error occurs, NULL is returned.

Command-line equivalent:pdadmin pop show pop_name attribute

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_attrlist()This API lists the extended attributes that are associated with the specifiedprotected object policy.

Syntaxunsigned long ivadmin_pop_attrlist(ivadmin_pop pop,unsigned long *count,char ***attr_list);

Parameters

Input

pop The protected object policy.

Output

count The number of extended attributes returned.

attr_listAn array of pointers to the extended attributes returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

Description

Lists the extended attributes that are associated with the specified protected objectpolicy. If an error occurs, NULL is returned.

Command-line equivalent:pdadmin pop list pop_name attribute

Return values

Returns the following values:

174 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 191: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_attrput()This API creates or modifies the value for the specified extended attribute in thespecified protected object policy.

Syntaxunsigned long ivadmin_pop_attrput(ivadmin_context ctx,char *popid,char *attr_key,char *attr_value,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy.

attr_keyThe extended attribute for which a value must be set.

attr_valueThe value to set.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or modifies the value for the specified extended attribute in the specifiedprotected object policy.

Command-line equivalent:pdadmin modify pop_name set attribute attribute_name attribute_value

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_create()This API creates a protected object policy object.

Chapter 12. Administration C API reference 175

Page 192: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_pop_create(ivadmin_context ctx,const char *popid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy to create.

The value for popid can contain alphabets, numbers, and symbols such as'+' and '&'. The forward slash symbol ( / ) is not permitted.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates a protected object policy object with the default values described inTable 34.

Table 34. Protected object policy default values

Attribute Name Default Value

Description none

Warning mode no

Audit level none

Quality of protection none

Time-of-day access sun, mon, tue, wed, thu, fri, sat:anytime:local

IP endpoint authentication methodpolicy

0

Any other network 0

For more information about creating POPs, see the section about creating anddeleting protected object policies in the IBM Security Access Manager for Web:Administration Guide.

Command-line equivalent:pdadmin pop create pop_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

176 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 193: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_pop_delete()This API deletes the specified protected object policy.

Syntaxunsigned long ivadmin_pop_delete(ivadmin_context ctx,const char *popid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy to delete.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified protected object policy.

Command-line equivalent:pdadmin pop delete pop_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_detach()This API detaches a protected object policy from the specified protected object.

Syntaxunsigned long ivadmin_pop_detach(ivadmin_context ctx,char *objid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object to detach from.

Chapter 12. Administration C API reference 177

Page 194: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Detaches a protected object policy from the specified protected object.

Command-line equivalent:pdadmin pop detach pop_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_find()This API finds and lists all names of all protected objects that have the specifiedprotected object policy attached.

Syntaxunsigned long ivadmin_pop_find(ivadmin_context ctx,char *popid,unsigned long *count,char ***obj_list,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy to find.

Output

count The number of protected objects returned.

obj_listAn array of pointers to the protected objects returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Finds and lists all protected objects that have the specified protected object policyattached.

178 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 195: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Command-line equivalent:pdadmin pop find pop_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_get()This API returns the specified protected object policy object.

Syntaxunsigned long ivadmin_pop_get(ivadmin_context ctx,char *popid,ivadmin_pop *pop,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy to get.

Output

pop The protected object policy that is returned.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the specified protected object policy object. Call this function to get anobject of type ivadmin_pop.

You must free the ivadmin_pop object when it is no longer needed.

Command-line equivalent:pdadmin pop show pop_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

Chapter 12. Administration C API reference 179

Page 196: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_pop_getanyothernw2()This API returns the setting for any other network (anyothernw) for the IPauthentication level from the specified protected object policy.

Syntaxunsigned long ivadmin_pop_getanyothernw2(

ivadmin_context ctx,const char *popid,unsigned long *level,ivadmin_response *rsp

);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy to get.

Output

level The returned authentication level that is associated with anyothernw.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the setting for any other network (anyothernw) for the authentication levelfrom the specified protected object policy. If the authentication setting is forbidden,then the constant IVADMIN_IPAUTH_FORBIDDEN is returned.

Command-line equivalent:pdadmin pop show pop_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_getauditlevel()This API returns the audit level for the specified protected object policy.

Syntaxunsigned long ivadmin_pop_getauditlevel(ivadmin_pop pop);

Parameters

Input

180 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 197: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

pop The protected object policy.

Description

Returns the audit level for the specified protected object policy.

Command-line equivalent:pdadmin show pop_name

The audit level is part of the information returned by the pdadmin command.

Return values

Returns the audit level. The audit level is specified as an unsigned long. Thefollowing audit levels are defined:#define IVADMIN_AUDIT_NONE (0)#define IVADMIN_AUDIT_PERMIT (1)#define IVADMIN_AUDIT_DENY (2)#define IVADMIN_AUDIT_ERROR (4)#define IVADMIN_AUDIT_ADMIN (8)#define IVADMIN_AUDIT_ALL (15)

Descriptions for the audit levels can be found in Table 35.

Table 35. Descriptions of audit levels

Audit Value Description

none Auditing is disabled.

permit Audit all requests on a protected object that result insuccessful access.

deny Audit all requests on a protected object that result in denialof access.

error Audit all internally generated error messages when access tothe protected object is denied.

admin Not implemented.

all Audit success, error, and failure for all events.

ivadmin_pop_getdescription()This API returns the description of the specified protected object policy.

Syntaxconst char* ivadmin_pop_getdescription(ivadmin_pop pop);

Parameters

Input

pop The protected object policy.

Chapter 12. Administration C API reference 181

Page 198: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the description of the specified protected object policy. You must callivadmin_pop_get() to obtain an ivadmin_pop object before calling this function.

Do not free this description. This data is maintained in the ivadmin_pop structure.

Command-line equivalent:pdadmin show pop_name

The description is part of the information returned by the pdadmin command.

Return values

Returns the description of the specified protected object policy. There is no limit tothe length of the description.

ivadmin_pop_getid()This API returns the name of the specified protected object policy.

Syntaxconst char* ivadmin_pop_getid(ivadmin_pop pop);

Parameters

Input

pop The protected object policy.

Description

Returns the name of the specified protected object policy. You must callivadmin_pop_get() to obtain an ivadmin_pop object before calling this function.

Do not free this name. This data is maintained in the ivadmin_pop structure.

Command-line equivalent:pdadmin show pop_name

The name is part of the information returned by the pdadmin command.

Return values

Returns the name of the specified protected object policy. There is no limit to thename of the policy.

ivadmin_pop_getipauth3()This API returns the specified IP endpoint authentication settings in the specifiedprotected object policy (POP).

182 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 199: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_pop_getipauth3(ivadmin_context ctx,const char *popid,unsigned long *count,unsigned char ***networks,unsigned char ***netmasks,unsigned long **levels,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy.

Output

count The number of settings retrieved.

networksAn array of network address.

netmaskAny array of netmask address.

levels An array of authentication levels that are associated with the POP.

Note: You can specify any integer value, except 1000.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

If the network is not already protected, adds the specified IP endpointauthentication settings in the specified protected object policy.

When specifying the network and netmask parameters, the C client code isdependent on the operating system-provided functions. Be aware of the followingrestrictions:v IPv4 clients must provide addresses in IPv4 format even with IPv6 servers.v IPv6 clients can provide addresses in IPv4 or IPv6 format to IPv6 servers.

For an IPv6 address to be accepted, the server must be IPv6. You cannot providean IPv6 address to an IPv4 server.

Command-line equivalent:pdadmin pop modify pop_name set ipauth add network netmask level

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

Chapter 12. Administration C API reference 183

Page 200: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_getqop()This API returns the quality of protection level for the specified protected objectpolicy.

Syntaxconst char* ivadmin_pop_getqop(ivadmin_pop pop);

Parameters

Input

pop The protected object policy.

Description

Returns the quality of protection level for the specified protected object policy.

Do not free this quality of protection level. This data is maintained in theivadmin_pop structure.

Command-line equivalent:pdadmin show pop_name

The quality of protection level is part of the information returned by the pdadmincommand.

Return values

Returns the quality of protection level for the specified protected object policy. Thefollowing levels are defined:v nonev integrityv privacy

ivadmin_pop_gettod()This API Returns the time-of-day range for the specified protected object policy.

Syntaxunsigned longivadmin_pop_gettod(ivadmin_pop pop,unsigned long *days,unsigned long *start,unsigned long *end,unsigned long *reference);

Parameters

Input

184 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 201: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

pop The protected object policy.

Output

days A bitmap of the days.

start The minutes for the start of the range.

end The minutes for the end of the range.

referenceThe time reference; either Universal Time Coordinated (UTC) or local.

Description

Returns the time-of-day range for the specified protected object policy.

Command-line equivalent:pdadmin show pop_name

The time-of-day range is part of the information returned by the pdadmincommand.

The following values are defined for the time-of-day settings:#define IVADMIN_TIME_LOCAL (0)#define IVADMIN_TIME_UTC (1)#define IVADMIN_TOD_ANY (0)#define IVADMIN_TOD_SUN (1)#define IVADMIN_TOD_MON (2)#define IVADMIN_TOD_TUE (4)#define IVADMIN_TOD_WED (8)#define IVADMIN_TOD_THU (16)#define IVADMIN_TOD_FRI (32)#define IVADMIN_TOD_SAT (64)#define IVADMIN_TOD_ALL (127)#define IVADMIN_TOD_WEEKDAY (62)#define IVADMIN_TOD_WEEKEND (65)#define IVADMIN_TOD_MINUTES (60)#define IVADMIN_TOD_OCLOCK (3600)

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_getwarnmode()This API returns the warning mode value from the specified protected objectpolicy.

Syntaxunsigned long ivadmin_pop_getwarnmode(ivadmin_pop pop);

Chapter 12. Administration C API reference 185

Page 202: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

pop The protected object policy.

Description

Returns the warning mode value from the specified protected object policy.

Command-line equivalent:pdadmin show pop_name

The warning mode value is part of the information returned by the pdadmincommand.

Return values

Returns the warning mode set for this protected object policy.

ivadmin_pop_list()This API lists the names of all protected object policy objects.

Syntaxunsigned long ivadmin_pop_list(ivadmin_context ctx,unsigned long *count,char ***poplist,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

count The number of protected object policies returned.

poplistAn array of pointers to the protected object policies returned. You mustfree the character data referenced by each pointer as well as the array ofpointers when they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists the names of all protected object policy objects.

Command-line equivalent:pdadmin pop list

186 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 203: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_removeipauth2()This API removes IP endpoint authentication settings from the specified protectedobject policy.

Syntaxunsigned long ivadmin_pop_removeipauth2(ivadmin_context ctx,const char *popid,const unsigned char *network,const unsigned char *netmask,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy.

networkThe network address to delete.

netmaskThe netmask address.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

If present, removes IP endpoint authentication settings from the specified protectedobject policy that were set or added.

When specifying the network and netmask parameters, the C client code isdependent on the operating system-provided functions. Be aware of the followingrestrictions:v IPv4 clients must provide addresses in IPv4 format even with IPv6 servers.v IPv6 clients can provide addresses in IPv4 or IPv6 format to IPv6 servers.

For an IPv6 address to be accepted, the server must be IPv6. You cannot providean IPv6 address to an IPv4 server.

Command-line equivalent:pdadmin pop modify pop_name set ipauth remove network netmask

Chapter 12. Administration C API reference 187

Page 204: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_setanyothernw2()This API modifies the setting for any other network (anyothernw) to the specifiedIP authentication level for the specified protected object policy.

Syntaxunsigned long ivadmin_pop_setanyothernw2(ivadmin_context ctx,const char *popid,unsigned long level,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy.

level The authentication level, except for forbidden, to associate withanyothernw. To set the authentication level to forbidden, use theivadmin_pop_setanyothernw_forbidden2() function.

Note: You can specify any integer value, except 1000.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Modifies the setting for any other network (anyothernw) for the authenticationlevel from the specified protected object policy (POP). Use the anyothernw settingto set the authentication level for all IP addresses and IP address ranges not listedexplicitly in the POP.

When specifying IP addresses, the C client code is dependent on the operatingsystem-provided functions. Be aware of the following restrictions:v IPv4 clients must provide addresses in IPv4 format even with IPv6 servers.v IPv6 clients can provide addresses in IPv4 or IPv6 format to IPv6 servers.

For an IPv6 address to be accepted, the server must be IPv6. You cannot providean IPv6 address to an IPv4 server.

Command-line equivalent:pdadmin pop modify pop_name set ipauth anyothernw level

188 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 205: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_setanyothernw_forbidden2()This API modifies the access setting for any other network (anyothernw) toforbidden for the specified protected object policy.

Syntaxunsigned long ivadmin_pop_setanyothernw_forbidden2(ivadmin_context ctx,const char *popid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Modifies the access setting for any other network (anyothernw) to forbidden forthe specified protected object policy.

Command-line equivalent:pdadmin pop modify pop_name set ipauth anyothernw forbidden

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_setauditlevel()This API creates or modifies the audit level for the specified protected objectpolicy.

Chapter 12. Administration C API reference 189

Page 206: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_pop_setauditlevel(ivadmin_context ctx,char *popid,unsigned long audit_level,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popidThe name of the protected object policy.

audit_levelThe new audit level for the protected object policy.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or modifies the audit level for the specified protected object policy.

Command-line equivalent:pdadmin pop modify pop_name set audit-level [all | none | audit_level_list]

The audit level is specified as an unsigned long. The following audit levels aredefined:#define IVADMIN_AUDIT_NONE (0)#define IVADMIN_AUDIT_PERMIT (1)#define IVADMIN_AUDIT_DENY (2)#define IVADMIN_AUDIT_ERROR (4)#define IVADMIN_AUDIT_ADMIN (8)#define IVADMIN_AUDIT_ALL (15)

Table 35 on page 181 lists audit levels and their descriptions.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_setdescription()This API creates or modifies the description of the specified protected object policy.

190 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 207: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_pop_setdescription(ivadmin_context ctx,char *popid,char *desc,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy.

desc The new description for the protected object policy.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or modifies the description of the specified protected object policy.

Command-line equivalent:pdadmin pop modify pop_name set description description

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_setipauth2()This API adds the specified IP endpoint authentication setting in the specifiedprotected object policy.

Syntaxunsigned long ivadmin_pop_setipauth2(ivadmin_context ctx,const char *popid,const unsigned char *network,const unsigned char *netmask,unsigned long level,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Chapter 12. Administration C API reference 191

Page 208: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

popid The name of the protected object policy.

networkThe network address.

netmaskThe netmask address.

level The authentication level, except for forbidden, to set for the POP. To set theauthentication level to forbidden, use theivadmin_pop_setipauth_forbidden2() function.

Note: You can specify any integer value, except 1000.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

If the network is not already protected, adds the specified IP endpointauthentication settings in the specified protected object policy.

When specifying the network and netmask parameters, the C client code isdependent on the operating system-provided functions. Be aware of the followingrestrictions:v IPv4 clients must provide addresses in IPv4 format even with IPv6 servers.v IPv6 clients can provide addresses in IPv4 or IPv6 format to IPv6 servers.

For an IPv6 address to be accepted, the server must be IPv6. You cannot providean IPv6 address to an IPv4 server.

Command-line equivalent:pdadmin pop modify pop_name set ipauth add network netmask level

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_setipauth_forbidden2()This API adds the specified network with an authentication level of forbidden tothe specified protected object policy.

Syntaxunsigned long ivadmin_pop_setipauth_forbidden2(ivadmin_context ctx,const char *popid,const unsigned char *network,const unsigned char *netmask,ivadmin_response *rsp);

192 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 209: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy.

networkThe network address.

netmaskThe netmask address.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

If the network is not already protected in the specified protected object policy, addsthe network with an authentication level of forbidden.

When specifying the network and netmask parameters, the C client code isdependent on the operating system-provided functions. Be aware of the followingrestrictions:v IPv4 clients must provide addresses in IPv4 format even with IPv6 servers.v IPv6 clients can provide addresses in IPv4 or IPv6 format to IPv6 servers.

For an IPv6 address to be accepted, the server must be IPv6. You cannot providean IPv6 address to an IPv4 server.

Command-line equivalent:pdadmin pop modify pop_name set ipauth add network netmask forbidden

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_setqop()This API creates or changes the quality of protection level for the specifiedprotected object policy.

Syntaxunsigned long ivadmin_pop_setqop(ivadmin_context ctx,char *popid,char *qop_level,ivadmin_response *rsp);

Chapter 12. Administration C API reference 193

Page 210: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server.

popidThe name of the protected object policy.

qop_levelThe new quality of protection level to set. The following string values aresupported:v nonev integrityv privacy

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the quality of protection level for the specified protected objectpolicy. The following string values are supported:v nonev integrityv privacy

Command-line equivalent:pdadmin pop modify pop_name set qop [none|integrity|privacy]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_settod()This API creates or changes the time-of-day policy for the specified protectedobject policy.

Syntaxunsigned long ivadmin_pop_settod(ivadmin_context ctx,char *popid,unsigned long days,unsigned long start,unsigned long end,unsigned long reference,ivadmin_response *rsp);

194 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 211: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy.

days A bitmap of the days.

start The minutes for the start of the range.

end The minutes for the end of the range.

referenceThe time zone: Universal Time Coordinated (UTC) or local.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the time-of-day policy for the specified protected object policy.

Command-line equivalent:pdadmin pop modify pop_name set tod-access time_of_day_string

The following values are defined for the time-of-day settings:#define IVADMIN_TIME_LOCAL (0)#define IVADMIN_TIME_UTC (1)#define IVADMIN_TOD_ANY (0)#define IVADMIN_TOD_SUN (1)#define IVADMIN_TOD_MON (2)#define IVADMIN_TOD_TUE (4)#define IVADMIN_TOD_WED (8)#define IVADMIN_TOD_THU (16)#define IVADMIN_TOD_FRI (32)#define IVADMIN_TOD_SAT (64)#define IVADMIN_TOD_ALL (127)#define IVADMIN_TOD_WEEKDAY (62)#define IVADMIN_TOD_WEEKEND (65)#define IVADMIN_TOD_MINUTES (60)#define IVADMIN_TOD_OCLOCK (3600)

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_pop_setwarnmode()This API creates or changes the warning mode for the specified protected objectpolicy.

Chapter 12. Administration C API reference 195

Page 212: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_pop_setwarnmode(ivadmin_context ctx,char *popid,unsigned long warn_mode,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object policy.

warn_modeThe new value of the warning mode. Supported values are IVADMIN_TRUE(1) or IVADMIN_FALSE (0).

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the warning mode for the specified protected object policy.

Command-line equivalent:pdadmin pop modify pop_name set warning {on | off}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_access()This API returns whether the specified access of the specified protected object ispermitted by the user authenticated by the specified security context.

Syntaxunsigned long ivadmin_protobj_access(ivadmin_context ctx,const char *objid,const char *permission_str,azn_attrlist_h_t *app_context,ivadmin_accessOutdata *outdata,ivadmin_response *rsp);

Parameters

Input

196 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 213: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ctx The context to use when communicating with the policy server.

objid The name of the protected object.

permission_strThe permission string that describes the access requested. See theinformation about using access control policies in the IBM Security AccessManager for Web: Administration Guide.

app_contextThe application context. See the description of theazn_decision_access_allowed_ext() function in the IBM Security AccessManager for Web: Authorization C API Developer Reference for informationabout application contexts.

Output

outdataA pointer to an ivadmin_accessOutdata object. This object is populatedwith output data for the specified object access request. See "Enabling thereturn of permission information" in the IBM Security Access Manager forWeb: Authorization C API Developer Reference for information about the datacontained within this object. Free this structure when it is no longerneeded.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns whether the user identified by the specified security context is permittedthe specified access on the specified object. To check multiple accesses or multipleobjects with a single function, use the ivadmin_protobj_multiaccess() function.

Information is returned in an ivadmin_accessOutdata structure. The followinginformation is returned:

access resultEither AZN_C_PERMITTED or AZN_C_NOT_PERMITTED. Use theivadmin_accessOutdata_getAccessResult() function to extract this data.

response informationAn ivadmin_response object that indicates the success or failure of theoperation. Use the ivadmin_accessOutdata_getResponseInfo() function toextract the response object.

permission informationAn azn_attrlist_h_t structure that contains supplemental permissioninformation. Use the ivadmin_accessOutdata_getPermInfo() function toextract the permission information.

See the IBM Security Access Manager for Web: Authorization C API DeveloperReference for more information about permissions and theazn_attrlist_h_t structure.

Command-line equivalent:pdadmin object access object_name

Chapter 12. Administration C API reference 197

Page 214: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_attachacl()This API attaches the specified access control list (ACL) to the specified protectedobject.

Syntaxunsigned long ivadmin_protobj_attachacl(ivadmin_context ctx,const char *objid,const char *aclid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object.

aclid The name of the access control list.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Attaches the specified ACL to the specified protected object. If the specifiedprotected object already has an ACL attached, this function replaces that ACL withthe new one. Understand Security Access Manager ACLs before using thisfunction. See the information about using access control policies in the IBMSecurity Access Manager for Web: Administration Guide.

Command-line equivalent:pdadmin acl attach object_name ACL_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

198 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 215: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_protobj_attachauthzrule()This API attaches the specified authorization rule to the specified protected object.

Syntaxunsigned long ivadmin_protobj_attachauthzrule(ivadmin_context ctx,const char *objid,const char *authzruleid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object.

authzruleidThe name of the authorization rule.

Output

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Attaches the specified authorization rule to the specified protected object. If thespecified protected object already has an authorization rule attached, this functionreplaces that authorization rule with the new one.

Command-line equivalent:pdadmin authzrule attach object_name rule_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_attrdelkey()This API deletes the specified extended attribute (name and value) from thespecified protected object.

Syntaxunsigned long ivadmin_protobj_attrdelkey(ivadmin_context ctx,const char *objid,const char *attr_name,ivadmin_response *rsp);

Chapter 12. Administration C API reference 199

Page 216: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object.

attr_nameThe name of the extended attribute to delete.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified extended attribute (name and value) from the specifiedprotected object.

Command-line equivalent:pdadmin object modify object_name delete attribute_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_attrdelval()This API deletes the specified value from the specified extended attribute key inthe specified protected object.

Syntaxunsigned long ivadmin_protobj_attrdelval(ivadmin_context ctx,char *popid,char *attr_key,char *attr_value,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

popid The name of the protected object.

attr_keyThe name of the extended attribute.

attr_valueThe name of the value to delete from the specified extended attribute.

200 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 217: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified value from the specified extended attribute key in thespecified protected object.

When you delete the last value for an attribute, it also deletes the attribute fromthe protected object. The attr_value deletes the specified value from the specifiedextended attribute key in the specified the protected object.

Command-line equivalent:pdadmin object modify object_name delete attribute_name attribute_value

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_attrget()This API returns the values that are associated with the specified extendedattribute for the specified protected object.

Syntaxunsigned long ivadmin_protobj_attrget(ivadmin_protobj protobj,const char *attr_key,unsigned long *count,char ***attr_value);

Parameters

Input

protobjThe Security Access Manager protected object structure.

attr_keyThe extended attribute to access.

count The number of values returned.

attr_valueAn array of pointers to the extended attribute values returned. You mustfree the character data referenced by each pointer as well as the array ofpointers when they are no longer needed.

Output

Chapter 12. Administration C API reference 201

Page 218: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the values for the extended attribute that are defined at the specifiedprotected object.

Command-line equivalent:pdadmin object show object_name attribute attribute_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_attrlist()This API returns all the extended attributes that are associated with the specifiedprotected object.

Syntaxunsigned long ivadmin_protobj_attrlist(ivadmin_protobj protobj,unsigned long *count,char ***attrs_list);

Parameters

Input

protobjThe Security Access Manager protected object structure.

Output

count The number of extended attributes returned.

attrs_listAn array of pointers to the extended attributes returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists any objects grouped under the specified protected object. Alternatively, listsall the extended attributes that are defined at the specified protected object whenthe parameter attribute is specified.

Command-line equivalent:

202 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 219: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

pdadmin object list object_name attribute

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_attrput()This API creates or changes an extended attribute with the specified name and setsa value, and adds the extended attribute to the specified protected object.

Syntaxunsigned long ivadmin_protobj_attrput(ivadmin_context ctx,const char *objid,const char *attr_name,const char *attr_value,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object.

attr_nameThe name of the extended attribute.

attr_valueThe value for the extended attribute.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Creates or changes an extended attribute with the specified name and sets a value,and adds the extended attribute to the specified protected object.

If the extended attribute exists, this value is added to the existing values.

Command-line equivalent:pdadmin object modify object_name set attribute attribute_name attribute_value

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

Chapter 12. Administration C API reference 203

Page 220: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_create()This API creates a Security Access Manager protected object.

Syntaxunsigned long ivadmin_protobj_create(ivadmin_context ctx,const char *objid,unsigned long type,const char *description,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object that you want to create. The name can beany length and contain any character. Forward slash (/) characters areinterpreted as part of the object hierarchy. You can attach access controllists at the various points indicated by the forward slash character.

type The type designation of protected object.

descriptionThe description of the protected object.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

You must specify the type input parameter to ivadmin_protobj_create() . Thisobject type is used by Web Portal Manager to display an appropriate icon with theobject.

Table 33 on page 168 lists the supported object types.

Command-line equivalent:pdadmin object create object_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

204 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 221: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_protobj_delete()This API deletes the specified Security Access Manager protected object.

Syntaxunsigned long ivadmin_protobj_delete(ivadmin_context ctx,const char *objid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object to delete.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified Security Access Manager protected object.

Command-line equivalent:pdadmin object delete object_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_detachacl()This API detaches the access control list (ACL) from the specified protected object.

Syntaxunsigned long ivadmin_protobj_detachacl(ivadmin_context ctx,const char *objid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object.

Chapter 12. Administration C API reference 205

Page 222: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Detaches the ACL from the specified protected object. Because only one ACL at atime can be attached to an object, the currently attached ACL is detached.Understand Security Access Manager ACLs before using this function. See theinformation about using access control policies in the IBM Security Access Managerfor Web: Administration Guide.

Command-line equivalent:pdadmin acl detach object_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_detachauthzrule()This API detaches the authorization rule from the specified protected object.

Syntaxunsigned long ivadmin_protobj_detachauthzrule(ivadmin_context ctx,const char *objid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object.

Output

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Detaches the authorization rule from the specified protected object. Only oneauthorization rule can be attached to an object simultaneously. So, the currentauthorized rule that is attached to the object space is detached. If the object spacedoes not exist, then the error message HPDBA0310E: The authorization rulespecified was not found is generated.

206 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 223: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Command-line equivalent:pdadmin authzrule detach object_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

Returns IVADMIN_FALSE if no authorization was attached to the protected object.

ivadmin_protobj_effattrget()This API returns the values that are associated with the specified effectiveextended attribute for the specified protected object.

Syntaxunsigned long ivadmin_protobj_effattrget(ivadmin_protobj protobj,const char *attr_key,unsigned long *count,char ***attr_value);

Parameters

Input

protobjThe Security Access Manager protected object structure.

attr_keyThe effective extended attribute to access.

Output

count The number of values returned.

attr_valueAn array of pointers to the effective extended attribute values returned.You must free the character data referenced by each pointer and also thearray of pointers when they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Protected objects without explicitly defined extended attributes inherit the firstfound set of extended attributes, which are defined at the parent object within theinheritance chain. The found set of extended attributes replaces the empty set ofdefined attributes. These attributes are referred to as effective extended attributes.

Returns the values that are associated with the specified effective extendedattribute for the specified protected object.

Chapter 12. Administration C API reference 207

Page 224: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Command-line equivalent:pdadmin object show object_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_effattrlist()This API lists all the effective extended attributes that are associated with thespecified protected object.

Syntaxunsigned long ivadmin_protobj_effattrlist(ivadmin_protobj protobj,unsigned long *count,char ***attrs_list);

Parameters

Input

protobjThe Security Access Manager protected object structure.

Output

count The number of extended attributes returned.

attrs_listAn array of pointers to the effective extended attributes returned. Youmust free the character data referenced by each pointer as well as the arrayof pointers when they are no longer needed.

Description

Protected objects without explicitly defined extended attributes inherit the firstfound set of extended attributes, which are defined at the parent object within theinheritance chain. The found set of extended attributes replaces the empty set ofdefined attributes. These attributes are referred to as effective extended attributes.

Lists all the effective extended attributes that are associated with the specifiedprotected object.

Command-line equivalent:pdadmin object show object_name

Return values

Returns the value associated with the specified effective extended attribute for thespecified protected object.

208 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 225: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_protobj_exists()This API returns an indication of whether the specified protected object exists.

Syntaxunsigned long ivadmin_protobj_exists(ivadmin_context ctx,const char *objid,unsigned long *exists,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object.

Output

exists The indicator of whether the object exists.

IVADMIN_TRUEThe protected object exists.

IVADMIN_FALSEThe protected object does not exist

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Indicates whether the protected object exists in the policy database or as an objectmaintained by an administration service.

Command-line equivalent:pdadmin object exists object_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_get3()This API returns the specified protected object. To determine whether a protectedobject exists, see ivadmin_protobj_exists().

Syntaxunsigned long ivadmin_protobj_get3(ivadmin_context ctx,const char *objid,azn_attrlist_h_t *indata,

Chapter 12. Administration C API reference 209

Page 226: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_protobj *obj,azn_attrlist_h_t *outdata,unsigned long *resultcount,char ***results,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object.

indata The pass through data that allows additional information to becommunicated to the server. If a NULL is specified, it is ignored. Fornon-null inputs, a valid address for an azn_attrlist_h_t structure isexpected. It is also assumed that the caller created this azn_attrlist_h_tstructure with the azn_attrlist_create () function. When this data is nolonger required, free the associated memory with theazn_attrlist_delete() function.

Output

obj The returned object.

outdataThe pass through data that allows the server to communicate additionalinformation to the caller. When the data is no longer required, free theassociated memory with azn_attrlist_delete().

resultcountThe number of result strings returned.

resultsAn array of pointers to the result strings returned. The result strings arethe message strings returned by the task. These strings are typically outputto a command-line interface (CLI) or log output and contain informationabout the success or failure of the task. You must free the character datareferenced by each pointer and the array of pointers when they are nolonger needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the specified protected object. To determine whether a protected objectexists, see ivadmin_protobj_exists().

Command-line equivalent:pdadmin object show object_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

210 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 227: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_getaclid()This API returns the identifier of the access control list (ACL), if any, that isattached to the specified protected object.

Syntaxconst char* ivadmin_protobj_getaclid(ivadmin_protobj protobj);

Parameters

Input

protobjA pointer to the protected object.

Description

Returns the identifier of the ACL that is attached to the specified protected object.

Do not free this ACL identifier. This data is maintained in the ivadmin_protobjobject.

Command-line equivalent:pdadmin object show object_name

The identifier of the attached ACL is part of the information returned by thispdadmin object show command.

Return values

Returns the identifier of the ACL that is attached to the specified protected object.If no ACL is attached to the protected object, the empty string is returned.

ivadmin_protobj_getauthzruleid()This API returns the identifier of the authorization rule, if any, that is attached tothe specified protected object.

Syntaxconst char* ivadmin_protobj_getauthzruleid(ivadmin_protobj protobj);

Parameters

Input

protobjA pointer to the protected object.

Chapter 12. Administration C API reference 211

Page 228: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the identifier of the authorization rule that is attached to the specifiedprotected object.

Do not free this authorization rule identifier. This data is maintained in theivadmin_protobj object.

Command-line equivalent:pdadmin object show object_name

The identifier of the attached authorization rule is part of the information returnedby this pdadmin object show command.

Return values

Returns the identifier of the authorization rule that is attached to the specifiedprotected object. An empty string is returned if no authorization rule is attached tothe object.

ivadmin_protobj_getdesc()This API returns the description of the specified protected object.

Syntaxconst char* ivadmin_protobj_getdesc(ivadmin_protobj protobj);

Parameters

Input

protobjA pointer to the protected object.

Description

Returns the description of the specified protected object. You must callivadmin_protobj_get3() before calling this function.

Do not free this description. This data is maintained in the ivadmin_protobj object.

Command-line equivalent:pdadmin object show object_name

The description is part of the information returned by this pdadmin command.

Return values

Returns the description of the specified protected object. There is no limit to thelength of the description.

212 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 229: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_protobj_geteffaclid()This API returns the identifier of the access control list (ACL), if any, that is ineffect for the specified protected object. The effective ACL might be attached to theprotected object, or it might be inherited from an object higher in the protectedobject space.

Syntaxconst char* ivadmin_protobj_geteffaclid(ivadmin_protobj protobj);

Parameters

Input

protobjA pointer to the protected object structure.

Description

Returns the identifier of the ACL that is in effect for the specified protected object.

Do not free this effective ACL identifier. This data is maintained in theivadmin_protobj object.

Command-line equivalent:pdadmin object show object_name

The identifier of the effective ACL is part of the information returned by thispdadmin object show command. If no access control list is attached to the protectedobject, the empty string is returned.

Return values

Returns the identifier of the ACL that is in effect for the specified protected object.If not effective ACL is found, returns an empty string.

ivadmin_protobj_geteffauthzruleid()This API returns the identifier of the authorization rule, if any, that is in effect forthe specified protected object. The effective authorization rule might be attached tothe protected object or inherited from an object higher in the protected objectspace.

Syntaxconst char* ivadmin_protobj_geteffauthzruleid(ivadmin_protobj protobj);

Parameters

Input

protobjA pointer to the protected object.

Chapter 12. Administration C API reference 213

Page 230: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the identifier of the authorization rule that is in effect for the specifiedprotected object.

Do not free this effective authorization rule identifier. This data is maintained inthe ivadmin_protobj object.

Command-line equivalent:pdadmin object show object_name

The identifier of the authorization rule in effect is part of the information returnedby this pdadmin object show command.

Return values

Returns the identifier of the authorization rule that is in effect for the specifiedprotected object, or the empty string if no authorization rule is in effect for theobject.

ivadmin_protobj_geteffpopid()This API returns the identifier of the protected object policy, if any, that is in effectfor the specified protected object. The effective POP might be attached to theprotected object or inherited from an object higher in the protected object space.

Syntaxconst char* ivadmin_protobj_geteffpopid(ivadmin_protobj protobj);

Parameters

Input

protobjA pointer to the protected object.

Description

Returns the identifier of the protected object policy in effect for the specifiedprotected object.

Do not free this effective protected object policy identifier. This data is maintainedin the ivadmin_protobj object.

Command-line equivalent:pdadmin object show object_name

The identifier of the protected object policy in effect is part of the informationreturned by this pdadmin object show command.

214 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 231: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the identifier of the protected object policy in effect for the specifiedprotected object. If no effective protected object policy is found for the protectedobject, the empty string is returned.

ivadmin_protobj_getid()This API returns the name of the specified protected object.

Syntaxconst char* ivadmin_protobj_getid(ivadmin_protobj protobj);

Parameters

Input

protobjA pointer to the protected object structure.

Description

Returns the name of the specified protected object. You must callivadmin_protobj_get2() before calling this function.

Do not free this name. This data is maintained in the protected object structureivadmin_protobj.

Command-line equivalent:pdadmin object show object_name

The protected object name is part of the information returned by this pdadmincommand.

Return values

Returns the name of the specified protected object. There is no limit to the lengthof the name.

ivadmin_protobj_getpolicyattachable()This API returns the isPolicyAttachable attribute of the specified protected object.

Syntaxunsigned long ivadmin_protobj_getpolicyattachable(ivadmin_protobj protobj);

Parameters

Input

protobjThe protected object structure.

Chapter 12. Administration C API reference 215

Page 232: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the isPolicyAttachable attribute of the specified protected object. TheisPolicyAttachable attribute of a protected object indicates whether a protectedobject policy can be attached to that protected object. The default value of thisattribute is yes.

Command-line equivalent:pdadmin object show object_name

The protected object isPolicyAttachable attribute is part of the informationreturned by this pdadmin command.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. Indicates that isPolicyAttachable is true.

IVADMIN_FALSEDefined as 0. Indicates that isPolicyAttachable is false.

ivadmin_protobj_getpopid()This API returns the identifier of the protected object policy, if any, for thespecified protected object.

Syntaxconst char* ivadmin_protobj_getpopid(ivadmin_protobj protobj);

Parameters

Input

protobjA pointer to the protected object.

Description

Returns the identifier of the protected object policy that is attached to the specifiedprotected object.

Do not free this protected object policy identifier. This data is maintained in theivadmin_protobj object.

Command-line equivalent:pdadmin object show object_name

The identifier of the attached protected object policy is part of the informationreturned by this pdadmin object show command.

216 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 233: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the identifier of the protected object policy that is attached to the specifiedprotected object. If no protected object policy is found for the protected object, anempty string is returned.

ivadmin_protobj_gettype()This API returns the type of the specified protected object.

Syntaxunsigned long ivadmin_protobj_gettype(ivadmin_protobj protobj);

Parameters

Input

protobjA pointer to the protected object structure.

Description

Returns the type of the specified protected object.

Command-line equivalent:pdadmin object show object_name

The protected object type is part of the information returned by this pdadmincommand.

Return values

Returns the type of the specified protected object.

Table 33 on page 168 in the description of the ivadmin_objectspace_create()function enumerates the types, values, and their descriptions.

ivadmin_protobj_list3()This API lists the protected objects in the specified directory, not includingsubdirectories.

Syntaxunsigned long ivadmin_protobj_list3(ivadmin_context ctx,const char *objid,azn_attrlist_h_t *indata,unsigned long *objcount,char ***objs,azn_attrlist_h_t *outdata,unsigned long *resultcount,char ***results,ivadmin_response *rsp);

Chapter 12. Administration C API reference 217

Page 234: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the parent protected object.

indata The pass through data that allows additional information to becommunicated to the server. If a NULL is specified, it is ignored. Fornon-null inputs, a valid address for an azn_attrlist_h_t structure isexpected. It is also assumed that the caller created this azn_attrlist_h_tstructure with the azn_attrlist_create() function. When this data is nolonger required, free the associated memory with theazn_attrlist_delete() function.

Output

objcountThe number of object names returned.

objs An array of pointers to the list of object names that exist directly below thespecified parent object. You must free the character data referenced by eachpointer and also the array of pointers when they are no longer needed.

outdataThe pass through data that allows the server to communicate additionalinformation to the caller. When the data is no longer required, free theassociated memory with the azn_attrlist_delete() function.

resultcountThe number of result strings returned.

resultsAn array of pointers to the result strings returned. The result strings arethe message strings returned by the task. These strings are typically outputon a command-line interface (CLI) or log output and contain informationabout the success or failure of the task. You must free the character datareferenced by each pointer and also the array of pointers when they are nolonger needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists the protected objects in the specified directory, not including subdirectories. Ifan error occurs, NULL is returned.

Command-line equivalent:pdadmin object list object_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

218 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 235: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_protobj_listbyacl()This API finds and lists all protected objects that have the specified access controllist attached.

Syntaxunsigned long ivadmin_protobj_listbyacl(ivadmin_context ctx,const char *aclid,unsigned long *count,char ***objids,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

aclid The name of the access control list.

Output

count The number of protected objects returned.

objids An array of pointers to the protected objects returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Finds and lists all protected objects that have the specified access control listattached.

Command-line equivalent:pdadmin acl find ACL_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_listbyauthzrule()This API finds and lists all protected objects that have the specified authorizationrule attached.

Syntaxunsigned long ivadmin_protobj_listbyauthzrule(ivadmin_context ctx,const char *authzruleid,

Chapter 12. Administration C API reference 219

Page 236: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

unsigned long *count,char ***objids,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

authzruleidThe name of the authorization rule.

Output

count The number of protected objects returned.

objids An array of pointers to protected objects returned. You must free theprotected objects referenced by each pointer and also the array of pointerswhen they are no longer needed.

rsp The response object. Indicates the success or failure of the function andmight contain informational, warning, or error information. Free this objectwhen it is no longer needed.

Description

Finds and lists all protected objects that have the specified authorization ruleattached. Free each protected object name pointer and the array of pointers whenno longer needed.

Command-line equivalent:pdadmin authzrule find rule_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_multiaccess()This API determines whether the user authenticated in the specified securitycontext has the specified accesses to the specified objects.

Syntaxunsigned long ivadmin_protobj_multiaccess(ivadmin_context ctx,char *objids[],char *permission_strs[],azn_attrlist_h_t*app_contexts[],ivadmin_accessOutdata *outdata[],int countivadmin_response *rsp);

220 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 237: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server.

objids The names of the protected objects.

permission_strsThe permission strings that describe the accesses requested. See theinformation about using access control policies in the IBM Security AccessManager for Web: Administration Guide.

app_contextsThe application contexts. See the description of theazn_decision_access_allowed_ext() function in the IBM Security AccessManager for Web: Authorization C API Developer Reference for informationabout application contexts.

count The number of objects to which access is being requested.

Output

outdataAn array of pointers to ivadmin_accessOutdata objects. These objects arepopulated with output data for each object access request. See "Enablingthe return of permission information" in the IBM Security Access Managerfor Web: Authorization C API Developer Reference for information about thedata contained within these objects. Free each element and the array ofpointers when they are no longer needed.

rsp The response object. Indicates the success or failure of the function. Theresponse object for the entire operation might indicate success even thoughone or more individual requests might fail. The output might be empty orcontains more than one error, informational, and warning messages. Freethis object when it is no longer needed.

Description

Provided a group of objects and a group of requested accesses, returns whether theuser specified in the input context is permitted the specified accesses on eachobject. Use the ivadmin_protobj_access() function to manipulate a single object.

An array of ivadmin_accessOutdata objects is returned, each of which containsinformation for one access request. The following information is returned in eachobject:

access resultEither AZN_C_PERMITTED or AZN_C_NOT_PERMITTED. Use theivadmin_accessOutdata_getAccessResult() function to extract this data.

response informationAn ivadmin_response object that indicates the success or failure of theoperation. Use the ivadmin_accessOutdata_getResponseInfo() function toextract the response object.

permission informationAn azn_attrlist_h_t structure that contains supplemental permissioninformation. Use the ivadmin_accessOutdata_getPermInfo() function toextract the permission information.

Chapter 12. Administration C API reference 221

Page 238: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

See the IBM Security Access Manager for Web: Authorization C API DeveloperReference for more information about permissions and theazn_attrlist_h_t structure.

Command-line equivalent:pdadmin object access object_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_setdesc()This API creates or changes the description of the specified protected object.

Syntaxunsigned long ivadmin_protobj_setdesc(ivadmin_context ctx,const char *objid,const char *description,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object for which a new description is set.

descriptionThe new description for the protected object.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the description of the specified protected object.

Command-line equivalent:pdadmin object modify object_name description new_description

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

222 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 239: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_setpolicyattachable()This API enables or disables the isPolicyAttachable attribute of the specifiedprotected object.

Syntaxunsigned long ivadmin_protobj_setpolicyattachable(ivadmin_context ctx,const char *objid,unsigned long flag,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object.

flag The flag that contains the value of the isPolicyAttachable attribute.Supported values are IVADMIN_TRUE or 1 and IVADMIN_FALSE or 0.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Enables or disables the isPolicyAttachable attribute of the specified protectedobject. The isPolicyAttachable attribute of a protected object indicates whether aprotected object policy can be attached to that protected object.

The initial value of this attribute is yes.

Command-line equivalent:pdadmin object modify object_name isPolicyAttachable {yes | no}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_protobj_settype()This API sets the type field of the specified protected object.

Chapter 12. Administration C API reference 223

Page 240: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_protobj_settype(ivadmin_context ctx,const char *objid,unsigned long type,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

objid The name of the protected object.

type The new type for the object.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the type field of the specified protected object.

Command-line equivalent:pdadmin object modify object_name type new_type

Table 33 on page 168 lists the supported object types.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_response_getcode()This API returns the message code.

Syntaxunsigned long ivadmin_response_getcode(ivadmin_response rsp,unsigned long index);

Parameters

Input

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

index The zero-based index of the message code requested.

224 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 241: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the error or warning code that is associated with the message.

Return values

Returns the error or warning code that is associated with the message.

ivadmin_response_getcount()This API returns the number of messages in the response object.

Syntaxunsigned long ivadmin_response_getcount(ivadmin_response rsp);

Parameters

Input

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the number of messages in the response object.

Return values

Returns the number of messages in the response object.

ivadmin_response_getmessage()This API returns the message text from the specified index location in the responseobject.

Syntaxconst char* ivadmin_response_getmessage(ivadmin_response rsp,unsigned long index);

Parameters

Input

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

index The zero-based index of message text requested.

Description

Returns the message text from the specified index location in the response object.

Do not free this object. This data is maintained in the response structure.

Chapter 12. Administration C API reference 225

Page 242: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the message text from the specified index location in the response object.

ivadmin_response_getmodifier()This API returns the message modifier from the specified index location in theresponse object.

Syntaxunsigned long ivadmin_response_getmodifier(ivadmin_response rsp,unsigned long index);

Parameters

Input

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

index The zero-based index of the message modifier requested.

Description

Returns the message modifier from the specified index location in the responseobject. The modifier can be an error, a warning, or information. The followingvalues are defined:#define IVADMIN_RESPONSE_INFO 0#define IVADMIN_RESPONSE_WARNING 1#define IVADMIN_RESPONSE_ERROR 2

Return values

Returns the message modifier from the specified index location in the responseobject.

ivadmin_response_getok()This API returns an indicator of the success of the operation.

Syntaxunsigned long ivadmin_response_getok(ivadmin_response rsp);

Parameters

Input

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns an indicator of the success of the operation.

226 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 243: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_server_gettasklist()This API Returns the list of tasks from the server.

Syntaxunsigned long ivadmin_server_gettasklist(ivadmin_context ctx,const char *server,azn_attrlist_h_t *indata,unsigned long *taskcount,char ***tasks,azn_attrlist_h_t *outdata,unsigned long *resultcount,char ***results,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

server The name of the server to notify of a database update. This parameter isoptional. If NULL is specified, all servers configured to receive databaseupdate notifications are notified.

indata The pass through data that allows additional information to becommunicated to the server. If NULL is specified, it is ignored. Fornon-null inputs, a valid address for an azn_attrlist_h_t structure isexpected. It is also assumed that the caller created this azn_attrlist_h_tstructure with the azn_attrlist_create() function. When this data is nolonger required, free the associated memory with theazn_attrlist_delete() function.

Output

taskcountThe number of task strings returned.

tasks An array of pointers to the list of tasks currently supported by this server.The task strings are typically in the supported command-line interface(CLI) syntax. You must free the character data referenced by each pointerand also the array of pointers when they are no longer needed.

outdataThe pass through data that allows the server to communicate additionalinformation to the caller. When the data is no longer required, free theassociated memory by with the azn_attrlist_delete() function.

resultcountThe number of result strings returned.

Chapter 12. Administration C API reference 227

Page 244: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

resultsAn array of pointers to the result strings returned. The result strings arethe message strings returned by the task. These strings are typically outputon a command-line interface (CLI) or log output and contain informationabout the success or failure of the task. You must free the character datareferenced by each pointer and also the array of pointers when they are nolonger needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the list of tasks from the server. If no tasks are supported, or an erroroccurs, NULL is returned.

Command-line equivalent:pdadmin server listtasks server_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_server_performtask()This API sends a command to an authorization server.

Syntaxunsigned long ivadmin_server_performtask(ivadmin_context ctx,const char *server,const char *task,azn_attrlist_h_t *indata,azn_attrlist_h_t *outdata,unsigned long *resultcount,char ***results,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

server The name of server to notify of database update. This parameter isoptional. If NULL is specified, all servers configured to receive databaseupdate notifications is notified.

task The task to do.

indata The pass through data that allows additional information to becommunicated to the server. If NULL is specified, it is ignored. For non-nullinputs, a valid address for an azn_attrlist_h_t structure is expected. It isalso assumed that the caller created the azn_attrlist_h_t structure with

228 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 245: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

the azn_attrlist_create() function. When this data is no longer required,free the associated memory by with the azn_attrlist_delete() function.

Output

outdataThe pass through data that allows the server to communicate additionalinformation to the caller. When the data is no longer required, free theassociated memory by with the azn_attrlist_delete() function.

resultcountThe number of result strings returned.

resultsAn array of pointers to the result strings returned. The result strings arethe message strings returned by the task. These strings are typically outputon a command-line interface (CLI) or log output and contain informationabout the success or failure of the task. You must free the character datareferenced by each pointer and also the array of pointers when they are nolonger needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sends a command to the authorization server.

Command-line equivalent:pdadmin server task server_name task_to_perform

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_server_replicate()This API notifies the authorization servers to receive database updates.

Syntaxunsigned long ivadmin_server_replicate(ivadmin_context ctx,const char *server,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Chapter 12. Administration C API reference 229

Page 246: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

server The name of the server to notify of a database update. This parameter isoptional. If NULL is specified, all servers configured to receive databaseupdate notifications are notified.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Notifies the authorization servers to receive database updates. If a server name isspecified, but is not configured to receive database updates, an error message isdisplayed. If no server name is specified, the process of notifying all configuredservers is initiated, but error messages are not displayed for individual servers.The caller must have the authority to do server administration tasks on the policyserver. (The azn_operation_server_admin permission is required on the policyserver object.)

Command-line equivalent:pdadmin server replicate [server-name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. If a server is specified, this value indicates the successfulnotification and database replication by that server. If no server isspecified, this value indicates that the policy server began to notify eachauthorization server. In this case, a return code of IVADMIN_TRUE is not anindication of successful notification or replication for any one of theservers.

IVADMIN_FALSEDefined as 0. If a server is specified, this value indicates the failure of thenotification and database replication by that server. If no server isspecified, this value indicates that a failure occurred in requesting that thepolicy server notifies each authorization server.

ivadmin_ssocred_create()This API creates a single sign-on credential.

Syntaxunsigned long ivadmin_ssocred_create(ivadmin_context ctx,const char *ssoid,unsigned long ssotype,const char *userid,const char *ssouserid,const char *ssopassword,ivadmin_response *rsp);

Parameters

Input

230 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 247: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ctx The context to use when communicating with the policy server.

ssoid Single sign-on resource name with which the single sign-on credential isassociated. This resource must exist.

ssotypeSingle sign-on resource type. The following types are defined:v IVADMIN_SSOCRED_SSOWEBv IVADMIN_SSOCRED_SSOGROUP

userid The user ID that is associated with the single sign-on credential.

ssouseridThe user name that this user uses to access the specified resource.

ssopasswordThe password that this user uses to access the specified resource.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates a single sign-on credential.

Command-line equivalent:pdadmin rsrccred create resource_name rsrcuser resource_userid rsrcpwd \resource_password rsrctype {web | group} user user_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssocred_delete()This API deletes a single sign-on credential.

Syntaxunsigned long ivadmin_ssocred_delete(ivadmin_context ctx,const char *ssoid,unsigned long ssotype,const char *userid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Chapter 12. Administration C API reference 231

Page 248: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ssoid Single sign-on resource name with which the single sign-on credential isassociated.

ssotypeSingle sign-on resource type. The following types are defined:v IVADMIN_SSOCRED_SSOWEB

v IVADMIN_SSOCRED_SSOGROUP

useridThe user ID that is associated with the single sign-on credential.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes a single sign-on credential.

Command-line equivalent:pdadmin rsrccred delete resource_name rsrctype {web | group} user user_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssocred_get()This API returns the specified single sign-on credential.

Syntaxunsigned long ivadmin_ssocred_get(ivadmin_context ctx,const char *ssoid,unsigned long ssotype,const char *userid,ivadmin_ssocred *ssocred,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ssoid Single sign-on resource name with which the single sign-on credential isassociated.

ssotypeSingle sign-on resource type. The following types are defined:v IVADMIN_SSOCRED_SSOWEB

v IVADMIN_SSOCRED_SSOGROUP

232 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 249: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

userid The user name that is associated with the single sign-on credential.

Output

ssocredThe returned single sign-on credential. Free this credential when it is nolonger needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the specified single sign-on credential.

Specify the single sign-on credential type when using this function. The followingsingle sign-on credential types are defined:#define IVADMIN_SSOCRED_SSOWEB0#define IVADMIN_SSOCRED_SSOGROUP1

Command-line equivalent:pdadmin rsrccred show resource_name rsrctype {web | group} user user_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssocred_getid()This API returns the name of the single sign-on resource that is associated withthis credential.

Syntaxconst char* ivadmin_ssocred_getid(ivadmin_ssocred ssocred);

Parameters

Input

ssocredA pointer to the single sign-on credential.

Description

Returns the name of the single sign-on resource that is associated with thiscredential. You must call ivadmin_ssocred_get() to obtain anivadmin_ssocredobject before calling this function.

Do not free this name. This data is maintained in the single sign-on credentialstructure (ivadmin_ssocred).

Chapter 12. Administration C API reference 233

Page 250: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Command-line equivalent:pdadmin rsrccred show resource_name rsrctype {web | group} user user_name

The credential identifier is part of the information returned by the pdadmincommand.

Return values

Returns the name of the single sign-on resource that is associated with thiscredential.

User registry difference: The maximum length of the name varies depending onthe user registry that is used. See Appendix B, “User registry differences,” on page293 to determine the maximum length in your environment.

ivadmin_ssocred_getssopassword()This API returns the password that is associated with the single sign-on credential.

Syntaxconst char* ivadmin_ssocred_getssopassword(ivadmin_ssocred ssocred);

Parameters

Input

ssocredA pointer to the single sign-on credential.

Description

Returns the password that is associated with the single sign-on credential. Youmust call ivadmin_ssocred_get() to obtain an ivadmin_ssocred object beforecalling this function.

Do not free this password. This data is maintained in the single sign-on credentialstructure (ivadmin_ssocred).

Return values

Returns the password that is associated with the single sign-on credential. There isno limit to the length of the password.

ivadmin_ssocred_getssouser()This API returns the name of the user that is associated with the specified singlesign-on credential.

Syntaxconst char* ivadmin_ssocred_getssouser(ivadmin_ssocred ssocred);

234 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 251: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ssocredA pointer to the single sign-on credential.

Description

Returns the name of the user that is associated with the specified single sign-oncredential. You must call ivadmin_ssocred_get() to obtain an ivadmin_ssocredobject before calling this function.

Do not free this name. This data is maintained in the single sign-on credentialstructure (ivadmin_ssocred).

Return values

Returns the name of the user that is associated with the specified single sign-oncredential.

User registry difference: The maximum length of the name varies depending onthe user registry that is used. See Appendix B, “User registry differences,” on page293 to determine the maximum length in your environment.

ivadmin_ssocred_gettype()This API returns the type of the single sign-on resource that is associated with thespecified single sign-on credential.

Syntaxunsigned long ivadmin_ssocred_gettype(ivadmin_ssocred ssocred);

Parameters

Input

ssocredA pointer to the single sign-on credential.

Description

Returns the type of the single sign-on resource that is associated with the specifiedsingle sign-on credential. You must call ivadmin_ssocred_get() to obtain anivadmin_ssocred object before calling this function.

The defined types are:#define IVADMIN_SSOCRED_SSOWEB 0#define IVADMIN_SSOCRED_SSOGROUP 1

Do not free the resource credential type (integer) when it is no longer needed. Thisdata is maintained in the ivadmin_ssocred object.

Command-line equivalent:pdadmin rsrccred show resource_name rsrctype {web | group} user user_name

Chapter 12. Administration C API reference 235

Page 252: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

The credential type is part of the information returned by the pdadmin command.

Return values

Returns the type of the single sign-on resource that is associated with the specifiedsingle sign-on credential.

ivadmin_ssocred_getuser()This API returns the name of the user that is associated with the single sign-oncredential.

Syntaxconst char* ivadmin_ssocred_getuser(ivadmin_ssocred ssocred);

Parameters

Input

ssocredA pointer to the single sign-on credential.

Description

Returns the name of the user that is associated with the single sign-on credential.You must call ivadmin_ssocred_get() to obtain an ivadmin_ssocred object beforecalling this function.

Do not free this name. This data is maintained in the single sign-on credentialstructure (ivadmin_ssocred).

Command-line equivalent:pdadmin rsrccred show resource_name rsrctype {web | group} user user_name

The user name is part of the information returned by the pdadmin command.

Return values

Returns the name of the user that is associated with the single sign-on credential.

User registry difference: The maximum length of the name varies depending onthe user registry that is used. See Appendix B, “User registry differences,” on page293 to determine the maximum length in your environment.

ivadmin_ssocred_list()This API lists the single sign-on credentials for the specified user.

Syntaxunsigned long ivadmin_ssocred_list(ivadmin_context ctx,const char *userid,

236 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 253: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

unsigned long *count,ivadmin_ssocred **ssocreds,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

useridThe user ID of the user for whom the single sign-on credentials areretrieved.

Output

count The number of single sign-on credentials returned.

ssocredsAn array of pointers to single sign-on credentials. You must free the datareferenced by each pointer and also the array of pointers when they are nolonger needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists the single sign-on credentials for the specified user.

Command-line equivalent:pdadmin rsrccred list user user_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssocred_set()This API creates or changes a single sign-on credential.

Syntaxunsigned long ivadmin_ssocred_set(ivadmin_context ctx,const char *ssoid,unsigned long ssotype,const char *userid,const char *ssouserid,const char *ssopassword,ivadmin_response *rsp);

Chapter 12. Administration C API reference 237

Page 254: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server.

ssoid The single sign-on resource name with which the single sign-on credentialis associated.

ssotypeThe single sign-on resource type. The following types are defined:v IVADMIN_SSOCRED_SSOWEBv IVADMIN_SSOCRED_SSOGROUP

userid The user name associated with the single sign-on credential.

ssouseridThe user name that the user (as specified by the input parameter userid)uses to access the specified resource.

ssopasswordThe password that this user uses to access the specified resource.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes a single sign-on credential.

Command-line equivalent:pdadmin rsrccred modify resource_name rsrctype {web | group} set \[-rsrcuser resource_userid] [-rsrcpwd resource_password] user user_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssogroup_addres()This API adds a single sign-on resource to a single sign-on resource group.

Syntaxunsigned long ivadmin_ssogroup_addres(ivadmin_context ctx,const char *ssogroupid,const char *ssoid,ivadmin_response *rsp);

Parameters

Input

238 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 255: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ctx The context to use when communicating with the policy server.

ssogroupidSingle sign-on resource group name.

ssoid The new member single sign-on resource name.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Adds a single sign-on resource to a single sign-on resource group. Security AccessManager does not support a resource group as a resource group member.

Command-line equivalent:pdadmin rsrcgroup modify resource_group_name add rsrcname resource_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssogroup_create()This API creates a single sign-on group resource.

Syntaxunsigned long ivadmin_ssogroup_create(ivadmin_context ctx,const char *ssogroupid,const char *description,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ssogroupidThe single sign-on group resource name.

descriptionThe description of the single sign-on group resource.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Chapter 12. Administration C API reference 239

Page 256: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Creates a single sign-on group resource.

Command-line equivalent:pdadmin rsrcgroup create resource_group_name [-desc description]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssogroup_delete()This API deletes a single sign-on group resource.

Syntaxunsigned long ivadmin_ssogroup_delete(ivadmin_context ctx,const char *ssogroupid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ssogroupidThe single sign-on group resource name.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes a single sign-on group resource.

Command-line equivalent:pdadmin rsrcgroup delete resource_group_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

240 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 257: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_ssogroup_get()This API returns the specified single sign-on group resource.

Syntaxunsigned long ivadmin_ssogroup_get(ivadmin_context ctx,const char *ssogroupid,ivadmin_ssogroup *ssogroup,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ssogroupidSingle sign-on group resource name.

Output

ssogroupThe returned single sign-on group resource. Free the memory that containsthe returned single sign-on group resource when it is no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the specified single sign-on group resource. The ivadmin_ssogroup objectcontains the resource group name, the resource group description, and a list of thenames of the resource group members. The resource group members are theindividual web resources (servers).

Command-line equivalent:pdadmin rsrcgroup show resource_group_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssogroup_getdescription()This API returns the description of the single sign-on group resource.

Syntaxconst char* ivadmin_ssogroup_getdescription(ivadmin_ssogroup ssogroup);

Chapter 12. Administration C API reference 241

Page 258: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ssogroupA pointer to the single sign-on group resource.

Description

Returns the description of the single sign-on group resource. You must callivadmin_ssogroup_get() to obtain an ivadmin_ssogroup object before calling thisfunction.

Do not free this description. This data is maintained in the single sign-on groupresource structure.

Command-line equivalent:pdadmin rsrcgroup show resource_group_name

The description is part of the information returned by the pdadmin command.

Return values

Returns the description of the single sign-on group resource. The maximum lengthof the description is 1024 characters.

ivadmin_ssogroup_getid()This API returns the name of the single sign-on group resource.

Syntaxconst char* ivadmin_ssogroup_getid(ivadmin_ssogroup ssogroup);

Parameters

Input

ssogroupA pointer to the single sign-on group resource.

Description

Returns the name of the single sign-on group resource. You must callivadmin_ssogroup_get() to obtain an ivadmin_ssogroup object before calling thisfunction.

Do not free this name. This data is maintained in the single sign-on group resourcestructure.

Command-line equivalent:pdadmin rsrcgroup show resource_group_name

The name is part of the information returned by the pdadmin command.

242 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 259: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the name of the single sign-on group resource.

User registry difference: The maximum length of the name varies depending onthe user registry that is used. See Appendix B, “User registry differences,” on page293 to determine the maximum length in your environment.

ivadmin_ssogroup_getresources()This API returns the member single sign-on resource names for the specified singlesign-on group.

Syntaxunsigned long ivadmin_ssogroup_getresources(ivadmin_ssogroup ssogroup,unsigned long *count,char ***ssoids);

Parameters

Input

ssogroupA pointer to the single sign-on group resource.

Output

count The number of single sign-on resource names returned.

ssoids An array of pointers to the single sign-on resource names returned. Youmust free the character data referenced by each pointer as well as the arrayof pointers when they are no longer needed.

Description

Returns the member single sign-on resource names.

Command-line equivalent:pdadmin rsrcgroup show resource_group_name

The resource name is part of the information returned by the pdadmin command.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssogroup_list()This API lists all the single sign-on group resource names.

Chapter 12. Administration C API reference 243

Page 260: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_ssogroup_list(ivadmin_context ctx,unsigned long *count,char ***ssogroupids,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

count The number of single sign-on group resource names returned.

ssogroupidsAn array of pointers to the single sign-on group resource names returned.You must free the character data referenced by each pointer and also thearray of pointers when they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists all the single sign-on group resource names.

Command-line equivalent:pdadmin rsrcgroup list

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssogroup_removeres()This API removes a single sign-on resource from the specified single sign-onresource group.

Syntaxunsigned long ivadmin_ssogroup_removeres(ivadmin_context ctx,const char *ssogroupid,const char *ssoid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

244 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 261: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ssogroupidThe single sign-on resource group name.

ssoid The member single sign-on resource name to remove.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Removes a single sign-on resource from the specified single sign-on resourcegroup.

Command-line equivalent:pdadmin rsrcgroup modify resource_group_name remove rsrcname resource_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssoweb_create()This API creates a single sign-on web resource.

Syntaxunsigned long ivadmin_ssoweb_create(ivadmin_context ctx,const char *ssowebid,const char *description,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ssowebidThe single sign-on web resource name.

descriptionThe description of the single sign-on web resource.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Chapter 12. Administration C API reference 245

Page 262: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Creates a single sign-on web resource. The name of the web server does not needto match the junction. You can use this function call before joining the web serverto the Security Access Manager WebSEAL server.

Command-line equivalent:pdadmin rsrc create resource_name [-desc description]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssoweb_delete()This API deletes the specified single sign-on web resource.

Syntaxunsigned long ivadmin_ssoweb_delete(ivadmin_context ctx,const char *ssowebid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ssowebidThe name of the single sign-on web resource to delete.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the specified single sign-on web resource.

Command-line equivalent:pdadmin rsrc delete resource_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

246 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 263: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_ssoweb_get()This API returns the specified single sign-on web resource.

Syntaxunsigned long ivadmin_ssoweb_get(ivadmin_context ctx,const char *ssowebid,ivadmin_ssoweb *ssoweb,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

ssowebidThe name of the single sign-on web resource.

Output

ssowebThe returned single sign-on web resource. Free the memory for the singlesign-on web resource (ivadmin_ssoweb) when it is no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the specified single sign-on web resource.

Command-line equivalent:pdadmin rsrc show resource_name

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_ssoweb_getdescription()This API returns the description of the specified single sign-on web resource.

Syntaxconst char* ivadmin_ssoweb_getdescription(ivadmin_ssoweb ssoweb);

Parameters

Input

Chapter 12. Administration C API reference 247

Page 264: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ssowebA pointer to the single sign-on web resource.

Description

Returns the description of the specified single sign-on web resource. You must callivadmin_ssoweb_get() to obtain an ivadmin_ssoweb object before calling thisfunction.

Do not free this description. This data is maintained in the single sign-on webresource structure (ivadmin_ssoweb).

Command-line equivalent:pdadmin rsrc show resource_name

The description is part of the information returned by the pdadmin command.

Return values

Returns the description of the specified single sign-on web resource. The maximumlength of the description is 1024 characters.

ivadmin_ssoweb_getid()This API returns the name (identifier) of the specified single sign-on web resource.

Syntaxconst char* ivadmin_ssoweb_getid(ivadmin_ssoweb ssoweb);

Parameters

Input

ssowebA pointer to the single sign-on web resource.

Description

Returns the name (identifier) of the specified single sign-on web resource. Youmust call ivadmin_ssoweb_get() to obtain an ivadmin_ssoweb object before callingthis function.

Do not free this name. This data is maintained in the single sign-on web resourcestructure (ivadmin_ssoweb).

User registry difference: The maximum length of the name varies depending onthe user registry that is used. See Appendix B, “User registry differences,” on page293 to determine the maximum length in your environment.

Command-line equivalent:pdadmin rsrc show resource_name

The name is part of the information returned by the pdadmin command.

248 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 265: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the name (identifier) of the specified single sign-on web resource.

ivadmin_ssoweb_list()This API lists all the single sign-on web resource names.

Syntaxunsigned long ivadmin_ssoweb_list(ivadmin_context ctx,unsigned long *count,char ***ssowebids,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

Output

count The number of single sign-on web resource names returned.

ssowebidsAn array of pointers to the single sign-on web resource names returned.You must free the character data referenced by each pointer and also thearray of pointers when they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists all the single sign-on web resource names.

Command-line equivalent:pdadmin rsrc list

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_create3()This API creates a user in the user registry that is used by the Security AccessManager policy server and initially associates that user with one or more groups.

Chapter 12. Administration C API reference 249

Page 266: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_user_create3(ivadmin_context ctx,const char *userid,const char *dn,const char *cn,const char *sn,const char *pwd,unsigned long group_count,const char **groups,unsigned long ssouser,unsigned long nopwdpolicy,ivadmin_response rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid Security Access Manager user name.

dn The user registry distinguished name.

cn The user registry attribute common name.

sn The user registry attribute surname.

pwd The user registry attribute password.

group_countThe number of groups to which the user initially belongs.

groupsThe initial user registry groups to which the user belongs. Specify NULL toindicate no initial group membership.

ssouserThe user can have single sign-on credentials.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

nopwdpolicyPassword policy is not enforced during creation. This setting has no effecton password policy enforcement after user creation.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates a user in the user registry. This user is used by the Security AccessManager policy server and initially associates that user with one or more groups.Accounts are created as not valid by default. Use ivadmin_user_setaccountvalid()to enable the account.

Groups created in the Active Directory Lightweight Directory Service (AD LDS)user registry must be created in the same AD LDS partition where the SecurityAccess Manager Management Domain information is stored.

250 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 267: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

User registry difference: Leading and trailing blanks in a user name do not makethe name unique when using an LDAP or Active Directory user registry. To keepname processing consistent regardless of what user registry is being used, do notdefine user names with leading or trailing blanks.

Command-line equivalent:pdadmin user create [-gsouser] [-no-password-policy] user_name dn cn sn \pwd group

pdadmin user create [-gsouser] [-no-password-policy] user_name dn cn sn \pwd (group_1 group_2 ... group_n)

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_delete2()This API deletes the Security Access Manager user and optionally deletes the userfrom the user registry.

Syntaxunsigned long ivadmin_user_delete2(ivadmin_context ctxconst char *userid,unsigned long registryivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The Security Access Manager user name.

registrySpecifies whether to delete just the Security Access Manager user(IVADMIN_FALSE) or to delete the user name and information deleted fromSecurity Access Manager and the user registry (IVADMIN_TRUE).

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Deletes the Security Access Manager user and optionally deletes the user from theuser registry. If registry is IVADMIN_FALSE, the user is deleted only from Security

Chapter 12. Administration C API reference 251

Page 268: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Access Manager, but the information about this user remains in the user registry. Ifregistry is IVADMIN_TRUE, the user is deleted from Security Access Manager and theuser registry.

Command-line equivalent:pdadmin user delete [-registry] user_name

The –registry option of the user delete command causes the entire user object tobe deleted from the user registry.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_get()This API returns the user object for the specified user.

Syntaxunsigned long ivadmin_user_get(ivadmin_context ctx,const char *userid,ivadmin_ldapuser *user,ivadmin_response rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The Security Access Manager user name.

Output

user The Security Access Manager user object returned. Free this memory whenit is no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the user object for the specified user.

Free the memory used by the ivadmin_ldapuser object when it is no longerneeded.

Command-line equivalent:pdadmin user show user_name

252 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 269: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getaccexpdate()This API returns the account expiration date for the specified user.

Syntaxunsigned long ivadmin_user_getaccexpdate(ivadmin_context ctx,const char *userid,unsigned long *seconds,unsigned long *unlimited,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

secondsThe returned date and time of the expiration of the specified user account.This value is the number of seconds since 00:00:00 Universal time,1 January 1970 (same as time_t).

unlimitedThe account-expiration-not-restricted indicator to return

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the account expiration date for the specified user.

Command-line equivalent:pdadmin policy get account-expiry-date [-user user_name]

Return values

Returns the following values:

Chapter 12. Administration C API reference 253

Page 270: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getaccountvalid()This API returns the account-valid indicator from the specified user object.

Syntaxunsigned long ivadmin_user_getaccountvalid(ivadmin_ldapuser user);

Parameters

Input

user A pointer to the user structure.

Description

Returns the account-valid indicator from the specified user object.

Command-line equivalent:pdadmin user show user_name

The account-valid status is part of the information returned by the pdadmincommand.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getbydn()This API returns the Security Access Manager user object with the user registrydistinguished name.

Syntaxunsigned long ivadmin_user_getbydn(ivadmin_context ctx,const char *dn,ivadmin_ldapuser *user,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

254 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 271: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

dn The user registry distinguished name of the user.

Output

user The Security Access Manager user object returned. Free the memory forthis object when it is no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the Security Access Manager user object with the user registrydistinguished name.

User registry difference: The maximum length of the distinguished name variesdepending on the user registry that is used. See Appendix B, “User registrydifferences,” on page 293 to determine the maximum length in your environment.

Command-line equivalent:pdadmin user show-dn dn

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getcn()This API returns the user registry common name attribute from the specified userobject.

Syntaxconst char* ivadmin_user_getcn(ivadmin_ldapuser user);

Parameters

Input

user A pointer to the user structure.

Description

Returns the user registry common name attribute from the specified user object.

Do not free the character string that is returned. This data is maintained in theivadmin_ldapuser object.

Command-line equivalent:pdadmin user show user_name

Chapter 12. Administration C API reference 255

Page 272: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

The user registry common name for the user is part of the information returned bythe pdadmin command.

Return values

Returns the user registry common name attribute from the specified user object.

User registry difference: The maximum length of the common name variesdepending on the user registry that is used. See Appendix B, “User registrydifferences,” on page 293 to determine the maximum length in your environment.

ivadmin_user_getdescription()This API returns the user description from the specified user object.

Syntaxconst char* ivadmin_user_getdescription(ivadmin_ldapuser user);

Parameters

Input

user A pointer to the user structure.

Description

Returns the user description from the specified user object.

Do not free the character string that is returned. This data is maintained in theivadmin_ldapuser object.

Command-line equivalent:pdadmin user show user_name

The user description is part of the information returned by the pdadmin command.

Return values

Returns the user description from the specified user object. The maximum lengthof the description is 1024 characters.

ivadmin_user_getdisabletimeint()This API returns the amount of time to disable the specified user account if themaximum number of login failures is exceeded.

Syntaxunsigned long ivadmin_user_getdisabletimeint(ivadmin_context ctx,const char *userid,unsigned long *seconds,unsigned long *disable,unsigned long *unset,ivadmin_response *rsp);

256 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 273: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

Output

secondsThe specified number of seconds that the user account is disabled if themaximum number of login failures is exceeded.

disableThe user account to disable when the maximum number of login failures isexceeded. An administrator action is required to enable the account.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the amount of time to disable each user account if the maximum numberof login failures is exceeded.

Command-line equivalent:pdadmin policy get disable-time-interval [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getdn()This API returns the user registry distinguished name from the specified userobject.

Syntaxconst char* ivadmin_user_getdn(ivadmin_ldapuser user);

Parameters

Input

user A pointer to the user structure.

Chapter 12. Administration C API reference 257

Page 274: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the user registry distinguished name from the specified user object.

Do not free the character string that is returned. This data is maintained in theivadmin_ldapuser object.

Command-line equivalent:pdadmin user show user_name

The user registry distinguished name for the user is part of the informationreturned by the pdadmin command.

Return values

Returns the user registry distinguished name from the specified user object.

User registry difference: The maximum length of the distinguished name variesdepending on the user registry that is used. See Appendix B, “User registrydifferences,” on page 293 to determine the maximum length in your environment.

ivadmin_user_getid()This API returns the user name from the specified user object.

Syntaxconst char* ivadmin_user_getid(ivadmin_ldapuser user);

Parameters

Input

user A pointer to the user structure.

Description

Returns the user name from the specified user object.

Do not free the character string that is returned. This data is maintained in theivadmin_ldapuser object.

Command-line equivalent:pdadmin user show user_name

The user name (login identifier) is part of the information returned by the pdadmincommand.

Return values

Returns the user name from the specified user object. The maximum length of thename is 256 characters.

258 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 275: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_user_getlastlogin()This API returns the last login time of a specific user account.

Syntaxunsigned long ivadmin_user_getlastlogin(ivadmin_ldapuser user);

Parameters

Input

ivadmin_ldapuser userThe user account name

Description

When the pdadmin command user show is run, it displays an additional line ofinformation that contains the Last login and Last password change time. The localtime of the computer on which pdadmin was run is displayed.

Return values

The following values are returned:v 0 is returned if user is NULLv A long integer value that indicates the date and time that the user last logged in

ivadmin_user_getmaxconcurwebsess()This API returns the maximum number of concurrent web sessions that areallowed for the specified user account.

Syntaxunsigned long ivadmin_user_getmaxconcurwebsess(ivadmin_context ctx,const char *userid,unsigned long *sessions,unsigned long *displace,unsigned long *unlimited,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

sessionsThe maximum number of concurrent web sessions that are allowed. Ifnonzero, the parameters unset, displace, and unlimited are set to false. Avalue of zero is not permitted.

displaceThe policy is set to displace if set to true. If set to false, the policy is set asspecified. Only one of the following parameters can be set to true:displace, unlimited, or unset

Chapter 12. Administration C API reference 259

Page 276: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unlimitedThe policy is set to unlimited if set to true. If set to false, the policy is setas specified. Only one of the following parameters can be set to true:displace, unlimited, or unset

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified. Only one of the following parameters can be setto true: displace, unlimited, or unset

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the value of the maximum number of concurrent web sessions for eachuser account.

This policy applies only to certain components of Security Access Manager. A websession is a user session that is maintained by these Security Access Manager systems:Security Access Manager WebSEAL and Security Access Manager Plug-ins for WebServers.

Command-line equivalent:pdadmin policy get max-concurrent-web-sessions [user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The context has a delegated credential.

IVADMIN_FALSEDefined as 0. The context does not have a delegated credential.

ivadmin_user_getmaxlgnfails()This API returns the maximum number of login failures that are allowed for thespecified user account.

Syntaxunsigned long ivadmin_user_getmaxlgnfails(ivadmin_context ctx,const char *userid,unsigned long *failures,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

260 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 277: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ctx The context to use when communicating with the policy server.

userid The user name.

Output

failuresThe maximum number of login failures allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the maximum number of login failures that are allowed for the specifieduser account.

Command-line equivalent:pdadmin policy get max-login-failures [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getmaxpwdage()This API returns the maximum password age for the specified user account.

Syntaxunsigned long ivadmin_user_getmaxpwdage(ivadmin_context ctx,const char *userid,unsigned long *seconds,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

Output

secondsThe maximum lifetime, in seconds, before expiration of a password. Avalue of zero means the password never expires.

Chapter 12. Administration C API reference 261

Page 278: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the maximum password age for the specified user account.

Command-line equivalent:pdadmin policy get max-password-age [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getmaxpwdrepchars()This API returns the maximum number of repeated characters that are allowed in apassword for the specified user account.

Syntaxunsigned long ivadmin_user_getmaxpwdrepchars(ivadmin_context ctx,const char *userid,unsigned long *chars,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

Output

chars The maximum number of repeated characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

262 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 279: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the maximum number of repeated characters that are allowed in apassword for the specified user account.

Command-line equivalent:pdadmin policy get max-password-repeated-chars [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getmemberships()This API returns a list of groups in which the specified user is a member.

Syntaxunsigned long ivadmin_user_getmemberships(ivadmin_context ctx,const char *userid,unsigned long *count,char ***groupids,ivadmin_response rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The Security Access Manager user name.

Output

count The number of group names returned.

groupidsAn array of pointers to the group names returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns a list of groups in which the specified user is a member.

Command-line equivalent:pdadmin user show-groups user_name

Chapter 12. Administration C API reference 263

Page 280: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getminpwdalphas()This API returns the minimum number of alphabetic characters that are allowed ina password for the specified user account.

Syntaxunsigned long ivadmin_user_getminpwdalphas(ivadmin_context ctx,const char *userid,unsigned long *chars,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

Output

chars The minimum number of alphabetic characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the minimum number of alphabetic characters that are allowed in apassword for the specified user account.

Command-line equivalent:pdadmin policy get min-password-alphas [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

264 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 281: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_user_getminpwdlen()This API returns the minimum password length that is allowed for the specifieduser account.

Syntaxunsigned long ivadmin_user_getminpwdlen(ivadmin_context ctx,const char *userid,unsigned long *length,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

Output

length The minimum password length allowed to be set.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the minimum password length for the specified user account.

Command-line equivalent:pdadmin policy get min-password-length [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getminpwdnonalphas()This API returns the minimum number of non-alphabetic characters that areallowed in a password for the specified user account.

Syntaxunsigned long ivadmin_user_getminpwdnonalphas(ivadmin_context ctx,const char *userid,

Chapter 12. Administration C API reference 265

Page 282: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

unsigned long *chars,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

Output

chars The minimum number of non-alphabetic characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the minimum number of non-alphabetic characters that are allowed in apassword for the specified user account.

Command-line equivalent:pdadmin policy get min-password-non-alphas [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getpasswordvalid()This API returns the password-valid indicator.

Syntaxunsigned long ivadmin_user_getpasswordvalid(ivadmin_ldapuser user);

Parameters

Input

user A pointer to the user structure.

266 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 283: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns the password valid indicator. Supported values are IVADMIN_TRUE andIVADMIN_FALSE.

Command-line equivalent:pdadmin user show user_name

The password-valid status is part of the information returned by the pdadmincommand.

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. Indicates that the password is valid.

IVADMIN_FALSEDefined as 0. Indicates that the password expired.

ivadmin_user_getpwdspaces()This API returns whether spaces are allowed in passwords for the specified useraccount.

Syntaxunsigned long ivadmin_user_getpwdspaces(ivadmin_context ctx,const char *userid,unsigned long *allowed,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

Output

allowedThe indicator of whether spaces are allowed in passwords.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Chapter 12. Administration C API reference 267

Page 284: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Returns whether spaces are allowed in passwords for the specified user account.

Command-line equivalent:pdadmin policy get password-spaces [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_getsn()This API returns the user registry surname attribute for the specified user.

Syntaxconst char* ivadmin_user_getsn(ivadmin_ldapuser user);

Parameters

Input

user A pointer to the user structure.

Description

Returns the user registry surname attribute for the specified user.

Do not free the character string that is returned. This data is maintained in theivadmin_ldapuser structure.

Command-line equivalent:pdadmin user show user_name

The user registry surname for the user is part of the information returned by thepdadmin command.

Return values

Returns the user registry surname attribute for the specified user.

User registry difference: The maximum length of the surname attribute variesdepending on the user registry that is used. See Appendix B, “User registrydifferences,” on page 293 to determine the maximum length in your environment.

ivadmin_user_getssouser()This API returns a setting that indicates whether the user account has singlesign-on capabilities.

268 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 285: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_user_getssouser(ivadmin_ldapuser user);

Parameters

Input

user A pointer to the user structure.

Description

Returns a setting that indicates whether the user account has single sign-oncapabilities.

Command-line equivalent:pdadmin user show user_name

The single sign-on status for the user is part of the information returned by thepdadmin command.

Return values

Returns one of the following values:

IVADMIN_TRUEDefined as 1. Indicates that the user account is single-sign-on capable.

IVADMIN_FALSEDefined as 0. Indicates that the user account is not single-sign-on capable.

ivadmin_user_gettodaccess()This API returns the time-of-day access policy for the specified user.

Syntaxunsigned long ivadmin_user_gettodaccess(ivadmin_context ctx,const char *userid,unsigned long *days,unsigned long *start,unsigned long *end,unsigned long *reference,unsigned long *unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server

userid The user registry user name.

Output

days A bitmap of the days for the time-of-day access policy.

start The minutes after midnight for the start of the time range.

Chapter 12. Administration C API reference 269

Page 286: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

end The minutes after midnight for the end of the time range.

referenceThe time zone: Universal Time Coordinated (UTC) or local.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns the time-of-day access policy for the specified user.

Command-line equivalent:pdadmin policy get todaccess -user userID

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_import2()This API creates a Security Access Manager user by importing an existing user inthe user registry.

Syntaxunsigned long ivadmin_user_import2(ivadmin_context ctx,const char *userid,const char *dn,const char *groupid,unsigned long ssouser,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

dn The user registry distinguished name.

groupidThe initial user registry group to which the user belongs. This value can beNULL to indicate no initial group membership.

ssouserThe user uses single sign-on credentials.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

270 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 287: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates a Security Access Manager user by importing an existing user in the userregistry.

Accounts are created as not valid by default. You must useivadmin_user_setaccountvalid() to enable the account.

Groups created in the Active Directory Lightweight Directory Service (AD LDS)user registry must be created in the same AD LDS partition where the SecurityAccess Manager Management Domain information is stored.

Command-line equivalent:pdadmin user import [-gsouser] user_name dn

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_list()This API lists the names of the Security Access Manager users that match thespecified pattern.

Syntaxunsigned long ivadmin_user_list(ivadmin_context ctx,const char *pattern,unsigned long maxreturn,unsigned long *count,char ***userids,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

patternThe pattern match for user names. IVADMIN_ALLPATTERN indicates all users.

maxreturnThe maximum number to return. IVADMIN_MAXRETURN indicates unlimited.This number can be limited by the user registry server so that themaximum returned is really the minimum of the server configuration andthis value.

Chapter 12. Administration C API reference 271

Page 288: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Output

count The number of user names returned.

useridsAn array of pointers to the user names returned. You must free thecharacter data referenced by each pointer and also the array of pointerswhen they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Lists the names of the Security Access Manager users in the user registry thatmatch the specified pattern. Returns an array of pointers to character strings thatcontain the user IDs.

The following constants are defined:#define IVADMIN_MAXRETURN 0#define IVADMIN_ALLPATTERN "*"

Command-line equivalent:pdadmin user list pattern max_return

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_listbydn()This API returns a list of user registry distinguished names whose user registrycommon name attribute matches the specified pattern.

Syntaxunsigned long ivadmin_user_listbydn(ivadmin_context ctx,const char *pattern,unsigned long maxreturn,unsigned long *count,char ***dns,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

patternThe pattern match for user registry common name attribute.IVADMIN_ALLPATTERN indicates all users.

272 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 289: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

maxreturnThe maximum number to return. IVADMIN_MAXRETURN indicates unlimited.This number can be limited by the user registry server so that themaximum returned is really the minimum of the server configuration andthis value.

Output

count The number of user registry distinguished names returned.

dns An array of pointers to the user registry distinguished names returned. Youmust free the character data referenced by each pointer and also the arrayof pointers when they are no longer needed.

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Returns a list of user registry distinguished names whose user registry commonname attribute matches the pattern specified. Returns an array of pointers tocharacter strings that contain each user distinguished name.

Command-line equivalent:pdadmin user list-dn pattern max_return

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setaccexpdate()This API sets the account expiration date for the specified user.

Syntaxunsigned long ivadmin_user_setaccexpdate(ivadmin_context ctx,const char *userid,unsigned long seconds,unsigned long unlimited,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

Chapter 12. Administration C API reference 273

Page 290: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

secondsThe date and time of the expiration of specified user account. This value isthe number of seconds since 00:00:00 Universal time, 1 January 1970 (sameas time_t).

unlimitedPrevents a specified user account from expiring and ignores the secondsparameter if set to true.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the account expiration date for the specified user.

Command-line equivalent:pdadmin policy set account-expiry-date {unlimited|absolute_time|unset} \[-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setaccountvalid()This API enables or disables the specified Security Access Manager user account.

Syntaxunsigned long ivadmin_user_setaccountvalid(ivadmin_context ctx,const char *userid,unsigned long valid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

valid A Boolean indicator of account validity.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

274 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 291: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Enables or disables the specified Security Access Manager user account. Use thisfunction to enable an account after it is created with ivadmin_user_create3() orivadmin_user_import().

The initial value of this attribute is yes.

Command-line equivalent:pdadmin user modify user_name account-valid {yes | no}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setdescription()This API creates or changes the user description.

Syntaxunsigned long ivadmin_user_setdescription(ivadmin_context ctx,const char *userid,const char *description,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

descriptionThe new description.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the user description. The description is an arbitrary text string.For example:Xian Arroyo, Credit Dept HCUS

Chapter 12. Administration C API reference 275

Page 292: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Command-line equivalent:pdadmin user modify user_name description description

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setdisabletimeint()This API sets the time, in seconds, to disable the specified user account if themaximum number of login failures is exceeded.

Syntaxunsigned long ivadmin_user_setdisabletimeint(ivadmin_context ctx,const char *userid,unsigned long seconds,unsigned long disable,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

secondsThe specified number of seconds that the user account is disabled if themaximum number of login failures is exceeded.

disableThe user account that is disabled when the maximum number of loginfailures is exceeded. Administrator action is required to enable the account.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the time, in seconds, to disable the specified user account if the maximumnumber of login failures is exceeded.

Command-line equivalent:

276 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 293: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

pdadmin policy set disable-time-interval {number | unset | disable} \[-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setmaxconcurwebsess()This API sets the maximum number of concurrent web sessions that are allowedfor the specified user account.

Syntaxunsigned long ivadmin_user_setmaxconcurwebsess(ivadmin_context ctx,const char *userid,unsigned long sessions,unsigned long displace,unsigned long unlimited,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

sessionsThe maximum number of concurrent web sessions that are allowed. Thisparameter is overridden when one of the following parameters is set totrue: unset, displace, or unlimited. If nonzero, the parameters unset,displace, and unlimited are set to false. When specified, the value cannotbe 0.

displaceThe policy is set to displace if set to true. If set to false, the policy is set asspecified. When set to true, this parameter overrides the sessions andunlimited parameters. This parameter is overridden when parameter unsetis set to true.

Required value is IVADMIN_TRUE or IVADMIN_FALSE.

unlimitedThe policy is set to unlimited if set to true. If set to false, the policy is setas specified. When set to true, this parameter overrides the sessionsparameter. This parameter is overridden when parameter unset ordisplace is set to true.

Required value is IVADMIN_TRUE or IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, the

Chapter 12. Administration C API reference 277

Page 294: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

policy is set as specified. When set to true this parameter overrides thesessions, displace, and unlimited parameters.

Required value is IVADMIN_TRUE or IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the maximum number of concurrent web sessions that are allowed for eachuser account.

Sets concurrent web session policy to be limited to a maximum number ofconcurrent sessions. The setting can specify unlimited concurrent sessions orsession displacement. When set to displace, a new web session for a userterminates any existing web session for that user. When set to number, the numberrepresents the maximum number of web sessions that can be established. Thenumber cannot be zero.

This policy applies only to certain components of Security Access Manager. A websession is a user session that is maintained by these Security Access Manager systems:Security Access Manager WebSEAL and Security Access Manager Plug-ins for WebServers.

Command-line equivalent:pdadmin policy set max-concurrent-web-sessions {number | displace | unlimited| unset} [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setmaxlgnfails()This API sets the maximum number of login failures that are allowed for thespecified user account.

Syntaxunsigned long ivadmin_user_setmaxlgnfails(ivadmin_context ctx,const char *userid,unsigned long failures,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

278 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 295: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ctx The context to use when communicating with the policy server.

userid The user name.

failuresThe maximum number of login failures allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the maximum number of login failures that are allowed for the specified useraccount.

Command-line equivalent:pdadmin policy set max-login-failures number | unset [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setmaxpwdage()This API sets the maximum password age that is allowed for the specified useraccount.

Syntaxunsigned long ivadmin_user_setmaxpwdage(ivadmin_context ctx,const char *userid,unsigned long seconds,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

secondsThe maximum lifetime in seconds before the expiration of the password. Avalue of zero means the password never expires.

Chapter 12. Administration C API reference 279

Page 296: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the maximum password age that is allowed for the specified user account.

Command-line equivalent:pdadmin policy set max-password-age {unset | relative_time} [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setmaxpwdrepchars()This API sets the maximum number of repeated characters that are allowed in apassword for the specified user account.

Syntaxunsigned long ivadmin_user_setmaxpwdrepchars(ivadmin_context ctx,const char *userid,unsigned long chars,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

chars The maximum number of repeated characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

280 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 297: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Sets the maximum number of repeated characters that are allowed in a passwordfor the specified user account.

Command-line equivalent:pdadmin policy set max-password-repeated-chars number | unset [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setminpwdalphas()This API sets the minimum number of alphabetic characters that are allowed in apassword for the specified user account.

Syntaxunsigned long ivadmin_user_setminpwdalphas(ivadmin_context ctx,const char *userid,unsigned long chars,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

chars The minimum number of alphabetic characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the minimum number of alphabetic characters that are allowed in a passwordfor the specified user account.

Command-line equivalent:pdadmin policy set min-password-alphas {unset | number}[-user user_name]

Chapter 12. Administration C API reference 281

Page 298: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setminpwdlen()This API sets the minimum password length for the specified user account.

Syntaxunsigned long ivadmin_user_setminpwdlen(ivadmin_context ctx,const char *userid,unsigned long length,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

length The minimum password length allowed to be set.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the minimum password length for the specified user account.

Command-line equivalent:pdadmin policy set min-password-length {unset | number} [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

282 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 299: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_user_setminpwdnonalphas()This API sets the minimum number of non-alphabetic characters that are allowedin a password for the specified user account.

Syntaxunsigned long ivadmin_user_setminpwdnonalphas(ivadmin_context ctx,const char *userid,unsigned long chars,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

chars The minimum number of non-alphabetic characters allowed.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the minimum number of non-alphabetic characters that are allowed in apassword for the specified user account.

Command-line equivalent:pdadmin policy set min-password-non-alphas {unset | number} [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setpassword()This API creates or changes the password for the specified user.

Chapter 12. Administration C API reference 283

Page 300: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Syntaxunsigned long ivadmin_user_setpassword(ivadmin_context ctx,const char *userid,const char *pwd,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

pwd The new password.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Creates or changes the password for the specified user.

If the user that is having its password set is the same user that created the securitycontext, ctx, no further authorization checks are performed.

Command-line equivalent:pdadmin user modify user_name password password

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setpasswordvalid()This API enables or disables the expiration of the Security Access Manager accountpassword.

Syntaxunsigned long ivadmin_user_setpasswordvalid(ivadmin_context ctx,const char *userid,unsigned long valid,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

284 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 301: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

userid The user name.

valid A setting that indicates whether the password is valid or expired.

Supported values are IVADMIN_FALSE (expired) or IVADMIN_TRUE (valid).

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Enables or disables the expiration of the Security Access Manager accountpassword. This expiration of the account password forces the user to change thepassword at the next login attempt.

The initial value of this attribute is yes.

Command-line equivalent:pdadmin user modify user_name password-valid {yes | no}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setpwdspaces()This API specifies whether spaces are allowed in passwords for the specified useraccount.

Syntaxunsigned long ivadmin_user_setpwdspaces(ivadmin_context ctx,const char *userid,unsigned long allowed,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

allowedA setting that indicates whether spaces are allowed in passwords.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Chapter 12. Administration C API reference 285

Page 302: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Indicates whether spaces are allowed in passwords for the specified user account.

The initial value of this attribute is unset.

Command-line equivalent:pdadmin policy set password-spaces {yes | no | unset} [-user user_name]

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_setssouser()This API enables or disables the single sign-on capabilities of a Security AccessManager user.

Syntaxunsigned long ivadmin_user_setssouser(ivadmin_context ctx,const char *userid,unsigned long ssouser,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user name.

ssouserThe user can have single sign-on credentials.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

286 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 303: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Description

Enables or disables the single sign-on capabilities of a Security Access Manageruser.

The initial value of this attribute is yes.

Command-line equivalent:pdadmin user modify user_name gsouser {yes | no}

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

ivadmin_user_settodaccess()This API sets the time-of-day access policy for the specified user.

Syntaxunsigned long ivadmin_user_settodaccess(ivadmin_context ctx,const char *userid,unsigned long days,unsigned long start,unsigned long end,unsigned long reference,unsigned long unset,ivadmin_response *rsp);

Parameters

Input

ctx The context to use when communicating with the policy server.

userid The user registry user name.

days A bitmap of the days for the time-of-day access policy.

start The minutes after midnight for the start of the time range.

end The minutes after midnight for the end of the time range.

referenceThe time zone: Universal Coordinated Time (UTC) or local.

unset The policy is ignored and not enforced if set to true. If set to false, thepolicy is set as specified.

Supported values are IVADMIN_TRUE and IVADMIN_FALSE.

Note: When setting a password policy, you provide a list of days, start time, andend time. The start time and end time apply to each day on the list. If the specifiedstart time is later than the specified end time, then the access is allowed until thespecified end time is reached on the next day.

Chapter 12. Administration C API reference 287

Page 304: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Output

rsp The response object. Indicates the success or failure of the function.Contains error information. Free this object when it is no longer needed.

Description

Sets the time-of-day access policy for the specified user.

Command-line equivalent:pdadmin policy set todaccess todaccess_string -user userID

Return values

Returns the following values:

IVADMIN_TRUEDefined as 1. The function was successful.

IVADMIN_FALSEDefined as 0. The function encountered an error.

288 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 305: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Appendix A. Deprecated APIs and constants

This section describes APIs and constants that were deprecated in Security AccessManager, version 7.0. The APIs and constants might be deprecated in previousversions of this product or in SecureWay Policy Directory.

APIs deprecated in version 7.0This section lists APIs that are deprecated in Security Access Manager, version 7.0.

The ivadmin_deprecated.h header file contains the prototypes and definitions forthese deprecated APIs. Avoid including this header file because the symbols itdeclares are not supported. Instead, change existing applications to use anyreplacement APIs that are listed in Table 36.

Table 36. APIs deprecated in Security Access Manager version 7.0

Deprecated API Replacement API

ivadmin_pop_getipauth2() ivadmin_pop_getipauth3()

APIs deprecated in previous releasesThis section identifies APIs that were deprecated in previous versions of thisproduct and Tivoli SecureWay Policy Director.

The APIs listed in Table 37 were deprecated in previous versions of this product orin previous versions of Tivoli SecureWay Policy Director.

Table 37. APIs deprecated in previous versions of Access Manager or Tivoli SecureWayPolicy Director

Deprecated API Replacement API

ivadmin_cfg_addreplica() ivadmin_cfg_addreplica2()

ivadmin_cfg_chgreplica() ivadmin_cfg_chgreplica2()

ivadmin_cfg_configureserver2() ivadmin_cfg_configureserver3()

ivadmin_cfg_rmvreplica() ivadmin_cfg_rmvreplica2()

ivadmin_cfg_setapplicationcert() ivadmin_cfg_setapplicationcert2()

ivadmin_cfg_setkeyringpwd() ivadmin_cfg_setkeyringpwd2()

ivadmin_cfg_setlistening() ivadmin_cfg_setlistening2()

ivadmin_cfg_setport() ivadmin_cfg_setport2()

ivadmin_cfg_setssltimeout() ivadmin_cfg_setssltimeout2()

ivadmin_context_create ivadmin_context_create3

ivadmin_context_create2() ivadmin_context_create3()

ivadmin_context_createdefault() ivadmin_context_createdefault2()

ivadmin_pop_getanyothernw() ivadmin_pop_getanyothernw2()

ivadmin_pop_getipauth() ivadmin_pop_getipauth2()

ivadmin_pop_removeipauth() ivadmin_pop_removeipauth2()

ivadmin_pop_setanyothernw() ivadmin_pop_setanyothernw2()

© Copyright IBM Corp. 2000, 2012 289

Page 306: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 37. APIs deprecated in previous versions of Access Manager or Tivoli SecureWayPolicy Director (continued)

Deprecated API Replacement API

ivadmin_pop_setanyothernw_forbidden() ivadmin_pop_setanyothernw_forbidden2()

ivadmin_pop_setipauth() ivadmin_pop_setipauth2()

ivadmin_pop_setipauth_forbidden() ivadmin_pop_setipauth_forbidden2()

ivadmin_protobj_get2() ivadmin_protobj_get3()

ivadmin_protobj_getacl() ivadmin_protobj_getaclid

ivadmin_acl_get

ivadmin_protobj_getauthzrule() ivadmin_protobj_getauthzruleid()

ivadmin_authzrule_get()

ivadmin_protobj_getpop() ivadmin_protobj_getpopid()

ivadmin_pop_get()

ivadmin_protobj_setname() None

ivadmin_cfg_configureserver ivadmin_cfg_configureserver3

ivadmin_group_addmember ivadmin_group_addmembers

ivadmin_group_removemember ivadmin_group_removemembers

ivadmin_user_create2 ivadmin_user_create3

ivadmin_user_getauthmech None

ivadmin_user_setauthmech None

ivadmin_group_create ivadmin_group_create3

ivadmin_group_delete ivadmin_group_delete2

ivadmin_group_import ivadmin_group_import2

ivadmin_protobj_get ivadmin_protobj_get3

ivadmin_protobj_list2 ivadmin_protobj_list3

ivadmin_user_create ivadmin_user_create3

ivadmin_user_delete ivadmin_user_delete2

ivadmin_user_import ivadmin_user_import2

ivadmin_cfg_renewservercert ivadmin_cfg_renewservercert2

ivadmin_cfg_setport ivadmin_cfg_setport2

ivadmin_cfg_setlistening ivadmin_cfg_setlistening2

ivadmin_cfg_setkeyringpwd ivadmin_cfg_setkeyringpwd2

ivadmin_cfg_setssltimeout ivadmin_cfg_setssltimeout2

ivadmin_cfg_setapplicationcert ivadmin_cfg_setapplicationcert2

ivadmin_cfg_addreplica ivadmin_cfg_addreplica2

ivadmin_cfg_chgreplica ivadmin_cfg_chgreplica2

ivadmin_cfg_rmvreplica ivadmin_cfg_rmvreplica2

ivadmin_pop_getanyothernw ivadmin_pop_getanyothernw2

ivadmin_pop_setanyothernw ivadmin_pop_setanyothernw2

ivadmin_pop_setanyothernw_forbidden ivadmin_pop_setanyothernw_forbidden2

ivadmin_pop_getipauth ivadmin_pop_getipauth3

290 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 307: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 37. APIs deprecated in previous versions of Access Manager or Tivoli SecureWayPolicy Director (continued)

Deprecated API Replacement API

ivadmin_pop_getipauth2 ivadmin_pop_getipauth3

ivadmin_pop_setipauth ivadmin_pop_setipauth2

ivadmin_pop_setipauth_forbidden ivadmin_pop_setipauth_forbidden2

ivadmin_pop_removeipauth ivadmin_pop_removeipauth2

Deprecated constantsThis section identifies constants that were deprecated in previous versions of thisproduct and Tivoli SecureWay Policy Director.

The following constants were deprecated in previous versions of this product andTivoli SecureWay Policy Director.v IVADMIN_USER_DCEAUTHMETH

v IVADMIN_USER_LDAPAUTHMETH

v IVADMIN_PROTOBJ_TYPE_UNKNOWN

The ivadmin_deprecated.h header file contains the definitions for these deprecatedconstants. Avoid including this header file because the symbols it declares are notsupported.

Appendix A. Deprecated APIs and constants 291

Page 308: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

292 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 309: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Appendix B. User registry differences

Each user registry presents unique concerns when integrated with Security AccessManager.

This release of Security Access Manager supports LDAP and URAF user registries.

Security Access Manager supports the following LDAP user registries:v Tivoli Directory Serverv IBM z/OS Security Server LDAP Serverv Microsoft Active Directory 2008v Microsoft Active Directory Lightweight Directory Services (AD LDS) (Windows

2008)v Novell eDirectory, versions 8.7 and 8.8v Oracle Directory Server 11g Enterprise Release 1 11.1.1.5.0v Sun Java System Directory Server, version 7.0

Security Access Manager supports the following URAF user registries:v Microsoft Active Directory Server 2008

General concernsThis section describes concerns associated with all supported user registries.

The following concerns are specific to all the supported user registries:v Avoid with forward slash (/) character when defining the names for users and

groups when that name is defined with distinguished names strings. Each userregistry treats this character differently.

v Avoid the use of leading and trailing blanks in user and group names. Each userregistry treats blanks differently.

LDAP concernsThis section describes concerns that are specific to all supported LDAP userregistries.

The following concerns are specific to all the supported LDAP user registries:v There are no configuration steps needed in Security Access Manager to make it

support a policy of LDAP. Security Access Manager does not assume theexistence or non-existence of an LDAP password policy at all. Security AccessManager enforces its own password policy first. Security Access Managerattempts to update a password in LDAP only when the provided passwordpasses the password policy check of Security Access Manager.Then Security Access Manager tries to accommodate the password policy ofLDAP with the return code that it receives from LDAP during apassword-related update.If Security Access Manager can map this return code with the correspondingSecurity Access Manager error code, it returns an error message.

© Copyright IBM Corp. 2000, 2012 293

Page 310: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

v To take advantage of the multi-domain support in Security Access Manager, youmust use an LDAP user registry. When you use a URAF user registry, only asingle Security Access Manager domain is supported.

v When using an LDAP user registry, the capability to own global sign-oncredentials must be explicitly granted to a user. After this capability is granted, itcan then be removed. Conversely, users that are created in a URAF user registryare automatically given this capability. This capability cannot be removed.

v Leading and trailing blanks in user names and group names are ignored whenusing an LDAP user registry in a Security Access Manager secure domain. Toensure consistent processing regardless of the user registry, define user namesand group names without leading or trailing blanks.

v Attempting to add a single duplicate user to a group does not produce an errorwhen using an LDAP user registry.

v The Security Access Manager authorization API provides a credential attributeentitlements service. This service is used to retrieve user attributes from a userregistry. When this service is used with an LDAP user registry, the retrievedattributes can be string data or binary data. However, when used with a URAFuser registry, the retrieved attributes can be string data, binary data, or integerdata.

Sun Java System Directory Server concernsThis section explains how to modify the default look-through limit for Sun JavaSystem Directory Server.

About this task

A concern specific to Sun Java System Directory Server is that the user registrymight contain more entries than the defined look-through limit. The directoryserver might return the following status that Security Access Manager treats as anerror:LDAP_ADMINLIMIT_EXCEEDED

When the directory server is installed, the default value is 5000. You can modifythis value.

Procedure1. 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 todefine no maximum limit. If you bind the directory as the Directory Manager,the look-through limit is unlimited and overrides any settings specified in thisfield.

Microsoft Active Directory Lightweight Directory Server (ADLDS) concerns

This section describes concerns specific to Microsoft Active Directory LightweightDirectory Server (AD LDS).

The following concerns are specific to AD LDS:

294 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 311: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

v Use the Security Access Manager configuration to select between a standard orminimal data model for the user registry. Because AD LDS allows only a singlenaming attribute to be used when creating LDAP objects, AD LDS requires theminimal data model. Irrespective of which data model is chosen during SecurityAccess Manager configuration, Security Access Manager always uses theminimal data model when AD LDS is selected as the user registry.

v The common name (cn) value in AD LDS must be single-valued. The valuespecified for the cn attribute must be the same value used for the distinguishedname when a user or group is created and cn is used as the naming attribute inthe dn. For example, the following command to create a user would not beallowed:pdadmin user create user1 cn=user1,o=ibm,c=us fred user1 password1

In the example, the cn value, fred, is different from the cn naming attribute inthe dn, user1.

URAF concernsThis section describes concerns specific to all supported URAF user registries.

The following concerns are specific to all the supported URAF user registries:v When using a URAF user registry, only a single Security Access Manager

domain is supported. To take advantage of the Security Access Managermulti-domain support, use an LDAP user registry.

v Users created in a URAF user registry are automatically given the capability toown global sign-on credentials. This capability cannot be removed. When usingan LDAP user registry, this capability must be explicitly granted. After thiscapability is granted, it can be removed later.

v The Security Access Manager authorization API provides a credential attributeentitlements service. This service is used to retrieve user attributes from a userregistry. When this service is used with a URAF user registry, the retrievedattributes can be string data, binary data, or integer data. However, when usedwith an LDAP user registry, the retrieved attributes can be only string data orbinary data.

Microsoft Active Directory Server concernsThis section describes concerns specific to Microsoft Active Directory Server.

In addition to the general URAF-specific concerns, the following concerns arespecific to Microsoft Active Directory Server:v Users created in Active Directory might have an associated primary group. The

Active Directory default primary group is Domain Users.But Active Directory does not add the primary group information to the usermemberOf or the group member attribute. When Security Access Manager queriesfor a list of members of a group, the result does not include any members forwhom the group is the primary group. When Security Access Manager queriesfor all the groups to which a user belongs, the query result does not display theprimary group of the user.For this reason, avoid the use of a Security Access Manager group as the ActiveDirectory primary group for Security Access Manager users.

v Security Access Manager does not support cross domain group membership oruniversal groups. Security Access Manager does not support importing thesetypes of groups.

Appendix B. User registry differences 295

Page 312: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

v When Security Access Manager imports a dynamic group, the ivacld-serversand remote-acl-users groups apply read permission on each authorization storeto which the dynamic group belongs.Read permission enables Security Access Manager blade servers, such asWebSEAL, to have the read permission to the registry authorization store. Thepermission provides the blade server with the ability to read dynamic groupdata, such as group membership for building Security Access Managercredentials. Manually removing this read permission while Security AccessManager is configured to the Active Directory registry results in adversebehavior, such as inaccurate group membership.

v The option to change a user password with LDAP APIs can be enabled in anenvironment in this configuration:– Security Access Manager is configured to use the Active Directory user

registry.– Security Access Manager blade servers use LDAP APIs to communicate with

the Active Directory server.

In this case, Security Access Manager must be configured with Secure SocketLayer (SSL) to allow connections between the LDAP client and the ActiveDirectory server. The Active Directory environment must also be enabled toaccept LDAP connections over Secure Socket Layer (SSL).

v You might use an Active Directory user registry in a Security Access Managerconfiguration with blade servers that use LDAP APIs to communicate with theActive Directory server. Security Access Manager supports user passwordchange requests with either the policy server or LDAP APIs. Requests to changeuser passwords with LDAP APIs do not require the policy server to running.The use of LDAP APIs to communicate with the Active Directory Server forblade servers is a multi-platform support. Blade servers can be installed oncomputers that are not clients of the same domain as the policy server. In thisconfiguration, the policy server must be installed and configured on a Windowsoperating system.

v When using an Active Directory user registry, each user name and each groupname in a domain must be unique. User and group short name values are storedin the sAMAccountName attribute of Active Directory user objects and groupobjects. Active Directory user objects and group objects both have thesAMAccountName attribute as one of their attributes. Microsoft requires that thesAMAccountName attributes be unique within an Active Directory domain.

v When using a multi-domain Active Directory user registry, multiple users andgroups can be defined with the same short name. The users and groups must bein different domains. The full name of the user or group, including the domainsuffix, must always be specified to Security Access Manager.

v Leading and trailing blanks in user names and group names are ignored withMicrosoft Active Directory Server as the user registry in a Security AccessManager secure domain. To ensure consistent processing, regardless of the userregistry, define user names and group names without leading or trailing blanks.

v Security Access Manager supports the use of an email address or other format ofthe userPrincipalName attribute of the Active Directory registry user object as aSecurity Access Manager user identity. When this optional enhancement isenabled, both the default and the email address or other format of theuserPrincipalName can co-exist in the Security Access Manager environment.The default format of the userPrincipalName registry attribute isuser_id@domain_suffix, where domain_suffix is the Active Directory domainwhere the user identity is created.

296 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 313: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

For example, [email protected] is the value of the userPrincipalName;example.com is the Active Directory domain where the user identity is created.The Security Access Manager user identity corresponding to the registry user inthis example is either [email protected] or johndoe. The user identitydepends on whether Security Access Manager is configured to use ActiveDirectory with multiple domains or a single domain.The other format of the userPrincipalName attribute is user_id@any_suffix. Inthis format, any_suffix can be any domain (Active Directory or non-ActiveDirectory) other than the Active Directory domain in which the user identity iscreated.For example, if the registry user johndoe@other_domain.com is created in ActiveDirectory example.com, and the registry user [email protected] is created inActive Directory domain child_domain.example.com. Both of these users can beSecurity Access Manager users, and their user identities arejohndoe@other_domain.com and [email protected] alternative user principal name (UPN) support must be enabled in allSecurity Access Manager runtime environments. Enablement ensures thatSecurity Access Manager user identities work properly with alternative UPNs.After the use of an alternative UPN format as Access Manager user identity isenabled, it cannot be reversed without breaking Security Access Managerfunctionalities.

v Users and groups can be created with names that use a distinguished namestring that contains a forward slash (/) character. However, subsequentoperations on the object might fail. Some Active Directory functions interpret theforward slash character as a separator between the object name and the hostname. To avoid the problem, do not use a forward slash character to define theuser.

Length of namesThis section describes the maximum lengths of the names associated with SecurityAccess Manager.

The maximum lengths of various names that are associated with Security AccessManager vary depending on the user registry that is being used. See Table 38 for acomparison of the maximum lengths that are allowed and the maximum length touse to ensure compatibility with all the user registries that are supported bySecurity Access Manager.

Table 38. Maximum lengths for names by user registry and the optimal length across user registries

Name

IBM TivoliDirectoryServer

IBM z/OSSecurityServer

NovelleDirectoryServer

Sun JavaSystemDirectoryServer

MicrosoftActiveDirectoryServer

ActiveDirectoryLightweightDirectoryServer (ADLDS)

Optimallength

First name(LDAP CN)

256 256 64 256 64 64 64

Middle name 128 128 128 128 64 65535 64

Last name(surname)

128 128 128 128 64 960 64

Registry UID(LDAP DN)

1024 1024 1024 1024 2048 255 1024

Appendix B. User registry differences 297

Page 314: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 38. Maximum lengths for names by user registry and the optimal length across user registries (continued)

Name

IBM TivoliDirectoryServer

IBM z/OSSecurityServer

NovelleDirectoryServer

Sun JavaSystemDirectoryServer

MicrosoftActiveDirectoryServer

ActiveDirectoryLightweightDirectoryServer (ADLDS)

Optimallength

SecurityAccessManageruser identity

256 256 256 256 64 196 -domain_name_length

64

Userpassword

unlimited unlimited unlimited unlimited 256 unlimited 128

Userdescription

1024 1024 1024 1024

Group name 256 256 256 256 64 196 -domain_name_length

64

Groupdescription

1024 1024 1024 1024

Singlesign-onresourcename

240 240 240 240 60 256 240

Singlesign-onresourcedescription

1024 1024 1024 1024

Singlesign-on userID

240 240 240 240 60 256 240

Singlesign-onpassword

unlimited unlimited unlimited unlimited 256 unlimited 256

Singlesign-ongroup name

240 240 240 240 60 256 240

Singlesign-ongroupdescription

1024 1024 1024 1024

Action name 1 1 1 1

Actiondescription,action type

unlimited unlimited unlimited unlimited

Object name,objectdescription

unlimited unlimited unlimited unlimited

Object spacename, objectspacedescription

unlimited unlimited unlimited unlimited

298 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 315: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 38. Maximum lengths for names by user registry and the optimal length across user registries (continued)

Name

IBM TivoliDirectoryServer

IBM z/OSSecurityServer

NovelleDirectoryServer

Sun JavaSystemDirectoryServer

MicrosoftActiveDirectoryServer

ActiveDirectoryLightweightDirectoryServer (ADLDS)

Optimallength

ACL name,ACLdescriptions

unlimited unlimited unlimited unlimited

POP name,POPdescription

unlimited unlimited unlimited unlimited

Although the maximum length of an Active Directory distinguished name (registryUID) is 2048, the maximum length of each relative distinguished name (RDN®) is64.

You might configure Security Access Manager to use multiple Active Directorydomains. In this case, the maximum length of the user identity and group namedoes not include the domain suffix. With multiple domains, the format of a useridentity is user_id@domain_suffix.

The maximum length of 64 applies only to the user_id portion. You might use anemail address or other format for the Security Access Manager user identity in theActive Directory. In this case, the maximum name length remains the same, butincludes the suffix.

Although the lengths of some names can be of unlimited, excessive lengths canresult in policy that is difficult to manage. The condition might result in poorsystem performance. Choose maximum values that are logical for yourenvironment.

Appendix B. User registry differences 299

Page 316: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

300 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 317: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Appendix C. Administration API equivalents

This appendix shows the mapping that exists between the administration C APIfunctions, the administration Java classes and methods, the pdadmin commands,and Web Portal Manager.

In some cases, a given operation can be performed in different ways. In some casestwo or more method calls might be necessary to achieve the same effect as a singleC API function.

See the following books for more information:v Information about the administration C API can be found in this document.v Information about the administration Java classes and methods can be found in

the Javadoc information and the IBM Security Access Manager for Web:Administration Java Classes Developer Reference.

v Information about the pdadmin commands can be found in the IBM SecurityAccess Manager for Web: Command Reference.

v Information on Web Portal Manager can be found in its online help and in theIBM Security Access Manager for Web: Administration Guide.

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web Portal ManagerC API Java class and method pdadmin command

equivalentWeb Portal Manager

equivalent

ivadmin_acl_attrdelkey() PDAcl.deleteAttributePDAcl object.deleteAttribute

pdadmin acl modifyacl_name delete attributeattribute_name

ACL > Search ACL >click ACL name >Extended Attribute tab >select attributes > Delete

ivadmin_acl_attrdelval() PDAcl.deleteAttributeValuePDAcl object.deleteAttributeValue

pdadmin acl modifyacl_name delete attributeattribute_nameattribute_value

Not supported

ivadmin_acl_attrget() PDAcl object.getAttributeValues pdadmin acl show acl_nameattribute attribute_name

ACL > Search ACL >click ACL name >Extended Attribute tab

ivadmin_acl_attrlist() PDAcl object.getAttributeNames pdadmin acl list acl_nameattribute

ACL > Search ACL >click ACL name >Extended Attribute tab

ivadmin_acl_attrput() PDAcl.setAttributeValuePDAcl object.setAttributeValue

pdadmin acl modifyacl_name set attributeattribute_nameattribute_value

ACL > Search ACL >click ACL name >Extended Attribute tab >Create > fill in form >Apply

ivadmin_acl_create() PDAcl.createAcl pdadmin acl createacl_name

ACL > Create ACL > fillin form > Create

ivadmin_acl_delete() PDAcl.deleteAcl pdadmin acl deleteacl_name

ACL > Search ACL >select ACL names >Delete

ivadmin_acl_get() PDAcl constructor pdadmin acl show acl_name ACL > Search ACL >click ACL name

ivadmin_acl_getanyother() PDAcl object.getPDAclEntryAnyOther pdadmin acl showany-other

ACL > Search ACL >click any-other

ivadmin_acl_getdescription() PDAcl object.getDescription pdadmin acl show acl_name ACL > Search ACL >click ACL name

ivadmin_acl_getgroup() PDAcl object.getPDAclEntriesGroup pdadmin acl show acl_name ACL > Search ACL >click ACL name

ivadmin_acl_getid() PDAcl object.getId pdadmin acl show acl_name ACL > Search ACL >click ACL name

© Copyright IBM Corp. 2000, 2012 301

Page 318: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_acl_getunauth() PDAcl object.getPDAclEntryUnAuth pdadmin acl show acl_name ACL > Search ACL >click ACL name

ivadmin_acl_getuser() PDAcl object.getPDAclEntriesUser pdadmin acl show acl_name ACL > Search ACL >click ACL name

ivadmin_acl_list() PDAcl.listAcls pdadmin acl list ACL > Search ACL

ivadmin_acl_list2() PDAcl.listAcls pdadmin acl list[<pattern> <max-return>]

ACL > Search ACL

ivadmin_acl_listgroups() PDAcl object.getPDAclEntriesGroup pdadmin acl show acl_name ACL > Search ACL >click ACL name

ivadmin_acl_listusers() PDAcl object.getPDAclEntriesUser pdadmin acl show acl_name ACL > Search ACL >click ACL name

ivadmin_acl_removeanyother() PDAcl.removePDAclEntryAnyOtherPDAcl object.removePDAclEntryAnyOther

pdadmin acl modifyacl_name remove any-other

ACL > Search ACL >click ACL name > selectAny-other > Delete

ivadmin_acl_removegroup() PDAcl.removePDAclEntryGroupPDAcl object.removePDAclEntryGroup

pdadmin acl modifyacl_name remove groupgroup_name

ACL > Search ACL >click ACL name > selectgroup name > Delete

ivadmin_acl_removeunauth() PDAcl.removePDAclEntryUnAuthPDAcl object.removePDAclEntryUnAuth

pdadmin acl modifyacl_name removeunauthenticated

ACL > Search ACL >click ACL name > selectUnauthenticated >Delete

ivadmin_acl_removeuser() PDAcl.removePDAclEntryUserPDAcl object.removePDAclEntryUser

pdadmin acl modifyacl_name remove useruser_name

ACL > Search ACL >click ACL name > selectuser name > Delete

ivadmin_acl_setanyother() PDAcl.setPDAclEntryAnyOtherPDAcl object.setPDAclEntryAnyOther

pdadmin acl modifyacl_name set any-otherpermissions

ACL > Search ACL >click ACL name > selectAny-other > Create >select permissions >Apply

ivadmin_acl_setdescription() PDAcl.setDescriptionPDAcl object.setDescription

pdadmin acl modifyacl_name descriptiondescription

ACL > Search ACL >click ACL name >modify description > Set

ivadmin_acl_setgroup() PDAcl.setPDAclEntryGroupPDAcl object.setPDAclEntryGroup

pdadmin acl modifyacl_name set groupgroup_name permissions

ACL > Search ACL >click ACL name > Create> select Group> specifygroup name > selectpermissions > Apply

ivadmin_acl_setunauth() PDAcl.setPDAclEntryUnAuthPDAcl object.setPDAclEntryUnAuth

pdadmin acl modifyacl_name setunauthenticatedpermissions

ACL > Search ACL >click ACL name > Create> select Unauthenticated> select permissions >Apply

ivadmin_acl_setuser() PDAcl.setPDAclEntryUserPDAcl object.setPDAclEntryUser

pdadmin acl modifyacl_name set useruser_name permissions

ACL > Search ACL >click ACL name > Create> select User > specifyuser name > selectpermissions > Apply

ivadmin_action_create() PDAction.createAction pdadmin action createname descriptionaction_type

ACL > List ActionGroups > click primaryaction group > Create >fill in form > Create

ivadmin_action_create_in_group() PDAction.createAction pdadmin action createname descriptionaction_typeaction_group_name

ACL > List ActionGroups > click actiongroup > Create > fill inform > Create

ivadmin_action_delete() PDAction.deleteAction pdadmin action deletename

ACL > List ActionGroups > select primaryaction group > selectactions > Delete

ivadmin_action_delete_from_group() PDAction.deleteAction pdadmin action deletename action_group_name

ACL > List ActionGroups > select actiongroup > select actions >Delete

302 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 319: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_action_getdescription() PDAction object.getDescription pdadmin action list ACL > List ActionGroups > click primaryaction group

ivadmin_action_getid() PDAction object.getId pdadmin action list ACL > List ActionGroups > click primaryaction group

ivadmin_action_gettype() PDAction object.getType pdadmin action list ACL > List ActionGroups > click primaryaction group

ivadmin_action_group_create() PDActionGroup.createActionGroup pdadmin action groupcreate action_group_name

ACL > Create ActionGroup > type groupname > Create

ivadmin_action_group_delete() PDActionGroup.deleteActionGroup pdadmin action groupdelete action_group_name

ACL > List ActionGroups > select actiongroups > Delete

ivadmin_action_group_list() PDActionGroup.listActionGroups pdadmin action group list ACL > List ActionGroups

ivadmin_action_list() PDAction.listActions pdadmin action list ACL > List ActionGroups > click primaryaction group

ivadmin_action_list_in_group() PDAction.listActions pdadmin action listaction_group_name

ACL > List ActionGroups > click actiongroup

ivadmin_authzrule_create() PDAuthzRule.createAuthzRule pdadmin authzrule createruleid–rulefile {filename| ruletext} [–descdescription] [–failreasonfailreason]

AuthzRule > CreateAuthzRule > fill in form> Create

ivadmin_authzrule_delete() PDAuthzRule.deleteAuthzRule pdadmin authzrule deleteruleid

AuthzRule > ListAuthzRule > selectauthorization rule name> Delete

ivadmin_authzrule_get() PDAuthzRule constructor pdadmin authzrule showruleid

AuthzRule > ListAuthzRule > clickauthorization rule name

ivadmin_authzrule_getdescription() PDAuthzRule object.getDescription pdadmin authzrule showruleid

AuthzRule > ListAuthzRule > clickauthorization rule name

ivadmin_authzrule_getfailreason() PDAuthzRule object.getFailReason pdadmin authzrule showruleid

AuthzRule > ListAuthzRule > clickauthorization rule name

ivadmin_authzrule_getid() PDAuthzRule object.getID pdadmin authzrule showruleid

AuthzRule > ListAuthzRule > clickauthorization rule name

ivadmin_authzrule_getruletext() PDAuthzRule object.getRuleText pdadmin authzrule showruleid

AuthzRule > ListAuthzRule > clickauthorization rule name

ivadmin_authzrule_list() PDAuthzRule.listAuthzRules pdadmin authzrule list AuthzRule > ListAuthzRule

ivadmin_authzrule_setdescription() PDAuthzRule.setDescriptionPDAuthzRule object.setDescription

pdadmin authzrule modifyruleid descriptiondescription

AuthzRule > ListAuthzRule > clickauthorization rule name> General tab > modifyfields > Apply

ivadmin_authzrule_setfailreason() PDAuthzRule.setFailReasonPDAuthzRule object.setFailReason

pdadmin authzrule modifyruleid failreasonfailreason

AuthzRule > ListAuthzRule > clickauthorization rule name> General tab > modifyfields > Apply

ivadmin_authzrule_setruletext() PDAuthzRule.setRuleTextPDAuthzRule object.setRuleText

pdadmin authzrule modifyruleid –rulefile{filename | ruletext}

AuthzRule > ListAuthzRule > clickauthorization rule name> modify fields > Apply

Appendix C. Administration API equivalents 303

Page 320: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_cfg_addreplica2() PDAppSvrConfig.addPDServer svrsslcfg -add_replica -fcfg_file -h host_name [-pport] [-k rank]

Not supported.

ivadmin_cfg_chgreplica2() PDAppSvrConfig.changePDServer svrsslcfg -chg_replica -fcfg_file -h host_name [-pport] [-k rank]

Not supported.

ivadmin_cfg_configureserver3() PDAppSvrConfig.configureAppSvr svrsslcfg -config -fcfg_file -d kdb_dir_name-n server_name ...

Not supported.

ivadmin_cfg_getvalue() Not supported. pdadmin config showconfig_file stanza key

Not supported.

ivadmin_cfg_removevalue() Not supported. pdadmin config modifykeyvalue remove config_filestanza key [ value ]

Not supported.

ivadmin_cfg_renewservercert() PDAppSvrConfig.replaceAppSvrCert svrsslcfg -chgcert -fcfg_file -n server_name[-A admin_ID] -Padmin_pwd

Not supported.

ivadmin_cfg_rmvreplica2() PDAppSvrConfig.removePDServer svrsslcfg -rmv_replica -fcfg_file -h host_name [-pport] [-k rank]

Not supported.

ivadmin_cfg_setapplicationcert2() Not supported. svrsslcfg -modify -fcfg_file [-t timeout] [-Ccert_file] [-llistening_mode]

Not supported.

ivadmin_cfg_setkeyringpwd2() Not applicable. svrsslcfg -chgpwd -fcfg_file -n server_name[-A admin_ID] [-Padmin_pwd]

Not supported.

ivadmin_cfg_setlistening2() PDAppSvrConfig.setAppSvrListening svrsslcfg -f cfg_file-modify -l yes

Not supported.

ivadmin_cfg_setport2() PDAppSvrConfig.setAppSvrPort svrsslcfg -config -fcfg_file -d kdb_dir_name-n server_name ...

Not supported.

ivadmin_cfg_setssltimeout2() Not supported. svrsslcfg -modify -fcfg_file -t timeout [-Ccert_file] [-llistening_mode]

Not supported.

ivadmin_cfg_setsvrpwd() Not supported. pdadmin config modifysvrpassword config_filepassword

Not supported.

ivadmin_cfg_setvalue() Not supported. pdadmin config modifykeyvalue { set | append }[–obfuscate ] config_filestanza key [value ]

Not supported.

ivadmin_cfg_unconfigureserver() PDAppSvrConfig.unconfigureAppSvr svrsslcfg -unconfig -fcfg_file -n server_name[-A admin_ID] -Padmin_pwd

Not supported.

ivadmin_context_cleardelcred() PDContext object.clearDelegatedCred Not applicable. Not applicable.

ivadmin_context_create3() PDContext constructor Not applicable. Not applicable.

ivadmin_context_createdefault2() PDContext constructor Not applicable. Not applicable.

ivadmin_context_createlocal() Not supported. Not applicable. Not applicable.

ivadmin_context_delete() PDContext object.close Not applicable. Not applicable.

ivadmin_context_ domainismanagement() PDContext object.domainIsManagement pdadmin context show Not supported.

ivadmin_context_getaccexpdate() PDPolicy object.getAcctExpDate pdadmin policy getaccount-expiry-date

User > Show GlobalUser Policy > viewAccount Expiration Datesection

ivadmin_context_getcodeset() PDContext object.getLocale Not applicable. Not applicable.

304 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 321: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_context_getdisabletimeint() PDPolicy object.getAcctDisableTimeInterval pdadmin policy getdisable-time-interval

User > Show GlobalUser Policy > viewDisable Time Intervalsection

ivadmin_context_getdomainid() PDContext object.getDomainid pdadmin context show Not supported.

Not supported. Not supported. pdadmin errtexterror_number

Not supported.

Not supported. Not supported. pdadmin exit Not supported.

ivadmin_context_getmax concurwebsess() PDPolicy.getMaxconcurrentWebSessionsPDPolicy object.getMaxconcurrentWebSessions

pdadmin policy getmax-concurrent-web-sessions

User > Show GlobalUser Policy > view MaxConcurrent Web Sessionssection

ivadmin_context_getmaxlgnfails() PDPolicy object.getMaxFailedLogins pdadmin policy getmax-login-failures

User > Show GlobalUser Policy > view MaxLogin Failures section

ivadmin_context_getmaxpwdage() PDPolicy object.getMaxPwdAge pdadmin policy getmax-password-age

User > Show GlobalUser Policy > view MaxPassword Age section

ivadmin_context_getmaxpwdrepchars() PDPolicy object.getMaxPwdRepChars pdadmin policy getmax-password-repeated-chars

User > Show GlobalUser Policy > view MaxPassword RepeatedCharacters section

ivadmin_context_getmgmtdomainid() PDDomain.getMgmtDomainName pdadmin login —m Initial login.

ivadmin_context_getmgmtsvrhost() Not supported. Not supported. Not available.

ivadmin_context_getmgmtsvrport() Not supported. Not supported. Not available.

ivadmin_context_getminpwdalphas() PDPolicy object.getMinPwdAlphas pdadmin policy getmin-password-alphas

User > Show GlobalUser Policy > viewMinimum Password Alphassection

ivadmin_context_getminpwdlen() PDPolicy object.getMinPwdLen pdadmin policy getmin-password-length

User > Show GlobalUser Policy > viewMinimum Password Lengthsection

ivadmin_context_getmin pwdnonalphas() PDPolicy object.getMinPwdNonAlphas pdadmin policy getmin-password-non-alphas

User > Show GlobalUser Policy > viewMinimum PasswordNon-Alphas section

ivadmin_context_getpwdspaces() PDPolicy object.pwdSpacesAllowed pdadmin policy getpassword-spaces

User > Show GlobalUser Policy > viewPassword Spaces Allowedsection

ivadmin_context_gettodaccess() PDPolicy object.getAccessibleDaysPDPolicy object.getAccessStartTimePDPolicy object.getAccessEndTimePDPolicy object.getAccessTimezone

pdadmin policy gettod-access

User > Show GlobalUser Policy > view Timeof Day Access section

ivadmin_context_getuserid() PDContext object.getUserid pdadmin context show Not supported.

ivadmin_context_getuserreg() PDUser.getUserRgy pdadmin admin showconfiguration

Not supported.

ivadmin_context_hasdelcred() PDContext object.hasDelegatedCred Not applicable. Not applicable.

ivadmin_context_setaccexpdate() PDPolicy.setAcctExpDatePDPolicy object.setAcctExpDate

pdadmin policy setaccount-expiry-date{unlimited |absolute_time | unset}

User > Show GlobalUser Policy > set AccountExpiration Date >Apply

ivadmin_context_setdelcred() PDContext object.setDelegatedCred Not applicable. Not applicable.

ivadmin_context_setdisabletimeint() PDPolicy.setAcctDisableTimePDPolicy object.setAcctDisableTime

pdadmin policy setdisable-time-interval{number | unset |disable}

User > Show GlobalUser Policy > set AccountDisable Time Interval >Apply

Appendix C. Administration API equivalents 305

Page 322: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_context_setmax concurwebsess() PDPolicy.setMaxconcurrentWebSessionsPDPolicy object.setMaxconcurrentWebSessions

pdadmin policy setmax-concurrent-web-sessions {number| displace| unlimited | unset} -useruser_name

User > Show GlobalUser Policy > set MaxConcurrent Web Sessions> Apply

ivadmin_context_setmaxlgnfails() PDPolicy.setMaxFailedLoginsPDPolicy object.setMaxFailedLogins

pdadmin policy setmax-login-failures{number | unset}

User > Show GlobalUser Policy > set MaxLogin Failures > Apply

ivadmin_context_setmaxpwdage() PDPolicy.setMaxPwdAgePDPolicy object.setMaxPwdAge

pdadmin policy setmax-password-age{relative_time | unset}

User > Show GlobalUser Policy > set MaxPassword Age > Apply

ivadmin_context_setmax pwdrepchars() PDPolicy.setMaxPwdRepCharsPDPolicy object.setMaxPwdRepChars

pdadmin policy setmax-password-repeated-chars [number | unset]

User > Show GlobalUser Policy > set MaxPassword RepeatedCharacters > Apply

ivadmin_context_setminpwdalphas() PDPolicy.setMinPwdAlphasPDPolicy object.setMinPwdAlphas

pdadmin policy setmin-password-alphas{number | unset}

User > Show GlobalUser Policy > set MinimumPassword Alphas >Apply

ivadmin_context_setminpwdlen() PDPolicy.setMinPwdLenPDPolicy object.setMinPwdLen

pdadmin policy setmin-password-length{number | unset}

User > Show GlobalUser Policy > set MinimumPassword Length >Apply

ivadmin_context_setmin pwdnonalphas() PDPolicy.setMinPwdNonAlphasPDPolicy object.setMinPwdNonAlphas

pdadmin policy setmax-password-non-alphas{number | unset}

User > Show GlobalUser Policy > set MinimumPassword Non-Alphas >Apply

ivadmin_context_setpwdspaces() PDPolicy.setPwdSpacesAllowedPDPolicy object.setPwdSpacesAllowed

pdadmin policy setpassword-spaces {yes | no| unset}

User > Show GlobalUser Policy > setPassword Spaces Allowed> Apply

ivadmin_context_settodaccess() PDPolicy.setTodAccessPDPolicy object.setTodAccess

pdadmin policy settod-accesstodaccess_value

User > Show GlobalUser Policy > set Time ofDay Access > Apply

ivadmin_domain_create() PDDomain.createDomain pdadmin domain createdomain domain_admin_iddomain_admin_password[—desc description]

Secure Domain > CreateSecure Domain > fill inform > Create

ivadmin_domain_delete() PDDomain.deleteDomain pdadmin domain deletedomain [–registry]

Secure Domain > ListSecure Domain > selectsecure domain names >Delete

ivadmin_domain_get() PDDomain constructor pdadmin domain showdomain

Secure Domain > ListSecure Domain > clicksecure domain name

ivadmin_domain_getdescription() PDDomain object.getDescription pdadmin domain showdomain

Secure Domain > ListSecure Domain > clicksecure domain name

ivadmin_domain_getid() PDDomain object.getId pdadmin domain showdomain

Secure Domain > ListSecure Domain > clicksecure domain name

ivadmin_domain_list() PDDomain.listDomains pdadmin domain list Secure Domain > ListSecure Domain

ivadmin_domain_setdescription() PDDomain.setDescriptionPDDomain object.setDescription

pdadmin domain modifydomain descriptiondescription

Secure Domain > ListSecure Domain > clicksecure domain name >modify description >Apply

ivadmin_free() Not applicable. Not applicable. Not applicable.

306 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 323: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_group_addmembers() PDGroup.addMembersPDGroup object.addMembers pdadmin group modify

group_name add user

pdadmin group modifygroup_name add (user_1user_2 [ ... user_n])

Group > Search Groups> type pattern andmaximum results >Search > click groupname > Members tab >select users > Add

ivadmin_group_create2() PDGroup.createGroup pdadmin group creategroup_name dn cn[group_container]

Group > Create Group >fill in form > Create

ivadmin_group_delete2() PDGroup.deleteGroup pdadmin group delete[-registry] group_name

Group > Search Groups> type pattern andmaximum results >Search > select groupnames > Delete

ivadmin_group_get() PDGroup constructor pdadmin group showgroup_name

Group > Search Groups> type pattern andmaximum results >Search > click groupname

ivadmin_group_getbydn() PDGroup constructor pdadmin group show-dn dn Not supported.

ivadmin_group_getcn() Not supported. pdadmin group showgroup_name

Group > Search Groups> type pattern andmaximum results >Search > click groupname

ivadmin_group_getdescription() PDGroup object.getDescription pdadmin group showgroup_name

Group > Search Groups> type pattern andmaximum results >Search > click groupname

ivadmin_group_getdn() PDGroup object.getRgyName pdadmin group showgroup_name

Group > Search Groups> type pattern andmaximum results >Search > click groupname

ivadmin_group_getid() PDGroup object.getId pdadmin group showgroup_name

Group > Search Groups> type pattern andmaximum results >Search > click groupname

ivadmin_group_getmembers() PDGroup object.getMembers pdadmin groupshow-members group_name

Group > Search Groups> type pattern andmaximum results >Search > click groupname > Members tab

ivadmin_group_import2() PDGroup object.importGroup pdadmin group importgroup_name dn[group_container]

Group > Import Group> fill in form > Import

ivadmin_group_list() PDGroup.listGroups pdadmin group listpattern max_return

Group > Search Groups> type pattern andmaximum results >Search

ivadmin_group_listbydn() PDGroup.listGroups pdadmin group list-dnpattern max_return

Not supported.

ivadmin_group_removemembers() PDGroup.removeMembersPDGroup object.removeMembers pdadmin group modify

group_name remove user

pdadmin group modifygroup_name remove (user_1user_2 [ ... user_n])

Group > Search Groups> type pattern andmaximum results >Search > click groupname > Members tab >select user names >Remove

Appendix C. Administration API equivalents 307

Page 324: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_group_setdescription() PDGroup.setDescriptionPDGroup object.setDescription

pdadmin group modifygroup_name descriptiondescription

Group > Search Groups> type pattern andmaximum results >Search > click groupname > type description> Apply

Not supported Not supported pdadmin help {topic |command}

Not supported

Not supported Not supported pdadmin login –a admin_id–p password [–d domain |–m]

Not supported

Not supported Not supported pdadmin login –l Not supported

Not supported Not supported pdadmin logout Not supported

ivadmin_objectspace_create() PDProtObjectSpace.create ProtObjectSpace pdadmin objectspacecreate objectspace_name

Object Space > CreateObject Space > fill inform > Create

ivadmin_objectspace_delete() PDProtObjectSpace.delete ProtObjectSpace pdadmin objectspacedelete objectspace_name

Object Space > BrowseObject Space > clickobject space name >Delete

ivadmin_objectspace_list() PDProtObjectSpace.listProtObjectSpaces pdadmin objectspace list Object Space > BrowseObject Space

ivadmin_pop_attach() PDProtObject.attachPopPDProtObject object.attachPop

pdadmin pop attachobject_name pop_name

POP > List POPss > clickPOP name > Attach tab> Attach > typeprotected object path >Attach

ivadmin_pop_attrdelkey() PDPop.deleteAttribute PDPop object.deleteAttribute

pdadmin pop modifypop_name delete attributeattribute_name

POP > List POPs > clickPOP name > ExtendedAttributes tab > selectattributes > Delete

ivadmin_pop_attrdelval() PDPop.deleteAttributeValue PDPop object.deleteAttributeValue

pdadmin pop modifypop_name delete attributeattribute_nameattribute_value

Not supported

ivadmin_pop_attrget() PDPop object.getAttributeValues pdadmin pop show pop_nameattribute

POP > List POPs > clickPOP name > ExtendedAttributes tab

ivadmin_pop_attrlist() PDPop object.getAttributeNames pdadmin pop list pop_nameattribute

POP > List POPs > clickPOP name > ExtendedAttributes tab

ivadmin_pop_attrput() PDPop.setAttributeValuePDPop object.setAttributeValue

pdadmin pop modifypop_name set attributeattribute_nameattribute_value

POP > List POPs > clickPOP name > ExtendedAttributes tab > Create >fill in form > Apply

ivadmin_pop_create() PDPop.createPop pdadmin pop createpop_name

POP > Create POP > fillin form > Create

ivadmin_pop_delete() PDPop.deletePop pdadmin pop deletepop_name

POP > List POPs > selectPOP names > Delete

ivadmin_pop_detach() PDProtObject.detachPopPDProtObject object.attachPop

pdadmin pop detachobject_name

POP > List POPs > clickPOP name > Attach tab> select object > Detach

ivadmin_pop_find() PDProtObject.listProtObjectsByPop pdadmin pop find pop_name POP > List POPs > clickPOP name > Attach tab

ivadmin_pop_get() PDPop constructor pdadmin pop show pop_name POP > List POPs > clickPOP name

ivadmin_pop_getanyothernw2() PDPop object.getIPAuthInfo pdadmin pop show pop_name POP > List POPs > clickPOP name

ivadmin_pop_getauditlevel() PDPop object.getAuditLevel pdadmin pop show pop_name POP > List POPs > clickPOP name

ivadmin_pop_getdescription() PDPop object.getDescription pdadmin pop show pop_name POP > List POPs > clickPOP name

308 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 325: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_pop_getid() PDPop object.getId pdadmin pop show pop_name POP > List POPs > clickPOP name

ivadmin_pop_getipauth2() PDPop object.getIPAuthInfo pdadmin pop show pop_name POP > List POPs > clickPOP name

ivadmin_pop_getqop() PDPop object.getQOP pdadmin pop show pop_name POP > List POPs > clickPOP name

ivadmin_pop_gettod() PDPop object.getTodAccessInfo pdadmin pop show pop_name POP > List POPs > clickPOP name

ivadmin_pop_getwarnmode() PDPop object.getWarningMode pdadmin pop show pop_name POP > List POPs > clickPOP name

ivadmin_pop_list() PDPop.listPops pdadmin pop list POP > List POPs

ivadmin_pop_list() PDPop.listPops pdadmin pop list pop_name POP > List POPs > clickPOP name

ivadmin_pop_removeipauth2() PDPop.removeIPAuthInfoPDPop object.removeIPAuthInfo

pdadmin pop modifypop_name set ipauthremove network netmask

POP > List POPs > clickPOP name > IP Auth tab> select IP authorizationentries > Delete

ivadmin_pop_setanyothernw2() PDPop.setIPAuthInfo pdadmin pop modifypop_name set ipauthanyothernwauthentication_level

POP > List POPs > clickPOP name > IP Auth tab> Create > select AnyOther Network checkbox. and type theauthentication level >Create

ivadmin_pop_setanyothernw_forbidden2()

PDPop.setIPAuthInfo pdadmin pop modifypop_name set ipauthanyothernw forbidden

POP > List POPs > clickPOP name > IP Auth tab> Create > select AnyOther Network andForbidden check boxes >Create

ivadmin_pop_setauditlevel() PDPop.setAuditLevelPDPop object.setAuditLevel

pdadmin pop modifypop_name set audit-level{all | none |audit_level_list}

POP > List POPs > clickPOP name > select orclear appropriate checkboxes > Apply

ivadmin_pop_setdescription() PDPop.setDescriptionPDPop object.setDescription

pdadmin pop modifypop_name set descriptiondescription

POP > List POPs > clickPOP name > modifydescription > Apply

ivadmin_pop_setipauth2() PDPop.setIPAuthInfoPDPop object.setIPAuthInfo

pdadmin pop modifypop_name set ipauth addnetwork netmaskauthentication_level

POP > List POPs > clickPOP name > IP Auth tab> Create > type thenetwork, net mask, andauthentication level >Create

ivadmin_pop_setipauth_forbidden2() PDPop.setIPAuthInfoPDPop object.setIPAuthInfo

pdadmin pop modifypop_nameset ipauth addnetwork netmask forbidden

POP > List POPs > clickPOP name > IP Auth tab> Create > type networkand net mask and selectForbidden check box >Apply

ivadmin_pop_setqop() PDPop.setQOPPDPop object.setQOP pdadmin pop modifypop_name set qop {none |integrity | privacy}

POP > List POPs > clickPOP name > selectappropriate quality ofprotection > Apply

ivadmin_pop_settod() PDPop.setTodAccessInfoPDPop object.setTodAccessInfo.

pdadmin pop modifypop_name set tod-access{anyday | weekday |day_list}:{anytime |time_spec-time_spec}[:utc | local]

POP > List POPs > clickPOP name > define timeof day access > Apply

ivadmin_pop_setwarnmode() PDPop.setWarningModePDPop object.setWarningMode

pdadmin pop modifypop_name set warning {yes| no]

POP > List POPs > clickPOP name > select orclear Warn Only OnPolicy Violation checkbox > Apply

Appendix C. Administration API equivalents 309

Page 326: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

Not supported Not supported pdadmin quit Not supported

ivadmin_protobj_access() PDProtObject.access pdadmin object accessobject_name permissions

Not supported.

ivadmin_protobj_attachacl() PDProtObject.attachAclPDProtObject object.attachAcl

pdadmin acl attachobject_name acl_name

ACL > List ACL > clickACL name > Attach tab> Attach > typeprotected object path >Attach

ivadmin_protobj_attachauthzrule() PDProtObject.attachAuthzRulePDProtObject object.attachAuthzRule

pdadmin authzrule attachobject_name ruleid

AuthzRule > ListAuthzRule > clickauthorization rule name> Attach tab > Attach >type protected objectpath > Attach

ivadmin_protobj_attrdelkey() PDProtObject.deleteAttributePDProtObject object.deleteAttribute

pdadmin object modifyobject_name deleteattribute_name

Object Space > BrowseObject Space > expandand click object name >Extended Attributes tab> select attribute >Delete

ivadmin_protobj_attrdelval() PDProtObject.deleteAttributeValuePDProtObject object.deleteAttributeValue

pdadmin object modifyobject_name deleteattribute_nameattribute_value

Not supported

ivadmin_protobj_attrget() PDProtObject object.getAttributeValues pdadmin object showobject_name attributeattribute_name

Object Space > BrowseObject Space > expandand click object name >Extended Attributes tab

PDProtObject.listProtObjects pdadmin object list Object Space > BrowseObject Space

ivadmin_protobj_attrlist() PDProtObject object.getAttributeNames pdadmin object listobject_name attribute

Object Space > BrowseObject Space > expandand click object name >Extended Attributes tab

pdadmin objectlistandshow object_name

Not supported

ivadmin_protobj_attrput() PDProtObject.setAttributeValuePDProtObject object.setAttributeValue

pdadmin object modifyobject_name set attributeattribute_nameattribute_value

Object Space > BrowseObject Space > expandand click object name >Extended Attributes tab> Create > fill in form >Apply

ivadmin_protobj_create() PDProtObject.createProtObject pdadmin object createobject_name descriptiontype ispolicyattachable{yes|no}

Object Space > CreateObject > fill in form >Create

The type field is notsupported.

You can select the CanPolicy be attached tothis object check box onthe Protected ObjectProperties page.

ivadmin_protobj_delete() PDProtObject.deleteProtObject pdadmin object deleteobject_name

Object Space > BrowseObject Space > expandand click object name >Delete

ivadmin_protobj_detachacl() PDProtObject.detachAclPDProtObject object.detachAcl

pdadmin acl detachobject_name

ACL > List ACL > clickACL name > Attach tab> select protected object> Detach

310 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 327: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_protobj_detachauthzrule() PDProtObject.detachAuthzRulePDProtObject object.detachAuthzRule

pdadmin authzrule detachobject_name

AuthzRule > ListAuthzRule > clickauthorization rule name> Attach tab > selectobject names > Detach

ivadmin_protobj_exists() PDProtObject.exists pdadmin object existsobject_name

Not supported.

ivadmin_protobj_get3() PDProtObject constructorNote: If the protected object name specifieddoes not exist, default values are shown. Todetermine that a protected object exists, use thePDProtObject.exists command.

pdadmin object showobject_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_getaclid() PDProtObject object.getAcl pdadmin object showobject_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_getauthzruleid() PDProtObject object.getAuthzRule pdadmin object showobject_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_getdesc() PDProtObject object.getDescription pdadmin object showobject_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_geteffaclid() PDProtObject object.getEffectuveAclId pdadmin object showobject_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_geteffauthzruleid() PDProtObject object.getEffectuveAuthzRuleId pdadmin object showobject_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_geteffpopid() PDProtObject object.getEffectuvePopId pdadmin object showobject_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_getid() PDProtObject object.getId pdadmin object showobject_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_ getpolicyattachable() PDProtObject object.isPolicyAttachable pdadmin object showobject_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_getpopid() PDProtObject object.getPopId pdadmin object showobject_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_gettype() Not supported pdadmin object showobject_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_list3() PDProtObject.listProtObjectsNote: Before using this information and theproduct it supports, read the information in“Notices” on page 319.

pdadmin object listdirectory_name

Object Space > BrowseObject Space > expandand click object name

ivadmin_protobj_listbyacl() PDProtObject.listProtObjectsByAcl pdadmin acl find acl_name ACL > List ACL > clickACL name > Attach tab

ivadmin_protobj_listbyauthzrule() PDProtObject.listProtObjects ByAuthzRule pdadmin authzrule findruleid

AuthzRule > ListAuthzRule > clickauthorization rule name> Attach tab

ivadmin_protobj_multiaccess() PDProtObject.multiAccess pdadmin object accessobject_name permissions

Not supported.

ivadmin_protobj_setdesc() PDProtObject.setDescriptionPDProtObject object.setDescription

pdadmin object modifyobject_name setdescription description

Object Space > BrowseObject Space > expandand click object name >modify description >Apply

ivadmin_protobj_setname() Not supported pdadmin object modifyobject_name name nameconflict_resolutionresolution_modifier

Not supported

Appendix C. Administration API equivalents 311

Page 328: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_protobj_ setpolicyattachable() PDProtObject.setPolicyAttachablePDProtObject object.setPolicyAttachable

pdadmin object modifyobject_nameisPolicyAttachable{yes|no}

Object Space > BrowseObject Space > expandand click object name >select or clear check box>Apply

ivadmin_protobj_settype() Not supported. pdadmin object modifyobject_name type type

Not supported.

ivadmin_response_getcode() Not applicable. Not applicable. Not applicable.

ivadmin_response_getcount() Not applicable. Not applicable. Not applicable.

ivadmin_response_getmessage() Not applicable. Not applicable. Not applicable.

ivadmin_response_getmodifier() Not applicable. Not applicable. Not applicable.

ivadmin_response_getok() Not applicable. Not applicable. Not applicable.

Not supported. Not supported. pdadmin server list Not supported.

ivadmin_server_gettasklist() PDServer.getTaskList pdadmin server listtasksserver_name

Not supported.

Not supported Not supported pdadmin server showserver_name

Not supported

ivadmin_server_performtask() PDServer.performTask pdadmin server taskserver_name server_task

Not supported.

For more informationabout the WebSEALserver tasks and junctionpoints, see the IBMSecurity Access Managerfor Web: WebSEALAdministration Guide.

pdadmin server taskserver_name {help | stats| trace}

Not supported.

ivadmin_server_replicate() PDServer.serverReplicate pdadmin server replicateserver_name

Not supported.

ivadmin_ssocred_create() PDSSOCred.createSSOCred pdadmin rsrccred createresource_name rsrcuserresource_userid rsrcpwdresource_pwd rsrctype{web | group} useruser_name

User > Search Users >Search > click user name> GSO Credentials tab >Create > fill in form >Create

ivadmin_ssocred_create() PDSSOCred.createSSOCred pdadmin rsrccred createresource_group_namersrcuser resource_useridrsrcpwd resource_pwdrsrctype {web | group}user user_name

User > Search Groups >Search > click user name> GSO Credentials tab >Create > fill in form >Create

ivadmin_ssocred_delete() PDSSOCred.deleteSSOCred pdadmin rsrccred deleteresource_name rsrctype{web | group} useruser_name

User > Search Users >Search > click user name> GSO Credentials tab >select credentials >Delete

ivadmin_ssocred_delete() PDSSOCred.deleteSSOCred pdadmin rsrccred deleteresource_group_namersrctype {web | group}user user_name

User > Search Groups >Search > click user name> GSO Credentials tab >select credentials >Delete

ivadmin_ssocred_get() PDSSOCred constructor pdadmin rsrccred showresource_name rsrctype{web | group} useruser_name

User > Search Users >Search > click user name> GSO Credentials tab

ivadmin_ssocred_getid() PDSSOCred object.getResourceName pdadmin rsrccred showresource_name rsrctype{web | group} useruser_name

User > Search Users >Search > click user name> GSO Credentials tab

ivadmin_ssocred_getssopassword() PDSSOCred object.getResourcePassword Not applicable. Not applicable.

312 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 329: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_ssocred_getssouser() PDSSOCred object.getResourceUser Not applicable. Not applicable.

ivadmin_ssocred_gettype() PDSSOCred object.getResourceType pdadmin rsrccred showresource_name rsrctype{web | group} useruser_name

User > Search Users >Search > click user name> GSO Credentials tab

ivadmin_ssocred_getuser() PDSSOCred object.getUser pdadmin rsrccred showresource_name rsrctype{web | group} useruser_name

User > Search Users >Search > click user name> GSO Credentials tab

ivadmin_ssocred_get() PDSSOCred constructor pdadmin rsrccred showresource_group_namersrctype {web | group}user user_name

User > Search Groups >Search > click user name> GSO Credentials tab

ivadmin_ssocred_list() PDSSOCred object.listAndShowSSOCredsPDSSOCred object.listSSOCreds

pdadmin rsrccred listuser user_name

User > Search Users >Search > click user name> GSO Credentials tab

ivadmin_ssocred_set() PDSSOCred.setSSOCredPDSSOCred object

pdadmin rsrccred modifyresource_name rsrctype{web | group} [-rsrcuserresource_userid][-rsrcpwd resource_pwd]user user_name

User > Search Users >Search > click user name> GSO Credentials tab >Create > modify form >Create

ivadmin_ssocred_set() PDSSOCred.setSSOCred.setSSOCredPDSSOCred object

pdadmin rsrccred modifyresource_group_namersrctype {web | group}[-rsrcuserresource_userid][-rsrcpwd resource_pwd]user user_name

User > Search Groups >Search > click user name> GSO Credentials tab >Create > modify form >Create

ivadmin_ssogroup_addres() PDSSOResourceGroup.addSSOResourcePDSSOResourceGroup object

pdadmin rsrcgroup modifyresource_group_name addrsrcname resource_name

GSO Resource > ListGSO Groups > selectresource group > selectmembers > Add

ivadmin_ssogroup_create() PDSSOResourceGroup.createSSOResourceGroup

pdadmin rsrcgroup createresource_group_name

GSO Resource > CreateGSO Group > fill inform > Create

ivadmin_ssogroup_create() PDSSOResourceGroup.createSSOResourceGroup

pdadmin rsrcgroup createresource_group_name -descdescription

GSO Resource > CreateGSO Group > fill inform and modify thedescription > Create

ivadmin_ssogroup_delete() PDSSOResourceGroup.deleteSSOResourceGroup

pdadmin rsrcgroup deleteresource_group_name

GSO Resource > ListGSO Groups > selectresource groups > Delete

ivadmin_ssogroup_get() PDSSOResourceGroup constructor pdadmin rsrcgroup showresource_group_name

GSO Resource > ListGSO Groups > selectresource group

ivadmin_ssogroup_getdescription() PDSSOResourceGroup object.getDescription pdadmin rsrcgroup showresource_group_name

GSO Resource > ListGSO Groups > selectresource group

ivadmin_ssogroup_getid() PDSSOResourceGroup object.getId pdadmin rsrcgroup showresource_group_name

GSO Resource > ListGSO Groups > selectresource group

ivadmin_ssogroup_getresources() PDSSOResourceGroup object.getSSOResources pdadmin rsrcgroup showresource_group_name

GSO Resource > ListGSO Groups > selectresource group

ivadmin_ssogroup_list() PDSSOResourceGroup.listSSOResourceGroups

pdadmin rsrcgroup list GSO Resource > ListGSO Groups

ivadmin_ssogroup_removeres() PDSSOResourceGroup.removeSSOResourcePDSSOResourceGroup object.removeSSOResource.

pdadmin rsrcgroup modifyresource_group_nameremove rsrcnameresource_name

GSO Resource > ListGSO Groups > selectresource group > selectmembers > Remove

ivadmin_ssoweb_create() PDSSOResource.createSSOResource pdadmin rsrc createresource_name

GSO Resource > CreateGSO > fill in form >Create

Appendix C. Administration API equivalents 313

Page 330: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_ssoweb_create() PDSSOResource.createSSOResource pdadmin rsrc createresource_name -descdescription

GSO Resource > CreateGSO > fill in form andmodify the description >Create

ivadmin_ssoweb_delete() PDSSOResource.deleteSSOResource pdadmin rsrc deleteresource_name

GSO Resource > ListGSO > select resources >Delete

ivadmin_ssoweb_get() PDSSOResource constructor pdadmin rsrc showresource_name

GSO Resource > ListGSO > click resource

ivadmin_ssoweb_getdescription() PDSSOResource object.getDescription pdadmin rsrc showresource_name

GSO Resource > ListGSO > click resource

ivadmin_ssoweb_getid() PDSSOResource object.getId pdadmin rsrc showresource_name

GSO Resource > ListGSO > click resource

ivadmin_ssoweb_list() PDSSOResource.listSSOResources pdadmin rsrc list GSO Resource > ListGSO

ivadmin_user_create3() PDUser.createUser pdadmin user create[-gsouser][-no-password-policy]user_name dn cn snpassword [group1 [group2...]]

User > Create User > fillin form > Create

ivadmin_user_delete2() PDUser.deleteUser pdadmin user delete[-registry] user_name

User > Search Users >type pattern andmaximum results >Search > select usernames > Delete

ivadmin_user_get() PDUser constructor pdadmin user showuser_name

User > Search Users >type pattern andmaximum results >Search > click user name

ivadmin_user_getaccexpdate() PDPolicy object.getAcctExpDate pdadmin user getaccount-expiry-date -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab

ivadmin_user_getaccountvalid() PDUser object.isAccountValid pdadmin user showuser_name

User > Search Users >type pattern andmaximum results >Search > click user name

ivadmin_user_getbydn() PDUser constructor pdadmin user show-dn dn Not supported

ivadmin_user_getcn() PDUser object.getFirstName pdadmin user showuser_name

User > Search Users >type pattern andmaximum results >Search > click user name

ivadmin_user_getdescription() PDUser object.getDescription pdadmin user showuser_name

User > Search Users >type pattern andmaximum results >Search > click user name

ivadmin_user_getdisabletimeint() PDPolicy object.getAcctDisableTimeInterval pdadmin policy getdisable-time-interval-user user_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab

ivadmin_user_getdn() PDUser object.getRgyName pdadmin user showuser_name

User > Search Users >type pattern andmaximum results >Search > click user name

ivadmin_user_getid() PDUser object.getId pdadmin user showuser_name

User > Search Users >type pattern andmaximum results >Search > click user name

ivadmin_user_getmaxconcurwebsess() PDPolicy object.getMaxconcurrentWebSessions pdadmin policy getmax-concurrent-web-sessions -user user_name

User > Show GlobalUser Policy > view MaxConcurrent Web Sessions

314 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 331: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_user_getmaxlgnfails() PDPolicy object.getMaxFailedLogins pdadmin policy getmax-login-failures -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab

ivadmin_user_getmaxpwdage() PDPolicy object.getMaxPwdAge pdadmin policy getmax-password-age -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab

ivadmin_user_getmaxpwdrepchars() PDPolicy object.getMaxPwdRepChars pdadmin policy getmax-password-repeated-chars -user user_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab

ivadmin_user_getmemberships() PDUser object.getGroups pdadmin user show-groupsuser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Groups tab

ivadmin_user_getminpwdalphas() PDPolicy object.getMinPwdAlphas pdadmin policy getmin-password-alphas -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab

ivadmin_user_getminpwdlen() PDPolicy object.getMinPwdLen pdadmin policy getmin-password-length -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab

ivadmin_user_ getminpwdnonalphas() PDPolicy object.getMinPwdNonAlphas pdadmin policy getmin-password-non-alphas-user user_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab

ivadmin_user_getpasswordvalid() PDUser object.isPasswordValid pdadmin user showuser_name

User > Search Users >type pattern andmaximum results >Search > click user name

ivadmin_user_getpwdspaces() PDPolicy object.pwdSpacesAllowed pdadmin policy getpassword-spaces -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab

ivadmin_user_getsn() PDUser object.getLastName pdadmin user showuser_name

User > Search Users >type pattern andmaximum results >Search > click user name

ivadmin_user_getssouser() PDUser object.isSSOUser pdadmin user showuser_name

User > Search Users >type pattern andmaximum results >Search > click user name

ivadmin_user_gettodaccess() PDPolicy object.getAccessibleDaysPDPolicy object.getAccessStartTimePDPolicy object.getAccessEndTime

pdadmin policy gettod-access -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab

ivadmin_user_import2() PDUser.importUser pdadmin user import[-gsouser] user_name dn[group_name]

User > Import User > fillin form > Create

ivadmin_user_list() PDUser.listUsers pdadmin user list patternmax_return

User > Search Users >type pattern andmaximum results >Search

Appendix C. Administration API equivalents 315

Page 332: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_user_listbydn() PDUser.listUsers pdadmin user list-dnpattern max_return

Not supported.

ivadmin_user_setaccexpdate() PDPolicy.setAcctExpDatePDPolicy object.setAcctExpDate

pdadmin policy setaccount-expiry-date{unlimited |absolute_time | unset}-user user_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab > modifyvalue > Apply

ivadmin_user_setaccountvalid() PDUser.setAccountValidPDUser object.setAccountValid

pdadmin user modifyuser_name account-valid{yes|no}

User > Search Users >type pattern andmaximum results >Search > click user name> select or clear checkbox > Apply

ivadmin_user_setdescription() PDUser.setDescriptionPDUser object.setDescription

pdadmin user modifyuser_name descriptiondescription

User > Search Users >type pattern andmaximum results >Search > click user name> modify description>Apply

ivadmin_user_setdisabletimeint() PDPolicy.setAcctDisableTimePDPolicy object.setAcctDisableTime

pdadmin policy setdisable-time-interval{number | unset |disable} -user user_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab > modifyvalue > Apply

ivadmin_user_setmaxconcurwebsess()con_l

PDPolicy.MaxConcurrentWebSessionsDisplacedPDPolicy.MaxConcurrentWebSessionsUnlimitedPDPolicy.MaxConcurrentWebSessionsEnforcedPDPolicy.setMaxconcurrentWebSessionsPDPolicy object.setMaxconcurrentWebSessions

pdadmin policy setmax-concurrent-web-sessions {number |displace | unlimited |unset} -user user_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab > modifyvalue > Apply

ivadmin_user_setmaxlgnfails() PDPolicy.setMaxFailedLoginsPDPolicy object.setMaxFailedLogins

pdadmin policy setmax-login-failures{number | unset} -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab > modifyvalue > Apply

ivadmin_user_setmaxpwdage() PDPolicy.setMaxPwdAgePDPolicy object.setMaxPwdAge

pdadmin policy setmax-password-age {unset |relative_time} -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab > modifyvalue > Apply

ivadmin_user_setmaxpwdrepchars() PDPolicy.setMaxPwdRepCharsPDPolicy object.setMaxPwdRepChars

pdadmin policy setmax-password-repeated-chars {number | unset}-user user_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab > modifyvalue > Apply

ivadmin_user_setminpwdalphas() PDPolicy.setMinPwdAlphasPDPolicy object.setMinPwdAlphas

pdadmin policy setmin-password-alphas{number | unset} -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab > modifyvalue > Apply

ivadmin_user_setminpwdlen() PDPolicy.setMinPwdLenPDPolicy object.setMinPwdLen

pdadmin policy setmin-password-length{number | unset} -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab > modifyvalue > Apply

316 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 333: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Table 39. Mapping of the administration C API to the Java methods, the pdadmin interface, and Web PortalManager (continued)

C API Java class and method pdadmin commandequivalent

Web Portal Managerequivalent

ivadmin_user_setminpwdnonalphas() PDPolicy.setMinPwdNonAlphasPDPolicy object.setMinPwdNonAlphas

pdadmin policy setmin-password-non-alphas{number | unset} -useruser_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab > modifyvalue > Apply tab

ivadmin_user_setpassword() PDUser.setPasswordPDUser object.setPassword

pdadmin user modifyuser_name passwordpassword

User > Search Users >type pattern andmaximum results >Search > click user name> modify password>Apply

ivadmin_user_setpasswordvalid() PDUser.setPasswordValidPDUser object.setPasswordValid

pdadmin user modifyuser_name password-valid{yes|no}

User > Search Users >type pattern andmaximum results >Search > click user name> select or clear checkbox > Apply

ivadmin_user_setpwdspaces() PDPolicy.setPwdSpacesAllowedPDPolicy object.setPwdSpacesAllowed

pdadmin policy setpassword-spaces {yes | no| unset} -user user_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab > modifyvalue > Apply

ivadmin_user_setssouser() PDUser.setSSOUserPDUser object.setSSOUser

pdadmin user modifyuser_name gsouser{yes|no}

User > Search Users >type pattern andmaximum results >Search > click user name> select or clear checkbox > Apply

ivadmin_user_settodaccess() PDPolicy.setTodAccessPDPolicy object.setTodAccess

pdadmin policy settod-access tod_value-user user_name

User > Search Users >type pattern andmaximum results >Search > click user name> Policy tab > modifyvalue > Apply

Appendix C. Administration API equivalents 317

Page 334: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

318 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 335: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

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 inother countries. Consult your local IBM representative for information on theproducts and services currently available in your area. Any reference to an IBMproduct, program, or service is not intended to state or imply that only that IBMproduct, program, or service may be used. Any functionally equivalent product,program, or service that does not infringe any IBM intellectual property right maybe used instead. However, it is the user's responsibility to evaluate and verify theoperation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matterdescribed in this document. The furnishing of this document does not give youany license to these patents. You can send license inquiries, in writing, to:

IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504-1785 U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBMIntellectual Property Department in your country or send inquiries, in writing, to:

Intellectual Property LicensingLegal and Intellectual Property LawIBM Japan, Ltd.19-21, Nihonbashi-Hakozakicho, Chuo-kuTokyo 103-8510, Japan

The following paragraph does not apply to the United Kingdom or any othercountry where such provisions are inconsistent with local law :

INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THISPUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHEREXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESSFOR A PARTICULAR PURPOSE.

Some states do not allow disclaimer of express or implied warranties in certaintransactions, therefore, this statement might not apply to you.

This information could include technical inaccuracies or typographical errors.Changes are periodically made to the information herein; these changes will beincorporated in new editions of the publication. IBM may make improvementsand/or changes in the product(s) and/or the program(s) described in thispublication at any time without notice.

Any references in this information to non-IBM Web sites are provided forconvenience only and do not in any manner serve as an endorsement of those Websites. The materials at those Web sites are not part of the materials for this IBMproduct and use of those Web sites is at your own risk.

© Copyright IBM Corp. 2000, 2012 319

Page 336: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IBM may use or distribute any of the information you supply in any way itbelieves appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purposeof enabling: (i) the exchange of information between independently createdprograms and other programs (including this one) and (ii) the mutual use of theinformation which has been exchanged, should contact:

IBM Corporation2Z4A/10111400 Burnet RoadAustin, TX 78758 U.S.A.

Such information may be available, subject to appropriate terms and conditions,including in some cases payment of a fee.

The licensed program described in this document and all licensed materialavailable for it are provided by IBM under terms of the IBM Customer Agreement,IBM International Program License Agreement or any equivalent agreementbetween us.

Any performance data contained herein was determined in a controlledenvironment. Therefore, the results obtained in other operating environments mayvary significantly. Some measurements may have been made on development-levelsystems and there is no guarantee that these measurements will be the same ongenerally available systems. Furthermore, some measurement may have beenestimated through extrapolation. Actual results may vary. Users of this documentshould verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers ofthose products, their published announcements or other publicly available sources.IBM has not tested those products and cannot confirm the accuracy ofperformance, compatibility or any other claims related to non-IBM products.Questions on the capabilities of non-IBM products should be addressed to thesuppliers of those products.

All statements regarding IBM's future direction or intent are subject to change orwithdrawal without notice, and represent goals and objectives only.

All IBM prices shown are IBM's suggested retail prices, are current and are subjectto change without notice. Dealer prices may vary.

This information is for planning purposes only. The information herein is subject tochange before the products described become available.

This information contains examples of data and reports used in daily businessoperations. To illustrate them as completely as possible, the examples include thenames of individuals, companies, brands, and products. All of these names arefictitious and any similarity to the names and addresses used by an actual businessenterprise is entirely coincidental.

COPYRIGHT LICENSE:

This information contains sample application programs in source language, whichillustrate programming techniques on various operating platforms. You may copy,modify, and distribute these sample programs in any form without payment to

320 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 337: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

IBM, for the purposes of developing, using, marketing or distributing applicationprograms conforming to the application programming interface for the operatingplatform for which the sample programs are written. These examples have notbeen thoroughly tested under all conditions. IBM, therefore, cannot guarantee orimply reliability, serviceability, or function of these programs. You may copy,modify, and distribute these sample programs in any form without payment toIBM for the purposes of developing, using, marketing, or distributing applicationprograms conforming to IBM's application programming interfaces.

Each copy or any portion of these sample programs or any derivative work, mustinclude 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 rightsreserved.

If you are viewing this information in softcopy form, the photographs and colorillustrations might not be displayed.

Trademarks

IBM, the IBM logo, and ibm.com® are trademarks or registered trademarks ofInternational 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 andtrademark information" at www.ibm.com/legal/copytrade.shtml.

Adobe, Acrobat, PostScript and all Adobe-based trademarks are either registeredtrademarks or trademarks of Adobe Systems Incorporated in the United States,other countries, or both.

IT Infrastructure Library is a registered trademark of the Central Computer andTelecommunications Agency which is now part of the Office of GovernmentCommerce.

Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo,Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks orregistered trademarks of Intel Corporation or its subsidiaries in the United Statesand other countries.

Linux is a trademark of Linus Torvalds in the United States, other countries, orboth.

Microsoft, Windows, Windows NT, and the Windows logo are trademarks ofMicrosoft Corporation in the United States, other countries, or both.

ITIL is a registered trademark, and a registered community trademark of the Officeof Government Commerce, and is registered in the U.S. Patent and TrademarkOffice.

UNIX is a registered trademark of The Open Group in the United States and othercountries.

Cell Broadband Engine and Cell/B.E. are trademarks of Sony ComputerEntertainment, Inc., in the United States, other countries, or both and is used underlicense therefrom.

Notices 321

Page 338: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Java and all Java-based trademarks and logos are trademarks or registeredtrademarks of Oracle and/or its affiliates.

322 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 339: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

Index

Aaccess control

administering 31list

entry types 32table 32

table of functions 33accessibility xiiiaccount

functions, table 20user 20

action groupfunctions, table 34overview 34

Active Directory Lightweight DirectoryServer (AD LDS) 294

AD LDSSee Active Directory Lightweight

Directory Server (AD LDS)ADK

installation 3administration API

ADK 3building applications 3deployment 5example program 5installation files 3shared libraries 2supported compilers 4using 7

administration tasks, server 51any-authenticated user 32any-other user 32API

components 2deprecated 289

Security Access Manager version7.0 289

deprecatedprevious releases 289equivalents 301errors

indicating 14introduction 1libraries 2numeric return code 14output argument 14overview 1response object 14

applicationbuilding 3deploying 5

application serversconfiguring 49functions, table 49overview 49

attributesextended 40group 24

auditlog 39records 39

authorization rulesadministering 41functions, table 41

auto-database-update-notify stanzaentry 52

azn_creds_get_pac() function 10

Ccleanup of the Administration API 17code page 8commands

pdadmin 1svrsslcfg 1

compilers tested 4constants

configuration file reference 103deprecated

IVADMIN_USER_DCEAUTHMETH 291

IVADMIN_USER_LDAPAUTHMETH 291

container objects 28context

deleting 17establishing SSL connection 7local 8

credential, resource 45

Ddatabase notification 53DB2 xiidemonstration program 5deprecated constants

IVADMIN_USER_DCEAUTHMETH 291

IVADMIN_USER_LDAPAUTHMETH 291

deprecated functionsivadmin_cfg_addreplica() 289ivadmin_cfg_chgreplica() 289ivadmin_cfg_configureserver() 289ivadmin_cfg_configureserver2() 289ivadmin_cfg_rmvreplica() 289ivadmin_cfg_setapplication cert() 289ivadmin_cfg_setkeyringpwd() 289ivadmin_cfg_setlistening() 289ivadmin_cfg_setport() 289ivadmin_cfg_setssltimeout() 289ivadmin_context _createdefault() 289ivadmin_context_create() 289ivadmin_context_create2() 289ivadmin_group

_removemember() 289ivadmin_group_addmember() 289ivadmin_group_create() 289ivadmin_group_delete() 289ivadmin_group_import() 289ivadmin_pop_getanyothernw() 289

deprecated functions (continued)ivadmin_pop_getipauth() 289ivadmin_pop_getipauth2() 289ivadmin_pop_removeipauth() 289ivadmin_pop_setanyothernew

_forbidden() 289ivadmin_pop_setanyothernw() 289ivadmin_pop_setipauth

_forbidden() 289ivadmin_pop_setipauth() 289ivadmin_protobj _getauthzrule() 289ivadmin_protobj_get() 289ivadmin_protobj_get2() 289ivadmin_protobj_getacl() 289ivadmin_protobj_getpop() 289ivadmin_protobj_list2() 289ivadmin_protobj_setname() 289ivadmin_user_create() 289ivadmin_user_create2() 289ivadmin_user_delete() 289ivadmin_user_getauthmech () 289ivadmin_user_import() 289ivadmin_user_setauthmech () 289

development systems, adding 4domains

building applications 3functions, table 47managing 47methods, table 47

Eeducation xivequivalents of API 301error

codes 16conditions 10detecting 15message modifiers 16messages, text 15

establishing security contexts 7examples

creating objects 11functions that read values 13ivadmin_context_delete() 17modifying the maximum password

age 11program 5returned data types 12set operations 11setting account expiration dates 11

extended actions 35extended attributes

functions, table 34table 40

Ffiles

Java ADK installation directories 3

© Copyright IBM Corp. 2000, 2012 323

Page 340: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

files (continued)message and trace 6

freeing memory 17functions

azn_creds_get_pac() 10deprecated

ivadmin_cfg_addreplica() 289ivadmin_cfg_chgdreplica() 289ivadmin_cfg_configureserver2() 289ivadmin_cfg_rmvdreplica() 289ivadmin_cfg_setapplicationcert() 289ivadmin_cfg_setkeyringpwd() 289ivadmin_cfg_setlistening() 289ivadmin_cfg_setport() 289ivadmin_cfg_setssltmeout() 289ivadmin_context

_createdefault() 289ivadmin_context_create2() 289ivadmin_pop_getanyothernw() 289ivadmin_pop_getipauth() 289ivadmin_pop_getipauth2() 289ivadmin_pop_removeipauth() 289ivadmin_pop_setanyothernew_

forbidden() 289ivadmin_pop_setanyothernw() 289ivadmin_pop_setipauth_

forbidden() 289ivadmin_pop_setipauth() 289ivadmin_protobj

_getauthzrule() 289ivadmin_protobj_get2() 289ivadmin_protobj_getacl() 289ivadmin_protobj_getpop() 289ivadmin_protobj_setname() 289

ivadmin_accessOutdata_getAccessResult() 55

ivadmin_accessOutdata_getPermInfo() 55

ivadmin_accessOutdata_getResponseInfo() 56

ivadmin_acl_attrdelkey() 56ivadmin_acl_attrdelval() 57ivadmin_acl_attrget() 58ivadmin_acl_attrlist() 59ivadmin_acl_attrput() 60ivadmin_acl_create() 61ivadmin_acl_delete() 61ivadmin_acl_get() 62ivadmin_acl_getanyother() 63ivadmin_acl_getdescription() 64ivadmin_acl_getgroup() 64ivadmin_acl_getid() 65ivadmin_acl_getunauth() 66ivadmin_acl_getuser() 66ivadmin_acl_list() 67ivadmin_acl_list2() 68ivadmin_acl_listgroups() 69ivadmin_acl_listusers() 70ivadmin_acl_removeanyother() 71ivadmin_acl_removegroup() 72ivadmin_acl_removeunauth() 72ivadmin_acl_removeuser() 73ivadmin_acl_setanyother() 74ivadmin_acl_setdescription() 75ivadmin_acl_setgroup() 76ivadmin_acl_setunauth() 77ivadmin_acl_setuser() 78

functions (continued)ivadmin_action_create_in_group() 80ivadmin_action_create() 79ivadmin_action_delete_from

_group() 82ivadmin_action_delete() 82ivadmin_action_getdescription 83ivadmin_action_getid() 84ivadmin_action_gettype() 84ivadmin_action_group_create() 85ivadmin_action_group_delete() 86ivadmin_action_group_list() 86ivadmin_action_list_in_group() 88ivadmin_action_list() 87ivadmin_authzrule_create() 89ivadmin_authzrule_delete() 90ivadmin_authzrule_get() 91ivadmin_authzrule_getdescription() 91ivadmin_authzrule_getfailreason() 92ivadmin_authzrule_getid() 92ivadmin_authzrule_getruletext() 93ivadmin_authzrule_list() 94ivadmin_authzrule_setdescription() 94ivadmin_authzrule_setfailreason() 95ivadmin_authzrule_setruletext() 96ivadmin_cfg_addreplica2() 97ivadmin_cfg_chgreplica2() 98ivadmin_cfg_configureserver3() 99,

101ivadmin_cfg_getvalue() 103ivadmin_cfg_removevalue() 105ivadmin_cfg_renewservercert() 107ivadmin_cfg_rmvreplica2() 108ivadmin_cfg_setapplicationcert2() 109ivadmin_cfg_setkeyringpwd2() 110ivadmin_cfg_setlistening2() 110ivadmin_cfg_setport2() 111ivadmin_cfg_setssltimeout2() 112ivadmin_cfg_setsvrpwd() 113ivadmin_cfg_setvalue() 114ivadmin_cfg_unconfigureserver() 116ivadmin_context _getdomainid() 126ivadmin_context

_getmgmtdomainid() 130ivadmin_context

_getminpwdalphas() 132ivadmin_context

_setmaxconcurwebsess() 140ivadmin_context

_setminpwdnonalphas() 145ivadmin_context_cleardelcred() 117ivadmin_context_create3() 9, 118ivadmin_context_createdefault2 9ivadmin_context_createdefault2() 7,

9, 120ivadmin_context_createlocal() 121ivadmin_context_delete() 17, 122ivadmin_context_domainis

management() 123ivadmin_context_getaccexpdate() 123ivadmin_context_getcodeset() 124ivadmin_context_getdisabletimeint() 125ivadmin_context_getmaxconcur

websess() 126ivadmin_context_getmaxlgnfails() 127ivadmin_context_getmaxpwdage() 128

functions (continued)ivadmin_context_getmaxpwdrep

chars() 129ivadmin_context_getmgmtsvrhost() 130ivadmin_context_getmgmtsvrport() 131ivadmin_context_getminpwd

nonalphas() 132ivadmin_context_getminpwdlen() 133ivadmin_context_getpwdspaces() 134ivadmin_context_gettodaccess() 135ivadmin_context_getuserid() 136ivadmin_context_getuserreg() 136ivadmin_context_hasdelcred() 137ivadmin_context_setaccexpdate() 138ivadmin_context_setdelcred() 9, 139ivadmin_context_setdisabletimeint() 139ivadmin_context_setmaxlgnfails 142ivadmin_context_setmaxpwd

repchars() 143ivadmin_context_setmaxpwdage() 143ivadmin_context_setminpwdalphas() 144ivadmin_context_setminpwdlen() 146ivadmin_context_settodaccess() 147ivadmin_domain_delete() 150ivadmin_domain_get() 151ivadmin_domain_getdescription() 151ivadmin_domain_getid() 152ivadmin_domain_list() 153ivadmin_domain_setdescription() 153ivadmin_donain_create() 148ivadmin_free() 17, 154ivadmin_group

_removemembers() 166ivadmin_group_addmembers() 155ivadmin_group_create2() 156ivadmin_group_delete2() 157ivadmin_group_get() 158ivadmin_group_getbydn() 159ivadmin_group_getcn() 160ivadmin_group_getdescription() 160ivadmin_group_getdn 161ivadmin_group_getid() 162ivadmin_group_getmembers() 162ivadmin_group_import2() 163ivadmin_group_list() 164ivadmin_group_listbydn() 165ivadmin_group_setdescription() 167ivadmin_message_getcount() 16ivadmin_objectspace_create() 168ivadmin_objectspace_delete() 169ivadmin_objectspace_list() 170ivadmin_pop_attach() 171ivadmin_pop_attrdelkey() 172ivadmin_pop_attrdelval() 172ivadmin_pop_attrget() 173ivadmin_pop_attrlist() 174ivadmin_pop_attrput() 175ivadmin_pop_create() 176ivadmin_pop_delete() 177ivadmin_pop_detach() 177ivadmin_pop_find() 178ivadmin_pop_get() 179ivadmin_pop_getanyothernw2() 180ivadmin_pop_getauditlevel() 180ivadmin_pop_getdescription() 181ivadmin_pop_getid() 182ivadmin_pop_getipauth3() 183

324 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 341: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

functions (continued)ivadmin_pop_getqop() 184ivadmin_pop_gettod() 184ivadmin_pop_getwarnmode() 185ivadmin_pop_list() 186ivadmin_pop_removeipauth2() 187ivadmin_pop_setanyothernw_

forbidden2() 189ivadmin_pop_setanyothernw() 38ivadmin_pop_setanyothernw2() 188ivadmin_pop_setauditlevel() 190ivadmin_pop_setdescription() 191ivadmin_pop_setipauth

_forbidden2() 192ivadmin_pop_setipauth() 38ivadmin_pop_setipauth2() 191ivadmin_pop_setqop() 193ivadmin_pop_settod() 194ivadmin_pop_setwarnmode() 196ivadmin_protobj

_detachauthzrule() 206ivadmin_protobj

_getpolicyattachable() 215ivadmin_protobj

_setpolicyattachable() 223ivadmin_protobj_ attrput() 203ivadmin_protobj_access() 196ivadmin_protobj_attachacl() 198ivadmin_protobj_attachauthzrule() 199ivadmin_protobj_attrdelkey() 199ivadmin_protobj_attrdelval() 200ivadmin_protobj_attrget() 201ivadmin_protobj_attrlist() 202ivadmin_protobj_create() 204ivadmin_protobj_delete() 205ivadmin_protobj_detachacl() 205ivadmin_protobj_effattrget() 207ivadmin_protobj_effattrlist() 208ivadmin_protobj_exists() 209ivadmin_protobj_get3() 209ivadmin_protobj_getaclid() 211ivadmin_protobj_getauthzruleid() 211ivadmin_protobj_getdesc() 212ivadmin_protobj_geteffaclid() 213ivadmin_protobj_geteffauthzruleid() 213ivadmin_protobj_geteffpopid() 214ivadmin_protobj_getid() 215ivadmin_protobj_getpopid() 216ivadmin_protobj_gettype() 217ivadmin_protobj_list3() 217ivadmin_protobj_listbyacl() 219ivadmin_protobj_listbyauthzrule() 219ivadmin_protobj_multiaccess() 220ivadmin_protobj_setdesc() 222ivadmin_protobj_settype() 224ivadmin_response_getcode() 16, 224ivadmin_response_getcount() 15, 16,

225ivadmin_response_getmessage() 15,

225ivadmin_response_getmodifier() 16,

226ivadmin_response_getok() 15, 226ivadmin_server_gettasklist() 227ivadmin_server_performtask() 228ivadmin_server_replicate() 229ivadmin_ssocred_create() 230

functions (continued)ivadmin_ssocred_delete() 231ivadmin_ssocred_get() 232ivadmin_ssocred_getid() 233ivadmin_ssocred_getsso

password() 234ivadmin_ssocred_getssouser() 234ivadmin_ssocred_gettype() 235ivadmin_ssocred_getuser() 236ivadmin_ssocred_list() 236ivadmin_ssocred_set() 237ivadmin_ssogroup

_getresources() 243ivadmin_ssogroup_addres() 238ivadmin_ssogroup_create() 239ivadmin_ssogroup_delete() 240ivadmin_ssogroup_get

description() 241ivadmin_ssogroup_get() 241ivadmin_ssogroup_getid() 242ivadmin_ssogroup_list() 244ivadmin_ssogroup_removeres() 244ivadmin_ssoweb_create() 245ivadmin_ssoweb_delete() 246ivadmin_ssoweb_get() 247ivadmin_ssoweb_getdescription() 247ivadmin_ssoweb_getid() 248ivadmin_ssoweb_list() 249ivadmin_user

_getdisabletimeint() 256ivadmin_user

_getminpwdalphas() 264ivadmin_user_

getmaxconcurwebsess() 259ivadmin_user_

getmaxpwdrepchars() 262ivadmin_user_

getminpwdnonalphas() 265ivadmin_user_create3() 10, 19, 250ivadmin_user_delete2() 19, 251ivadmin_user_get() 252ivadmin_user_getaccexpdate() 253ivadmin_user_getaccountvalid() 254ivadmin_user_getbydn() 254ivadmin_user_getcn() 255ivadmin_user_getdescription() 256ivadmin_user_getdn() 257ivadmin_user_getid() 258ivadmin_user_getlastlogin() 259ivadmin_user_getlastpwdchange() 155ivadmin_user_getmaxlgnfails() 260ivadmin_user_getmaxpwdage() 261ivadmin_user_getmemberships() 263ivadmin_user_getminpwdlen() 265ivadmin_user_getpasswordvalid() 266ivadmin_user_getpwdspaces() 267ivadmin_user_getsn() 268ivadmin_user_getssouser() 269ivadmin_user_gettodaccess() 269ivadmin_user_import2() 270ivadmin_user_list() 14, 271ivadmin_user_listbydn() 272ivadmin_user_setaccexpdate() 11, 273ivadmin_user_setaccountvalid() 274ivadmin_user_setdescription() 275ivadmin_user_setdisabletimeint() 276

functions (continued)ivadmin_user_setmaxconcur

websess() 277ivadmin_user_setmaxlgnfails() 278ivadmin_user_setmaxpwd

repchars() 280ivadmin_user_setmaxpwdage() 11,

279ivadmin_user_setminpwd

alphas() 281ivadmin_user_setminpwd

nonalphas() 283ivadmin_user_setminpwdlen() 282ivadmin_user_setpassword() 284ivadmin_user_setpasswordvalid() 284ivadmin_user_setpwdspaces() 285ivadmin_user_setssouser() 286ivadmin_user_settodaccess() 287

functionsivadmin_context_setpwdspaces() 147

functions, deprecateddeprecated

ivadmin_cfg_configureserver() 289ivadmin_context_create() 289ivadmin_group

_removemember() 289ivadmin_group_addmember() 289ivadmin_group_create() 289ivadmin_group_delete() 289ivadmin_group_import() 289ivadmin_protobj_get() 289ivadmin_protobj_list2() 289ivadmin_user_create() 289ivadmin_user_create2() 289ivadmin_user_delete() 289ivadmin_user_getauthmech () 289ivadmin_user_import() 289ivadmin_user_setauthmech () 289

GgetLocalDomainName 47getMgmtDomainName 47group

access control list entry type 32attributes 24functions table 23overview 19resource 44

gskcapicmd xiigskikm.jar xiiGSKit

documentation xii

IIBM

Global Security Toolkit 3Software Support xivSupport Assistant xiv

iKeyman xiiinitialization of response objects 15installation

ADK 3requirements 3

Index 325

Page 342: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_accessOutdata_getAccessResult() function 55

ivadmin_accessOutdata _getPermInfo()function 55

ivadmin_accessOutdata_getResponseInfo() function 56

ivadmin_acl object 32ivadmin_acl_attrdelkey() function 56ivadmin_acl_attrdelval() function 57ivadmin_acl_attrget() function 58ivadmin_acl_attrlist() function 59ivadmin_acl_attrput() function 60ivadmin_acl_create() function 61ivadmin_acl_delete() function 61ivadmin_acl_get() function 62ivadmin_acl_getanyother() function 63ivadmin_acl_getdescription()

function 64ivadmin_acl_getgroup() function 64ivadmin_acl_getid() function 65ivadmin_acl_getunauth() function 66ivadmin_acl_getuser() function 66ivadmin_acl_list() function 67ivadmin_acl_list2() function 68ivadmin_acl_listgroups() function 69ivadmin_acl_listusers() function 70ivadmin_acl_removeanyother()

function 71ivadmin_acl_removegroup() function 72ivadmin_acl_removeunauth()

function 72ivadmin_acl_removeuser() function 73ivadmin_acl_setanyother() function 74ivadmin_acl_setdescription() function 75ivadmin_acl_setgroup() function 76ivadmin_acl_setunauth() function 77ivadmin_acl_setuser() function 78ivadmin_action_create_in_group()

function 80ivadmin_action_create() function 79ivadmin_action_delete_from _group()

function 82ivadmin_action_delete() function 82ivadmin_action_getdescription()

function 83ivadmin_action_getid() function 84ivadmin_action_gettype() function 84ivadmin_action_group_create()

function 85ivadmin_action_group_delete()

function 86ivadmin_action_group_list() function 86ivadmin_action_list_in_group()

function 88ivadmin_action_list() function 87ivadmin_authzrule_create() function 89ivadmin_authzrule_delete() function 90ivadmin_authzrule_get() function 91ivadmin_authzrule_getdescription()

function 91ivadmin_authzrule_getfailreason()

function 92ivadmin_authzrule_getid() function 92ivadmin_authzrule_getruletext()

function 93ivadmin_authzrule_list() function 94

ivadmin_authzrule_setdescription()function 94

ivadmin_authzrule_setfailreason()function 95

ivadmin_authzrule_setruletext()function 96

ivadmin_cfg_addreplica() function(deprecated) 289

ivadmin_cfg_addreplica2() function 97ivadmin_cfg_chgreplica() function

(deprecated) 289ivadmin_cfg_chgreplica2() function 98ivadmin_cfg_configureserver() function

(deprecated) 289ivadmin_cfg_configureserver2() function

(deprecated) 289ivadmin_cfg_configureserver3()

function 99, 101ivadmin_cfg_getvalue() function 103ivadmin_cfg_removevalue()

function 105ivadmin_cfg_renewservercert()

function 107ivadmin_cfg_rmvreplica() function

(deprecated) 289ivadmin_cfg_rmvreplica2() function 108ivadmin_cfg_setapplicationcert() function

(deprecated) 289ivadmin_cfg_setapplicationcert2()

function 109ivadmin_cfg_setkeyringpwd() function

(deprecated) 289ivadmin_cfg_setkeyringpwd2()

function 110ivadmin_cfg_setlistening() function

(deprecated) 289ivadmin_cfg_setlistening2() function 110ivadmin_cfg_setport() function

(deprecated) 289ivadmin_cfg_setport2() function 111ivadmin_cfg_setssltimeout() function

(deprecated) 289ivadmin_cfg_setssltimeout2()

function 112ivadmin_cfg_setsvrpwd() function 113ivadmin_cfg_setvalue() function 114ivadmin_cfg_unconfigureserver()

function 116ivadmin_context _createdefault() function

(deprecated) 289ivadmin_context _getdomainid()

function 126ivadmin_context _getmgmtdomainid()

function 130ivadmin_context _getminpwdalphas()

function 132ivadmin_context _setmaxconcurwebsess()

function 140ivadmin_context _setminpwdnonalphas()

function 145ivadmin_context object 9, 17ivadmin_context_cleardelcred()

function 117ivadmin_context_create() function

(deprecated) 289ivadmin_context_create2() function

(deprecated) 289

ivadmin_context_create3() function 9,118

ivadmin_context_createdefault2()function 7, 9, 120

ivadmin_context_createlocal()function 121

ivadmin_context_delete() function 17,122

ivadmin_context_domainis management()function 123

ivadmin_context_getaccexpdate()function 123

ivadmin_context_getcodeset()function 124

ivadmin_context_getdisabletimeint()function 125

ivadmin_context_getmaxconcurwebsess()) function 126

ivadmin_context_getmaxlgnfails()function 127

ivadmin_context_getmaxpwdage()function 128

ivadmin_context_getmaxpwdrep chars()function 129

ivadmin_context_getmgmtsvrhost()function 130

ivadmin_context_getmgmtsvrport()function 131

ivadmin_context_getminpwd nonalphas()function 132

ivadmin_context_getminpwdlen()function 133

ivadmin_context_getpwdspaces()function 134

ivadmin_context_gettodaccess()function 135

ivadmin_context_getuserid()function 136

ivadmin_context_getuserreg()function 136

ivadmin_context_hasdelcred()function 137

ivadmin_context_setaccexpdate()function 138

ivadmin_context_setdelcred() function 9,139

ivadmin_context_setdisabletimeint()function 139

ivadmin_context_setmaxlgnfails()function 142

ivadmin_context_setmaxpwd repchars()function 143

ivadmin_context_setmaxpwdage()function 11, 143

ivadmin_context_setminpwdalphas()function 144

ivadmin_context_setminpwdlen()function 146

ivadmin_context_setpwdspaces()function 147

ivadmin_context_settodaccess()function 147

ivadmin_domain_create() function 148ivadmin_domain_delete() function 150ivadmin_domain_get() function 151ivadmin_domain_getdescription()

function 151

326 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 343: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_domain_getid() function 152ivadmin_domain_list() function 153ivadmin_domain_setdescription()

function 153IVADMIN_FALSE 15ivadmin_free() function 17, 154ivadmin_group _removemember()

function (deprecated) 289ivadmin_group _removemembers()

function 166ivadmin_group_addmember() function

(deprecated) 289ivadmin_group_addmembers()

function 155ivadmin_group_create() function

(deprecated) 289ivadmin_group_create2() function 156ivadmin_group_delete() function

(deprecated) 289ivadmin_group_delete2() function 157ivadmin_group_get() function 158ivadmin_group_getbydn() function 159ivadmin_group_getcn() function 160ivadmin_group_getdescription()

function 160ivadmin_group_getdn() function 161ivadmin_group_getid() function 162ivadmin_group_getmembers()

function 162ivadmin_group_import() function

(deprecated) 289ivadmin_group_import2() function 163ivadmin_group_list() function 164ivadmin_group_listbydn() function 165ivadmin_group_setdescription()

function 167ivadmin_message_getcount()

function 16ivadmin_objectspace_create()

function 168ivadmin_objectspace_delete()

function 169ivadmin_objectspace_list() function 170ivadmin_pop object 37ivadmin_pop_attach() function 171ivadmin_pop_attrdelkey() function 172ivadmin_pop_attrdelval() function 172ivadmin_pop_attrget() function 173ivadmin_pop_attrlist() function 174ivadmin_pop_attrput() function 175ivadmin_pop_create() function 176ivadmin_pop_delete() function 177ivadmin_pop_detach() function 177ivadmin_pop_find() function 178ivadmin_pop_get() function 179ivadmin_pop_getanyothernw() function

(deprecated) 289ivadmin_pop_getanyothernw2()

function 180ivadmin_pop_getauditlevel()

function 180ivadmin_pop_getdescription()

function 181ivadmin_pop_getid() function 182ivadmin_pop_getipauth() function

(deprecated) 289

ivadmin_pop_getipauth2() function(deprecated) 289

ivadmin_pop_getipauth3() function 183ivadmin_pop_getqop() function 184ivadmin_pop_gettod() function 184ivadmin_pop_getwarnmode()

function 185ivadmin_pop_list() function 186ivadmin_pop_removeipauth() function

(deprecated) 289ivadmin_pop_removeipauth2()

function 187ivadmin_pop_setanyothernew

_forbidden() function (deprecated) 289ivadmin_pop_setanyothernw_

forbidden2() function 189ivadmin_pop_setanyothernw()

function 38ivadmin_pop_setanyothernw() function

(deprecated) 289ivadmin_pop_setanyothernw2()

function 188ivadmin_pop_setauditlevel()

function 190ivadmin_pop_setdescription

function() 191ivadmin_pop_setipauth _forbidden()

function (deprecated) 289ivadmin_pop_setipauth _forbidden2()

function 192ivadmin_pop_setipauth() function 38ivadmin_pop_setipauth() function

(deprecated) 289ivadmin_pop_setipauth2() function 191ivadmin_pop_setqop() function 193ivadmin_pop_settod() function 194ivadmin_pop_setwarnmode()

function 196ivadmin_protobj _detachauthzrule()

function 206ivadmin_protobj _getauthzrule() function

(deprecated) 289ivadmin_protobj _getpolicyattachable()

function 215ivadmin_protobj _setpolicyattachable()

function 223ivadmin_protobj_ attrput() function 203ivadmin_protobj_access() function 196ivadmin_protobj_attachacl()

function 198ivadmin_protobj_attachauthzrule()

function 199ivadmin_protobj_attrdelkey()

function 199ivadmin_protobj_attrdelval()

function 200ivadmin_protobj_attrget() function 201ivadmin_protobj_attrlist() function 202ivadmin_protobj_create() function 204ivadmin_protobj_delete() function 205ivadmin_protobj_detachacl()

function 205ivadmin_protobj_effattrget() 207ivadmin_protobj_effattrlist() 208ivadmin_protobj_exists() function 209ivadmin_protobj_get() function

(deprecated) 289

ivadmin_protobj_get2() function(deprecated) 289

ivadmin_protobj_get3() function 209ivadmin_protobj_getacl() function

(deprecated) 289ivadmin_protobj_getaclid() function 211ivadmin_protobj_getauthzruleid()

function 211ivadmin_protobj_getdesc() function 212ivadmin_protobj_geteffaclid()

function 213ivadmin_protobj_geteffauthzruleid()

function 213ivadmin_protobj_geteffpopid()

function 214ivadmin_protobj_getid() function 215ivadmin_protobj_getpop() function

(deprecated) 289ivadmin_protobj_getpopid()

function 216ivadmin_protobj_gettype() function 217ivadmin_protobj_list2() function

(deprecated) 289ivadmin_protobj_list3() function 217ivadmin_protobj_listbyacl() function 219ivadmin_protobj_listbyauthzrule()

function 219ivadmin_protobj_multiaccess()

function 220ivadmin_protobj_setdesc() function 222ivadmin_protobj_setname() function

(deprecated) 289ivadmin_protobj_settype() function 224ivadmin_response object 9, 10, 15, 17IVADMIN_RESPONSE_ERROR 16ivadmin_response_getcode()

function 16, 224ivadmin_response_getcount()

function 15, 16, 225ivadmin_response_getmessage()

function 15, 225ivadmin_response_getmodifier()

function 16, 226ivadmin_response_getok() function 15,

226IVADMIN_RESPONSE_INFO 16IVADMIN_RESPONSE_WARNING 16ivadmin_server_gettasklist()

function 227ivadmin_server_performtask()

function 228ivadmin_server_replicate 52ivadmin_server_replicate() function 229ivadmin_ssocred_create() function 230ivadmin_ssocred_delete() function 231ivadmin_ssocred_get() function 232ivadmin_ssocred_getid() function 233ivadmin_ssocred_getsso password()

function 234ivadmin_ssocred_getssouser()

function 234ivadmin_ssocred_gettype() function 235ivadmin_ssocred_getuser() function 236ivadmin_ssocred_list() function 236ivadmin_ssocred_set() function 237ivadmin_ssogroup _getresources()

function 243

Index 327

Page 344: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

ivadmin_ssogroup_addres()function 238

ivadmin_ssogroup_create() function 239ivadmin_ssogroup_delete() function 240ivadmin_ssogroup_get description()

function 241ivadmin_ssogroup_get() function 241ivadmin_ssogroup_getid() function 242ivadmin_ssogroup_list() function 244ivadmin_ssogroup_removeres()

function 244ivadmin_ssoweb_create() function 245ivadmin_ssoweb_delete() function 246ivadmin_ssoweb_get() function 247ivadmin_ssoweb_getdescription()

function 247ivadmin_ssoweb_getid() function 248ivadmin_ssoweb_list() function 249IVADMIN_TRUE 15ivadmin_user _getdisabletimeint()

function 256ivadmin_user _getminpwdalphas()

function 264ivadmin_user_ getmaxconcurwebsess())

function 259ivadmin_user_ getmaxpwdrepchars()

function 262ivadmin_user_ getminpwdnonalphas()

function 265ivadmin_user_create() function

(deprecated) 289ivadmin_user_create2() function

(deprecated) 289ivadmin_user_create3() function 10, 19,

250IVADMIN_USER_DCEAUTHMETH

constant (deprecated) 291ivadmin_user_delete() function

(deprecated) 289ivadmin_user_delete2() function 19, 251ivadmin_user_get() function 252ivadmin_user_getaccexpdate()

function 253ivadmin_user_getaccountvalid()

function 254ivadmin_user_getauthmech () function

(deprecated) 289ivadmin_user_getbydn() function 254ivadmin_user_getcn() function 255ivadmin_user_getdescription()

function 256ivadmin_user_getdn() function 257ivadmin_user_getid() function 258ivadmin_user_getlastlogin() function 259ivadmin_user_getlastpwdchange()

function 155ivadmin_user_getmaxlgnfails()

function 260ivadmin_user_getmaxpwdage()

function 261ivadmin_user_getmemberships()

function 263ivadmin_user_getminpwdlen()

function 265ivadmin_user_getpasswordvalid()

function 266

ivadmin_user_getpwdspaces()function 267

ivadmin_user_getsn() function 268ivadmin_user_getssouser() function 269ivadmin_user_gettodaccess()

function 269ivadmin_user_import() function

(deprecated) 289ivadmin_user_import2() function 270IVADMIN_USER_LDAPAUTHMETH

constant (deprecated) 291ivadmin_user_list() function 14, 271ivadmin_user_listbydn() function 272ivadmin_user_setaccexpdate()

function 11, 273ivadmin_user_setaccountvalid()

function 274ivadmin_user_setauthmech () function

(deprecated) 289ivadmin_user_setdescription()

function 275ivadmin_user_setdisabletimeint()

function 276ivadmin_user_setmaxconcur websess()

function 277ivadmin_user_setmaxlgnfails()

function 278ivadmin_user_setmaxpwd repchars()

function 280ivadmin_user_setmaxpwdage()

function 279ivadmin_user_setminpwd alphas()

function 281ivadmin_user_setminpwd nonalphas()

function 283ivadmin_user_setminpwdlen()

function 282ivadmin_user_setpassword()

function 284ivadmin_user_setpasswordvalid()

function 284ivadmin_user_setpwdspaces()

function 285ivadmin_user_setssouser() function 286ivadmin_user_settodaccess()

function 287

JJava

class and method equivalents 301user registry 293

Kkey xii

LLDAP server

on z/OS xiiLDAP_ADMINLIMIT _EXCEEDED 294libraries

linking 4shared 2

local domain 47

logsmessage and trace 6

look-through limit 294

Mmanagement domain 47memory, freeing 17message logs 6Microsoft Active Directory Server 295modifying values for objects 11

Nnames

length 297shared libraries 2

notificationautomatic 52manual 52wait time 53

notifier-wait-time stanza entry 53

Oobjects

creating 10, 11example 11getting 12information, listing 13initialization of response objects 15ivadmin_acl 32ivadmin_context 9, 17ivadmin_pop 37ivadmin_response 9, 10, 15, 17modifying values 11PDAuthzRule 41PDPop 37PDProtObject 28, 37PDProtObjectSpace 27PDServer 53setting values 11values, reading 13

onlinepublications ixterminology ix

optionsPDAppSvrConfig 49PDDomain 47

Ppassword

functions, table 22user 22

Password policyLDAP 293

pdadmincommand equivalents 301command line utility 1

PDAppSvrConfig option 49PDAuthzRule objects 41PDDomain object 47PDPop objects 37PDProtObject object 28

328 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 345: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

PDProtObject objects 37PDServer 51PDServer object 51PDServer objects 53policy server 47

daemon 6tracing 6

POP 27Privilege Attribute Certificate data,

creating 10problem determination

gathering log information 5tracing errors with runtime

component 6problem-determination xivprotected object policy

extended attributes 40functions, table 37, 40managing 37objects 37overview 27settings 38settings, table 39

protected object spacesfunctions, table 28management 27overview 27

protected objectscreating 204extended attributes 30functions, table 28management 28overview 27

publicationsaccessing online ixlist of for this product ix

Rreading object values 13registry

user 3users, creating 10

replica databasesautomatic notification 52manual notification 52notification of updates 51notification wait time 53

replicasconfiguration file 50managing 50

requirements for installation 3resource

credential, functions, table 45group, functions, table 44objects 28web, functions table 43

response objects, initialization 15returned error conditions 10

Ssecure domain 3Secure Sockets Layer (SSL) 1, 7security context

backward compatibility 9

security context (continued)delegating user credentials 9deleting 17establishing 9examples

ivadmin_context_createdefault2 9

overview 7required input parameters 8returned objects 9

secUser 19servers

functions, table 53overview 51

setobject values 11operations, examples 11

shared libraries 2shutdown of the Administration API 17single sign-on (SSO) capability 43software requirements 3SSL

configuration 49default configuration 7session 1

Sun Java System Directory ServerLDAP_ADMINLIMIT

_EXCEEDED 294look-through limit 294

svrsslcfg command line utility 1, 49

Tterminology ixtested compilers 4Tivoli Directory Integrator xiiTivoli Directory Server xiiTivoli Directory Server client 3trace logs 6training xivtroubleshooting xiv

See problem determinationtypes, returned by get functions 12

Uunauthenticated user 32Unicode Transformation Format 8 8URAF 295user

accounts 20accounts, functions, table 20credentials, delegating 9

user functions, table 20user passwords

functions, table 22user registry 3

concerns 293differences 293URAF 295users, creating 10

usersany-authenticated 32any-other 32creating for user registry 10managing 19

users (continued)overview 19unauthenticated 32

UTF-8 8

Wwait time, notification 53warning attribute 39Web Portal Manager

equivalents 301web resources 43WebSphere Application Server Network

Deployment xiiWebSphere eXtreme Scale xii

Index 329

Page 346: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

330 IBM Security Access Manager for Web Version 7.0: Administration C API Developer Reference

Page 347: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information
Page 348: Administration CAPI Developer Reference...Administration CAPI Developer Reference SC23-6513-02 Note Before using this information and the product it supports, read the information

����

Printed in USA

SC23-6513-02