Siteminder Perl Scripting Enu
Siteminder Perl Scripting Enu
This documentation and any related computer software help programs (hereinafter referred to as the "Documentation") are for your informational purposes only and are subject to change or withdrawal by CA at any time. This Documentation may not be copied, transferred, reproduced, disclosed, modified or duplicated, in whole or in part, without the prior written consent of CA. This Documentation is confidential and p roprietary information of CA and may not be used or disclosed by you except as may be permitted in a separate confidentiality agreement between you and CA. Notwithstanding the foregoing, if you are a licensed user of the software product(s) addressed in the Documentation, you may print a reasonable number of copies of the Documentation for internal use by you and your employees in connection with that software, provided that all CA copyright notices and legends are affixed to each reproduced copy. The right to print copies of the Documentation is limited to the period during which the applicable license for such software remains in full force and effect. Should the license terminate for any reason, it is your responsibility to certify in writing to CA that all copies and partial copies of the Documentation have been returned to CA or destroyed. TO THE EXTENT PERMITTED BY APPLICABLE LAW, CA PROVIDES THIS DOCUMENTATION "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT WILL CA BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF CA IS EXPRESSLY ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE. The use of any software product referenced in the Documentation is governed by the applicable license agreement and is not modified in any way by the terms of this notice. The manufacturer of this Documentation is CA. Provided with "Restricted Rights." Use, duplication or disclosure by the United States Government is subject to the restrictions set forth in FAR Sections 12.212, 52.227-14, and 52.227-19(c)(1) - (2) and DFARS Section 252.227-7014(b)(3), as applicable, or their successors. Copyright 2009 CA. All rights reserved. All trademarks, trade names, service marks, and logos referenced herein belong to their respective companies.
CA Product References
This document references the following CA products: CA SiteMinder
Contact CA
Contact Technical Support For your convenience, CA provides one site where you can access the information you need for your Home Office, Small Business, and Enterprise CA products. At http://ca.com/support, you can access the following: Online and telephone contact information for technical assistance and customer services Information about user communities and forums Product and documentation downloads CA Support policies and guidelines Other helpful resources appropriate for your product
Provide Feedback If you have comments or questions about CA product documentation, you can send a message to [email protected]. If you would like to provide feedback about CA product documentation, complete our short customer survey, which is also available on the CA Support website, found at http://ca.com/docs.
Contents
Chapter 1: Perl Scripting Overview 25
About the SiteMinder Command Line Interface ................................................... 25 Installation Path ................................................................................ 26 Perl Location ................................................................................ 26 Where to Run Your Scripts ...................................................................... 26 CLI Example: Create a Policy Store Object ....................................................... 27 CLI Example: View and Set Individual Properties ................................................. 28 Location of Sample Scripts ...................................................................... 29 Related Documentation ......................................................................... 29 Object Dependencies Poster ................................................................. 29
31
About Agents and the Agent API................................................................. 31 Write a Script against the Agent API ............................................................. 32 Single Sign-on and the Agent API ............................................................... 33 Single Sign-on Support for Custom Agents ................................................... 34 Single Sign-on Support for Standard Agents ................................................. 34 Session Information ............................................................................ 35 Advantages of Session Variables ............................................................. 35 SiteMinder Support ......................................................................... 35 Requirements for Using Session Variables .................................................... 36 End of Session Cleanup ..................................................................... 36 Objects and the Object Hierarchy ................................................................ 37
39
Agent Administration Methods ................................................................... 39 AddServerConfig MethodAdds Policy Server Configurations to Agent API Object.............. 40 Connect MethodEstablishes Connection between Agent API and Policy Server ................ 41 CreateBootstrapFile MethodGenerates Bootstrap File for Connecting to Agent ................ 42 CreateUser MethodCreates a User Object .................................................. 43 Disconnect MethodCloses Connection between Agent and Policy Server ..................... 44 DoManagement MethodRequests Agent Commands from Policy Server ...................... 45 GetResource MethodRetrieves the Specified Resource ...................................... 45 IncrementRefCount MethodIncrement the Reference Count ................................. 46 New MethodConstructs the Agent API ...................................................... 47 PrintDebugTrace MethodOutputs Trace Information to Console .............................. 48
Contents 5
SetErrorCallback MethodRegisters Subroutine that Processes Error Messages ................ 48 SetTraceCallback MethodRegisters Subroutine that Processes Trace Messages ............... 49 Resource Methods .............................................................................. 51 GetAuthType MethodRetrieves the Type of Credentials Required ............................ 51 IsProtected MethodChecks whether SiteMinder Is Protecting Resource....................... 53 Response Methods .............................................................................. 53 GetAttributes MethodRetrieves List of Available Response Attributes ........................ 54 GetSession MethodRetrieves the Session from the Response ................................ 54 Response Attribute Methods ..................................................................... 55 GetFlags MethodRetrieves Response Attribute's Flags ....................................... 55 GetID MethodRetrieves Response Attribute's ID or Agent Command's ID .................... 55 GetName MethodRetrieves Response Attribute's Name ..................................... 58 GetTTL MethodRetrieves Response Attribute's TTL Value .................................... 58 GetValue MethodRetrieves Response Attribute's Value ...................................... 59 Server Configuration Method .................................................................... 59 IPAddress MethodSets or Retrieves Policy Server's IP Address .............................. 59 Session Methods ................................................................................ 60 AddParameter MethodAdds Session Variable Name-Value Pair to Parameters List ............ 60 DelVariables MethodDeletes Session Variables from Session Store .......................... 62 GetID MethodRetrieves the Session ID ..................................................... 63 GetReason MethodRetrieves the Session's Reason ID ....................................... 63 GetSpec MethodRetrieves the Encrypted Session Specification .............................. 65 GetVariables MethodRetrieves Session Variables from Session Store ........................ 66 IdleTimeout MethodRetrieves Session's Idle Timeout Value ................................. 66 MaxTimeout MethodRetrieves Session's Maximum Timeout Value ........................... 67 SetVariables MethodWrites Session Variables to Session Store .............................. 67 Single Sign-on Token Methods .................................................................. 68 Decode MethodDecodes a Single Sign-on Token ............................................ 68 GetString MethodRetrieves String Representation of SSO Token Object ..................... 70 GetVersion MethodRetrieves SiteMinder Version of SSO Token .............................. 70 IsThirdParty MethodDetermines Whether the Token Is Custom .............................. 71 User Methods ................................................................................... 72 Audit MethodAudits Authorizations Performed out of Agent Cache ........................... 72 Certificate MethodSets or Retrieves User's X.509 Cerficate .................................. 73 CertificateFile MethodSets or Retrieves User's X.509 Certificate Using File ................... 74 CreateSSOToken MethodCreates Single Sign-on Token Object .............................. 75 CustomData MethodSets or Retrieves Custom Authentication Data .......................... 76 FormData MethodSets or Retrieves HTML Forms-based Authentication Data ................. 76 GetResponse MethodReturns Response After IsAuthorized or Login.......................... 77 Impersonate MethodAllows One User to Impersonate Another .............................. 78 IsAuthorized MethodDetermines Whether User Is Authorized................................ 79 Login MethodPerforms Session Login and Validation ........................................ 80
Logout MethodLogs the User out of the Session ............................................ 81 Name MethodSets or Retrieves the User's Username ....................................... 82 Password MethodSets or Retrieves the User's Password..................................... 82 Validate MethodValidates a Session Specification ........................................... 83
85
Resource Protection ............................................................................. 85 Responses and Response Attributes ............................................................. 86 Retrieve Response Attributes ................................................................ 87 Session Management ........................................................................... 88 Policy Server Commands ........................................................................ 90
91
About the Policy Server and the Policy Management API .......................................... 91 Location of the Policy Management API ...................................................... 92 Write a Script against the Policy Management API ................................................ 92 Script Execution Performance Enhancement.................................................. 93 Federation Security Services .................................................................... 93 SAML Assertions ............................................................................ 93 SAML 1.x ................................................................................... 94 SAML 2.0 ................................................................................... 96 WS-Federation ............................................................................. 100 Sample Scripts ............................................................................ 102 Affiliate Domains .............................................................................. 102 Authentication Scheme Configuration ........................................................... 102 Configuration Information .................................................................. 103 Configuration Tables ....................................................................... 104
149
Administrator Methods ......................................................................... 152 AuthScheme MethodSets or Retrieves an Authentication Scheme .......................... 152 Description MethodSets or Retrieves the Description of an Administrator ................... 153 ManageAllDomains MethodGrants or Revokes Privileges to Manage Policy Server Objects ... 153 ManageDomainObjects MethodGrants or Revokes Privileges to Manage Domain Objects..... 154 ManageKeysAndPwdPolicy MethodGrants or Revokes Privileges to Manage Keys and Password Policies .......................................................................... 155 ManageUsers MethodGrants or Revokes Privileges to Manage Users ........................ 156 Name MethodSets or Retrieves the Name of an Administrator .............................. 157 Password MethodSets or Retrieves the Administrator Password ............................ 157 UserDirectory MethodSets or Retrieves an External User Directory ......................... 158 Affiliate Attribute Methods...................................................................... 158
Contents 7
GetAttrType MethodRetrieves the Affiliate Attribute Type .................................. 159 GetValue MethodRetrieves the Value of the Affiliate Attribute .............................. 159 Affiliate Domain Methods ....................................................................... 160 AddAdmin MethodAssociates an Administrator with an Affiliate Domain ..................... 161 AddUserDir MethodAssociates a User Directory with an Affiliate Domain .................... 161 CreateAffiliate MethodCreates an Affiliate Object .......................................... 162 CreateSAMLServiceProvider MethodCreates a SAML Service Provider ....................... 165 CreateWSFEDResourcePartner MethodCreates a WS-Federation Resource Partner .......... 168 DeleteAffiliate MethodDeletes an Affiliate from a Domain .................................. 170 DeleteSAMLServiceProvider MethodDeletes a SAML Service Provider ....................... 170 DeleteWSFEDResourcePartner MethodDeletes a Resource Partner .......................... 171 Description MethodRetrieves or Sets a Description ......................................... 171 GetAffiliate MethodRetrieves an Affiliate Object ............................................ 172 GetAllAdmins MethodRetrieves all Administrators .......................................... 172 GetAllAffiliates MethodRetrieves All Affiliates in a Domain .................................. 173 GetAllSAMLServiceProviders MethodRetrieves all Service Providers associated with the Affiliate Domaine .......................................................................... 173 GetAllWSFEDResourcePartners MethodRetrieves all WSFED Resource Partners .............. 174 GetSAMLServiceProvider MethodRetrieves a Specified Service Provider ..................... 174 GetSAMLServiceProviderByID MethodRetrieves a Specified Service Provider ................ 175 GetUserDirSearchOrder MethodRetrieves Search Order of a User Directory ................. 175 GetWSFEDResourcePartner MethodRetrieves Resource Partner ............................. 176 GetWSFEDResourcePartnerById MethodRetrieves Resource Partner by ID .................. 176 Name MethodSets or Retrieves Affiliate Domain Name ..................................... 177 RemoveAdmin MethodDissasocciates an Administrator from an Affiliate Domain ............ 178 RemoveUserDir MethodDisassociates a User Directory from an Affiliate Domain ............. 178 SetUserDirSearchOrder MethodSets the Order for Searching Directory Objects ............. 179 Affiliate Object Methods ........................................................................ 179 AddAttribute MethodAdds a New Affiliate Attribute......................................... 181 AddUser MethodAdds a New User to the Affiliate Object ................................... 183 AllowNotification MethodSets or Retrieves the Event Notification Property .................. 184 AssertionPluginClass MethodSets or Retrieves the Name of an Assertion Generator Plug-in
........................................................................................... 184
AssertionPluginParameters MethodSets or Retrieves a Parameter String .................... 185 Audience MethodSets or Retrieves a URI .................................................. 186 AuthURL MethodSets or Retrieves a URL .................................................. 187 ConsumerURL MethodSets or Retrieves a URL ............................................. 187 CreateIPHostConfigName MethodCreates an IP Configuration Object from the Specified Host Name ................................................................................ 188 CreateIPConfigRange MethodCreates an IP Configuration Object ........................... 189 CreateIPConfigSingleHost MethodCreates an IP Configuration Object from the Specified IP Address ................................................................................... 189 CreateIPConfigSubnetMask MethodCreates an IP Configuration Object ..................... 190
DeleteIPConfig MethodDeletes an IP Configuration Object ................................. 191 Description MethodSets or Retrieves the Description of an Affiliate Object .................. 191 GetAllAttributes MethodRetrieves Attributes for an Affiliate Object.......................... 192 GetAllIPConfigs MethodRetrieves All IP Configuration Objects for an Affiliate ................ 192 GetAllUsers MethodRetrieves All Users Associated with an Affiliate ......................... 193 IsEnabled MethodSets or Retrieves the Enabled Flag for the Affiliate ....................... 193 Name MethodSets or Retrieves the Affiliate Name ......................................... 194 Password MethodSets or Retrieves a Password for an Affiliate .............................. 195 RemoveAttribute MethodRemoves an Attribute from an Affiliate ............................ 195 RemoveUser MethodRemoves a User from an Affiliate ..................................... 196 SAMLProfile MethodSets or Retrieves the Type of SAML Profile ............................. 196 SAMLVersion MethodSets or Retrieves the SAML Version for the Affiliate ................... 197 Save MethodSaves the Affiliate to the Policy Store......................................... 198 SessionSyncInterval MethodSets or Retrieves the Session Synchronization Property ........ 199 SharedSessioning MethodSets or Retrieves the Shared Session Property ................... 199 SkewTime MethodSets or Retrieves the Skew Time Property ............................... 200 ValidityDuration MethodSets or Retrieves the Duration a SAML Assertion Is Valid ........... 201 Agent Methods ................................................................................ 201 ConvertFromLegacy MethodConverts a v4.x Agent to a v5.x Agent ......................... 202 ConvertToLegacy MethodConverts a v5.x Agent to a v4.x Agent ........................... 202 Description MethodSets or Retrieves the Agent Description ................................ 203 IPAddress MethodSets or Retrieves the Agent's IP Address ................................ 203 Name MethodSets or Retrieves the Name of the Agent .................................... 204 RealmHintAttrID MethodSets or Retrieves the Hint Attribute ............................... 204 SharedSecret MethodSets or Retrieves the Shared Secret for a v4.x Agent ................. 205 Agent Configuration Methods ................................................................... 205 AddAssociation MethodAdds a Name and Value for this Configuration ...................... 206 AddAssociationMultiValue MethodAdds a Multi-valued Configuration Parameter ............. 206 Description MethodSets or Retrieves the Description of the Agent Configuration Object ..... 207 GetAssociations MethodRetrieves a List of All the Configuration Parameters ................ 208 Name MethodSets or Retrieves the Agent Configuration Object Name ...................... 208 RemoveAssociation MethodRemoves a Configuration Parameter ............................ 209 Agent Configuration Parameters Methods ....................................................... 209 Name MethodSets or Retrieves the Name Portion of the Agent Configuration Parameter ..... 209 Flags MethodSets or Retrieves the Encryption Flag Attribute ............................... 210 Value MethodSets or Retrieves the Value of the Agent Configuration Parameter ............. 211 Agent Type Methods ........................................................................... 211 GetDescription MethodRetrieves the Description of the Agent Type ......................... 211 GetName MethodRetrieves the Name of the Agent Type ................................... 212 Authentication and Authorization Map Methods .................................................. 212 AuthDir MethodSets or Retrieves the Authentication Directory ............................. 213 AzDir MethodSets or Retrieves the Authorization Directory ................................. 213
Contents 9
MapType MethodSets or Retrieves the Type of Authentication and Authorization Map ....... 214 Authentication Scheme Methods ................................................................ 215 CustomLib MethodSets or Retrieves the Name of the Shared Library ....................... 216 CustomParam MethodSets or Retrieves Information that Is Passed to the Authentication Scheme ................................................................................... 217 CustomSecret MethodSets or Retrieves the Shared Secret for the Custom Authentication Scheme ................................................................................... 217 Description MethodSets or Retrieves the Description of the Authentication Scheme ......... 218 IgnorePwd MethodSpecifies whether Password Policies Should Be Checked ................. 218 IsRadius MethodDetermines whether the Authentication Scheme Supports RADIUS Agents
........................................................................................... 219
IsTemplate MethodDetermines whether the Authentication Scheme Is a Template .......... 220 IsUsedByAdmin MethodDetermines whether the Scheme Authenticates Administrators ...... 220 Name MethodSets or Retrieves the Name of the Authentication Scheme .................... 221 ProtectionLevel MethodSets or Retrieves the Protection Level of the Authentication Scheme
........................................................................................... 222
Save MethodSaves the Authentication Scheme to the Policy Store ......................... 222 SaveCredentials MethodDetermines whether User Credentials Can Be Saved ............... 223 Type MethodSets or Retrieves the Authentication Scheme Type ............................ 224 Certificate Mapping Methods ................................................................... 224 AttrMap MethodSets or Retrieves the Attribute Map for Certificate Mapping ................. 225 CacheCRL MethodDetermines whether To Cache Certificate Revocation List (CRL) entries ... 225 CertRequired MethodDetermines whether Certificate Validation is Required ................. 226 CRLUserDirectory MethodSets or Retrieves the LDAP Directory where the Certificate Revocation List (CRL) Is Located ............................................................ 227 Description MethodSets or Retrieves the Description of the Certificate Map ................. 227 DirectoryType MethodSets or Retrieves the Type of User Directory ......................... 228 EnableCRL MethodDetermines whether To Check the Certificate Revocation List (CRL) for Revoked Certificates ....................................................................... 229 IssuerDN MethodSets or Retrieves the DN of the Certificate Issuer ......................... 230 UseDistributionPoints MethodDetermines whether Certificate Revocation List (CRL) Searches Use a Distribution Point ........................................................... 230 VerifySignature MethodDetermines whether SiteMinder Verifies the Certificate Authority's Signature .................................................................................. 231 Cluster Methods ............................................................................... 232 AddServer MethodAdds a Server to the Cluster ............................................ 232 GetAllServers MethodRetrieves an Array of All the Servers in a Cluster ..................... 233 Data Management Methods .................................................................... 233 ClearText MethodSets or Retrieves the Clear Text Flag .................................... 234 Export MethodExports the Specified SiteMinder Object from the Source Data Store ......... 235 Import MethodImports an Object from the Temporary Files ................................ 236 IncludeDependencies MethodSets or Retrieves the Object Dependencies Flag ............... 238 OverwriteObjects MethodSets or Retrieves the Overwrite Objects Flag ..................... 239 Domain Methods ............................................................................... 240
AddAdmin MethodAdds an Administrator to the Domain ................................... 241 AddUserDir MethodAssociates a User Directory with the Domain ........................... 242 CreatePolicy MethodCreates and Configures a Policy in the Domain ........................ 243 CreateRealm MethodCreates and Configures a Top-level Realm in the Domain .............. 244 CreateResponse MethodCreates a Response............................................... 246 CreateResponseGroup MethodCreates a Response Group for the Domain ................... 247 CreateRuleGroup MethodCreates a Rule Group for the Domain ............................. 247 DeleteGroup MethodDeletes a Group from the Domain .................................... 248 DeletePolicy MethodDeletes a Policy ...................................................... 249 DeleteRealm MethodDeletes a Realm in the Domain ....................................... 249 DeleteResponse MethodDeletes a Response ............................................... 250 DeleteVariable MethodDeletes a Specified Variable ........................................ 250 Description MethodSets or Retrieves the Description of the Domain ........................ 251 GetAllPolicies MethodRetrieves All Policies Associated with the Domain ..................... 251 GetAllRealms MethodRetrieves All Top-level Realms in the Domain ......................... 252 GetAllResponseGroups MethodRetrieves All the Response Groups Associated with the Domain .................................................................................... 252 GetAllResponses MethodRetrieves All Responses Associated with the Domain ............... 253 GetAllRuleGroups MethodRetrieves All Rule Groups Associated with the Domain ............ 253 GetAllVariables MethodRetrieves All Variable Objects of the Domain ........................ 254 GetPolicy MethodRetrieves a Policy in the Domain ......................................... 254 GetRealm MethodRetrieves a Top-level Realm in the Domain .............................. 255 GetResponse MethodRetrieves a Response Associated with the Domain .................... 255 GetResponseGroup MethodRetrieves the Specified Response Group ........................ 256 GetRuleGroup MethodRetrieves the Specified Rule Group .................................. 256 GetUserDirSearchOrder MethodRetrieves User Directory Objects Associated with the Domain .................................................................................... 257 GetVariable MethodRetrieves the Specified Variable Object ................................ 257 GlobalPoliciesApply MethodDetermines whether the Domain Is Enabled for Global Policies ... 258 Name MethodSets or Retrieves the Domain Name ......................................... 258 RemoveAdmin MethodDisassociates an Administrator from the Domain .................... 259 RemoveUserDir MethodDisassociates the User Directory from the Domain .................. 260 SetUserDirSearchOrder MethodRearranges the Search Order of the User Directory Objects
........................................................................................... 260
Group Methods ................................................................................ 261 Add MethodAdds an Agent, Response, Rule, or Nested Group Object to the Group .......... 262 Contains MethodDetermines whether the Group Contains the Specified Agent, Response, Rule, or Nested Group Object............................................................... 263 Description MethodSets or Retrieves the Description of the Group Object ................... 263 GetAgent MethodRetrieves the Specified Agent Object from the Group ..................... 264 GetAgentGroup MethodRetrieves an Agent Group Object Nested within the Group .......... 265 GetAgentType MethodRetrieves the Type of the Agent Objects Contained in the Group ...... 265
Contents 11
GetAllAgentGroups MethodRetrieves All the Agent Group Objects Nested within the Group
........................................................................................... 266
GetAllAgents MethodRetrieves All the Agent Objects in the Group .......................... 266 GetAllResponseGroups MethodRetrieves All the Response Group Objects Nested within the Group ..................................................................................... 267 GetAllResponses MethodRetrieves All the Response Objects in the Group ................... 267 GetAllRuleGroups MethodRetrieves All the Rule Group Objects Nested within the Group ..... 268 GetAllRules MethodRetrieves All the Rule Objects in the Group ............................. 268 GetResponse MethodRetrieves the Specified Response Object from the Group .............. 269 GetResponseGroup MethodRetrieves a Response Group Object Nested within the Group .... 269 GetRule MethodRetrieves the Specified Rule Object from the Group ........................ 270 GetRuleGroup MethodRetrieves a Rule Group Object Nested within the Group .............. 271 Name MethodSets or Retrieves the Name of the Group Object ............................. 271 Remove MethodRemoves the Specified Group Member from the Group ..................... 272 Host Configuration Methods .................................................................... 272 AddCluster MethodAdds an Empty Cluster to the Host Configuration........................ 273 AddServer MethodAdds a Non-clustered Server to the Host Configuration .................. 274 Description MethodSets or Retrieves the Description of the Host Configuration Object....... 275 EnableFailover MethodSets or Retrieves the Enable Failover Flag ........................... 275 FailoverThreshold MethodSets or Retrieves the Failover Threshold Percentage .............. 276 GetAllClusters MethodRetrieves an Array of Policy Management Cluster Objects ............ 277 GetAllServers MethodRetrieves an Array of Non-clustered Server Objects .................. 278 MaxSocketsPerPort MethodSets or Retrieves the Maximum Number of TCP/IP Sockets ...... 278 MinSocketsPerPort MethodSets or Retrieves the Minimum Number of TCP/IP Sockets ....... 279 Name MethodSets or Retrieves the Name of the Host Configuration Object ................. 279 NewSocketStep MethodSets or Retrieves the New Socket Step Value for the Host Configuration .............................................................................. 280 RemoveAllClusters MethodRemoves All Cluster Objects Associated with This Host Configuration .............................................................................. 281 RemoveAllServers MethodRemoves All Non-clustered Policy Server Objects from the Host Configuration .............................................................................. 281 RequestTimeout MethodSets or Retrieves the Request Timeout Value ...................... 282 Initialization Methods .......................................................................... 282 CreateSession MethodCreates a Policy Server Session ..................................... 283 DisableAudit MethodSets the Flag to Enable or Disable Auditing ............................ 283 DisableCacheUpdates MethodDeprecated ................................................. 284 DisableManagementWatchDog MethodReads or sets the Enabled State of the SiteMinder Management Watchdog .................................................................... 285 DisableValidation MethodReads or Sets the Enabled State for Validation of Policy Server Objects .................................................................................... 286 EnableCache MethodDeprecated .......................................................... 286 LoadAgentTypeDictionary MethodReads or Sets the Enabled State for the Agent Type Dictionary ................................................................................. 287 New MethodConstructor for the Policy Management API ................................... 287
PreLoadCache MethodReads or Sets the Enabled State for Preloading of Caches ............ 288 PrintDebugTrace MethodEnables or Disables Printing Debug (Trace) Information Example ... 289 IP Configuration Methods ...................................................................... 290 GetEndIPAddress MethodRetrieves the Ending IP Address.................................. 290 GetHostName MethodRetrieves the Host Name Associated with a Host Name IP Address Restriction ................................................................................. 291 GetIPAddress Method Retrieves an IP address for an IP address restriction ................. 292 GetSubnetMask MethodRetrieves the Subnet Mask for a Subnet Address ................... 292 GetType MethodRetrieves the Type of the IP Address Restriction ........................... 293 ODBC Query Scheme Methods.................................................................. 294 Description MethodSets or Retrieves the Description of the ODBC Query Scheme ........... 295 Name MethodSets or Retrieves the ODBC Query Scheme Name ............................ 295 QueryAuthenticateUser MethodSets or Retrieves a Query that Fetches a User's Password ... 296 QueryEnumerate MethodSets or Retrieves a Query that Lists the Names of User Objects .... 297 QueryGetGroupProp MethodSets or Retrieves a Query that Fetches the Value of a Group Property ................................................................................... 297 QueryGetGroupProps MethodSets or Retrieves a List of Group Properties ................... 298 QueryGetGroups MethodSets or Retrieves a Query that Fetches the Names of the Groups that the User Is a Member of ............................................................... 299 QueryGetObjInfo MethodSets or Retrieves a Query that Fetches the Class of the Object..... 300 QueryGetUserProp MethodSets or Retrieves a Query that Fetches the Value of a User Property ................................................................................... 300 QueryGetUserProps MethodSets or Retrieves a List of User Properties ...................... 301 QueryInitUser MethodSets or Retrieves a Query that Determines whether a User Exists in the Database .............................................................................. 302 QueryIsGroupMember MethodSets or Retrieves a Query that Lists the Group Membership for a Particular User ........................................................................ 303 QueryLookup MethodSets or Retrieves a Query that Fetches Objects ....................... 303 QueryLookupGroup MethodSets or Retrieves a Query that Fetches a Group Name .......... 304 QueryLookupUser MethodSets or Retrieves a Query that Fetches a User Name ............. 305 QuerySetGroupProp MethodSets or Retrieves a Query that Sets the Value of a Group Property ................................................................................... 306 QuerySetPassword MethodSets or Retrieves a Query that Changes a User Password ........ 306 QuerySetUserProp MethodSets or Retrieves a Query that Sets the Value of a User Property
........................................................................................... 307
Password Policy Methods ....................................................................... 308 AllowNestedGroups MethodAllows the Password Policy To Be Configured for Nested Groups
........................................................................................... 311
AllowLowerPriorityPolicies MethodSets Flag To Determine whether Password Policies with Lower Priority Should Be Evaluated ......................................................... 312 AuthLoginTrackFailure MethodAllows a User To Login if Login Tracking Data Fails ........... 312 BadLoginDisablementPeriod MethodSets or Retrieves the Number of Minutes Before a User Account Is Disabled ................................................................... 313 Description MethodSets or Retrieves the Description of the Password Policy ................ 314
Contents 13
DictionaryMatch MethodSets the Minimum Number of Letters Required To Qualify a Password for Dictionary Checking ........................................................... 314 DictionaryPath MethodSets or Retrieves the Location of a Dictionary File ................... 315 DisableAfterInactivityExpiration MethodDisables an Inactive User's Account ................ 316 DisableAfterPwdExpiration MethodDisables a User's Aaccount after the User's Password Expires .................................................................................... 316 EntireDir MethodDetermines Whether the Password Policy Applies to the Entire Directory ... 317 ExpirationDelay MethodSpecifies the Number of Days a Password Can Be Used ............. 318 IsEnabled MethodEnables or Disables a Password Policy ................................... 318 MaxLoginFailures MethodSets or Retrieves the Maximum Number of Failed Login Attempts
........................................................................................... 319
MaxLoginInactive MethodSets or Retrieves the Number of Days of Inactivity Are Allowed ... 320 Name MethodSets or Retrieves the Password Policy Name ................................. 320 PwdAddRegExpMatch MethodAdds a Regular Expression to the List of Expressions that New Passwords Must Match ................................................................ 321 PwdAddRegExpNoMatch MethodAdds a Regular Expression to the List of Expressions that New Passwords Must NOT Match............................................................ 321 PwdAllowDigits MethodSpecifies whether Passwords Are Allowed To Have Numeric Characters................................................................................. 322 PwdAllowLowercase MethodSpecifies whether Passwords Are Allowed To Have Lower Case Letters .................................................................................... 323 PwdAllowNonAlphNum MethodSpecifies whether Passwords Are Allowed To Have Non-Alphanumeric Characters .............................................................. 323 PwdAllowNonPrintable MethodSpecifies whether Passwords Are Allowed To Have Non-Printable Characters ................................................................... 324 PwdAllowPunctuation MethodSpecifies whether Passwords Are Allowed To Have Punctuation Mark Characters ............................................................... 325 PwdAllowUpperCase MethodSpecifies whether Passwords Are Allowed To Have Upper Case Letters .................................................................................... 325 PwdExpiryWarning MethodSets or Retrieves the Number of Days in Advance To Notify the User that the Password Will Expire .......................................................... 326 PwdForceLowerCase MethodDetermines whether To Convert Upper Case Letters in a New Password to Lower Case.................................................................... 327 PwdForceUpperCase MethodDetermines whether To Convert Lower Case Letters in a New Password to Upper Case.................................................................... 327 PwdGetAllRegExpMatch MethodRetrieves the Name Tags of the Regular Expressions that New Passwords Must Match ................................................................ 328 PwdGetAllRegExpNoMatch MethodRetrieves the Name Tags of the Regular Expressions that New Passwords Must NOT Match ....................................................... 329 PwdGetRegExp MethodRetrieves the Regular Expression for the Specified Name Tag ........ 329 PwdIgnoreSequence MethodDetermines whether To Ignore Sequence when Calculating the New Password ......................................................................... 330 PwdMaxLength MethodSets or Retrieves the Maximum Length for User Passwords .......... 331 PwdMaxRepeatingChar MethodSets or Retrieves the Maximum Number of Identical Characters................................................................................. 331
PwdMinAlpha MethodSets or Retrieves the Minimum Number of Alphabetic Characters a Password Must Contain ..................................................................... 332 PwdMinAlphaNum MethodSets or Retrieves the Minimum Number of Alphanumeric Characters a Password Must Contain ........................................................ 333 PwdMinLength MethodSets or Retrieves the Minimum Length for User Passwords ........... 333 PwdMinLowercase MethodSets or Retrieves the Minimum Number of Lower Case Letters a Password Must Contain ..................................................................... 334 PwdMinNonAlpha MethodSets or Retrieves the Minimum Number of Non-Alphanumeric Characters A Password Must Contain........................................................ 334 PwdMinNonPrintable MethodSets or Retrieves the Minimum Number of Non-Printable Characters a Password Must Contain ........................................................ 335 PwdMinNumbers MethodSets or Retrieves the Minimum Number of Numeric Characters a Password Must Contain ..................................................................... 335 PwdMinProfileMatch MethodSpecifies the Minimum Character Sequence To Check against the User's Personal Information ............................................................ 336 PwdMinPunctuation MethodSets or Retrieves the Minimum Number of Punctuation Marks a Password Must Contain ..................................................................... 337 PwdMinUppercase MethodSets or Retrieves the Minimum Number of Upper Case Letters a Password Must Contain ..................................................................... 337 PwdPercentDiff MethodSets or Retrieves the Percentage of Different Characters a New Password Must Contain ..................................................................... 338 PwdPolicyPriority MethodSets or Retrieves the Password's Evaluation Priority Setting ....... 338 PwdRedirectionURL MethodSets or Retrieves the URL where the User is Redirected Example ................................................................................... 339 PwdRemoveRegExp MethodRemoves the Regular Expression Associated with the Specified Name Tag ................................................................................. 340 PwdReuseCount MethodSpecifies the Number of New Passwords that Must Be Used ......... 340 PwdReuseDelay MethodSpecifies the Number of Days a User Must Wait Before Reusing a Password .................................................................................. 341 ReEnableAfterIncorrectPwd MethodDetermines whether To Re-enable a User Account after the Entry of an Incorrect Password ......................................................... 341 Save MethodSaves the Password Policy to the Policy Store ................................. 342 StripEmbeddedWhitespace MethodDetermines whether To Strip New Passwords of Embedded White Space .................................................................... 343 StripLeadingWhitespace MethodDetermines whether To Strip New Passwords of Leading White Space ............................................................................... 343 StripTrailingWhitespace MethodDetermines whether To Strip New Passwords of Trailing White Space ............................................................................... 344 TrackLoginDetails MethodDetermines whether To Track Authentication Attempts and Successful Logins .......................................................................... 345 UserDirClass MethodSets or Retrieves the Directory Class if the Password Policy Applies to a Part of the Directory ..................................................................... 345 UserDirectory MethodSets or Retrieves the User Directory for the Password Policy .......... 346 UserDirPath MethodSets or Retrieves the Directory Path if the Password Policy Applies to a Part of the Directory ....................................................................... 346
Contents 15
Policy Methods................................................................................. 347 ActiveExpr MethodSets or Retrieves the Active Expression Associated with the Policy ....... 348 AddRule MethodAdds a Rule to the Policy ................................................. 348 AddUser MethodAdds a User to the Policy ................................................. 349 AllowNested MethodSets or Retrieves the AllowNested Flag ................................ 350 CreateIPHostConfigName MethodCreates an IP Address Configuration ...................... 351 CreateIPConfigRange MethodCreates an IP Address Configuration .......................... 351 CreateIPConfigSingleHost MethodCreates an IP Address Configuration ..................... 352 CreateIPConfigSubnetMask MethodCreates an IP Address Configuration Based on the IP Address and Subnet Mask .................................................................. 352 DeleteIPConfig MethodDeletes the Specified IP Configuration Object ....................... 353 Description MethodSets or Retrieves the Description of the Policy .......................... 354 EnforceANDEvaluation MethodSets or Retrieves the ANDUser/Group Flag ................... 354 ExcludeUser MethodExcludes or Includes a User from the Policy ........................... 355 GetAllIPConfigs MethodRetrieves All IP Address Restriction Objects in the Policy ............ 356 GetAllRules MethodRetrieves All Rules Associated with the Policy ........................... 357 GetAllUsers MethodRetrieves All Users Associated with the Policy .......................... 357 IsEnabled MethodEnables or Disables the Policy ........................................... 358 Name MethodSets or Retrieves the Policy Name ........................................... 358 RemoveResponse MethodRemoves the Response for a Configured Rule in the Policy ........ 359 RemoveRule MethodRemoves the Specified Rule from the Policy ........................... 360 RemoveUser MethodRemoves a User from the Policy ...................................... 360 SetResponse MethodSets the Response for a Configured Rule in the Policy ................. 361 VariableExpr MethodSets, Retrieves, or Removes the Active Expression Associated with the Policy .................................................................................. 361 Policy Server Connectivity Methods ............................................................. 362 GetPorts MethodDeprecated .............................................................. 362 GetServerAddress MethodRetrieves the Host Name or IP Address of the Policy Server ...... 363 GetServerPort MethodRetrieves TCP Port for Policy Server or Server Cluster ................ 363 Realm Methods ................................................................................ 364 Agent MethodSets or Retrieves the Agent for the Realm ................................... 365 AuthScheme MethodSets or Retrieves the Authentication Scheme for the Realm ............ 365 AzUserDir MethodSets or Retrieves the Authorization User Directory for the Realm ......... 366 CreateChildRealm MethodCreates and Configures a Child Realm ........................... 367 CreateRule MethodCreates and Configures a Rule under the Realm ......................... 369 DeleteChildRealm MethodDeletes a Top-level Realm within the Realm ...................... 370 DeleteRule MethodDeletes an Existing Rule within the Realm .............................. 371 Description MethodSets or Retrieves the Description of the Realm.......................... 372 Flush MethodFlushes the Realm from the Resource Cache ................................. 372 GetAllChildRealms MethodRetrieves All Top-level Realms within the Realm ................. 373 GetAllRules MethodRetrieves the Rules Associated with the Realm ......................... 373 GetChildRealm MethodRetrieves a Top-level Child Realm under the Realm .................. 374 GetDomain MethodRetrieves the Domain Associated with the Realm ....................... 374
GetRule MethodRetrieves an Existing Rule in the Realm .................................... 375 IdleTimeout MethodSets or Retrieves the Maximum Time a User Can Remain Inactive in the Realm ................................................................................. 375 MaxTimeout MethodSets or Retrieves the Maximum Time a User Can Access the Realm ..... 376 Name MethodSets or Retrieves the Realm Name .......................................... 376 ProcessAuEvents MethodSets or Retrieves the Authentication Event Flag in the Realm ...... 377 ProcessAzEvents MethodSets or Retrieves the Authorization Event Flag in the Realm ........ 378 ProtectResource MethodSets or Retrieves the Current Resource Protection Flag Example .... 378 RegScheme MethodSets or Retrieves the Registration Scheme for the Realm ............... 379 ResourceFilter MethodSets or Retrieves the Realm Resource Filter ......................... 380 SyncAudit MethodSets or Retrieves the Synchronous Auditing Flag ......................... 380 Registration Scheme Methods .................................................................. 381 Description MethodSets or Retrieves the Registration Scheme Description .................. 381 EnableLogging MethodEnables or Disables Registration Scheme Logging .................... 382 Name MethodSets or Retrieves the Registration Scheme Name ............................ 382 TemplatePath MethodSets or Retrieves the Path of the Registration Scheme ................ 383 UserDirectory MethodSets or Retrieves the User Directory for the Registration Scheme ..... 384 WelcomePageURL MethodSets or Retrieves the Welcome Page URL for the Registration Scheme ................................................................................... 384 Response Methods ............................................................................. 385 CreateActiveAttribute MethodCreates an Active Response Attribute for the Response........ 385 CreateAttribute MethodCreates a Static Response Attribute for the Response ............... 386 CreateVariableAttribute MethodCreates a Variable Definition Response Attribute for the Response .................................................................................. 388 DeleteAttribute MethodDeletes a Response Attribute in the Response ...................... 389 Description MethodSets or Retrieves the Response Description ............................. 389 GetAllAttributes MethodRetrieves a List of Configured Response Attributes ................. 390 Name MethodSets or Retrieves the Response Name ....................................... 390 Response Attribute Methods .................................................................... 391 GetActiveExpr MethodRetrieves Any Active Expression Defined for the Response Attribute
........................................................................................... 391
GetAgentTypeAttrName MethodRetrieves the Name of the Agent Type Attribute ............ 392 GetTTL MethodRetrieves the Time To Live (TTL) Setting ................................... 392 GetValue MethodRetrieves the Response Attribute Value ................................... 393 GetVariable MethodRetrieves the Variable Object in the Response Attribute's Active Expression................................................................................. 393 Rule Methods .................................................................................. 394 AccessType MethodSets or Retrieves the Flag that Allows or Denies Access to the Resource Protected by the Rule ...................................................................... 394 Action MethodSets or Retrieves the Action for the Rule .................................... 395 ActiveExpr MethodSets or Retrieves the Active Expression for the Rule ..................... 396 Agent MethodSets or Retrieves an Agent Object or an Agent Group Object Associated with the Global Rule ............................................................................ 397
Contents 17
Description MethodSets or Retrieves the Description of the Rule ........................... 398 IsEnabled MethodEnables or Disables the Rule ............................................ 398 Name MethodSets or Retrieves the Rule Name ............................................ 399 RegexMatch MethodDetermines whether Regular Expression Pattern Matching Is Enabled ... 399 Resource MethodSets or Retrieves the Resource Protected by the Rule ..................... 400 SAML 2.0 Affiliation Methods ................................................................... 401 GetAffiliatedSAMLAuthSchemes MethodRetrieves the SAML 2.0 Authentication Schemes Associated with This SAML Affiliation ........................................................ 401 GetAffiliatedSAMLServiceProviders MethodRetrieves the SAML 2.0 Service Providers Associated with this SAML Affiliation ........................................................ 402 Property MethodSets or Retrieves the Specified SAML 2.0 Metadata Property ............... 402 Save MethodSaves the Changes to the SAML 2.0 Metadata Properties of this SAML 2.0 Affiliation .................................................................................. 403 SAML 2.0 Indexed Endpoint Methods ........................................................... 404 GetACSIndex MethodRetrieves Index Value of Assertion Consumer Service Object .......... 404 GetACSBinding MethodRetrieves Protocol Binding of Assertion Consumer Service Object .... 405 GetACSURL MethodRetrieves URL Value of Assertion Consumer Service Object ............. 405 GetIsDefault MethodRetrieves IsDefault Value for Assertion Consumer Service Object ...... 406 SAML 2.0 Requester Attribute Methods ......................................................... 406 GetAttrNameFormat MethodRetrieves SAML Requester Attribute's Name Format ............ 406 GetLocalName MethodRetrieves SAML Requester Attribute's Local Name ................... 407 GetName MethodRetrieves SAML Requester Attribute's Name .............................. 407 SAML 2.0 Service Provider Methods ............................................................ 408 AddAssertionConsumerService MethodAdds an Assertion Consumer Service to a SAML Service Provider Object .................................................................... 409 AddAttribute MethodAdds an Attribute to the SAML 2.0 Service Provider.................... 409 AddUser MethodAdds a User to the SAML 2.0 Service Provider ............................. 411 CreateIPConfigHostName MethodCreates an IP Configuration Object for the Service Provider ................................................................................... 411 CreateIPConfigRange MethodCreates an IP Configuration Object for the Service Provider.... 412 CreateIPConfigSingleHost MethodCreates an IP Configuration Object for the Service Provider ................................................................................... 413 CreateIPConfigSubnetMask MethodCreates an IP Configuration Object for the Service Provider ................................................................................... 414 DeleteIPConfig MethodDeletes Specified IP Configuration Object ........................... 414 GetAllAttributes MethodRetrieves All Attributes for SAML 2.0 Service Provider .............. 415 GetAllIPConfigs MethodRetrieves All IP Configuration Objects .............................. 416 GetAllAssertionConsumerServices MethodRetrieves All Assertion Consumer Services ........ 416 GetAllUsers MethodRetrieves All Users .................................................... 417 Property MethodSets or Retrieves Metadata Property ...................................... 417 RemoveAssertionConsumer MethodRemoves Assertion Consumer Service .................. 418 RemoveAttribute MethodRemoves Specified Attribute ...................................... 419 RemoveUser MethodRemoves Specified User .............................................. 420
Save MethodSaves Changes Made to Metadata Properties ................................. 420 SAML 2.0 Service Provider Attribute Methods ................................................... 421 GetAttrNameFormat MethodRetrieves Format of Attribute Names .......................... 421 GetValue MethodRetrieves Service Provider Attribute Value ................................ 422 Session Methods ............................................................................... 422 AddAttributeToSAMLScheme MethodAdds New Attribute to Authentication Scheme ......... 426 AddTrustedHost MethodCreates or Modifies Trusted Host Object ........................... 427 CreateAdmin MethodCreates System-Level Administrator .................................. 428 CreateAffDomain MethodCreates Affiliate Domain ......................................... 429 CreateAgent MethodCreates SiteMinder Agent ............................................. 430 CreateAgentConfig MethodCreates Agent Configuration Object ............................. 431 CreateAgentGroup MethodCreates Agent Group ........................................... 431 CreateAuthAzMap MethodCreates Directory Mapping Object ............................... 432 CreateAuthScheme MethodCreates Authentication Scheme ................................ 433 CreateCustomCertMap MethodCreates Custom Certificate Map ............................. 435 CreateDataManager MethodCreates Data Manager Object.................................. 436 CreateDomain MethodCreates Policy Domain Object ....................................... 438 CreateExactCertMap MethodCreates Certificate Map Matching User Directory Attributes ..... 439 CreateGlobalPolicy MethodCreates Global Policy ........................................... 440 CreateGlobalResponse MethodCreates Global Response .................................... 441 CreateGlobalRule MethodCreates Global Rule .............................................. 441 CreateHostConfig MethodCreates Host Configuration Object ............................... 443 CreateODBCQueryScheme MethodCreates ODBC Query Scheme ........................... 444 CreatePwdPolicy MethodCreates Password Policy .......................................... 447 CreateRegScheme MethodCreates Registration Scheme.................................... 451 CreateSAMLAffiliation MethodCreates SAML 2.0 Affiliation Object ........................... 453 CreateSAMLAuthScheme MethodCreates SAML Authentication Scheme Object .............. 454 CreateSingleCertMap MethodCreates Single-Attribute Certificate Map ...................... 458 CreateTrustedHost MethodCreates Trusted Host Object .................................... 459 CreateUserDir MethodCreates User Directory Object ....................................... 460 CreateWSFEDAuthScheme MethodCreates WS-Federation Authentication Scheme .......... 465 DeleteAdmin MethodDeletes Administrator ................................................ 467 DeleteAffDomain MethodDeletes Affiliate Domain .......................................... 467 DeleteAgent MethodDeletes Agent ........................................................ 468 DeleteAgentConfig MethodDeletes Agent Configuration Object ............................. 468 DeleteAuthAzMap MethodDeletes Authentication and Authorization Map .................... 469 DeleteAuthScheme MethodDeletes Authentication Scheme ................................. 470 DeleteCertMap MethodDeletes Certificate Map ............................................. 470 DeleteDomain MethodDeletes Policy Domain .............................................. 471 DeleteGlobalPolicy MethodDeletes Global Policy ........................................... 471 DeleteGlobalResponse MethodDeletes Global Response .................................... 472 DeleteGlobalRule MethodDeletes Global Rule .............................................. 473
Contents 19
DeleteGroup MethodDeletes Agent Group ................................................. 473 DeleteHostConfig MethodDeletes Host Configuration Object ................................ 474 DeleteODBCQueryScheme MethodDeletes ODBC Query Scheme ........................... 474 DeletePwdPolicy MethodDeletes Password Policy .......................................... 475 DeleteRegScheme MethodDeletes Registration Scheme .................................... 476 DeleteSAMLAffiliation MethodDeletes SAML Affiliation ...................................... 476 DeleteTrustedHost MethodDeletes Trusted Host ........................................... 477 DeleteUserDir MethodDeletes User Directory .............................................. 477 GetAdmin MethodRetrieves Administrator ................................................. 478 GetAffDomain MethodRetrieves Affiliate Domain ........................................... 479 GetAgent MethodRetrieves Agent ......................................................... 479 GetAgentConfig MethodRetrieves Agent Configuration Object .............................. 480 GetAgentGroup MethodRetrieves Agent Group ............................................ 480 GetAgentType MethodRetrieves Agent Type ............................................... 481 GetAllAdmins MethodRetrieves List of All Administrators ................................... 482 GetAllAffDomains MethodRetrieves List of All Affiliate Domains ............................. 482 GetAllAgentConfigs MethodRetrieves List of All Agent Configuration Objects ................ 483 GetAllAgentGroups MethodRetrieves List of All Agent Group Objects........................ 483 GetAllAgents MethodRetrieves List of All Agents ........................................... 484 GetAllAuthAzMaps MethodRetrieves List of All AuthAz Maps ................................ 484 GetAllAuthSchemes MethodRetrieves List of Authentication Schemes ....................... 485 GetAllCertMaps MethodRetrieves List of Certificate Mapping Objects ........................ 485 GetAllDomains MethodRetrieves List of All Domains ....................................... 486 GetAllGlobalPolicies MethodRetrieves List of Global Policy Objects .......................... 486 GetAllGlobalResponses MethodRetrieves List of All Global Response Objects ................ 487 GetAllGlobalRules MethodRetrieves List of All Global Rule Objects .......................... 487 GetAllHostConfigs MethodRetrieves List of All Host Configuration Objects ................... 488 GetAllODBCQuerySchemes MethodRetrieves List of All ODBC Query Schemes............... 488 GetAllPwdPolicies MethodRetrieves List of All Password Policies ............................ 489 GetAllRegSchemes MethodRetrieves List of All Registration Schemes ....................... 489 GetAllSAMLAffiliations MethodRetrieves List of All SAML 2.0 Affiliations ..................... 490 GetAllSAMLSchemeAttributes MethodRetrieves List of All Requester Attributes .............. 490 GetAllTrustedHosts MethodRetrieves List of All Trusted Host Objects ....................... 491 GetAllUserDirs MethodRetrieves List of All User Directories ................................. 491 GetAllVariableTypes MethodRetrieves List of All Variable Type Objects ...................... 492 GetAuthScheme MethodRetrieves Authentication Scheme Object ........................... 492 GetCertMap MethodRetrieves Certificate Mapping Object................................... 494 GetDomain MethodRetrieves Domain Object .............................................. 494 GetGlobalPolicy MethodRetrieves Global Policy Object ..................................... 495 GetGlobalResponse MethodRetrieves Global Response Object .............................. 495 GetGlobalRule MethodRetrieves Global Rule Object ........................................ 496 GetHostConfig MethodRetrieves Host Configuration Object ................................. 497
GetODBCQueryScheme MethodRetrieves ODBC Query Scheme Object...................... 497 GetPwdPolicy MethodRetrieves Password Policy Object..................................... 498 GetRegScheme MethodRetrieves Registration Scheme Object .............................. 498 GetSAMLAffiliation MethodRetrieves SAML 2.0 Affiliation Object ............................ 499 GetSAMLAffiliationById MethodRetrieves SAML 2.0 Affiliation Object by ID.................. 500 GetSharedSecretPolicy MethodRetrieves Shared Secret Policy Object ....................... 500 GetTrustedHost MethodRetrieves Trusted Host Object ..................................... 501 GetUserDir MethodRetrieves User Directory Object ........................................ 501 GetVariableType MethodRetrieves Variable Type Object.................................... 502 RemoveAttributeFromSAMLScheme MethodRemoves Attribute from SAML Scheme ......... 503 SAMLAuthSchemeProperties MethodSets or Retrieves SAML Metadata Properties ........... 504 WSFEDAuthSchemeProperties MethodSets or Retrieves WS-Federation Properties .......... 505 Shared Secret Rollover Methods ................................................................ 506 Enabled MethodSets or Retrieves Rollover Enabled Flag for Policy .......................... 506 RolloverFrequency MethodSets or Retrieves Rollover Frequency for Policy .................. 507 RolloverPeriod MethodSets or Retrieves Rollover Period for Policy .......................... 508 Save MethodSaves Shared Secret Policy Object ........................................... 509 Trusted Host Methods .......................................................................... 509 GetDescription MethodRetrieves Description of Trusted Host ............................... 510 GetIPAddress MethodRetrieves IP Address of Trusted Host ................................. 510 GetName MethodRetrieves Name of Trusted Host ......................................... 511 GetSecret MethodRetrieves Shared Secret of Trusted Host ................................. 511 RolloverEnabled MethodSets or Retrieves Shared Secret Rollover Flag ...................... 512 SetSecret MethodSets Shared Secret of Trusted Host ...................................... 513 User Methods .................................................................................. 514 DisableByAdmin MethodSets or Retrieves Disabled-by-Administrator Flag .................. 514 DisableInactive MethodSets or Retrieves Disabled-by-Inactivity Flag ....................... 515 DisableMaxLoginFail MethodSets or Retrieves Disabled-by-Max-Login-Failure Flag .......... 517 DisablePwdExpired MethodSets or Retrieves Disabled-by-Password-Expired Flag ............ 518 ForcePwdChange MethodSets or Retrieves Force-Password-Change Flag .................... 519 GetClass MethodRetrieves User Class ..................................................... 520 GetPath MethodRetrieves User Path....................................................... 521 SetPassword MethodSets a New Password ................................................ 521 UserPasswordState MethodSets or Retrieves Password State Object ........................ 522 ValidatePassword MethodValidates Password .............................................. 523 User Directory Methods ........................................................................ 524 AnonymousIDAttr MethodSets or Retrieves Anonymous DN Name .......................... 525 ChalRespAttr MethodSets or Retrieves Challenge/Response Name .......................... 525 Description MethodSets or Retrieves Description of User Directory ......................... 526 DisabledAttr MethodSets or Retrieves Name of Disabled Attribute .......................... 527 EmailAttr MethodSets or Retrieves Email Attribute Name .................................. 527 EnableSecurityContext MethodSets or Retrieves Security Context Flag ..................... 528
Contents 21
GetContents MethodRetrieves All Users in User Directory .................................. 529 GetNamespace MethodRetrieves User Directory Namespace ............................... 529 IsSecure MethodSets or Retrieves Secure Authentication Flag .............................. 530 LookupEntry MethodRetrieves Users that Match Specified Pattern .......................... 531 MaxResults MethodSets or Retrieves Maximum Search Results ............................. 531 Name MethodSets or Retrieves User Directory Name ...................................... 532 ODBCQueryScheme MethodSets or Retrieves ODBC Query Scheme ........................ 533 Password MethodSets or Retrieves User Password ......................................... 533 PwdAttr MethodSets or Retrieves Password Attribute Name ................................ 534 PwdDataAttr MethodSets or Retrieves Password Data Attribute Name ...................... 535 RequireCredentials MethodSets or Retrieves Whether Credentials Are Required ............. 535 SearchRoot MethodSets or Retrieves Directory Search Root ................................ 536 SearchScope MethodSets or Retrieves LDAP Directory Search Scope ....................... 537 SearchTimeout MethodSets or Retrieves Maximum Directory Search Time .................. 538 Server MethodSets or Retrieves a Directory-Dependent Value ............................. 539 UIDAttr MethodSets or Retrieves Universal ID Attribute Name ............................. 540 UserLookupEnd MethodSets or Retrieves User DN Lookup Endpoint ........................ 541 UserLookupStart MethodSets or Retrieves User DN Lookup Starting Point .................. 542 Username MethodSets or Retrieves Username............................................. 543 ValidateEntry MethodValidates User Directory Entry ....................................... 543 User Password State Methods .................................................................. 544 DisabledTime MethodSets or Retrieves Time Object Was Disabled .......................... 544 LastPWChangeTime MethodSets or Retrieves Time Password Last Changed ................. 545 LastLoginTime MethodSets or Retrieves Last Login Time ................................... 546 LoginFailures MethodSets or Retrieves Number of Login Failures ........................... 546 Variables Methods ............................................................................. 547 Definition MethodSets or Retrieves Variable Object's Definition ............................. 547 Description MethodSets or Retrieves Variable Object's Description ......................... 548 GetName MethodRetrieves Variable Name ................................................ 548 GetReturnType MethodRetrieves Data Type of Variable Value .............................. 549 GetVariableType MethodRetrieves Variable Type Object.................................... 550 MetaData MethodSets or Retrieves MetaData for TransactionMinder ........................ 550 NestedVariables MethodSets or Retrieves Nested Variables ................................ 551 Variable Type Methods ......................................................................... 552 GetDescription MethodRetrieves Description of Variable Type Object ....................... 552 GetName MethodRetrieves Name of Variable Type Object .................................. 552 WS-Federation Resource Partner Methods ...................................................... 553 AddAttribute MethodAdds Attribute to Resource Partner ................................... 553 AddUser MethodAdds User to Resource Partner............................................ 554 CreateIPConfigHostName MethodCreates Object Based on Specified Host................... 555 CreateIPConfigSingleHost MethodCreates Object Based on Single Address .................. 556 CreateIPConfigSubnetMask MethodCreates Object Based on Subnet Address ............... 556
DeleteIPConfig MethodDeletes Specified IP Configuration Object ........................... 557 GetAllAttributes MethodRetrieves All Attributes for Resource Partner ....................... 558 GetAllIPConfigs MethodRetrieves All IP Configuration Objects for Service Provider .......... 558 GetAllUsers MethodRetrieves All Users Associated with Resource Partner ................... 559 Property MethodSets or Retrieves Resource Partner Property .............................. 559 RemoveUser MethodRemoves Specified User from Resource Partner ....................... 560 Save MethodSaves Resource Partner's Metadata .......................................... 561 WS-Federation Resource Partner Attribute Methods ............................................. 561 GetAttrNameFormat MethodRetrieves Format of Attribute Names .......................... 562 GetValue MethodRetrieves Attribute Value ................................................ 562
563
Initialize a Session ............................................................................. 563 Create and Manage System Objects ............................................................ 565 Create Agent Objects ...................................................................... 566 View and Modify Object Properties .......................................................... 566 Objects with Domain Scope .................................................................... 567 Retrieve One Object to Create Another...................................................... 568 Manage an Objects Properties.............................................................. 568 Objects with Domain Scope or Global Scope .................................................... 570 Authorization Variables ........................................................................ 572 Configure a Variable for a Particular Variable Type .......................................... 572 Save Changes to Objects....................................................................... 577 Policy Store Object Migration ................................................................... 578 Sequence of Calls .......................................................................... 578 Export Realm Objects ...................................................................... 581 Import Realm Objects ...................................................................... 582 Modify a Password Policy ....................................................................... 584 Manage Password State ........................................................................ 584 Create Responses and Response Attributes ..................................................... 586 Update Realms with a New Authentication Scheme .............................................. 587 View Default Values for an Authentication Scheme Template ..................................... 588 Create an Authentication Scheme .............................................................. 589 Modify the Shared Secret Rollover Policy ........................................................ 590 Write a Domain and Realm Report to a File ..................................................... 591 Disable Authentication and Authorization Event Processing ...................................... 592 Manage Policy Server Load Distribution ......................................................... 593 Cluster Configuration ....................................................................... 594 When All Clusters Fail ...................................................................... 595
Contents 23
599 601
Index
659
The Command Line Interface provides: A quick and light-weight alternative to the Administrative UI. An efficient way to perform Policy Server design and administrative tasks over multiple policy stores. The ability to migrate individual objects between policy stores.
The Command Line Interface lets you perform most, but not all, of the policy store operations you can perform through the Administrative UI.
Installation Path
Installation Path
By default, the SiteMinder Command Line Interface is installed in the following location: <sm-ps-root>/CLI <sm-ps-root> is the root directory where you installed your Policy Server software.
Perl Location
A complete version of Perl is installed along with the Policy Server. When you run scripts against the Command Line Interface, you should use the Perl interpreter that is installed with the Policy Server rather than any other Perl interpreter that might be on your system. The installation program installs Perl in the following default location: <sm-ps-root>/CLI/bin If you have another version of Perl installed on your system, make sure that the Perl location shown above comes before any other Perl location in your systems PATH environment variable.
To run a script against these APIs, use the following command line syntax:
perl scriptname
Note: A script built with the Policy Management API must run as the same user who installed the Policy Server (for example, smuser on UNIX platforms).
You are accepting all other defaults for the realm (including resource protection, which is enabled by default). 4. Click OK to confirm the creation of the new realm. If you write a script to perform the same operation, it might look like this:
#Initialize the Policy Management API use Netegrity::PolicyMgtAPI; $policyapi = Netegrity::PolicyMgtAPI->New(); print "Step 1. Log in the admin and create an API session.\n"; $session = $policyapi->CreateSession("adminid", "adminpwd"); print "Step 2. Select the domain for the new realm.\n"; $domain=$session->GetDomain("engineering"); #Get the realms agent and authorization scheme info.\n"; $agent=$session->GetAgent("agent1"); $authscheme=$session->GetAuthScheme("Basic");
print "Step 3. Create and configure the realm.\n"; $realm=$domain->CreateRealm("documentation", $agent, $authscheme, "Source files for manuals", "/mysite/docs/*" ); print "Step 4. Confirm the creation of the realm.\n"; if ($realm == undef) { print "Realm creation failed.\n"; } else { print "Realm creation succeeded.\n"; }
Note: Generally, policy store object names are case-sensitive. In the above example, the Basic authentication scheme and the engineering domain are case-sensitive. Further, agent names are always written to the policy store in lowercase. Existing agents must be referenced in lowercase in your scripts.
if ($filter eq undef) { print "Error changing resource filter.\n"; } else { print "Resource filter changed to: " . $filter . "\n"; }
Note the following general rules: When you pass an argument into a method, the method behaves as a setter methodfor example:
$realm->ResourceFilter("/mysite/docs/*.doc");
With get and set methods, the existing or new property value is returned.
Related Documentation
You can find additional information about Policy Server and agent operations in the following SiteMinder documents: CA SiteMinder Policy Server Configuration Guide CA SiteMinder Policy Server Administration Guide CA SiteMinder Web Agent Configuration Guide
Protected Resources
User Session Management Resource Protection Authentication and Authorization Response and Response Attributes
Note: Specifying the shared secret in the second argument creates a v4.x agent. Omitting the shared secret creates a v5.x or 6.x agent. 3. Provide configuration information about the Policy Server. The IP address is required, but you can accept the defaults for other arguments:
$serverconfig = $agentapi->AddServerConfig($ipAddr);
$agentapi->Connect();
$agentapi->Connect("../../../../Program Files/Netegrity/webagent/config/smhost.conf");
Example: Verify the protection on a resource After you have completed these basic steps, you can perform various agent operations. For example, you can see whether a specified resource is protected by the agent, and if so, you can find out the credentials that are required to access the resource:
$resource = $agentapi->GetResource("/companyXYZ/private/"); if($resource->IsProtected() == SM_AGENTAPI_YES) { print "\nAuthentication Type: ".$resource->GetAuthType(); } else { print "The resource is not protected."; }
Session Information
Session Information
Session information can consist of more than the session specification. Session information can include any information that the client application wants to associate with the users session. Application-defined session information consists of name-value pairs called session variables. For example, business logic, certificate information, and SAML assertions for affiliate operations can all be stored as session variables and bound to the session ID. The package AgentSession provides the following methods for setting, retrieving, and deleting session variables, and for defining the parameters list: SetVariables() GetVariables() DelVariables() AddParameter()
Session variables are stored in a server-side database called the session store. The session store is managed by the Policy Server.
SiteMinder Support
The Command Line Interface supports: SiteMinder v4.x and v5.x agents running against SiteMinder v5.x Policy Servers SiteMinder v4.x and later agents agents running against SiteMinder v6.x Policy Servers.
The Agent API can be accessed on the machine where a SiteMinder Policy Server is installed. The Agent API can access the local Policy Server or a remote Policy Server.
Session Information
AgentAPI AgentResource AgentResponseAttr AgentSvrCfg AgentUser AgentResponse AgentResponseAttr AgentSession AgentResponseAttr SSOToken
Parameters The AddServerConfig method accepts the following parameters: IPAddress (string) Specifies the IP address of the Policy Server. minConn (int) (Optional) Specifies the minimum number of connections allowed. maxConn (int) (Optional) Specifies the maximum number of connections allowed. stepConn (int) (Optional) Specifies the number of connections to add when all existing connections are being used. timeout (int) (Optional) Specifies the time in seconds before the Agent API stops trying to connect to the Policy Server. azPort (int) (Optional) Specifies the port number for the authorization service. auPort (int) (Optional) Specifies the port number for the authentication service. acPort (int) (Optional) Specifies the port number for the accounting service.
Return Value The AddServerConfig method returns the following value: AgentSvrCfg (object)
Remarks The single-process Policy Server introduced in SiteMinder v6.0 combines the previously separate authentication, authorization, and accounting processes into one combined process whose requests go through one TCP port. As a result, the parameters azPort, auPort, and acPort all reference the same port number. The three arguments are maintained for backward compatibility.
Parameters The Connect method accepts the following parameter: bootFile (string) (Optional) Specifies the name of the configuration file to be used for connecting to a v5.x agent. Note: You can use an existing file such as SmHost.conf or create a new file. For more information, see the method AgentAPI->CreateBootstrapFile (see page 42). Return Value The Connect method returns one of the following values: SM_AGENTAPI_YES (value = 1) Specifies that the connection was successful. SM_AGENTAPI_FAILURE (value = -1) Specifies that the Agent API could not reach the Policy Server.
Parameters The CreateBootstrapFile method accepts the following parameters: trustedHostName (string) Specifies the name of the trusted host. ipAddress (string) Specifies the IP address of the Policy Server. hostConfigName (string) Specifies the name of the host configuration object. sharedSecret (string) Specifies the value of the shared secret used by the host. registrationDataFileName (string) Specifies the name of the bootstrap file generated by the method.
Return Value The CreateBootstrapFile method returns one of the following values: file_name (string) Specifies the name of the newly-created file. empty_string (string) Specifies that the method failed. Example The following code fragment is an example of how to use the CreateBootstrapFile method:
# A shared secret is not specified in the context of a v5.x agent. # A v5.x agent by the specified name needs to exist in the policy # store. Use Netegrity::AgentAPI. $agentapi = Netegrity::AgentAPI->New($agentname); # Create the bootstrap file. $agentapi->CreateBootstrapFile($thostname, $ipaddr, $hconfname, $secret, $fname); # Notice that in the v5.x context, the connect() method takes a filename. $agentapi->Connect($fname);
Parameters The CreateUser method accepts the following parameters: Username (string) Specifies the user's ID. Password (string) Specifies the user's password. cert (string) (Optional) Specifies an X.509 certificate for user authentication. certLength (int) (Optional) Specifies the length of the certificate. Return Value The CreateUser method returns one of the following values: AgentUser (object) undef Specifies that the method failed.
Return Value The Disconnect method returns one of the following values: SM_AGENT_SUCCESS (value = 0) Specifies that the connection was closed successfully. SM_AGENT_FAILURE (value = 1) Specifies that the connection was not successfully closed.
Parameters The DoManagement method accepts no parameters. Return Value The DoManagement method returns one of the following values: AgentResponseAttr (array) undef Specifies that there are no pending Agent commands.
Parameters The GetResource method accepts the following parameters: resName (string) Specifies the name of the resource to retrieve. action (string) (Optional) Specifies the HTTP action to perform (for example, GET, POST, or PUT). clientIP (string) (Optional) Specifies the client's IP address. Return Value The GetResource method returns the following value: AgentResource (object)
Parameters The IncrementRefCount method accepts no parameters. Return Value The IncrementRefCount method does not return a value.
Parameters The New method accepts the following parameters: pagentName (string) Specifies the name of the agent as it appears in the policy store. Note: The agent name is not case-sensitive. psharedSecret (string) (Optional) Specifies the shared secret as it appears in the policy store. Note: If you provide a value for the shared secret, a v4.x agent object is created. If you do not provide a value for the shared secret, a v5.x agent object is created. The shared secret is case-sensitive. failover (int) (Optional) Specifies whether to enable or disable failover operation: value = -1 Specifies enabling failover operation. value = 0 Specifies disabling failover operation. Return Value The New method returns the following value: AgentAPI (object)
Parameters The PrintDebugTrace method accepts the following parameter: debugFlag (int) (Optional) Specifies enabling or disabling output of error or trace information to the console: value = 1 Specifies enabling output. value = 0 Specifies disabling output. Return Value The PrintDebugTrace method returns one of the following integer values: value = 1 Specifies that output is enabled. value = 0 Specifies that output is disabled.
Parameters The SetErrorCallback method accepts the following parameter: subref (string) Specifies the name of the Perl subroutine or a reference to the subroutine: name Example:
$agentapi->SetErrorCallback("CustomErrorHandler");
reference Example:
$agentapi->SetErrorCallback(\&CustomErrorHandler);
Return Value The SetErrorCallback method returns one of the following integer values: value = 1 Specifies that registration was successful. value = 0 Specifies that registration failed.
Parameters The SetTraceCallback method accepts the following parameters: subref (string) Specifies the name of the Perl subroutine or a reference to the subroutine: name Example:
$agentapi->SetErrorCallback("CustomTraceHandler");
reference Example:
$agentapi->SetErrorCallback(\&CustomTraceHandler);
mode (string) (Optional) Specifies an output format for the trace messages: default Specifies fields enclosed by square brackets. fixed Specifies fixed-width fields. delim Specifies using a character to delimit the fields. xml Specifies fields enclosed by XML-like tags. delim (string) (Optional) Specifies the character to use as a delimiter when mode is set to delim. configFileName (string) (Optional) Specifies the name of the configuration file that specifies the data to be included in the trace. Default: If no filename is specified, default settings are used.
Resource Methods
Return Value The SetTraceCallback method returns one of the following integer values: value = 1 Specifies that registration was successful. value = 0 Specifies that registration failed.
Resource Methods
The following methods act on AgentResource objects: GetAuthType MethodRetrieves the Type of Credentials Required IsProtected MethodChecks whether SiteMinder Is Protecting Resource
Parameters The GetAuthType method accepts no parameters. Return Value The GetAuthType method returns one of the following values: Sm_AuthApi_Cred_None (value = 0x00) Specifies that no credentials are required. Note: This authorization type is used for anonymous realms. Sm_AuthApi_Cred_Basic (value = 0x01) Specifies that a username and password are required. Sm_AuthApi_Cred_Digest (value = 0x02) Specifies that the username and password must be exchanged using the digest protocol.
Resource Methods
Sm_AuthApi_Cred_X509Cert (value = 0x04) Specifies that a full X.509 client certificate is required.
Sm_AuthApi_Cred_X509CertUserDN (value = 0x08) Specifies that the user DN from an X.509 client certificate is required.
Sm_AuthApi_Cred_X509CertIssuerDN (value = 0x10) Specifies that the issuer DN from an X.509 client certificate is required.
Sm_AuthApi_Cred_CertOrBasic (value = 0x20) Specifies that a certificate is required, if available. Note: If a certificate is not available, a username and password are required.
Sm_AuthApi_Cred_NTChalResp (value = 0x40) Specifies that the username and password must be exchanged using the NT challenge/response protocol.
Sm_AuthApi_Cred_CertOrForm (value = 0x80) Specifies that either an X.509 certificate or a forms-based authentication scheme is required.
Sm_AuthApi_Cred_FormRequired (value = 0x02000000) Specifies that the user must be redirected to an HTML form.
Sm_AuthApi_Cred_AllowSaveCreds (value = 0x04000000) Specifies that the credentials can be saved for 30 days Note: When credentials are saved, users are not required to re-enter them each time they access a protected resource.
Sm_AuthApi_Cred_PreserveSessionID (value = 0x08000000) Specifies that the Session ID be preserved for as long as the current session is valid.
Sm_AuthApi_Cred_DoNotChallenge (value = 0x10000000) Specifies that the user not be challenged for credentials.
Response Methods
Parameters The IsProtected method accepts no parameters. Return Value The IsProtected method returns one of the following values: SM_AGENTAPI_YES (value = 1) Specifies that the resource is protected. SM_AGENTAPI_NO (value = 2) Specifies that the resource is not protected. SM_AGENTAPI_FAILURE (value = -1) Specifies that the Policy Server could not be reached. SM_AGENTAPI_TIMEOUT (value = -2) Specifies that the method timed out. SM_AGENTAPI_NOCONNECTION (value = -3) Specifies that initialization failed.
Response Methods
The following methods act on AgentResponse objects: GetAttributes MethodRetrieves List of Available Response Attributes GetSession MethodRetrieves the Session from the Response
Response Methods
Parameters The GetAttributes method accepts no parameters. Return Value The GetAttributes method returns one of the following values: AgentResponseAttr (array) undef Specifies that the method failed.
Parameters The GetSession method accepts no parameters. Return Value The GetSession method returns one of the following values: AgentSession (object) undef Specifies that the method failed.
Parameters The GetFlags method accepts no parameters. Return Value The GetFlags method returns the following value: existing_response_attribute_flags
Return Value The GetID method returns a response attribute ID after AgentResponse->GetAttributes is called or an agent command ID after AgentAPI->DoManagement is called. In either case, the return value's type is long. AgentResponse->GetAttributes retrieves a list of response attributes and returns them in an array. When GetID is called after AgentResponse->GetAttributes is called, GetID returns one of the following response attribute IDs (long): SM_AGENTAPI_ATTR_AUTH_DIR_OID (value = 151) Specifies the internal SiteMinder object ID for the user directory where the user was authenticated. SM_AGENTAPI_ATTR_USERUNIVERSALID (value = 152) Specifies the user's universal ID. SM_AGENTAPI_ATTR_IDENTITYSPEC (value = 156) Specifies the user's identity ticket. Note: This value is returned if user tracking is enabled. SM_AGENTAPI_ATTR_SESSIONDRIFT (value = 167) Specifies the maximum time in minutes, during which actual session data is validated against session data stored in a cookie. SM_AGENTAPI_ATTR_AUTH_DIR_NAME (value = 213) Specifies the directory name as it appears in the Name field of the SiteMinder User Directory dialog. SM_AGENTAPI_ATTR_AUTH_DIR_SERVER (value = 214) Specifies the server specification as it appears in the Server field of the SiteMinder User Directory dialog. SM_AGENTAPI_ATTR_AUTH_DIR_NAMESPACE (value = 215) Specifies the user directory's namespace: LDAP, AD, WinNT, or ODBC. SM_AGENTAPI_ATTR_USERMSG (value = 216) Specifies the text presented to the user following an authentication attempt. Note: This text could be an authentication challenge or a reason why authentication failed. SM_AGENTAPI_ATTR_USERDN (value = 218) Specifies the user's distinguished name.
AgentAPI->DoManagement retrieves a list of agent commands pending from the Policy Server and returns them in an array. When GetID is called after AgentAPI->DoManagement is called, GetID returns one of the following agent command IDs (long): SM_AGENTAPI_AFFILIATE_KEY_UPDATE (value = 189) Instructs the agent to update the name of the affiliate agent. SM_AGENTAPI_AGENT_KEY_UPDATE_NEXT (value = 190) Instructs the agent to update its "next" agent key. Note: The encrypted value contains 24 bytes of binary data. SM_AGENTAPI_AGENT_KEY_UPDATE_LAST (value = 191) Instructs the agent to update its "last" agent key. Note: The encrypted value contains 24 bytes of binary data. SM_AGENTAPI_AGENT_KEY_UPDATE_CURRENT (value = 192) Instructs the agent to update its "current" agent key. Note: The encrypted value contains 24 bytes of binary data. SM_AGENTAPI_AGENT_KEY_UPDATE_PERSISTENT (value = 193) Instructs the agent to update its static (persistent) agent key. Note: The encrypted value contains 24 bytes of binary data. SM_AGENTAPI_CACHE_FLUSH_ALL (value = 194) Instructs the agent to flush all information in its caches. SM_AGENTAPI_CACHE_FLUSH_ALL_USERS (value = 195) Instructs the agent to flush all user information stored in its caches. SM_AGENTAPI_CACHE_FLUSH_THIS_USER (value = 196) Instructs the agent to flush all cache information for a given user. SM_AGENTAPI_CACHE_FLUSH_ALL_REALMS (value = 197) Instructs the agent to flush all resource information stored in its caches. SM_AGENTAPI_CACHE_FLUSH_THIS_REALM (value = 198) Instructs the agent to flush all resource information for a given realm.
Parameters The GetName method accepts no parameters. Return Value The GetName method returns the following value: response_attribute_name (string)
Parameters The GetTTL method accepts no parameters. Return Value The GetTTL method returns the following value: Time_To_Live_value (long)
Parameters The GetValue method accepts no parameters. Return Value The GetValue method returns the following value: response_attribute_value (string)
Parameters The IPAddress method accepts the following parameter: IPAddress (string) (Optional) Specifies the IP address of the Policy Server.
Session Methods
Return Value The IPAddress method returns the following value: IP_address (string) Specifies the IP address of the Policy Server.
Session Methods
The following methods act on AgentSession objects: AddParameter MethodAdds Session Variable Name-Value Pair to Parameters List DelVariables MethodDeletes Session Variables from Session Store GetID MethodRetrieves the Session ID GetReason MethodRetrieves the Session's Reason ID GetSpec MethodRetrieves the Encrypted Session Specification GetVariables MethodRetrieves Session Variables from Session Store IdleTimeout MethodRetrieves Session's Idle Timeout Value MaxTimeout MethodRetrieves Session's Maximum Timeout Value SetVariables MethodWrites Session Variables to Session Store
Session Methods
Parameters The AddParameter method accepts the following parameters: varName (string) Specifies the name of the variable to add to the parameter list. Limit: Maximum length is 255 characters. varValue (string) (Optional) Specifies the value of the variable to be added to the parameter list. Limit: Maximum length is determined by the target data store. varFlag (int) (Optional) Specifies whether the GetVariables method deletes the variable name-value pair from the session store: 0 (zero) Specifies that GetVariables retrieves the variable name-value pair from the session store, but does not delete it. 1 (one) Specifies that GetVariables retrieves the variable name-value pair from the session store and then deletes it. Return Value The AddParameter method does not return a value. Remarks You can manage the name-value pairs in the parameters list by calling these session variable methods: AgentSession->DelVariables AgentSession->GetVariables AgentSession->SetVariables
Session Methods
To manage multiple variables, call AddParameter once for each variable before calling the AgentSession->DelVariables, AgentSession->GetVariables, and AgentSession->SetVariables methods. While AddParameter adds variables to the parameters list, AgentSession->DelVariables, AgentSession->GetVariables, and AgentSession->SetVariables clear the parameters list. Before you can use the session variable methods, the following conditions must be met: A persistent session must be created in at least one realm. The SiteMinder session server must be enabled.
Note: For more information, see the Policy Server Administration Guide and the Policy Server Configuration Guide.
Parameters The DelVariables method accepts no parameters. Return Value The DelVariables method does not return a value. Remarks The DelVariables method clears the parameters list.
Session Methods
Parameters The GetID method accepts no parameters. Return Value The GetID method returns the following value: session_ID (string)
Parameters The GetReason method accepts no parameters. Return Value The GetReason method returns one of the following values (long): Sm_Api_Reason_None (value = 0) Sm_Api_Reason_PwMustChange (value = 1) Sm_Api_Reason_InvalidSession (value = 2) Sm_Api_Reason_RevokedSession (value = 3) Sm_Api_Reason_ExpiredSession (value = 4)
Session Methods
Sm_Api_Reason_AuthLevelTooLow (value = 5) Sm_Api_Reason_UnknownUser (value = 6) Sm_Api_Reason_UserDisabled (value = 7) Sm_Api_Reason_InvalidSessionId (value = 8) Sm_Api_Reason_InvalidSessionIp (value = 9) Sm_Api_Reason_CertificateRevoked (value = 10) Sm_Api_Reason_CRLOutOfDate (value = 11) Sm_Api_Reason_CertRevokedKeyCompromised (value = 12) Sm_Api_Reason_CertRevokedAffiliationChange (value = 13) Sm_Api_Reason_CertOnHold (value = 14) Sm_Api_Reason_TokenCardChallenge (value = 15) Sm_Api_Reason_ImpersonatedUserNotInDir (value = 16) Sm_Api_Reason_Anonymous (value = 17) Sm_Api_Reason_PwWillExpire (value = 18) Sm_Api_Reason_PwExpired (value = 19) Sm_Api_Reason_ImmedPWChangeRequired (value = 20) Sm_Api_Reason_PWChangeFailed (value = 21) Sm_Api_Reason_BadPWChange (value = 22) Sm_Api_Reason_PWChangeAccepted (value = 23) Sm_Api_Reason_ExcessiveFailedLoginAttempts (value = 24) Sm_Api_Reason_AccountInactivity (value = 25) Sm_Api_Reason_NoRedirectConfigured (value = 26) Sm_Api_Reason_ErrorMessageIsRedirect (value = 27) Sm_Api_Reason_Next_Tokencode (value = 28) Sm_Api_Reason_New_PIN_Select (value = 29) Sm_Api_Reason_New_PIN_Sys_Tokencode (value = 30) Sm_Api_Reason_New_User_PIN_Tokencode (value = 31) Sm_Api_Reason_New_PIN_Accepted (value = 32) Sm_Api_Reason_Guest (value = 33) Sm_Api_Reason_PWSelfChange (value = 34)
Session Methods
Sm_Api_Reason_ServerException (value = 35) Sm_Api_Reason_UnknownScheme (value = 36) Sm_Api_Reason_UnsupportedScheme (value = 37) Sm_Api_Reason_Misconfigured (value = 38) Sm_Api_Reason_BufferOverflow (value = 39) Sm_Api_Reason_SetPersistentSessionFailed (value = 40)
Parameters The GetSpec method accepts no parameters. Return Value The GetSpec method returns the following value: encrypted_session_specification (string)
Remarks Where the session specification is stored depends on the type of session: Non-persistent Sessions The session specification is stored in a cookie. Persistent Sessions The session specification is stored in a session server database and optionally, in a cookie on the client. Note: The session ticket is used as an index to the actual user session data stored in the Web agent's cache.
Session Methods
Parameters The GetVariables method accepts no parameters. Return Value The GetVariables method returns the following value: AgentResponseAttr (array)
Note: Some session variables cannot be retrieved. To check for these, call AgentResponseAttr->GetFlags for the associated AgentResponseAttr object and test for the following return value: SM_AGENTAPI_RESPATTR_FLAGS_UNRESOLVED (value = 2) Remarks The GetVariables method clears the parameters list.
Session Methods
Parameters The IdleTimeout method accepts no parameters. Return Value The IdleTimeout method returns the following value: idle_timeout_value (long)
Parameters The MaxTimeout method accepts no parameters. Return Value The MaxTimeout method returns the following value: maximum_timeout_value (long)
Return Value The SetVariables method does not return a value. Remarks The SetVariables method clears the parameters list.
Parameters The Decode method accepts the following parameter: update (int) (Optional) Specifies whether an updated token is requested: value = non-zero Specifies that an updated token is requested. value = 0 (default) Specifies that an updated token is not requested.
Return Value The Decode method returns one of the following values: an array of attributes containing a subset of the following: ATTR_CLIENTIP Specifies the IP address of the machine where the user initiated a request for a protected resource. ATTR_DEVICENAME Specifies the name of the agent that is decoding the token. ATTR_IDLESESSIONTIMEOUT Specifies the maximum idle time for a session. ATTR_LASTSESSIONTIME Specifies the time when the Policy Server was last accessed within the session. ATTR_MAXSESSIONTIMEOUT Specifies the maximum time that a session can be active. ATTR_SESSIONID Specifies the session ID returned from the login call. ATTR_SESSIONSPEC Specifies the session specification returned from the login call. ATTR_STARTSESSIONTIME Specifies when the session started after a successful login. ATTR_USERDN Specifies the user's distinguished name. ATTR_USERNAME Specifies the user's name. undef Specifies that the method failed. Remarks To create a single sign-on object, call AgentUser->CreateSSOToken.
Parameters The GetString method accepts no parameters. Return Value The GetString method returns the following value: SSO_token (string)
Remarks You can call GetString after creating a single sign-on token object with CreateSSOToken. You can also call GetString after updating the token's last-accessed timestamp with Decode.
Return Value The GetVersion method returns the following value: version (int) Specifies the SiteMinder version of the single sign-on token.
Parameters The IsThirdParty method accepts no parameters. Return Value The IsThirdParty method returns one of the following integer values: value = non-zero Specifies that the token was originally produced by a custom agent and has not yet been updated by a standard SiteMinder agent. value = 0 Specifies that the token was not produced by a custom agent or has been updated by a standard SiteMinder agent.
User Methods
User Methods
The following methods act on AgentUser objects: Audit MethodAudits Authorizations Performed out of Agent Cache Certificate MethodSets or Retrieves User's X.509 Certificate CertificateFile MethodSets or Retrieves User's X.509 Certificate Using File CreateSSOToken MethodCreates Single Sign-on Token Object CustomData MethodSets or Retrieves Custom Authentication Data FormData MethodSets or Retrieves HTML Forms-based Authentication Data GetResponse MethodReturns Response After IsAuthorized or Login Impersonate MethodAllows One User to Impersonate Another IsAuthorized MethodDetermines Whether User Is Authorized Login MethodPerforms Session Login and Validation Logout MethodLogs the User out of the Session Name MethodSets or Retrieves the User's Username Password MethodSets or Retrieves the User's Password Validate MethodValidates a Session Specification
User Methods
Return Value The Audit method returns one of the following values: SM_AGENTAPI_YES (value = 1) Specifies that the audit was successful. SM_AGENTAPI_NO (value = 2) Specifies that the audit was not successful. SM_AGENTAPI_FAILURE (value = -1) Specifies that the Policy Server could not be reached. SM_AGENTAPI_TIMEOUT (value = -2) Specifies that the method timed out. SM_AGENTAPI_NOCONNECTION (value = -3) Specifies that initialization failed.
Parameters The Certificate method accepts the following parameters: cert (string) (Optional) Specifies the certificate data to set. certBinaryLen (int) (Optional) Specifies the length of the certificate.
User Methods
Return Value The Certificate method returns one of the following values: ($String, $Length) Specifies the new or existing certificate's data and length. undef Specifies that the method failed.
Parameters The CertificateFile method accepts the following parameters: certFile (string) (Optional) Specifies the full path and file name of the certificate file. format (string) (Optional) Specifies the format of the certificate file. Default: base64 encoded X.509 (value = 1) Note: The default is the only supported file format. Return Value The CertificateFile method returns the following value: ($String, $Length) Specifies the new or existing certificate's data and length.
User Methods
Parameters The CreateSSOToken method accepts the following parameters: szDn (string) Specifies the user's distinguished name. szName (string) Specifies the user's name. szIP (string) Specifies the IP address of the machine, where the user initiates the request for a protected resource. Return Value The CreateSSOToken method returns the following value: SSOToken (object)
Remarks To retrieve the token object in string format, use the GetString method and write the token string to the SMSESSION cookie. To decode the token and retrieve a subset of its attributes, use the Decode method.
User Methods
Parameters The CustomData method accepts the following parameters: customData (string) (Optional) Specifies the custom authentication data to set. length (int) (Optional) Specifies the length of the custom authentication data. Return Value The CustomData method returns one of the following values: ($String, $Length) Specifies the new or existing custom authentication data and length. undef Specifies that the method failed.
User Methods
Parameters The FormData method accepts the following parameter: formData (string) (Optional) Specifies the HTML forms-based authentication data to set. Return Value The FormData method returns one of the following values: authentication_data Specifies the new or existing HTML forms-based authentication data. undef Specifies that the method failed.
Parameters The GetResponse method accepts no parameters. Return Value The GetResponse method returns one of the following values: AgentResponse (object) undef Specifies that the method failed, because neither AgentUser->IsAuthorized or AgentUser->Login was called before calling GetResponse.
User Methods
Parameters The Impersonate method accepts the following parameters: username (string) Specifies the ID of the user to impersonate. resource (AgentResource object) Specifies the resource to log in to. Return Value The Impersonate method returns one of the following values: SM_AGENTAPI_YES (value = 1) Specifies that the impersonation was successful. SM_AGENTAPI_NO (value = 2) Specifies that impersonation failed. SM_AGENTAPI_FAILURE (value = -1) Specifies that the operation failed. SM_AGENTAPI_TIMEOUT (value = -2) Specifies that the method timed out. SM_AGENTAPI_NOCONNECTION (value = -3) Specifies that initialization failed. Remarks The Impersonate method creates a new session without destroying the impersonator's original session. To end the impersonation session and restore the impersonator's original session, call AgentUser->Logout. Only one user at a time can be impersonated. You cannot chain impersonation sessions.
User Methods
Impersonation begins in a realm that is protected by the Impersonation Authorization Scheme. The impersonator must be authorized to impersonate users in the realm, and the user must be allowed to be impersonated in the realm. For more information about user impersonation, see the Policy Server Configuration Guide.
Parameters The IsAuthorized method accepts the following parameters: resource (AgentResource object) Specifies the resource to check. clientIP (string) (Optional) Specifies the client's IP address. transID (string) (Optional) Specifies the user-defined transaction ID that the agent uses to associate application activity with security activity. Return Value The IsAuthorized method returns one of the following values: SM_AGENTAPI_YES (value = 1) Specifies that the user is authorized. SM_AGENTAPI_NO (value = 2) Specifies that the user is not authorized. SM_AGENTAPI_FAILURE (value = -1) Specifies that the Policy Server could not be reached.
User Methods
Parameters The Login method accepts the following parameters: resource (AgentResource object) Specifies the resource to log in to. clientIP (string) (Optional) Specifies the client's IP address. Return Value The Login method returns one of the following values: SM_AGENTAPI_YES (value = 1) Specifies that user login was successful. SM_AGENTAPI_NO (value = 2) Specifies that user login failed. SM_AGENTAPI_CHALLENGE (value = 3) Specifies that a challenge is required for authentication. SM_AGENTAPI_FAILURE (value = -1) Specifies that the operation failed. SM_AGENTAPI_TIMEOUT (value = -2) Specifies that the method timed out. SM_AGENTAPI_NOCONNECTION (value = -3) Specifies that the object was not connected.
User Methods
Remarks To allow one user, who is already logged in, to log in again as another user, call AgentUser->Impersonate.
Parameters The Logout method accepts no parameters. Return Value The Logout method returns one of the following values: SM_AGENTAPI_YES (value = 1) Specifies that the user logged out successfully. SM_AGENTAPI_NO (value = 2) Specifies that user logout failed. SM_AGENTAPI_CHALLENGE (value = 3) Specifies that a challenge is required for authentication. SM_AGENTAPI_FAILURE (value = -1) Specifies that the operation failed. SM_AGENTAPI_TIMEOUT (value = -2) Specifies that the method timed out. SM_AGENTAPI_NOCONNECTION (value = -3) Specifies that the object was not connected.
User Methods
Remarks Calling Logout while one user is impersonating another user ends the impersonation session and restores the impersonator's original session. Calling AgentUser->Impersonate allows one user to impersonate or log in as another user.
Parameters The Name method accepts the following parameter: username (string) (Optional) Specifies the username to set. Return Value The Name method returns the following value: username (string) Specifies the new or existing username. Remarks Setting the username only affects the current instance of the user object. It does not affect the user's entry in the directory.
User Methods
Parameters The Password method accepts the following parameter: password (string) (Optional) Specifies the password to set. Return Value The Password method returns the following value: password (string) Specifies the new or existing password. Remarks Setting the password only affects the current instance of the user object. It does not affect the user's entry in the directory.
Parameters The Validate method accepts the following parameters: resource (AgentResource object) Specifies the resource to log in to. clientIP (string) (Optional) Specifies the client's IP address. transID (string) (Optional) Specifies a user-defined transaction ID.
User Methods
Return Value The Validate method returns one of the following values: SM_AGENTAPI_YES (value = 1) Specifies that the operation was successful. SM_AGENTAPI_NO (value = 2) Specifies that the user was not logged in. SM_AGENTAPI_FAILURE (value = -1) Specifies that the operation failed. SM_AGENTAPI_TIMEOUT (value = -2) Specifies that the method timed out. SM_AGENTAPI_NOCONNECTION (value = -3) Specifies that the object was not connected. Remarks The Policy Server validates a session specification or session ID, as follows: If the session ID is specified without a session specification, the Policy Server uses the session ID for validation. If the session ID is specified with a session specification, the Policy Server validates the session ID against the session specification. If the client's IP address is specified with a session specification, the Policy Server validates the IP address against the session specification.
Resource Protection
When a user attempts to log into a site and access a protected resource, the agent typically needs to answer the following questions: Is the requested resource protected? Can the user be authenticated for login? Is the user authorized to access the resource?
The following script illustrates how you can use the Agent API to address and respond to these basic agent questions:
use Netegrity::AgentAPI; #Define script variables $agent = "agent1"; $secret = "oursecret"; $ip = "127.0.0.1"; $respath = "/mysite/hr/payroll.htm"; $username = "userid"; $pwd = "userpwd"; print "\nStep 1. Connecting to Policy Server...\n"; $agentapi = Netegrity::AgentAPI->New($agent, $secret); $serverconfig = $agentapi->AddServerConfig($ip); $status=$agentapi->Connect();
die "FATAL: Connect() failed with error code " . $status unless($status==SM_AGENTAPI_YES); $resource = $agentapi->GetResource($respath); print "\nStep 2. Is the resource protected?\n"; if ($resource->IsProtected == SM_AGENTAPI_YES) { print "Resource ".$respath." is protected.\n\n"; print "\nStep 3. User login...\n"; $user = $agentapi->CreateUser($username, $pwd); print "Logging in user ".$user->Name().".\n"; $status = $user->Login($resource); if($status==SM_AGENTAPI_YES) { print $user->Name() . " logged in successfully!\n\n"; print "\nStep 4. User authorized for the resource?\n"; $status = $user->IsAuthorized($resource); if($status==SM_AGENTAPI_YES) { print $user->Name()." is authorized for " . $respath . "\n\n"; } else { print $user->Name()." is not authorized for " . $respath . "\n\n"; } } else { print "Couldn't log in user " . $username . ".\n\n"; } } else { print "Resource ".$respath." is not protected.\n\n"; }
Session Management
$agentapi=Netegrity::AgentAPI->New($agentname,$sharedsecret); #Add Policy Server configuration info... $serverconfig = $agentapi->AddServerConfig($ip); $agentapi->Connect(); $resource=$agentapi->GetResource("/mysite/hr/payroll.htm"); # Test whether the resource is protected. If it is, # log in the user and get the attributes of the response. if($resource->IsProtected() == SM_AGENTAPI_YES) { $user = $agentapi->CreateUser($username,$userpwd); print "\nLogging in user ".$user->Name()."...\n"; $status=$user->Login($resource); if($status==SM_AGENTAPI_YES) { $response=$user->GetResponse(); @attr = $response->GetAttributes(); foreach $attr(@attr) { print "\nAttribute ID = " . $attr->GetID()."\n"; print "TTL = " . $attr->GetTTL()."\n"; print "Value = " . $attr->GetValue()."\n"; print "Name = " . $attr->GetName()."\n"; } } } else { print "\nThe resource is not protected.\n\n"; }
Session Management
After you retrieve an AgentSession object, you can perform session management operations. You can retrieve information about a session, such as session timeout values, the session ID, and the session specification. The session specification can be used to identify a session across multiple sites, such as for single sign-on operations. You can also retrieve a reason code for a failed authentication or authorization attempt by calling GetReason().
Session Management
Example: Login in a user The following example logs in a user, gets a response to the login attempt, retrieves a session object for the users session, and prints out various details about the session:
use Netegrity::AgentAPI; #Define script variables $agent = "agent1"; $secret = "oursecret"; $ip = "127.0.0.1"; $respath = "/mysite/hr/payroll.htm"; $username = "userid"; $pwd = "userpwd"; #Establish the connection and create needed objects $agentapi = Netegrity::AgentAPI->New($agent, $secret); $serverconfig = $agentapi->AddServerConfig($ip); $agentapi->Connect(); $user = $agentapi->CreateUser($username, $pwd); print "Logging in user ".$user->Name().".\n"; $resource = $agentapi->GetResource($respath); #Log in the user $status = $user->Login($resource); if($status==SM_AGENTAPI_YES) { print $user->Name() . " logged in successfully!\n\n"; #Get the login response $response=$user->GetResponse(); #Get the session object $session=$response->GetSession(); if ($session != undef) { print "Printing session details:\n"; print "Session reason=".$session->GetReason()."\n"; print "Session IdleTimeout=".$session->IdleTimeout()."\n"; print "Session Maxtimeout=".$session->MaxTimeout()."\n"; print "Session ID=".$session->GetID()."\n"; print "Session specification=".$session->GetSpec()."\n\n"; } } else { print "Couldn't log in user " . $username . "\n\n"; }
The following illustration shows some of the policy store objects you can manage with the Policy Management API:
In addition, the Policy Management API data management object (PolicyMgtDataMgr) lets you copy specific objects from one policy store to another, rather than an entire policy store or domain as allowed by the SiteMinder smobjexport and smobjmport tools.
3. Optionally, set one or more Policy Server initialization flags through PolicyMgtAPI methods such as DisableValidation(). By default, all initialization flags are set to 0. 4. Create a session with the Policy Server:
$session = $policymgtapi->CreateSession("userid", "password", "127.0.0.1" );
You can now perform operations against Policy Server objects. For example, you could retrieve and print out a list of configured agents in the Policy Server:
@agents = $session->GetAllAgents(); foreach $agent (@agents) { print "Agent Name = " . $agent->Name() . "\n"; }
SAML Assertions
A SAML assertion includes: Affiliate attributes, such as: User profile information from a user directory, such as a users email address or business title. User entitlements, such as the users credit limit at the affiliate site.
Session information (SAML 1.x assertions)for example, whether the assertion producer and the consumer can maintain separate sessions.
Note: You can modify the default assertion that the Policy Server generates. You do so through a custom Java class that you create with the SiteMinder Java SDK. For information about modifying a SAML assertion, see the online SiteMinder Java API Documentation.
SAML 1.x
With Federation Security Services SAML 1.x support, a user can access a consumer site either directly or from an assertion producer site without having to supply credentials more than once. When a user requests access to a protected resource at an affiliate site, the Policy Server at the producer site is notified. After authenticating the user (if the user has not yet been authenticated), the Policy Server generates a SAML assertion from the affiliate object associated with the consumer site. An application at the affiliate site then retrieves the SAML assertion from the Policy Server, and uses the information for authorization purposes and any other required purpose. For example, suppose a user logs into a site for a bank (the producer site). The producer includes Policy Server software. The Policy Server contains an affiliate object that represents a site offering credit card services, and also other affiliate objects that represent other sites affiliated with the bank. When a user is authenticated at the producer, the user can click the link for the credit-card site and access the site without having to re-enter his credentials.
# 1. Initialize the API use Netegrity::PolicyMgtAPI; $policyapi = Netegrity::PolicyMgtAPI->New(); $session = $policyapi->CreateSession("adminid", "adminpwd"); # 2. Add an affiliate domain $affdomain = $session->CreateAffDomain("name", "description"); # 3. Add a previously obtained user directory to the affiliate domain # <Obtain $userdir via $session->GetAllUserDirs> $affdomain->AddUserDir($userdir); # 4. Create an affiliate in the affiliate domain $affiliate = $affdomain->CreateAffiliate("affname", "password", http://authurl, 60, 30); # 5. Add users from a previously obtained user table to the affiliate # <Obtain $user via $userdir->GetContents> $affdomain->AddUser($user); # 6. Add an attribute for the affiliate $affdomain->AddAttribute(1, "staticAttrName=StaticAttrValue"); # 7. Get an existing affiliate domain $affiliate = $affdomain->GetAffiliate("affname"); # 8. Get all the affiliates in an affiliate domain @affiliates = $affdomain->GetAllAffiliate(); # 9. Get all the attributes in an affiliate @affiliateAttrs = $affiliate->GetAllAttributes(); # 10. Remove an affiliate domain $session->DeleteAffDomain($affiliate);
SAML 2.0
SiteMinder Federation Security Services supports SAML 2.0 functionality. With SAML 2.0, security assertions are shared between the following entities within a federation: Service Provider A Service Provider makes applications and other resources available to principals within a federation. A principal is a user or another federation entity. Identity Provider An Identity Provider creates and manages identity information for principals within a SAML 2.0 federation. The Identity Provider packages the information in a SAML assertion and sends it to the Service Provider where the principal is attempting to access resources. A SAML 2.0 affiliation consists of Service Providers and Identity Providers that have a shared Name ID namespace. Identity Providers also share the user disambiguation properties across the affiliation. A SAML 2.0 affiliation can have multiple Service Providers and Identity Providers. However, a Service Provider or Identity Provider can belong to no more than one SAML 2.0 affiliation. SAML 2.0 authentication is performed through an authentication scheme based on the SAML 2.0 Template. A SAML 2.0 authentication scheme and its associated Identity Provider are configured by a SAML 2.0 Service Provider. The Service Provider uses the authentication scheme to transparently validate a user based on the information in a SAML 2.0 assertion.
# 5. Create the Service Provider $sp=$affDom->CreateSAMLServiceProvider(\%hsh); # 6. Retrieve users from the directory associated with the # affiliate domainin this case, users in the group HR $userDir=$session->GetUserDir("MyNtDirectory"); $usr=$userDir->LookupEntry("HR"); # 7. Add the users to the Service Provider $sp->AddUser($usr); # 8. Update the Service Provider's default skewtime to 100 $sp->Property($SAML_SKEWTIME,"100"); # 9. Save the update $sp->Save(); # 10. Print the updated skewtime print "\n"; print $sp->Property($SAML_SKEWTIME);
The Perl Policy Management API includes the following three methods in the PolicyMgtSession object to support authorization based on user attributes: AddAttributeToSAMLScheme() GetAllSAMLSchemeAttributes() RemoveAttributeFromSAMLScheme()
The PolicyMgtSAMLServiceProvider->AddAttribute method supports the addition of an attribute to the Service Provider (the Attribute Authority) that can be requested by a SAML Requester.
This method returns a PolicyMgtSAMLSPACS object. There are also methods in PolicyMgtSAMLServiceProvider for retrieving all Assertion Consumer Service objects and for removing an Assertion Consumer Service. The PolicyMgtSAMLSPACS object includes methods to retrieve values for the index, protocol binding, and Assertion Consumer URL.
WS-Federation
The WS-Federation specification provides a protocol for how passive clients (such as Web browsers) implement the federation framework. ADFS is Microsoft's implementation of the WS-Federation Passive Requestor Profile. Web SSO and sign-out in this environment are implemented using Account Partners and Resource Partners. An Account Partner authenticates users, provides WS-Federation security tokens, and passes them to a Resource Partner. The Resource Partner consumes security tokens and establishes a session based on the contents of the WS-Federation security token.
For SiteMinder to act as an Account Partner, an administrator must define the Resource Partner that will be consuming security tokens. This is done by defining a Resource Partner in an Affiliate domain. For SiteMinder to act as a Resource Partner, an administrator must define the Account Partner that is going to supply security tokens. This is done by defining a WS-Federation authentication scheme. In a Perl script, you define a Resource Partner by calling the PolicyMgtAffDomain->CreateWSFEDResourcePartner method as follows:
$aff = $affDomain->CreateWSFEDResourcePartner(propsHash_ref);
propsHash_ref is a reference to a hash table of metadata properties defined for the Resource Partner. This method returns a PolicyMgtWSFEDResourcePartner object. The PolicyMgtWSFEDResourcePartner object includes methods for managing users in the Resource Partner (AddUser, GetAllUsers, and RemoveUser). Note that the PolicyMgtWSFEDResourcePartner->Property() method does not submit changes to the data store. You must call the PolicyMgtWSFEResourcePartner->Save() method. To define an Account Partner in a Perl script you create an instance of a WS-Federation authentication scheme by calling PolicyMgtSession->CreateWSFEDAuthScheme(). You can set or retrieve metadata properties for this authentication scheme by calling PolicyMgtSession->WSFEDAuthSchemeProperties(). There are no methods for deleting or retrieving a WS-Federation authentication scheme specifically. You use the DeleteAuthScheme, GetAuthScheme, and GetAllAuthSchemes as you would for any other type of authentication scheme. .
More Information: WS-Federation Resource Partner Methods (see page 553) WS-Federation Resource Partner Attribute Methods (see page 561)
Affiliate Domains
Sample Scripts
The sample scripts AffiliateDemo.pl, SAMLServiceProvider.pl, WSFEDAccountPartner.pl, and WSFEDResourcePartner.pl are provided with Federation Security Services. If you did not install Federation Security Services objects during the installation of the Option Pack, you must import ampolicy.smdif into the Policy Store before you can use the sample script. The default location of ampolicy.smdif is <siteminder_install_dir>\db\SMdif.
Affiliate Domains
Affiliate objects representing sites in a federated business network are contained within a Policy Server affiliate domain. An affiliate domain can contain SAML 1.x affiliates and SAML 2.0 Service Providers. An affiliate domain also contains references to one or more user directories associated with the affiliates and Service Providers in the domain, and to the administrator accounts that can manage the domain. You can use the Command Line Interface to configure affiliate objects and the affiliate domain where they reside. Note: For more information about affiliate objects and affiliate domains, including prerequisites for using affiliate functionality, see the Policy Server Configuration Guide.
Configuration Information
Typically, you configure an authentication scheme when you create the scheme with CreateAuthScheme() or when you modify the scheme with the methods in the PolicyMgtAuthScheme object. Note: The exception to this rule is an authentication scheme based on the SAML 2.0 Template. You create and configure a SAML 2.0 authentication scheme with the method CreateSAMLAuthScheme(). You can provide the following kinds of configuration information for an authentication scheme. Not every authentication scheme template uses all categories of configuration information: Scheme type SiteMinder provides a number of standard authentication scheme types (also known as templates). Each authentication scheme type is configured differently. Description Brief description of the authentication scheme. Protection level Protection level values can range from 1 through 1000. The higher the number, the greater the degree of protection provided by the scheme. Library An authentication scheme library performs authentication processing for the associated authentication scheme type. Each predefined authentication scheme is shipped with a default library. Optionally, you can use a custom library instead of the default. Parameter Additional information that the authentication scheme requires, such as the URL of an HTML login page. With some authentication schemes, the parameter information is constructed from field values in the Scheme Type Setup tab of the Authentication Scheme Properties dialog. To see how a parameter string is constructed for a given scheme type, open this dialog, select the appropriate scheme type, provide values to the fields in the Scheme Type Setup tab, and view the constructed parameter in the Advanced tab. Shared Secret Information that is known to both the authentication scheme and the Policy Server. Different authentication schemes use different kinds of secrets. Most schemes use no secret.
Is template? A flag that specifies whether the authentication scheme is a template. Note: Setting an authentication scheme as a template with the Perl Policy Management API is deprecated in SiteMinder v6.0 SP3.
Is used by administrator? A flag that specifies whether the authentication scheme can be used to authenticate administrators.
Save Credentials? A flag that specifies whether the users credentials are saved.
Is RADIUS? A flag that specifies whether the scheme can be used with RADIUS agents.
Ignore password check? A flag that specifies whether password policies for the scheme are enabled. If 1, password policies are disabled. Note: The Ignore password check flag must be set to True for anonymous authentication schemes.
Configuration Tables
The following tables will help you configure authentication schemes. Each table applies to a particular authentication scheme type and contains the following information: The PolicyMgtAuthScheme method that sets or retrieves a particular kind of configuration value. The default configuration value, if applicable, or a variable name, shown in italics, that represents the configuration value to be supplied. The name of the CreateAuthScheme() argument used to supply the configuration value when you are creating an authentication scheme.
The values in the Information Type column can be used for different purposes in different authentication schemes. For example, with TeleID authentication schemes, the shared secret is used to supply the encryption seed.
Anonymous Template
Use this table when configuring an authentication scheme based on the scheme type Anonymous. Note: The Ignore password check flag must be set to True for anonymous authentication schemes.
Value Assignment and Meaning Type(templateObject) CreateAuthScheme() param: schemeTemplate The scheme type Anonymous.
Description
Protection level
ProtectionLevel(0) CreateAuthScheme() param: protLevel Set to 0. Not applicable to this scheme type.
Library
CustomLib("smauthanon") CreateAuthScheme() param: schemeLib The default library for this scheme type.
Parameter
CustomParam(param) CreateAuthScheme() param: schemeParam A string containing the guest DN. Policies associated with the guest DN must apply to anonymous users.
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme is not used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Value Assignment and Meaning IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
Value Assignment and Meaning CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
IgnorePwd(flag) CreateAuthScheme() param: ignorePwd Set to 1 to ignore password checking, or 0 to check passwords. Default is 0.
Basic Template
Use this table when configuring an authentication scheme based on the scheme type Basic. Information Type Scheme type Value Assignment and Meaning Type(templateObject) CreateAuthScheme() param: schemeTemplate The scheme type Basic. Description Description(schemeDesc) CreateAuthScheme() param: schemeDesc The description of the authentication scheme. Protection level ProtectionLevel(nLevel) CreateAuthScheme() param: protLevel A value of 1 through 1000. The higher the number, the greater degree of protection provided by the scheme.
Information Type
Library
CustomLib("smauthdir") CreateAuthScheme() param: schemeLib The default library for this scheme type.
Parameter
CustomParam("") CreateAuthScheme() param: schemeParam Set to an empty string. Not applicable to this scheme.
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(1) CreateAuthScheme() param: isUsedByAdmin Set to 1scheme can be used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(1) CreateAuthScheme() param: isRadius Set to 1scheme can be used with RADIUS agents.
IgnorePwd(flag) CreateAuthScheme() param: ignorePwd Set to 1 to ignore password checking, or 0 to check passwords. Default is 0.
Value Assignment and Meaning IsRadius(1) CreateAuthScheme() param: isRadius Set to 1scheme can be used with RADIUS agents.
Custom Template
Use this table when configuring an authentication scheme based on the scheme type Custom. You create custom schemes using the C-language Authentication API, which is available with the SiteMinder SDK. Information Type Scheme type Value Assignment and Meaning Type(templateObject) CreateAuthScheme() param: schemeTemplate The scheme type Custom. Description Description(schemeDesc) CreateAuthScheme() param: schemeDesc The description of the authentication scheme. Protection level ProtectionLevel(nLevel) CreateAuthScheme() param: protLevel A value of 0 through 1000. The higher the number, the greater degree of protection provided by the scheme. Default is 5. Library CustomLib(customLibName) CreateAuthScheme() param: schemeLib The name of the custom shared library you created using the C Authentication API. Parameter CustomParam(param) CreateAuthScheme() param: schemeParam Any string of one or more parameters required by your custom authentication scheme. For a custom authentication scheme that uses SSL, you must supply a URL that points to a SiteMinder Web Agent library required for the SSL-based authentication.
Value Assignment and Meaning CustomSecret(secret) CreateAuthScheme() param: secret The shared secret, if any, that your custom authentication scheme uses for encryption of credentials.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(flag) CreateAuthScheme() param: isUsedByAdmin Set to true (1) to specify that the scheme can be used to authenticate administrators, or to false (0) to specify that the scheme cannot be used to authenticate administrators. Default is 0.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
IgnorePwd(flag) CreateAuthScheme() param: ignorePwd Set to 1 to ignore password checking, or 0 to check passwords. Default is 0.
Value Assignment and Meaning ProtectionLevel(nLevel) CreateAuthScheme() param: protLevel A value of 1 through 1000. The higher the number, the greater degree of protection provided by the scheme. Default is 5.
Library
CustomLib("smauthhtml") CreateAuthScheme() param: schemeLib The default library for this scheme type.
Parameter
CustomParam(param) CreateAuthScheme() param: schemeParam A string containing a user attribute list plus the location of the forms credential collector (FCC). The attribute list must begin with AL= and use commas as the list delimiter character, and it must end with a semicolonfor example: AL=Password,SSN,age,zipcode; The complete parameter format is: attr-list;https:/server/fcc The following example uses the default FCC: AL=PASSWORD,SSN,age,zipcode; http://my.server.com/siteminderagent/ forms/login.fcc
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme is not used to authenticate administrators.
Save credentials?
SaveCredentials(credFlag) CreateAuthScheme() param: saveCreds Set to 1 to indicate that user credentials should be saved, or 0 to indicate that user credentials should not be saved. Default is 0.
Value Assignment and Meaning IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
IgnorePwd(flag) CreateAuthScheme() param: ignorePwd Set to 1 to ignore password checking, or 0 to check passwords. Default is 0.
Impersonation Template
Use this table when configuring an authentication scheme based on the scheme type MS Passport. Information Type Scheme type Value Assignment and Meaning Type(templateObject) CreateAuthScheme() param: schemeTemplate The scheme type MS Passport. Description Description(schemeDesc) CreateAuthScheme() param: schemeDesc The description of the authentication scheme. Protection level ProtectionLevel(nLevel) CreateAuthScheme() param: protLevel A value of 1 through 1000. The higher the number, the greater degree of protection provided by the scheme. Default is 1. Library CustomLib("smauthmspp") CreateAuthScheme() param: schemeLib The default library for this scheme type.
Value Assignment and Meaning CustomParam(param) CreateAuthScheme() param: schemeParam The following information, separated by semicolons: A DN for an anonymous user. Format: anonuser=anonUserDN. If you specify an anonymous user DN, the protection level is 0. The search string for looking up a user in a user directory of the specified type. Format: attribute=nameSpace:attrib=searchSpec Valid namespaces are LDAP, AD, ODBC, WinNT, and Custom. The registration URL. The URL can be a custom URL or a SiteMinder form. Formats: registrationurl=URL (custom URL) registrationurl=FORM=URL (SiteMinder form)
Example using an LDAP attribute and a custom URL: attribute=LDAP:altSecurityIdentities= Kerberos:%[email protected];registrationurl =http://passport.xanadu.local/registration/passportreg .asp
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme is not used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
Value Assignment and Meaning IgnorePwd(1) CreateAuthScheme() param: ignorePwd Set to 1ignore password checking.
Value Assignment and Meaning IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme is not used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(1) CreateAuthScheme() param: isRadius Set to 1scheme can be used with RADIUS agents.
Value Assignment and Meaning CustomParam(param) CreateAuthScheme() param: schemeParam A string containing the IP address and port of the RADIUS serverfor example: 123.123.12.12:1645 The default UDP port is 1645.
Shared secret
CustomSecret(secret) CreateAuthScheme() param: secret The user attribute that the RADIUS Server will use as the clear text password.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(1) CreateAuthScheme() param: isUsedByAdmin Set to 1scheme can be used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(1) CreateAuthScheme() param: isRadius Set to 1scheme can be used with RADIUS agents.
IgnorePwd(flag) CreateAuthScheme() param: ignorePwd Set to 1 to ignore password checking, or 0 to check passwords. Default is 0.
Value Assignment and Meaning Description(schemeDesc) CreateAuthScheme() param: schemeDesc The description of the authentication scheme.
Protection level
ProtectionLevel(nLevel) CreateAuthScheme() param: protLevel A value of 1 through 1000. The higher the number, the greater degree of protection provided by the scheme. Default is 10.
Library
CustomLib("smauthenigmahtml") CreateAuthScheme() param: schemeLib The default library for this scheme type.
Parameter
CustomParam(param) CreateAuthScheme() param: schemeParam A string containing the name and location of the forms credentials collector. This example shows the default credentials collector: http://my.server.com/ siteminderagent/forms/safeword.fcc
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(1) CreateAuthScheme() param: isUsedByAdmin Set to 1scheme can be used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(1) CreateAuthScheme() param: isRadius Set to 1scheme can be used with RADIUS agents.
SafeWord Template
Use this table when configuring an authentication scheme based on the scheme type SafeWord. Information Type Scheme type Value Assignment and Meaning Type(templateObject) CreateAuthScheme() param: schemeTemplate The scheme type SafeWord. Description Description(schemeDesc) CreateAuthScheme() param: schemeDesc The description of the authentication scheme. Protection level ProtectionLevel(nLevel) CreateAuthScheme() param: protLevel A value of 1 through 1000. The higher the number, the greater degree of protection provided by the scheme. Default is 10. Library CustomLib("smauthenigma") CreateAuthScheme() param: schemeLib The default library for this scheme type. Parameter CustomParam("") CreateAuthScheme() param: schemeParam Set to an empty string. Not applicable to this scheme. Shared secret CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme. Is template? IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored. Is used by administrator? IsUsedByAdmin(1) CreateAuthScheme() param: isUsedByAdmin Set to 1scheme can be used to authenticate administrators. Save credentials? SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Value Assignment and Meaning IsRadius(1) CreateAuthScheme() param: isRadius Set to 1scheme can be used with RADIUS agents.
Value Assignment and Meaning Type(templateObject) CreateAuthScheme() param: schemeTemplate The scheme type SAML Artifact.
Description
Protection level
ProtectionLevel(nLevel) CreateAuthScheme() param: protLevel A value of 1 through 1000. The higher the number, the greater degree of protection provided by the scheme. Default is 5.
Library
CustomLib("smauthsaml") CreateAuthScheme() param: schemeLib The default library for this scheme type.
Value Assignment and Meaning CustomParam(param) CreateAuthScheme() param: schemeParam The following required parameters: Name. The name of the affiliate. RedirectMode. The way in which the SAML Credentials Collector redirects to the target resource. One of the following numeric values:
0. Meaning: 302 No Data. 1. Meaning: 302 Cookie Data. 2. Meaning: Server Redirect. 3. Meaning: Persist Attributes. SRCID. The 20-byte source ID for the site that produces the SAML assertion. The ID is located at the SAML assertion producers site in the properties file AMAssertionGenerator.properties. AssertionRetrievalURL. The URL for obtaining the assertion from the SAML assertion producers site. Audience. The URI of the document that describes the agreement between the assertion producer site and the affiliate. This value is compared with the audience value specified in the SAML assertion. Issuer. The SAML issuer specified in the assertion. AttributeXPath. A standard XPath query run against the SAML assertion. The query obtains the data that is substituted in a search specification that looks up a userfor example:
Parameter (con't)
//saml:AttributeValue/SM:/SMContent /SM:Smlogin/SM:Username.text() This query gets the text of the Username element. SAMLVersion. The SAML version in use: 1.0 or 1.1. RetrievalMethod. One of these values:
0. Meaning: Basic authentication. 1. Meaning: Client certificate authentication. attribute. The search string for looking up a user in a user directory of the specified type. Use a percent sign ( % ) to indicate where the value returned from the XPath query should be inserted. For example, if you specify attribute LDAP:uid=%s, and user1 is returned from the query, the search string used for LDAP directories is uid=user1. At least one
Information Type
Value Assignment and Meaning attribute must be specified. Format of the parameter string is as follows. Separate name-value pairs with semi-colons ( ; ). The format example includes LDAP and ODBC attributes: Name=name;RedirectMode=0|1|2;SRCID=srcid; AssertionRetrievalURL=url;Audience=audience; Issuer=issuer;AttributeXpath=XPathQuery; SAMLVersion=1.0|1.1;RetrievalMethod=0|1; attribute=LDAP:srchSpc;attribute=ODBC:srchSpc
Shared secret
CustomSecret(secret) CreateAuthScheme() param: secret The password for the affiliate site. The password must match the password entered for the affiliate at the site where the SAML assertion is produced.
Is template?
IsTemplate(0) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme cannot be used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
Value Assignment and Meaning Type(templateObject) CreateAuthScheme() param: schemeTemplate The scheme type SAML POST.
Description
Protection level
ProtectionLevel(nLevel) CreateAuthScheme() param: protLevel A value of 1 through 1000. The higher the number, the greater degree of protection provided by the scheme. Default is 5.
Library
CustomLib("smauthsaml") CreateAuthScheme() param: schemeLib The default library for this scheme type.
Value Assignment and Meaning CustomParam(param) CreateAuthScheme() param: schemeParam The following required parameters: Name. The name of the affiliate. SAMLProfile. The profile type: POST. SAMLVersion. The SAML version in use. The POST profile requires version 1.1. RedirectMode. The way in which the SAML Credentials Collector redirects to the target resource. One of the following numeric values:
0. Meaning: 302 No Data. 1. Meaning: 302 Cookie Data. 2. Meaning: Server Redirect. 3. Meaning: Persist Attributes. AssertionConsumerURL. The URL to be sent the generated assertion. Audience. The URI of the document that describes the agreement between the assertion producer site and the affiliate. This value is compared with the audience value specified in the SAML assertion. Issuer. The SAML issuer specified in the assertion.
Parameter (con't)
AttributeXPath. A standard XPath query run against the SAML assertion. The query obtains the data that is substituted in a search specification that looks up a userfor example:
//saml:AttributeValue/SM:/SMContent /SM:Smlogin/SM:Username.text() This query gets the text of the Username element. attribute. The search string for looking up a user in a user directory of the specified type. Use a percent sign ( % ) to indicate where the value returned from the XPath query should be inserted. For example, if you specify attribute LDAP:uid=%s, and user1 is returned from the query, the search string used for LDAP directories is uid=user1. At least one attribute must be specified.
Format of the parameter string is as follows. Separate name-value pairs with semi-colons ( ; ). The format example includes LDAP and ODBC attributes:
Information Type
Value Assignment and Meaning Name=name;SAMLProfile=POST; SAMLVersion=1.1;RedirectMode=0|1|2; AssertionConsumerURL=consumerUrl; Audience=audience;Issuer=issuer; AttributeXpath=XPathQuery; attribute=LDAP:srchSpc;attribute=ODBC:srchSpc
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(0) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme cannot be used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
These properties are stored with the PolicyMgtAuthScheme object as a hashtable. For information about the metadata properties you can assign to a SAML 2.0 authentication scheme, see the section SAML 2.0 Property Reference in the online Policy Management API Reference. This authentication scheme requires SiteMinder Federation Security Services. The Federation Security Services feature is licensed separately. Where applicable, the method CreateSAMLAuthScheme() is referenced in place of CreateAuthScheme().
Value Assignment and Meaning CreateSAMLAuthScheme() param: propsHash_ref The hashtable of SAML 2.0 metadata properties associated with the authentication scheme object. Call SAMLAuthSchemeProperties() to modify metadata properties associated with an existing SAML 2.0 authentication scheme.
Value Assignment and Meaning Type(templateObject) The scheme type SAML 2.0.
Description
Protection level
ProtectionLevel(nLevel) CreateSAMLAuthScheme() param: protLevel A value of 1 through 1000. The higher the number, the greater degree of protection provided by the scheme. Default is 5.
Library
Parameter
Shared secret
Is template?
IsTemplate(0) Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) Set to 0scheme cannot be used to authenticate administrators. SaveCredentials(0) Set to 0 to indicate that user credentials will not be saved.
Save credentials?
Is RADIUS?
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Value Assignment and Meaning IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme is not used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
SecurID Template
Use this table when configuring an authentication scheme based on the scheme type SecureID. Information Type Scheme type Value Assignment and Meaning Type(templateObject) CreateAuthScheme() param: schemeTemplate The scheme type SecureID. Description Description(schemeDesc) CreateAuthScheme() param: schemeDesc The description of the authentication scheme. Protection level ProtectionLevel(nLevel) CreateAuthScheme() param: protLevel A value of 1 through 1000. The higher the number, the greater degree of protection provided by the scheme. Default is 15. Library CustomLib("smauthace") CreateAuthScheme() param: schemeLib The default library for this scheme type.
Value Assignment and Meaning CustomParam(param) CreateAuthScheme() param: schemeParam A string containing the attribute in the authentication user directory that contains the ACE Server user ID.
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(1) CreateAuthScheme() param: isUsedByAdmin Set to 1scheme can be used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(1) CreateAuthScheme() param: isRadius Set to 1scheme can be used with RADIUS agents.
Value Assignment and Meaning CustomParam(param) CreateAuthScheme() param: schemeParam An ordered set of tokens, separated by semi-colons: <Mode>[; <Target>]; <Admin>; <eTPS_Host> You can add spaces to make the string easier to read. <Mode> specifies the type of credentials that the authenticaion scheme will accept. The following values are possible: cookie -- Only eTrust SSO Cookies are acceptable cookieorbasic -- If an eTrust SSO Cookie is not provided, a login name and password are requested by using Basic Authentication. cookieorforms -- If an eTrust SSO Cookie is not provided, a login name and password are requested by using Forms Authentication.
<Target> is valid only with cookieorforms mode. This is identical to the Target field for standard HTML Forms Authentication Scheme. <Admin> specifies the login ID of an administrator for the Policy Server. The password for this administrator has been specified in the Shared Secret field. <eTPO_Host> specifies the name of the amchine on which the Policy Server is installed. SiteMinder will authenticate itself as <Admin> to the Policy Server on the <eTPS_Host> so that SiteMinder can request validation of eTrust SSO cookies. Examples: "cookie; SMPS_sso; myserver.myco.com" "cookieorforms; /siteminderagent/forms/login.fcc; SMPS_sso; myserver.myco.com"
Shared secret
CustomSecret(secret) CreateAuthScheme() param: secret The password of the Policy Server administrator named in the Parameter field.
Value Assignment and Meaning IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(flag) CreateAuthScheme() param: isUsedByAdmin Set to true (1) to specify that the scheme can be used to authenticate administrators, or to false (0) to specify that the scheme cannot be used to authenticate administrators. Default is 0.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
IgnorePwd(flag) CreateAuthScheme() param: ignorePwd Set to 1 to ignore password checking, or 0 to check passwords. Default is 0.
TeleID Template
Use this table when configuring an authentication scheme based on the scheme type TeleID. Information Type Scheme type Value Assignment and Meaning Type(templateObject) CreateAuthScheme() param: schemeTemplate The scheme type TeleID. Description Description(schemeDesc) CreateAuthScheme() param: schemeDesc The description of the authentication scheme. Protection level ProtectionLevel(nLevel) CreateAuthScheme() param: protLevel A value of 1 through 1000. The higher the number, the greater degree of protection provided by the scheme. Default is 15.
Value Assignment and Meaning CustomLib("smauthencotone") CreateAuthScheme() param: schemeLib The default library for this scheme type.
Parameter
CustomParam("") CreateAuthScheme() param: schemeParam Set to an empty string. Not applicable to this scheme.
Shared secret
CustomSecret(seed) CreateAuthScheme() param: secret The encryption seed. SiteMinder uses this value as an encryption seed for initializing hardware tokens.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(1) CreateAuthScheme() param: isUsedByAdmin Set to 1scheme can be used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(1) CreateAuthScheme() param: isRadius Set to 1scheme can be used with RADIUS agents.
Value Assignment and Meaning CustomParam(param) CreateAuthScheme() param: schemeParam The value of param determines the style of authentication to perform for this scheme: NTLM authentication (for WinNT or Active Directory running in mixed mode) Format: iis-web-server-url/path-to-ntc-file In the format, iis-web-server-url is the name of the IIS web server that is the target of the redirection, and path-to-ntc-file is the location of the .ntc file that collects the WinNT credentials. For example: http://myiiswebserver.mycompany.com/ siteminderagent/ntlm/creds.ntc A SiteMinder Web Agent must be installed on the specified server. By default, the Web Agent installation creates a virtual directory for NTLM credential collection. Windows Authentication (for Active Directory running in native mode) With this authentication style, param has an LDAP filter added to the beginning of the redirection URL. The filter and URL are separated by a semi-colon (;). For example: cn=%{UID},ou=Users,ou=USA,dc=%{DOMAIN}, dc=mycompany,dc=com;http:// myiiswebserver.mycompany.com/ siteminderagent/ntlm/creds.ntc SiteMinder uses the LDAP filter to map credentials received from the browser/Web Agent to an LDAP DN or search filter.
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme is not used to authenticate administrators.
Value Assignment and Meaning SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
IgnorePwd(flag) CreateAuthScheme() param: ignorePwd For WinNT and for Active Directory running in mixed mode, this property must be true (1)ignore password checking. For Active Directory running in native mode, set to true (1) to ignore password checking, or false (0) to check passwords. Default is 0.
WS-Federation Template
This authentication scheme is based on the WS-Federation scheme type. It is configured by a WS-Federation Resource Partner. A Resource Partner uses this authentication scheme to validate a user transparently based on the information in a SAML 1.1 assertion. An authentication scheme based on the WS-Federation Template differs from other types of authentication schemes in two ways: WS-Federation authentication schemes are created with the method CreateWSFEDAuthScheme(). This method creates a PolicyMgtAuthScheme object, just as CreateAuthScheme() does. WS-Federation authentication schemes have two sets of properties: The properties listed in the table that follows. These properties are stored in the PolicyMgtAuthScheme object. Typically, the only properties in this set that you might choose to modify in an existing WS-Federation authentication scheme are name, description, and protection level. Modify these properties with the appropriate method in the PolicyMgtAuthScheme object. Metadata properties for the associated Account Partner. The associated Account Partner is the one that supplies the assertion to the Resource Partner.
These properties are stored with the PolicyMgtAuthScheme object as a hashtable. Note: For information about the metadata properties you can assign to a WS-Federation authentication scheme, see the section WS-Federation Property Reference in the online Policy Management API Reference. This authentication scheme requires SiteMinder Federation Security Services. The Federation Security Services feature is licensed separately.
Value Assignment and Meaning CreateWSFEDAuthScheme() param: propsHash_ref The hashtable of WS-Federation metadata properties associated with the authentication scheme object. Call WSFEDAuthSchemeProperties() to modify metadata properties associated with an existing WS-Federation authentication scheme.
Scheme type
Value Assignment and Meaning Description(schemeDesc) CreateWSFEDAuthScheme() param: schemeDesc The description of the authentication scheme.
Protection level
ProtectionLevel(nLevel) CreateWSFEDAuthScheme() param: protLevel A value of 1 through 1000. The higher the number, the greater degree of protection provided by the scheme. Default is 5.
Library
Parameter
Shared secret
Is template?
IsTemplate(0) Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) Set to 0scheme cannot be used to authenticate administrators. SaveCredentials(0) Set to 0 to indicate that user credentials will not be saved.
Save credentials?
Is RADIUS?
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Value Assignment and Meaning IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme is not used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
IgnorePwd(flag) CreateAuthScheme() param: ignorePwd Set to 1 to ignore password checking, or 0 to check passwords. Default is 0.
Value Assignment and Meaning CustomParam(param) CreateAuthScheme() param: schemeParam A string containing the domain or IP address of the SSL server and the name and path of the forms credentials collector (FCC). The server redirects a users X.509 certificate over an SSL connection. Format: https://server:port/FCC?cert+forms The following example uses the default FCC: https://my.server.com:80/siteminderagent/ certoptional/forms/login.fcc?cert+forms
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme is not used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
IgnorePwd(flag) CreateAuthScheme() param: ignorePwd Set to 1 to ignore password checking, or 0 to check passwords. Default is 0.
If you are using basic authentication over SSL, also provide the following two pieces of information: The fully qualified name of the SSL server used for establishing an SSL connection for basic authentication. Name and path of the SSL Credentials Collector (SSC).
https://SSLserver:port/SCC?certorbasic; [https://BasicServer/SCC] The following example uses the default SCC values: https://my.SSLserver.com:80/siteminderagent/ certoptional/smgetcred.scc?certorbasic; https://my.BasicServer.com/
Information Type
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme is not used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
Value Assignment and Meaning IgnorePwd(flag) CreateAuthScheme() param: ignorePwd Set to 1 to ignore password checking, or 0 to check passwords. Default is 0.
Value Assignment and Meaning CustomParam(param) CreateAuthScheme() param: schemeParam A string containing the following information: Server for establishing an SSL connection. This server redirects a users X.509 certificate over an SSL connection. Name and path of the SSL and forms credentials collector (SFCC).
If you are using an alternate forms-based authentication over SSL, also provide the following two pieces of information: The fully qualified name of the SSL server used for establishing an SSL connection for authentication. Name and path of the Forms Credentials Collector (FCC).
https://SSLserver:port/SFCC?certorform; [https://BasicServer/FCC] The following example uses the default SCC values: https://my.SSLserver.com:80/siteminderagent/ certoptional/forms/login.sfcc?certorform; https://my.BasicServer.com/ siteminderagent/forms/login.fcc
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme is not used to authenticate administrators.
Save credentials?
SaveCredentials(0) CreateAuthScheme() param: saveCreds Set to 0 to indicate that user credentials will not be saved.
Value Assignment and Meaning IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
IgnorePwd(flag) CreateAuthScheme() param: ignorePwd Set to 1 to ignore password checking, or 0 to check passwords. Default is 0.
Information Type
Shared secret
CustomSecret("") CreateAuthScheme() param: secret Set to an empty string. Not applicable to this scheme.
Is template?
IsTemplate(templateFlag) CreateAuthScheme() param: isTemplate Set to 0 to indicate that the scheme is not a template. Any other value is ignored.
Is used by administrator?
IsUsedByAdmin(0) CreateAuthScheme() param: isUsedByAdmin Set to 0scheme is not used to authenticate administrators.
Save credentials?
Is RADIUS?
IsRadius(0) CreateAuthScheme() param: isRadius Set to 0scheme is not used with RADIUS agents.
Response Attribute Methods (see page 391) Rule Methods (see page 394) SAML 2.0 Affiliation Methods (see page 401) SAML 2.0 Indexed Endpoint Methods (see page 404) SAML 2.0 Requester Attribute Methods (see page 406) SAML 2.0 Service Provider Methods (see page 408) SAML 2.0 Service Provider Attribute Methods (see page 421) Session Methods (see page 422) Shared Secret Rollover Methods (see page 506) Trusted Host Methods (see page 509)
User Methods (see page 514) User Directory Methods (see page 524) User Password State Methods (see page 544) Variables Methods (see page 547) Variable Type Methods (see page 552) WS-Federation Resource Partner Methods (see page 553) WS-Federation Resource Partner Attribute Methods (see page 561) This section contains the following topics: Administrator Methods (see page 152) Affiliate Attribute Methods (see page 158) Affiliate Domain Methods (see page 160) Affiliate Object Methods (see page 179) Agent Methods (see page 201) Agent Configuration Methods (see page 205) Agent Configuration Parameters Methods (see page 209) Agent Type Methods (see page 211) Authentication and Authorization Map Methods (see page 212) Authentication Scheme Methods (see page 215) Certificate Mapping Methods (see page 224) Cluster Methods (see page 232) Data Management Methods (see page 233) Domain Methods (see page 240) Group Methods (see page 261) Host Configuration Methods (see page 272) Initialization Methods (see page 282) IP Configuration Methods (see page 290) ODBC Query Scheme Methods (see page 294) Password Policy Methods (see page 308) Policy Methods (see page 347) Policy Server Connectivity Methods (see page 362) Realm Methods (see page 364) Registration Scheme Methods (see page 381) Response Methods (see page 385) Response Attribute Methods (see page 391) Rule Methods (see page 394) SAML 2.0 Affiliation Methods (see page 401) SAML 2.0 Indexed Endpoint Methods (see page 404) SAML 2.0 Requester Attribute Methods (see page 406) SAML 2.0 Service Provider Methods (see page 408) SAML 2.0 Service Provider Attribute Methods (see page 421) Session Methods (see page 422) Shared Secret Rollover Methods (see page 506) Trusted Host Methods (see page 509) User Methods (see page 514) User Directory Methods (see page 524)
Administrator Methods
User Password State Methods (see page 544) Variables Methods (see page 547) Variable Type Methods (see page 552) WS-Federation Resource Partner Methods (see page 553) WS-Federation Resource Partner Attribute Methods (see page 561)
Administrator Methods
The following methods act on PolicyMgtAdmin objects: AuthScheme MethodSets or retrieves the authentication scheme for an administrator stored in an external directory Description MethodSets or retrieves the description of the administrator Name MethodSets or retrieves the name of the administrator ManageAllDomains MethodAdds or revokes the administrator's authority to manage domains ManageDomainObjects MethodAdds or revokes the administrator's authority to manage domain objects ManageKeysAndPwdPolicy MethodAdds or revokes the administrator's authority to manage keys and password policies ManageUsers MethodAdds or revokes the administrator's authority to manage users Password MethodSets or retrieves the administrator password UserDirectory MethodSets or retrieves an external user directory for the administrator
Parameters The AuthScheme method accepts the following parameter: authScheme (PolicyMgtAuthScheme) (Optional) Specifies the authentication scheme to set.
Administrator Methods
Return Value The AuthScheme method returns one of the following values: A PolicyMgtAuthScheme object undef if no authentication scheme exists, or if the call was unsuccessful
Parameters The Description method accepts the following parameter: adminDesc (string) (Optional) Specifies the description of the administrator. Return Value The Description method returns one of the following values: The new or existing administrator directory description An empty string if unsuccessful
Administrator Methods
Parameters The ManageAllDomains method accepts the following parameter: allDomFlag (int) (Optional) Specifies whether system-level and domain-level privileges are enable (set to a value of 1), or disabled (set to a value of 0). Return Value The ManageAllDomains method returns one of the following values: 1 if the administrator can manage all domains 0 if the administrator cannot manage all domains
Remarks Privileges include: Management of system-level Policy Store objects such as administrators, agents, directories, policy domains, authentication schemes, registration schemes, ODBC query schemes, and password policies Management of agent groups, directory mappings, and certificate mappings
Note: These objects cannot be managed through the Scripting Interface. All of the domain-level privileges granted through the ManageDomainObjects method
Administrator Methods
Parameters The ManageDomainObjects method accepts the following parameter: domFlag (int) (Optional) Specifies whether domain object management privileges are granted (set to a value of 1), or revoked (set to a value of 0). Return Value The ManageDomainObjects method returns one of the following values: 1 if the administrator can manage domain objects 0 if the administrator cannot manage domain objects
Remarks Privileges include: Management of rules, responses, policies, and realms Management of rule and response groups
Note: These objects cannot be managed through the Scripting Interface. Flushing of realms from the resource cache
Administrator Methods
Parameters The ManageKeysAndPwdPolicy method accepts the following parameters: pwdPolFlag (int) (Optional) Specifies granting or revoking privileges. Setting this flag to 1 has different meanings for different types of administrators: System-level administrators will be able to manage both keys and password policies. Domain-level administrators will be able to manage password policies only.
Note: You can only create system-level administrators with the Command Line Interface. To create a domain-level administrator, use the Administrative UI. Setting this flag to 0 revokes these privileges. Return Value The ManageKeysAndPwdPolicy method returns one of the following values: 1 privileges enabled 0 privileges disabled
Parameters The ManageUsers method accepts the following parameter: userFlag (int) (Optional) Specifies whether to grant (set value to 1) or revoke (set value to 0) user management privileges.
Administrator Methods
Return Value The ManageUsers method returns one of the following values: 1 if the administrator can manage users 0 if the administrator cannot manage users
Parameters The Name method accepts the following parameter: adminName (string) (Optional) Specifies the name of the administrator. Return Value The Name method returns one of the following values: The new or existing administrator name undef if the call was unsuccessful
Parameters The Password method accepts the following parameter: adminPwd (string) (Optional) Specifies the administrator password.
Return Value The Password method returns one of the following values: The new or existing administrator password undef if the call was unsuccessful
Parameters The UserDirectory method accepts the following parameter: userDir (PolicyMgtUserDir) (Optional) Specifies the external user directory. Return Value The UserDirectory method returns one of the following values: A PolicyMgtUserDir object undef if no directory exists, or if the call was unsuccessful
Parameters The GetAttrType method accepts no parameters. Return Value The GetAttrType method returns one of the following values: AFFILIATE_HTTP_HEADER_VARIABLE AFFILIATE_HTTP_COOKIE_VARIABLE
Parameters The GetValue method accepts no parameters. Return Value The GetValue method returns one of the following values: The value of the affiliate attribute undef if the call was unsuccessful
RemoveAdmin MethodDisassociates the user directory from the affiliate domain RemoveUserDir MethodDisassociates the administrator from the affiliate domain SetUserDirSearchOrderRearranges the search order of the user directory objects associated with the affiliate domain
Parameter The AddAdmin method accepts the following parameter: admin (PolicyMgtAdmin) Specifies the administrator to associate with the affiliate domain. Return Values The AddAdmin method returns one of the following values: 0 on success -1 on failure
Parameter The AddUserDir method accepts the following parameter: userDir (PolicyMgtUserDir) Specifies the user directory to associate with the affiliate domain. Return Values The AddUserDir method returns one of the following values: 0 on success -1 on failure
Parameters The CreateAffiliate method accepts the following parameters: affName (string) Specifies the name of the affiliate object. The name should be unique across all affiliate domains. password (string) Specifies the password that affiliates use to access SiteMinder Federation Web Services. authURL (string) Specifies the URL used to authenticate affiliate users. validityDuration (long) Specifies the number of seconds that a SiteMinder-generated SAML assertion is valid. If an affiliate receives the assertion after the specified time, the assertion is considered invalid.
skewTime (long) Specifies the difference, in seconds, between the system clock time of the assertion producer site and the system clock time of the affiliate site. The skew time is added to validityDuration. Times are relative to GMT. affDesc (string) (Optional) Specifies the description of the affiliate. allowNotification (int) (Optional) Specifies whether to allow event notifications. Set to 1 to enable event notifications to be sent from the affiliate to SiteMinder on the assertion producer site. Set to 0 to disable the event notification service. Default is 0 (notifications disabled). audience (string) (Optional) Specifies the URI of the document that describes the agreement between the assertion producer and the affiliate. This value is included in the SAML assertion passed to the affiliate and can be used for validation purposes. Also, the affiliate can parse the audience document to obtain relevant information. The audience value must match the Assertion Audience setting in the AffiliateConfig.xml configuration file for the SAML Affiliate Agent. enableFlag (int) (Optional) Specifies whether to enable the affiliate object. Set to 1 to enable the affiliate object, or 0 to disable it. Default is 1 (object is enabled). shareSessioning (int) (Optional) Specifies whether to share session information. Set to 1 to allow the assertion producer and the affiliate to share session information, or set to 0 to have the producer and affiliate maintain separate sessions. Default is 0 (separate sessions). With shared sessions, the sessions on both sites are terminated when the session on either site ends. sessionSyncInterval (long) (Optional) Specifies the frequency, in seconds, at which the affiliate contacts the producer site to validate the status of a shared session. SAMLVersion (long) (Optional) Specifies the SAML version. One of the following values: AFFILIATE_SAML_VER_1_0 AFFILIATE_SAML_VER_1_1
Specifying a SAML version has effect only if the Policy Manager API's session version is at least v6.0 SP 1.
SAMLProfile (long) (Optional) Specifies the type of profile used to send and receive SAML assertions. Valid profiles: AFFILIATE_SAML_PROFILE_ARTIFACT. The SAML assertion is retrieved from a URL associated with the assertion producer. The URL is specified during configuration of the SAML Artifact authentication scheme. AFFILIATE_SAML_PROFILE_POST. The generated SAML assertion is POSTed to the URL specified in ConsumerURL. This profile is supported only if the Policy Management API's session version is at least v6.0 SP 2. If an earlier version is involved, the POST profile request is ignored, and an attempt is made to create an affiliate object based on the artifact profile. ConsumerURL (string) (Optional) Specifies the URL where the requesting user's browser must POST a generated assertion. The site associated with the URL validates the assertion and uses its contents to make access decisions. Return Value The CreateAffiliate method returns one of the following values: PolicyMgtAffiliate object if successful undef if unsuccessful Remarks An affiliate object represents an affiliate site in a federated business network. Affiliate objects and affiliate domains are available through SiteMinder Federation Security Services.
Parameters The CreateSAMLServiceProvider method accepts the following parameter: propsHash_ref (hash) Specifies a reference to a hashtable of metadata properties to define for the SAML 2.0 Service Provider (for example: \%myhash). Return Values The CreateSAMLServiceProvider method returns one of the following values: A PolicyMgtSAMLServiceProvider object on success undef on failure
Remarks You can define the following properties for a SAML 2.0 Service Provider. Properties are grouped according to the way they are presented on the SAML Service Provider Properties dialog box. General Properties SAML_NAME SAML_DESCRIPTION SAML_SP_AUTHENTICATION_URL SAML_ENABLED SAML_SP_DOMAIN
General Tab SAML_KEY_SPID SAML_SP_IDPID SAML_MAJOR_VERSION SAML_MINOR_VERSION SAML_SKEWTIME SAML_DISABLE_SIGNATURE_PROCESSING SAML_DSIG_VERINFO_ISSUER_DN SAML_DSIG_VERINFO_SERIAL_NUMBER
SSO Tab SAML_AUDIENCE SAML_SP_ASSERTION_CONSUMER_DEFAULT_URL SAML_ENABLE_SSO_ARTIFACT_BINDING SAML_SP_ARTIFACT_ENCODING SAML_SP_IDP_SOURCEID SAML_SP_PASSWORD SAML_ENABLE_SSO_POST_BINDING SAML_SSOECPPROFILE SAML_SP_REQUIRE_SIGNED_AUTHNREQUESTS SAML_SP_AUTHENTICATION_LEVEL SAML_SP_AUTHN_CONTEXT_CLASS_REF SAML_SP_VALIDITY_DURATION SAML_SP_STARTTIME SAML_SP_ENDTIME
SLO Tab IPD Tab SAML_SP_ENABLE_IPD SAML_SP_IPD_SERVICE_URL SAML_SP_COMMON_DOMAIN SAML_SP_PERSISTENT_COOKIE SAML_SLO_REDIRECT_BINDING SAML_SLO_SERVICE_VALIDITY_DURATION SAML_SLO_SERVICE_URL SAML_SLO_SERVICE_RESPONSE_URL SAML_SLO_SERVICE_CONFIRM_URL
Attribute Service Tab SAML_SP_ATTRSVC_ENABLE SAML_SP_ATTRSVC_VALIDITY_DURATION SAML_SP_ATTRSVC_SIGN_ASSERTION SAML_SP_ATTRSVC_LDAP_SEARCH_SPEC SAML_SP_ATTRSVC_ODBC_SEARCH_SPEC SAML_SP_ATTRSVC_WINNT_SEARCH_SPEC SAML_SP_ATTRSVC_CUSTOM_SEARCH_SPEC SAML_SP_ATTRSVC_AD_SEARCH_SPEC
Parameters The CreateWSFEDResourcePartner method accepts the following parameters: propsHash_ref (hash) Specifies a reference to a hashtable of metadata properties to define for the WS-Federation Resource Partner, (for example, C<\%myhash>|"hashref". Return Value The CreateWSFEDResourcePartner method returns one of the following values: A PolicyMgtWSFEDResourcePartner object on success undef on failure
Remarks You can define the following properties for a Resource Partner. Properties are grouped according to the way they are presented on the SiteMinder Resource Partner Properties dialog box. General Properties WSFED_NAME WSFED_DESCRIPTION WSFED_MAJOR_VERSION WSFED_MINOR_VERSION WSFED_SAML_MAJOR_VERSION WSFED_SAML_MINOR_VERSION WSFED_RP_DOMAIN WSFED_ENABLED WSFED_RP_AUTHENTICATION_URL
Parameters The DeleteAffiliate method accepts the following parameters: aff (PolicyMgtAffiliate) Specifies the affiliate object to delete. Return Value The DeleteAffiliate method returns one of the following values: 0 on success, or if the affiliate domain was not found -1 on failure
Parameters The DeleteSAMLServiceProvider method accepts the following parameters: sp (PolicyMgtSAMLServiceProvider) Specifies the Service Provider to delete. Return Value The DeleteSAMLServiceProvider method returns the one of the following values: 0 on success, or if the Service Provider was not found -1 on failure
Parameters The DeleteWSFEDResourcePartner method accepts the following parameter: rp (PolicyMgtWSFEDResourcePartner object) Specifies the resource partner to delete. Return Value The DeleteWSFEDResourcePartner method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Parameters The Description method accepts the following parameters: domainDesc (string) (Optional) Specifies the description to set.
Return Value The Description method returns one of the following values: A new or existing description of the affiliate domain on success undef on failure
Parameters The GetAffiliate method accepts the following parameters: affName (string) Specifies the name of the affiliate object to retrieve. Return Value The GetAffiliate method returns one of the following objects: A PolicyMgtAffiliate object on success undef if the specified affiliate object does not exist, or if the call fails
Return Value The GetAllAdmins method returns one or more of the following values: An array of PolicyMgtAdmin objects undef if no administrator objects are associated with the affiliate domain, or if the call fails
Parameters The GetAllAffiliates method accepts no parameters. Return Value The GetAllAffiliates method returns one of the following values: An array of PolicyMgtAffiliate objects on success undef if unsuccessful
GetAllSAMLServiceProviders MethodRetrieves all Service Providers associated with the Affiliate Domaine
The GetAllSAMLServiceProviders method retrieves all the SAML 2.0 Service Providers associated with the affiliate domain. Syntax The GetAllSAMLServiceProviders method has the following format:
Netegrity::PolicyMgtAffDomain->GetAllSAMLServiceProviders( )
Return Value The GetAllSAMLServiceProviders method returns one of the following values: An array of PolicyMgtSAMLServiceProvider objects undef if unsuccessful
Parameters The GetAllWSFEDResourcePartners method accepts no parameters. Return Value The GetAllWSFEDResourcePartners method returns one of the following values: An array of PolicyMgtWSFEDResourcePartner objects on success undef on failure
Parameters The GetSAMLServiceProvider method accepts the following parameter: spName (string) Specifies the name of the Service Provider to retrieve.
Return Value The GetSAMLServiceProvider method returns one of the following values: A PolicyMgtSAMLServiceProvider object on success undef if the specified Service Provider does not exist, or if the call is unsuccessful
Parameters The GetSAMLServiceProviderById method accepts the following parameter: spID (string) Specifies the provider ID of the Service Provider to retrieve. Return Value The GetSAMLServiceProviderById method returns one of the following values: A PolicyMgtSAMLServiceProvider object on success undef if the specified Service Provider does not exist, or if the call is unsuccessful
Parameters The GetUserDirSearchOrder method accepts no parameters. Return Value The GetUserDirSearchOrder method returns one of the following values: An array of PolicyMgtUserDir objects on success undef if unsuccessful
Parameters The GetWSFEDResourcePartner method accepts the following parameters: rpName (string) Specifies the name of the Resource Partner to retrieve. Return Value The GetWSFEDResourcePartner method returns the following value: A PolicyMgtWSFEDResourcePartner object on success undef if the specified Resource Partner does not exist, or if the call is unsuccessful
Parameters The GetWSFEDResourcePartnerById method accepts the following parameters: rpID (string) Specifies the ID of the Resource Partner to retrieve. Return Value The GetWSFEDResourcePartnerById method returns the following value: A PolicyMgtWSFEDResourcePartner object undef if the specified Resource Partner does not exist, or if the call is unsuccessful
Parameters The Name method accepts the following parameter: domainName (string) (Optional) Specifies the name to set. Return Value The Name method returns one of the following values: New or existing affiliate domain name undef if the call was unsuccessful
Parameters The RemoveAdmin method accepts the following parameter: admin (PolicyMgtAdmin) Specifies the administrator to remove from the affiliate domain. Return Value The RemoveAdmin method returns one of the following values: 0 on success -1 on failure
Parameters The RemoveUserDir method accepts the following parameter: userDir (PolicyMgtUserDir) Specifies the user directory to disassociate from the affiliate domain.
Return Value The RemoveUserDir method returns one of the following values: 0 on success -1 on failure
Parameters The SetUserDirSearchOrder method accepts the following parameter: dirArray (PolicyMgtUserDir) Specifies a reference to an array of user directory objects (for example: \@myarray). Return Value The SetUserDirSearchOrder method returns the following value: Array of (PolicyMgtUserDir) objects on success undef if unsuccessful
Audience MethodSets or retrieves the audience property AuthURL MethodSets or retrieves the URL used to authenticate affiliate users ConsumerURL MethodSets or retrieves the URL where the requesting user's browser must POST a generated assertion CreateIPConfigHostName MethodCreates an IP configuration object from the specified host name CreateIPConfigRange MethodCreates an IP configuration object from the specified range of IP addresses CreateIPConfigSingleHost MethodCreates an IP configuration object from the specified IP address CreateIPConfigSubnetMask MethodCreates an IP configuration object from the specified IP address and subnet mask DeleteIPConfig MethodDeletes an IP configuration object Description MethodSets or retrieves the description of the affiliate object GetAllAttributes MethodRetrieves all existing affiliate attributes for the affiliate object GetAllIPConfigs MethodRetrieves all IP configuration objects for the affiliate object GetAllUsers MethodRetrieves all users associated with affiliate object IsEnabled MethodEnables or disables the affiliate object Name MethodSets or retrieves the name of the affiliate object Password MethodSets or retrieves the password property RemoveAttributeRemoves the specified affiliate attribute from the affiliate object RemoveUserRemoves the specified user from the affiliate object SAMLProfileSets or retrieves the type of profile used for sending and receiving SAML assertions SAMLVersionSets or retrieves the affiliates SAML version SaveSaves modifications to an affiliate object SessionSyncIntervalSets or retrieves the session synchronization interval property ShareSessioningSets or retrieves the shared session property SkewTimeSets or retrieves the skew time property ValidityDurationSets or retrieves the validity duration property
Parameters The AddAttribute method accepts the following parameters: attrType (int) Specifies one of the following affiliate attribute types: AFFILIATE_HTTP_HEADER_VARIABLE (Value=1). The affiliate attribute is made available as an HTTP header variable. AFFILIATE_HTTP_COOKIE_VARIABLE (Value=2). The affiliate attribute is made available as an HTTP cookie variable.
value (int) Specifies the value for the affiliate attribute. This value specification appears in the Name Value Pair column of the SiteMinder Affiliate Dialog. The format of the value specification depends upon the kind of affiliate attribute you are adding -Static, User Attribute, or DN Attribute: Static. A literal attribute value. A static affiliate attribute is useful for passing specific information about the user to an application at the affiliate site -- for example, the user's credit limit at the affiliate site. Format: VariableName=value VariableName is the name that identifies the attribute in the SAML assertion, and value is the attribute value. Example: climit=2000
User Attribute. A user profile attribute name from a user's entry in an LDAP, WinNT, or ODBC user directory -- for example, the attribute name for a user's job title or email address. Format: UserAttrVariableName=<%userattr="UserAttrName"%> UserAttrVariableName is the name that identifies the attribute in the SAML assertion, and UserAttrName (enclosed in quotes) is the name of the attribute in the user directory. userattr= is static text that must be included in the format. The userattr= portion of the name/value pair must be enclosed by percent signs and angle brackets: <% . . . %>. Example: email_address=<%userattr="email"%> DN Attribute. The name of an attribute within an LDAP or ODBC directory object that is associated with the user. Groups to which a user belongs and Organizational Units (ou) that are part of a user DN are examples of directory objects whose attributes can be referenced as DN attributes. For example, a DN attribute can reference a company division for a user, based on the user's membership in a division. Format: DNVariableName=<#dn="DNSpec" attr="DNAttrName"#> DNVariableName is the name that identifies the attribute in the SAML assertion. DNSpec (enclosed in quotes) is the DN of the directory object, and DNAttrName (enclosed in quotes) is the name of the directory object attribute. dn= and attr= are static text strings that must be included in the format. The dn= and attr= portion of the name/value pair must be enclosed by pound signs and angle brackets: <# . . . #>. Example: GroupName=<#dn="ou=home,o=security.com" attr="cn"#> To allow SiteMinder to retrieve DN attributes from a nested group, begin DNSpec with an exclamation mark ( ! ) -- for example: dn="!ou=home,o=security.com" Return Value The AddAttribute method returns the following value: A PolicyMgtAffiliateAttr object undef if unsuccessful
Remarks Affiliate attributes are name/value pairs that SiteMinder provides to an affiliate in a SAML assertion. Attributes include user entitlements (such as the user's credit limit at the affiliate site) and information from a user's profile (such as job title or email address). When an application at the affiliate site extracts affiliate attributes from the assertion, it can make the attributes available to other applications at the site as HTTP header variables or HTTP cookie variables. Note: The total size of an assertion passed to an affiliate cannot exceed 4K. If you include a large number of attributes in an affiliate object, you may violate this limit. A maximum assertion size of 3K is recommended.
Parameters The AddUser method accepts the following parameter: user (PolicyMgtUser) Specifies the user to add. Return Value The AddUser method returns one of the following values: 0 on success -1 on failure
Parameters The AllowNotification method accepts the following parameter: notificationFlag (int) (Optional) Specifies whether to enable event notification: 1 means to enable event notification; 0 means to disable event notifications. Return Value The AllowNotification method returns one of the following values: The new or existing notification flag setting undef if unsuccessful
Parameters The AssertionPluginClass method accepts the following parameter: className (string) (Optional) Specifies the fully qualified class name of the custom assertion generator plug-in, for example, com.samlproducer.assertionplugin.partner1.
Return Value The AssertionPluginClass method returns one of the following values: The new or existing class name undef if the plug-in is not defined, or the call was unsuccessful
Remarks The plug-in is a custom Java class that lets you modify the contents of a default SAML assertion generated by SiteMinder. SAML assertions are available through Federation Security Services, which is licensed separately. The assertion generator plug-in functionality requires a Policy Management API session version of at least v6.0 SP 2. You can pass a parameter string into the assertion generator plug-in through the method PolicyMgtAffiliate->AssertionPluginParameters. To create an assertion generator plug-in, implement the AssertionGeneratorPlugin interface in the Java SDK. For information, see the Programming Guide for Java.
Parameters The AssertionPluginParameters method accepts the following parameter: parameters (string) (Optional) Specifies the parameter string to pass to the plug-in.
Return Value The AssertionPluginParameters method returns one of the following values: A new or existing parameter string undef if the call was unsuccessful
Parameters The Audience method accepts the following parameter: audience (string) (Optional) Specifies the audience URI to set. Return Value The Audience method returns one of the following values: A new or existing audience URI undef it the call was unsuccessful
Parameters The AuthURL method accepts the following parameter: AuthURL (string) (Optional) Specifies the authentication URL to set. Return Value The AuthURL method returns one of the following values: A new or existing URL undef if the call was unsuccessful
Parameters The ConsumerURL method accepts the following parameter: ConsumerURL (string) (Optional) Specifies the URL where the generated assertion is to be sent.
Return Value The ConsumerURL method returns one of the following values: A new or existing URL where the generated assertion is to be sent undef if the call was unsuccessful
Parameters The CreateIPHostConfigName method accepts the following parameter: hostName (string) Specifies the host name upon which to base the IP configuration object. Return Value The CreateIPHostConfigName method returns one of the following values: A PolicyMgtIPConfig object undef if the call was unsuccessful
Remarks Only those users who access the affiliate site from the specified host will be accepted at the affiliate site.
Parameters The CreateIPConfigRange method accepts the following parameters: ipAddr1 (string) Specifies the first IP address in the range of valid IP addresses from which to access the affiliate site. ipAddr2 (int) Specifies the last IP address in the range of valid IP addresses from which to access the affiliate site. Return Value The CreateIPConfigRange method returns one of the following values: A PolicyMgtIPConfig object undef it the call is unsuccessful
Remarks Only those users who access the affiliate site from an IP address within the specified range are accepted at the affiliate site.
Parameters The CreateIPConfigSingleHost method accepts the following parameter: ipAddr (string) Specifies the IP address from which to access the affiliate site. Return Value The CreateIPConfigSingleHost method returns one of the following values: A PolicyMgtIPConfig object undef it the call was unsuccessful
Remarks Only those users who access the affiliate site from the specified IP address are accepted at the affiliate site.
Parameters The CreateIPConfigSubnetMask method accepts the following parameters: ipAddr (string) Specifies the IP address used to derive the subnet address. subnetMask (unsigned long) Specifies the subnet mask used to derive the subnet address. Return Value The CreateIPConfigSubnetMask method returns one of the following values: A PolicyMgtIPConfig object undef if the call was unsuccessful
Remarks Only those users who access the affiliate site from the subnet address will be accepted at the affiliate site. The subnet address is derived from the passed IP address and subnet mask.
Parameters The DeleteIPConfig method accepts the following parameter: IPConfig (PolicyMgtIPConfig) Specifies the IP configuration object to delete. Return Value The DeleteIPConfig method returns one of the following values: 0 on success -1 if the call fails
Parameters The Description method accepts the following parameter: affDesc (string) (Optional) Specifies the description to set.
Return Value The Description method returns one of the following values: The new or existing description of the affiliate object. undef if the call was unsuccessful
Parameters The GetAllAttributes method accepts no parameters. Return Value The GetAllAttributes method returns one of the following values: An array of PolicyMgtAffiliateAttr objects undef if the call was unsuccessful
Return Value The GetAllIPConfigs method returns one of the following values: An array of PolicyMgtIPConfg objects undef if no IP Configuration objects were found
Parameters The GetAllUsers method accepts the following parameter: userDir (PolicyMgtUserDir) (Optional) Specifies a user directory that the affiliate users must be members of. Return Value The GetAllUsers method returns one of the following values: An array of PolicyMgtUser objects undef if no users were found, or if the call was unsuccessful
Parameters The IsEnabled method accepts the following parameter: enableFlag (int) (Optional) Specifies whether to enable the affiliate object: A value of 1 enables the affiliate. A value of 0 disables the affiliate.
Return Value The IsEnabled method returns one of the following values: 1 if the affiliate object is enabled 0 if the affiliate object is disabled -1 if the call was unsuccessful
Parameters The Name method accepts the following parameter: affName (string) (Optional) Specifies the name to set. Return Value The Name method returns one of the following values: The new or existing affiliate object name undef if the call was unsuccessful
Parameters The Password method accepts the following parameter: affPassword (string) (Optional) Specifies the password to set. Return Value The Password method returns one of the following values: The new or existing password undef if the call was unsuccessful
Parameters The RemoveAttribute method accepts the following parameter: affiliateAttr (PolicyMgtAffiliateAttr) Specifies the affiliate attribute to remove.
Return Value The RemoveAttribute method returns one of the following values: 0 on success -1 on failure
Parameters The RemoveUser method accepts the following parameter: user (type) Specifies he user to remove. Return Value The RemoveUser method returns one of the following values: 0 on success -1 on failure
Parameters The SAMLProfile method accepts the following parameters: SAMLProfile (long) (Optional) Specifies one of the following valid SAML profile: AFFILIATE_SAML_PROFILE_ARTIFACT. The SAML assertion is retrieved from a URL associated with the assertion producer. The URL is specified during configuration of the SAML Artifact authentication scheme. AFFILIATE_SAML_PROFILE_POST. The generated SAML assertion is POSTed to the URL specified in the PolicyMgtAffiliate->ConsumerURL method. This profile is supported only if the Policy Management API's session version is at least v6.0 SP 2.
Return Value The SAMLProfile method returns one of the following values: A new or existing SAML profile type undef if the call was unsuccessful
Parameters The SAMLVersion method accepts the following parameter: SAMLVer (long) (Optional) Specifies one of the following SAML versions to set: AFFILIATE_SAML_VER_1_0 AFFILIATE_SAML_VER_1_1
Return Value The SAMLVersion method returns one of the following values: A new or existing SAML version undef if the call was unsuccessful
Remarks Specifying a SAML version has effect only if the Policy Manager API's session version is at least v6.0 SP 1.
Parameters The Save method accepts no parameters. Return Value The Save method returns one of the following values: 0 on success. -1 on failure. -4 if the user has insufficient privileges to save the changes. -10 if the path and class are empty.
Remarks Call this method once after making all the modifications to the affiliate object that you intend to make. This method must be called for any changes to take effect.
Parameters The SessionSyncInterval method accepts the following parameter: SessionSyncInterval (long) (Optional) Specifies the session synchronization interval to set. Return Value The SessionSyncInterval method returns one of the following values: New or existing session synchronization interval undef if the call was unsuccessful
Parameters The SharedSessioning method accepts the following parameter: shareFlag (int) (Optional) Specifies the shared session property to set: 1 to allow the assertion producer and the affiliate to share session information 0 to have the producer and affiliate maintain separate sessions
Return Value The SharedSessioning method returns one of the following values: A new or existing shared session property value undef if the call was unsuccessful
Parameters The SkewTime method accepts the following parameter: skewTime (long) (Optional) Specifies the skew time to set. Return Value The SkewTime method returns one of the following values: A new or existing skew time undef if the call was unsuccessful
Agent Methods
Parameters The ValidityDuration method accepts the following parameter: validityDuration (long) (Optional) Specifies the validity duration time to set. Return Value The ValidityDuration method returns one of the following values: A new or existing validity duration time undef if the call was unsuccessful
Agent Methods
The following methods act on PolicyMgtAgent objects: ConvertFromLegacy MethodConverts a v4.x agent to a v5.x agent ConvertToLegacy MethodConverts a v5.x agent to a v4.x agent Description MethodSets or retrieves the agent description IPAddress MethodSets or retrieves the name of the agent Name MethodSets or retrieves the name of the agent RealmHintAttrIDSets or retrieves the hint attribute for a RADIUS agent SharedSecret MethodSets or retrieves the shared secret for a 4.x agent
Agent Methods
Parameters The ConvertFromLegacy method accepts no parameters. Return Value The ConvertFromLegacy method returns one of the following values: 0 on success -1 on failure
Parameters The ConvertToLegacy method accepts no parameters. Return Value The ConvertToLegacy method returns one of the following values: 0 on success -1 on failure
Agent Methods
Parameters The Description method accepts the following parameter: agentDesc (string) (Optional) Specifies the description to set. Return Value The Description method returns one of the following values: New or existing description of the agent An empty string if unsuccessful
Parameters The IPAddress method accepts the following parameter: ipAddress (string) (Optional) Specifies the IP address to set. Return Value The IPAddress method returns one of the following values: A new or existing agent IP address undef if the call was unsuccessful
Agent Methods
Parameters The Name method accepts the following parameter: agentName (string) (Optional) Specifies the name to assign to the agent. Return Value The Name method returns one of the following values: The new or existing name of the agent undef if the call was unsuccessful
Parameters The RealmHintAttrID method accepts the following parameter: hintID (int) (Optional) Specifies the hint attribute ID to set. Return Value The RealmHintAttrID method returns one of the following values: New or existing realm hint attribute to set for the RADIUS agent -1 if unsuccessful
Syntax
The SharedSecret method has the following format:
Netegrity::PolicyMgtAgent->SharedSecret([sharedSecret])
Parameters
The SharedSecret method accepts the following parameter: sharedSecret (string) (Optional) Specifies the shared secret to set.
Return Value
The SharedSecret method returns one of the following values: The new or existing shared secret undef if the call was unsuccessful
Parameters The AddAssociation method accepts the following parameters: Name (string) Specifies the configuration parameter name. Value (string) Specifies the configuration parameter value. Flag (int) Specifies the encryption flag value: 1 if the name/value pair is stored in encrypted format 0 if the name/value pair is stored as plain text
Return Value The AddAssociation method returns one of the following values: A PolicyMgtAssociation Object undef if the call was unsuccessful
Parameters The AddAssociationMultiValue method accepts the following parameters: Name (string) Specifies the configuration parameter name. valueArray (string array) Specifies a reference to an array of values associated with this parameter name (for example: \@myarray). Return Value The AddAssociationMultiValue method returns one of the following values: A PolicyMgtAssociation object undef if the call was unsuccessful
Parameters The Description method accepts the following parameters: Description (string) (Optional) Specifies the description to set. Return Value The Description method returns one of the following values: The new or existing description of the agent configuration object undef if the call was unsuccessful
Parameters The GetAssociations method accepts no parameters. Return Value The GetAssociations method returns one of the following values: An array of PolicyMgtAssociation objects. Each object includes a configuration parameter name and its associated value. undef if no configuration parameter objects exist, or if the call is unsuccessful
Parameters The Name method accepts the following parameters: Name (string) (Optional) Specifies the name to set. Return Value The Name method returns one of the following values: The new or existing agent configuration object name undef if the call was unsuccessful
Parameters The RemoveAssociation method accepts the following parameter: assoc (PolicyMgtAssociation) Specifies the configuration parameter name/value pair to remove. Return Value The RemoveAssociation method returns one of the following values: 0 on success -1 if the call was unsuccessful
Name MethodSets or Retrieves the Name Portion of the Agent Configuration Parameter
The Name method sets or retrieves the name portion of the agent configuration parameter name/value pair. Syntax The Name method has the following format:
Netegrity::PolicyMgtAssociation->Name([Name])
Parameters The Name method accepts the following parameters: Name (string) (Optional) Specifies the name to set. Return Value The Name method returns one of the following values: The name of the agent configuration parameter. undef if unsuccessful
Parameters The Flags method accepts the following parameter: Flags (int) (Optional) Specifies the flag value to set. Return Value The Flags method returns one of the following values: 1 if the name/value pair is in encrypted format 0 if the name/value pair is plain text undef if the call was unsuccessful
Parameters The Value method accepts the following parameter: Value (int) (Optional) Specifies the value to set. Return Value The Value method returns one of the following values: The value of the agent configuration parameter undef if unsuccessful
Return Value The GetDescription method returns one of the following values: The new or existing description of the agent type A null string if unsuccessful
Parameters The GetName method accepts no parameters. Return Value The GetName method returns one of the following values: The name of the agent type A null string if unsuccessful
Parameters The AuthDir method accepts the following parameter: userDir (PolicyMgtUserDir) (Optional) Specifies the authentication directory to set. Return Value The AuthDir method returns one of the following values: A new or existing PolicyMgtUserDir object. undef if the call was unsuccessful
Parameters The AzDir method accepts the following parameter: userDir (PolicyMgtUserDir) (Optional) Specifies the authorization directory to set.
Return Value The AzDir method returns one of the following values: A new or existing PolicyMgtUserDir object undef if the call was unsuccessful
Parameters The MapType method accepts the following parameter: mapType (int) (Optional) Specifies the map type. The following values are valid: AUTHAZMAPTYPE_DN (Value=1). Mapping is based on a DN. AUTHAZMAPTYPE_UNIVERSALID (Value=2). Mapping is based on a universal identifier. AUTHAZMAPTYPE_ATTR (Value=3). Mapping is based on an attribute in the directory. Return Value The MapType method returns one of the following values: A new or existing map type -1 if the call was unsuccessful
SaveCredentials MethodSets or retrieves the flag that allows user credentials to be saved. Type MethodSets or retrieves the authentication scheme type.
Parameters The CustomLib method accepts the following parameter: libName (string) (Optional) Specifies the shared library name. Return Value The CustomLib method returns one of the following values: The new or existing library name undef if the call was unsuccessful
Remarks Each pre-defined authentication scheme type is shipped with a default library, but you can use a custom library. If you use a custom authentication scheme, you must specify a custom library.
Parameters The CustomParam method accepts the following parameter: param (string) (Optional) Specifies the parameter information to pass. Return Value The CustomParam method returns one of the following values: The new or existing parameter information A null string if the call was unsuccessful
CustomSecret MethodSets or Retrieves the Shared Secret for the Custom Authentication Scheme
The CustomSecret method sets or retrieves the shared secret for the custom authentication scheme. Syntax The CustomSecret method has the following format:
Netegrity::PolicyMgtAuthScheme->CustomSecret([param])
Parameters The CustomSecret method accepts the following parameter: param (string) (Optional) Specifies the shared secret.
Return Value The CustomSecret method returns one of the following values: The new or existing shared secret A null string if the call was unsuccessful
Parameters The Description method accepts the following parameter: schemeDesc (string) (Optional) Specifies the description. Return Value The Description method returns one of the following values: The new or existing authentication scheme description An empty string if the call was unsuccessful
Parameters The IgnorePwd method accepts the following parameter: pwdFlag (int) (Optional) Specifies whether to ignore password policies (set to 1), or enforce them (set to 0). Return Value The IgnorePwd method returns one of the following values: 1 if password policies should be ignored 0 if password policies -1 if the call was unsuccessful
Parameters The IsRadius method accepts the following parameter: radFlag (int) (Optional) Specifies whether the authentication scheme supports RADIUS agents (1=yes; 0=no). Return Value The IsRadius method returns one of the following values: 1 if the authentication scheme supports RADIUS agents 0 if the authentication scheme does not support RADIUS agents -1 if the call was unsuccessful
Parameters The IsTemplate method accepts no parameters. Return Value The IsTemplate method returns one of the following values: 1 if the authentication scheme is a template 0 if the authentication scheme is not a template -1 the call was unsuccessful
Remarks Setting an authentication scheme as a template with the Perl Policy Management API is deprecated in SiteMinder v6.0 SP3.
Parameters The IsUsedByAdmin method accepts the following parameter: useAdminFlag (int) (Optional) Specifies whether the scheme should be used to authenticate administrators: 1 to allow the scheme to be used for administrator authentication 0 to disallow the scheme to be used for administrator authentication
Return Value The IsUsedByAdmin method returns one of the following values: 1 if the scheme can be used to authenticate administrators 0 if the scheme cannot be used to authenticate administrators -1 if the call was unsuccessful
Parameters The Name method accepts the following parameter: authSchemeName (string) (Optional) Specifies the name to assign to the authentication scheme. Return Value The Name method returns one of the following values: The new or existing authentication scheme name undef if the call was unsuccessful
Parameters The ProtectionLevel method accepts the following parameter: nlevel (int) (Optional) Specifies the protection level to set. Return Value The ProtectionLevel method returns one of the following values: The new or existing authorization scheme protection level -1 if unsuccessful
Remarks The level can vary from 1 to 1000. The higher the number, the more secure is the scheme. With Anonymous authentication schemes, set this value to 0.
Return Value The Save method returns one of the following values: 0 on success -1 on failure -4 if the user has insufficient privileges to save the changes -100 if the scheme object identifier is not found
Remarks Call this method once after making all the modifications to the authentication scheme that you intend to make. This method must be called for any changes to take effect.
Parameters The SaveCredentials method accepts the following parameter: credFlag (int) (Optional) Specifies the flag value: 1 if credentials can be saved 0 if credentials cannot be saved
Return Value The SaveCredentials method returns one of the following values: 1 if user credentials can be saved 0 if user credentials cannot be saved
Parameters The Type method accepts the following parameter: template (PolicyMgtAuthScheme) (Optional) Specifies the authentication scheme type. Return Value The Type method returns one of the following values: The new or existing authentication scheme type undef if the call was unsuccessful
UseDistributionPoints MethodSets or retrieves the flag indicating whether CRL searches should use distribution points VerifySignature MethodSets or retrieves the flag indicating whether SiteMinder should verify the Certificate Authority's signature in the CRL
Parameters The AttrMap method accepts the following parameter: attribute_map (string) (Optional) Specifies the attribute map to be set. Return Value The AttrMap method returns one of the following values: A new or existing attribute of the Certificate map An empty string if the call was unsuccessful
Parameters The CacheCRL method accepts the following parameter: cacheFlag (int) (Optional) Specifies whether to cache CRL entries: 1 specifies that cache entries are used 0 specifies that cache entries are not used
Return Value The CacheCRL method returns one of the following values: The new or existing cache flag setting -1 if the call was unsuccessful
Parameters The CertRequired method accepts the following parameter: certFlag (int) (Optional) Specifies whether certificate verification is required: 1 certificate verification is required 0 certificate verification is not required
Return Value The CertRequired method returns one of the following values: The new or existing flag setting -1 if the call was unsuccessful
CRLUserDirectory MethodSets or Retrieves the LDAP Directory where the Certificate Revocation List (CRL) Is Located
The CRLUserDirectory method specifies or retrieves the LDAP user directory where the Certificate Revocation List (CRL) is located. Syntax The CRLUserDirectory method has the following format:
Netegrity::PolicyMgtCertMap->CRLUserDirectory([crlDir])
Parameters The CRLUserDirectory method accepts the following parameter: crlDir (PolicyMgtUserDir) (Optional) Specifies the user directory where the CRL is located. Return Value The CRLUserDirectory method returns one of the following values: A PolicyMgtUserDir object undef if the call was unsuccessful
Parameters The Description method accepts the following parameter: certMapDesc (string) (Optional) Specifies the description to set.
Return Value The Description method returns one of the following values: A new or existing certificate map description An empty string if the call was unsuccessful
Parameters The DirectoryType method accepts the following parameter: dirType (int) (Optional) Specifies one of the following types of user directory: Sm_PolicyApi_DirType_LDAP Sm_PolicyApi_DirType_WinNT Sm_PolicyApi_DirType_ODBC
Return Value The DirectoryType method returns one of the following values: The new or existing directory type undef if the call was unsuccessful
EnableCRL MethodDetermines whether To Check the Certificate Revocation List (CRL) for Revoked Certificates
The EnableCRL method sets or retrieves the flag that determines whether to check the Certificate Revocation List (CRL) for revoked certificates. Syntax The EnableCRL method has the following format:
Netegrity::PolicyMgtCertMap->EnableCRL([ckCRLFlag])
Parameters The EnableCRL method accepts the following parameter: ckCRLFlag (int) (Optional) Specifies whether to check certificates against the CRL: 1 specifies that certificates should be checked 0 specifies that certificates should not be checked
Return Value The EnableCRL method returns one of the following values: The new or existing flag setting -1 if the call was unsuccessful
Remarks A CRL is a list of revoked X.509 client certificates published by the Certificate Authority. Comparing a certificate against a CRL is one way to ensure that certificates are valid. When a user with such a certificate tries to access a protected resource, SiteMinder finds the user's certificate in the CRL and rejects the authentication. Before you enable CRL checking, call the method PolicyMgtCertMap->CRLUserDirectory to specify the user directory where the CRL is located.
Parameters The IssuerDN method accepts the following parameter: issuerDN (string) (Optional) Specifies the issuer DN to set. Return Value The IssuerDN method returns one of the following values: The new or existing issuer DN An empty string if the call is unsuccessful
UseDistributionPoints MethodDetermines whether Certificate Revocation List (CRL) Searches Use a Distribution Point
The UseDistributionPoints method sets or retrieves the flag indicating whether Certificate Revocation List (CRL) searches should use a distribution point as a starting point for a search. Syntax The UseDistributionPoints method has the following format:
Netegrity::PolicyMgtCertMap->UseDistributionPoints([distPointsFlag])
Parameters The UseDistributionPoints method accepts the following parameters: distPointsFlag (int) (Optional) Specifies whether to use distribution points for CRL searches: 1 specifies that distribution points should be used 0 specifies that the whole CRL should be searched
Return Value The UseDistributionPoints method returns one of the following values: The new or existing flag setting -1 if the call was unsuccessful
Remarks Large CRLs may contain multiple distribution points that can be used to locate a revoked user. Distribution points indicate a starting point in the CRL LDAP directory. By providing a starting point for a CRL check, distribution points save the processing time that it would take to search the entire CRL.
Parameters The VerifySignature method accepts the following parameter: verifyFlag (int) (Optional) Specifies whether to verify the CA's signature in the CRL: 1 specifies that the signature should be verified 0 specifies that the signature should not be verified
Return Value The VerifySignature method returns one of the following values: The new or existing flag setting -1 if the call was unsuccessful
Cluster Methods
Cluster Methods
The following methods act on PolicyMgtCluster objects: AddServer MethodAdds a server to the cluster GetAllServers MethodRetrieves an array of all servers in the cluster
Parameters The AddServer method accepts the following parameters: Host (string) Specifies the host IP address. Port (int) Specifies the server port. Return Value The AddServer method returns one of the following values: A PolicyMgtServer object undef if the call was unsuccessful
Remarks The servers in a cluster are referenced in an array. When you add a server to a cluster, it is added to the end of the server array. Due to dynamic load balancing, in which requests are sent to the highest-capacity available server in the cluster, the order in which servers are added to the cluster does not matter. To add a non-clustered server to a host configuration, call the PolicyMgtHostConfig->AddServer method.
Parameters The GetAllServers method accepts no parameters. Return Value The GetAllServers method returns one of the following values: An array of PolicyMgtServer objects undef if the call was unsuccessful
Remarks To retrieve the servers that are not members of clusters, call the PolicyMgtHostConfig->GetAllServers method.
Parameters The ClearText method accepts the following parameter: clearTextFlag (int) (Optional) Specifies whether to enable clear text input: 1 to enable clear text output 0 to disable clear text output
Return Value The ClearText method returns one of the following values: The existing clear text flag value (0 or 1) if no argument is specified The new clear text flag value if an argument is passed to the method
Remarks This flag determines whether to export passwords and shared secrets as encrypted data or as clear text. Administrator privileges are required to enable this flag. Exporting encrypted data as clear text is required when exporting data for a target policy store with different encryption keys than the source policy store. When you create a data manager object with the PolicyMgtSession->CreateDataManager method, this flag is initialized to 0 (do not output in clear text). To set the clear text flag, call this method before calling the PolicyMgtDataMgr->Export method for the object. For a given instance of the data manager, a flag maintains its setting unless you reset it.
Export MethodExports the Specified SiteMinder Object from the Source Data Store
The Export method exports the specified SiteMinder object from the source data store into the two temporary files specified in the PolicyMgtSession->CreateDataManager method. Syntax The Export method has the following format:
Netegrity::PolicyMgtDataMgr->Export(smobject)
Parameters The Export method accepts the following parameter: smobject (type) Specifies any SiteMinder object. Return Value The Export method returns one of the following values: 0: Success 1: Invalid object 2: Object skipped 3: Invalid property 4: Property skipped 5: Invalid OID 6: Already exported 7: Invalid match 8: Already imported 9: Invalid parent 10: Duplicate object 11: Object not found 12: Import duplicate 13: Property not found 14: Import renamed 15: Fetch error
16: Not implemented 17: Property error 18: (Reserved) 19: Import error 20: (Reserved) 21: Cannot overwrite 22: (Reserved) 23: ODBC error 24: (Reserved) 25: Failed initialization 26: (Reserved) 27: File error 255: Unknown error
Remarks After exporting, call the PolicyMgtDataMgr->Import method to copy the exported data from the temporary files into the target data store. You can set export flags by calling the PolicyMgtDataMgr->ClearText method or the PolicyMgtDataMgr->IncludeDependencies method or both before exporting an object. Different flag settings can be applied to different exported objects.
Parameters The Import method accepts the following parameters: cfgFileName (string) (Optional) Specifies the name of the configuration file. This file specifies information that is specific to the target environment (for example, IP address, domain, and suffix). If a file is specified in this argument, the import operation uses this file in place of the configuration file generated from the call to the PolicyMgtDataMgr->Export method (which contains environment-specific information from the source environment). Specifying a configuration file in the Import method call saves you from having to edit the configuration file with each call to the PolicyMgtDataMgr->Export method. parent (...) (Optional) Specifies the parent object to import into. The import mechanism will try to associate child objects with their respective parents if the parent is specified. If no parent is specified, the root is assumed. You can omit the parent object when importing high-level objects such as agents, administrators, and domains. But when importing objects such as realms, policies, and rules that are dependent upon other policy store objects, you must specify the parent object. Return Value The Import method returns one of the following values: 0: Success 1: Invalid object 2: Object skipped 3: Invalid property 4: Property skipped 5: Invalid OID 6: Already exported 7: Invalid match 8: Already imported 9: Invalid parent 10: Duplicate object 11: Object not found
12: Import duplicate 13: Property not found 14: Import renamed 15: Fetch error 16: Not implemented 17: Property error 18: (Reserved) 19: Import error 20: (Reserved) 21: Cannot overwrite 22: (Reserved) 23: ODBC error 24: (Reserved) 25: Failed initialization 26: (Reserved) 27: File error 255: Unknown error
Remarks Before calling this method, call the PolicyMgtDataMgr->Export method to export the object into the temporary files. You can set import flags by calling the PolicyMgtDataMgr->IncludeDependencies method or the PolicyMgtDataMgr->OverwriteObjects method or both before an import operation. A flag setting applies to the entire import operation.
Parameters The IncludeDependencies method accepts the following parameter: dependFlag (int) (Optional) Specifies whether to include dependencies in import and export operations: 1 specifies that dependencies are included 0 specifies that dependencies are excluded
Return Value The IncludeDependencies method returns one of the following values: The existing dependencies flag value (0 or 1) if no argument is specified The new dependencies flag value if an argument is passed to the method
Remarks The current object's descendants (for example, the realms under a realm) are always imported or exported, regardless of the setting of the IncludeDependencies flag. For example, if the dependFlag parameter is 0 when a realm is exported, any child objects, such as realms under the realm, are also exported. But any of the realm's dependencies, such as an agent object, are not exported. When you create a data manager object with the PolicyMgtSession->CreateDataManager method, this flag is initialized to 1 (include dependencies in import and export operations). To set the dependencies flag, call this method before calling the PolicyMgtDataMgr->Export method or the PolicyMgtDataMgr->Import method for the object. For a given instance of the data manager, a flag maintains its setting unless you reset it.
Domain Methods
Parameters The OverwriteObjects method accepts the following parameter: overwriteFlag (int) (Optional) Specifies whether to allow existing objects to be overwritten: 1 allows existing objects to be overwritten 0 prevents existing objects from being overwritten
Return Value The OverwriteObjects method returns one of the following values: The existing overwrite flag value (0 or 1) if no argument is specified The new overwrite flag value if an argument is passed to the method
Remarks This flag determines whether existing objects should be overwritten during a call to the PolicyMgtDataMgr->Import method. When you create a data manager object with the PolicyMgtSession->CreateDataManager method, this flag is initialized to 1 (overwrite existing objects). To set the overwrite flag, call this method before calling the PolicyMgtDataMgr->Import method for the object. For a given instance of the data manager, a flag maintains its setting unless you reset it.
Domain Methods
The following methods act on PolicyMgtDomain objects: AddAdmin MethodAdds an administrator to the domain AddUserDir MethodAssociates a user directory with the domain CreatePolicy MethodCreates a policy in the domain CreateRealm MethodCreates a realm in the domain CreateResponse MethodCreates a response in the domain CreateResponseGroup MethodCreates a response group for the domain CreateRuleGroup MethodCreates a rule group for the domain DeleteGroup MethodDeletes a group DeletePolicy MethodDeletes a policy
Domain Methods
DeleteVariable MethodDeletes a variable Description MethodSets or retrieves the description of the domain GetAllPolicies MethodRetrieves an array of policy objects in the domain GetAllRealms MethodRetrieves an array of all top-level realms in the domain GetAllResponseGroups MethodRetrieves an array of all the response groups for the domain GetAllResponses MethodRetrieves an array of all responses associated with the domain GetAllRuleGroups MethodRetrieves an array of all the rule groups for the domain GetAllVariables MethodRetrieves all variable objects in the domain GetPolicy MethodRetrieves a policy in the domain GetRealm MethodRetrieves a top-level realm in the domain GetResponse MethodRetrieves a response associated with the domain GetResponseGroup MethodRetrieves the specified response group GetRuleGroup MethodRetrieves the specified rule group GetUserDirSearchOrder MethodRetrieves user directory objects associated with the domain GetVariable MethodRetrieves the specified variable object GlobalPoliciesApply MethodSets or retrieves the flag that specifies whether global policies are enabled for the domain Name MethodSets or retrieves the domain name RemoveAdmin MethodDisassociates the administrator from the domain RemoveUserDir MethodDisassociates the user directory from the domain SetUserDirSearchOrder MethodRearranges the search order of the user directory objects associated with the domain
Domain Methods
Parameters The AddAdmin method accepts the following parameter: admin (type) Specifies the administrator to add to the domain. Return Value The AddAdmin method returns one of the following values: 0 on success -1 if the call was unsuccessful
Remarks Administrators can create, edit, and delete SiteMinder objects within the domain. You cannot use the Policy Management API to create an administrator for a particular domain. However, if you use the Administrative UI to create an administrator for a domain, you can add that administrator to another domain by calling the PolicyMgtAffDomain->AddAdmin method.
Parameters The AddUserDir method accepts the following parameter: userDir (PolicyMgtUserDir) Specifies the user directory to associate with the domain.
Domain Methods
Return Value The AddUserDir method returns one of the following values: 0 on success -1 if the call was unsuccessful
Remarks During user authentication, the user's supplied credentials are checked against the credentials stored in this user directory. The directory object is appended to the end of the search order. To change the search order, call the PolicyMgtAffDomain->SetUserDirSearchOrder method.
Parameters The CreatePolicy method accepts the following parameters: policyName (string) Specifies the name of the policy. policyDesc (string) (Optional) Specifies the description of the policy. enableFlag (int) (Optional) Specifies whether to enable (1) or disable (0) the policy. Default is enabled. activeExpr (string) (Optional) Specifies the active expression of the policy.
Domain Methods
Return Value The CreatePolicy method returns one of the following values: A PolicyMgtPolicy object undef if the call was unsuccessful
Parameters The CreateRealm method accepts the following parameters: realmName (string) Specifies the name of the realm. agent (PolicyMgtAgent) Specifies the agent or agent group that protects the realm. authScheme (PolicyMgtAuthScheme) Specifies the authentication scheme to associate with the realm. realmDesc (string) (Optional) Specifies the realm description. resFilter (string) (Optional) Specifies the resource filter for the realm. procAuthEvents (int) (Optional) Specifies whether to process authentication events -- 1 to enable or 0 to disable. Default is enabled. Authentication event processing affects performance. If no rules in the realm are to be triggered by authentication events, set this flag to 0.
Domain Methods
procAzEvents (int) (Optional) Specifies whether to process authorization events -- 1 to enable or 0 to disable. Default is enabled. Authorization event processing affects performance. If no rules in the realm are to be triggered by authorization events, set this flag to 0. protectAll (int) (Optional) Specifies whether to activate default resource protection -- 1 to enable or 0 to disable. Default is enabled. maxTimeout (int) (Optional) Specifies the maximum time, in seconds, a user can access the realm before re-authentication is required. Default is 7200 (2 hours). idleTimeout (int) (Optional) Specifies the maximum time, in seconds, a user can remain inactive in the realm before re-authentication is required. Default is 3600 (1 hour). syncAudit (int) (Optional) Specifies lag for enabling synchronous auditing -- 1 to enable or 0 to disable. When this flag is enabled, SiteMinder logs Policy Server and agent actions before it allows access to resources. Default is disabled. azUserDir (PolicyMgtUserDir) (Optional) Specifies The directory where users in the realm will be authorized. Default is the default directory. regScheme (type) (Optional) Specifies the registration scheme used to register new users accessing resources in the realm. Return Value The CreateRealm method returns one of the following values: A PolicyMgtRealm object undef if the call was unsuccessful
Domain Methods
Remarks This method creates a realm that is configured for non-persistent sessions. To configure the realm for SiteMinder 5.0 persistent sessions, edit the realm in the Administrative UI. Note: The Policy Management API only manipulates realms that are direct descendants of the object whose method has been called, as follows: For a realm under a domain, you can only manipulate the top-level realms in a domain object. For a realm under a realm, you can only manipulate realms that are directly under the parent realm.
Parameters The CreateResponse method accepts the following parameters: resName (string) Specifies the name of the response. agentType (PolicyMgtAgentType) Specifies the agent type associated with the response. Call the PolicyMgtSession->GetAgentType method to get the agent type object. resDesc (string) (Optional) Specifies the description of the response. Return Value The CreateResponse method returns one of the following values: A PolicyMgtResponse object undef if the call was unsuccessful
Domain Methods
Remarks The agent returns responses based on certain events. For example, if an unauthorized user attempts to access a protected Web page, a response can redirect the user to an HTML page that displays an appropriate message.
Parameters The CreateResponseGroup method accepts the following parameters: groupName (string) Specifies the name of the group. agentType (PolicyMgtAgentType) Specifies the agent type associated with this response group. Call the PolicyMgtSession->GetAgentType method to get the agent type object. groupDesc (string) (Optional) Specifies the description of the group. Return Value The CreateResponseGroup method returns one of the following values: A PolicyMgtGroup object undef if the call was unsuccessful
Domain Methods
Parameters The CreateRuleGroup method accepts the following parameters: groupName (string) Specifies the name of the group. agentType (PolicyMgtAgentType) Specifies the agent type associated with this rule group. Call the PolicyMgtSession->GetAgentType method to get the agent type object. groupDesc (string) (Optional) Specifies the description of the group. Return Value The CreateRuleGroup method returns one of the following values: A PolicyMgtGroup object undef if the call was unsuccessful
Parameters The DeleteGroup method accepts the following parameter: group (PolicyMgrGroup) Specifies the group to delete. Return Value The DeleteGroup method returns one of the following values: 0 on success, or the group was not found -1 if the call failed
Domain Methods
Parameters The DeletePolicy method accepts the following parameter: policy (PolicyMgtPolicy) Specifies the policy to delete. Return Value The DeletePolicy method returns one of the following values: 0 on success -1 if the call failed
Parameters The DeleteRealm method accepts the following parameter: realm (PolicyMgtRealm) Specifies the realm to delete. Return Value The DeleteRealm method returns one of the following values: 0 on success, or if the real was not found -1 if the call failed
Domain Methods
Parameters The DeleteResponse method accepts the following parameter: response (PolicyMgtResponse) Specifies the response to delete. Return Value The DeleteResponse method returns one of the following values: 0 on success -1 if the call failed
Parameters The DeleteVariable method accepts the following parameter: varName (string) Specifies the variable to delete. Return Value The DeleteVariable method returns one of the following values: 0 on success, or if the variable was not found -1 if the call failed
Domain Methods
Parameters The Description method accepts the following parameter: domainDesc (string) (Optional) Specifies the description to set. Return Value The Description method returns one of the following values: A new or existing domain description An empty string if unsuccessful
Parameters The GetAllPolicies method accepts no parameters. Return Value The GetAllPolicies method returns one of the following values An array of PolicyMgtPolicy objects undef if unsuccessful
Domain Methods
Parameters The GetAllRealms method accepts no parameters. Return Value The GetAllRealms method returns one of the following values An array of PolicyMgtRealm objects undef if unsuccessful
Remarks To retrieve all top-level realms under a realm, call the PolicyMgtRealm->GetAllChildRealms method.
GetAllResponseGroups MethodRetrieves All the Response Groups Associated with the Domain
The GetAllResponseGroups method retrieves all of the response groups associated with the domain. Syntax The GetAllResponseGroups method has the following format:
Netegrity::PolicyMgtDomain->GetAllResponseGroups( )
Parameters The GetAllResponseGroups method accepts no parameters. Return Value The GetAllResponseGroups method returns one of the following values An array of PolicyMgtGroup objects undef if unsuccessful
Domain Methods
Parameters The GetAllResponses method accepts no parameters. Return Value The GetAllResponses method returns one of the following values An array of PolicyMgtResponse objects undef if the call was unsuccessful
Parameters The GetAllRuleGroups method accepts no parameters. Return Value The GetAllRuleGroups method returns one of the following values: An array of PolicyMgtGroup objects undef if the call was unsuccessful
Domain Methods
Parameters The GetAllVariables method accepts no parameters. Return Value The GetAllVariables method returns one of the following values An array of PolicyMgtVariable objects undef if the call was unsuccessful
Parameters The GetPolicy method accepts the following parameter: policyName (string) Specifies the policy to retrieve. Return Value The GetPolicy method returns one of the following values A PolicyMgtPolicy object undef if the call fails, or if the specified policy does not exist
Domain Methods
Parameters The GetRealm method accepts the following parameter: realmName (string) Specifies the realm to retrieve. Return Value The GetRealm method returns one of the following values: A PolicyMgtRealm object undef if the call failed, or if the specified realm does not exist
Parameters The GetResponse method accepts the following parameter: resName (string) Specifies the response to retrieve. Return Value The GetResponse method returns one of the following values: A PolicyMgtResponse object undef if the call was unsuccessful, or if the specified response does not exist
Domain Methods
Parameters The GetResponseGroup method accepts the following parameter: groupName (string) Specifies the name of the response group to retrieve. Return Value The GetResponseGroup method returns one of the following values: A PolicyMgtGroup object undef if the call was unsuccessful
Parameters The GetRuleGroup method accepts the following parameter: groupName (string) Specifies the name of the group to retrieve. Return Value The GetRuleGroup method returns one of the following values: A PolicyMgtGroup object undef if the call was unsuccessful
Domain Methods
Parameters The GetUserDirSearchOrder method accepts no parameters: Return Value The GetUserDirSearchOrder method returns one of the following values: An PolicyMgtUserDir objects undef if the call was unsuccessful
Remarks The order of the returned objects is the same order that SiteMinder uses when querying the directories. To change the search order, call the PolicyMgtAffDomain->SetUserDirSearchOrder method.
Parameters The GetVariable method accepts the following parameter: varName (string) Specifies the name of the variable to retrieve.
Domain Methods
Return Value The GetVariable method returns one of the following values: A PolicyMgtVariable object undef if the call was unsuccessful, or if the variable does not exist
Parameters The GlobalPoliciesApply method accepts the following parameter: globalFlag (int) (Optional) Specifies whether to enable the domain for global polices: 1 specifies that global policies should be enable 0 specifies that global policies should not be enabled
Return Value The GlobalPoliciesApply method returns one of the following values: A new or the existing flag setting
Domain Methods
Parameters The Name method accepts the following parameter: domainName (string) (Optional) Specifies the name to assign to the domain. Return Value The Name method returns one of the following values: A new or the existing domain name undef if the call was unsuccessful
Parameters The RemoveAdmin method accepts the following parameter: admin (PolicyMgtAdmin) Specifies the administrator to remove from the domain. Return Value The RemoveAdmin method returns one of the following values: 0 on success -1 if the call was unsuccessful
Remarks See also the PolicyMgtSession->DeleteAdmin method to delete an administrator from the policy store. You cannot use the Policy Management API to create an administrator for a particular domain. However, if an administrator is associated with a domain either through the Administrative UI or the PolicyMgtAffDomain->AddAdmin method, you can remove that administrator from the domain by calling the RemoveAdmin method.
Domain Methods
Parameters The RemoveUserDir method accepts the following parameter: userDir (PolicyMgtUserDir) Specifies the user directory to disassociate from the domain. Return Value The RemoveUserDir method returns one of the following values: 0 on success -1 if the call was unsuccessful
Parameters The SetUserDirSearchOrder method accepts the following parameter: dirArray () Specifies a reference to an array of user directory objects (for example: \@myarray).
Group Methods
Return Value The SetUserDirSearchOrder method returns one of the following values: An array of PolicyMgtUserDir objects undef if the call was unsuccessful
Group Methods
The following methods act on PolicyMgtGroup objects. This object can contain either PolicyMgtAgent objects, PolicyMgtResponse objects, PolicyMgtRule objects, or nested PolicyMgtGroup objects. Add MethodAdds an agent, response, rule, or nested group object to the group Contains MethodChecks whether the group contains the specified agent, response, rule, or nested group object Description MethodSets or retrieves the description of the group GetAgent MethodRetrieves the specified agent object from the group GetAgentGroup MethodRetrieves an agent group object nested within the group GetAgentType MethodRetrieves the type of the agent objects contained in the group GetAllAgentGroups MethodRetrieves an array of all the agent group objects nested in the group GetAllAgents Method Retrieves an array of all the agent objects in the group GetAllResponseGroups MethodRetrieves an array of all the response group objects nested in the group GetAllResponses MethodRetrieves an array of all the response objects in the group GetAllRuleGroups MethodRetrieves an array of all the rule group objects nested in the group GetAllRules MethodRetrieves an array of all the rule objects in the group GetResponse MethodRetrieves the specified response object from the group GetResponseGroup MethodRetrieves a response group object nested within the group GetRule MethodRetrieves the specified rule object from the group
Group Methods
GetRuleGroup MethodRetrieves a rule group object nested within the group Name MethodSets or retrieves the group name Remove MethodRemoves the specified group member from the group
Add MethodAdds an Agent, Response, Rule, or Nested Group Object to the Group
The Add method adds an agent, response, rule, or nested group object to the group. Syntax The Add method has the following format:
Netegrity::PolicyMgtGroup->Add(newMember)
Parameters The Add method accepts the following parameter: newMember (objectType) Specifies the member to add to the group. objectType can be any one of the following: PolicyMgtAgent PolicyMgtResponse PolicyMgtRule PolicyMgtGroup
Return Value The Add method returns one of the following values: 0 on success -1 if the call was unsuccessful
Group Methods
Contains MethodDetermines whether the Group Contains the Specified Agent, Response, Rule, or Nested Group Object
The Contains method determines whether the group contains the specified agent, response, rule, or nested group object. Syntax The Contains method has the following format:
Netegrity::PolicyMgtGroup->Contains(object)
Parameters The Contains method accepts the following parameter: object (objectType) Specifies the object to check. objectType can be any one of the following: PolicyMgtAgent PolicyMgtResponse PolicyMgtRule PolicyMgtGroup
Return Value The Contains method returns one of the following values: 1 if the group contains the specified object 0 if the group does not contain the specified object undef if the call was unsuccessful
Group Methods
Parameters The Description method accepts the following parameter: Description (string) (Optional) Specifies the description to set. Return Value The Description method returns one of the following values: A new or existing description An empty string if the call was unsuccessful
Parameters The GetAgent method accepts the following parameter: agentName (string) Specifies the name of the agent to retrieve. Return Value The GetAgent method returns one of the following values: A PolicyMgtAgent object undef if no such agent is found, if the group contains objects of another type, or if the call was unsuccessful
Group Methods
Parameters The GetAgentGroup method accepts the following parameter: groupName (string) Specifies the name of the agent group to retrieve. Return Value The GetAgentGroup method returns one of the following values: A PolicyMgtGroup object undef if the call was unsuccessful, or if the group does not exist
GetAgentType MethodRetrieves the Type of the Agent Objects Contained in the Group
The GetAgentType method retrieves the type of the agent objects contained in the group (for example, Web Agent). Syntax The GetAgentType method has the following format:
Netegrity::PolicyMgtGroup->GetAgentType( )
Group Methods
Return Value The GetAgentType method returns one of the following values: A PolicyMgtAgentType object undef if the call was unsuccessful
GetAllAgentGroups MethodRetrieves All the Agent Group Objects Nested within the Group
The GetAllAgentGroups method retrieves all the agent group objects nested within the group. Syntax The GetAllAgentGroups method has the following format:
Netegrity::PolicyMgtGroup->GetAllAgentGroups( )
Parameters The GetAllAgentGroups method accepts no parameters. Return Value The GetAllAgentGroups method returns one of the following values: An array of PolicyMgtGroup objects undef if the call is unsuccessful
Group Methods
Return Value The GetAllAgents method returns one of the following values: An array of PolicyMgtAgent objects undef if no agents are found, if the group contains objects of another type, or if the call is unsuccessful
GetAllResponseGroups MethodRetrieves All the Response Group Objects Nested within the Group
The GetAllResponseGroups method retrieves all the response group objects nested within the group. Syntax The GetAllResponseGroups method has the following format:
Netegrity::PolicyMgtGroup->GetAllResponseGroups( )
Parameters The GetAllResponseGroups method accepts no parameters. Return Value The GetAllResponseGroups method returns one of the following values: An array of PolicyMgtGroup objects undef if no response groups are found, if the group contains objects of another type, or if the call is unsuccessful.
Group Methods
Return Value The GetAllResponses method returns one of the following values: An array of PolicyMgtResponse objects undef if no response objects are found, if the group contains objects of another type, or if the call is unsuccessful.
GetAllRuleGroups MethodRetrieves All the Rule Group Objects Nested within the Group
The GetAllRuleGroups method retrieves all the rule group objects nested within the group. Syntax The GetAllRuleGroups method has the following format:
Netegrity::PolicyMgtGroup->GetAllRuleGroups( )
Parameters The GetAllRuleGroups method accepts no parameters. Return Value The GetAllRuleGroups method returns one of the following values: An array of PolicyMgtGroup objects undef if no rule groups are found, if the groups contains objects of another type, or if the call is unsuccessful.
Group Methods
Return Value The GetAllRules method returns one of the following values: An array of PolicyMgtRule objects undef if no rule objects are found, if the group contains objects of another type, or if the call is unsuccessful
Parameters The GetResponse method accepts the following parameter: responseName (type) Specifies the name of the response to retrieve. Return Value The GetResponse method returns one of the following values: A PolicyMgtResponse object undef if no such response is found, if the group contains objects of another type, or if the call is unsuccessful
Group Methods
Parameters The GetResponseGroup method accepts the following parameter: groupName (string) Specifies the name of the response group to retrieve. Return Value The GetResponseGroup method returns one of the following values: A PolicyMgtGroup object undef if the group does not exist, or if the call is unsuccessful
Parameters The GetRule method accepts the following parameter: ruleName (string) Specifies the name of the rule to retrieve. Return Value The GetRule method returns one of the following values: A PolicyMgtRule object undef if no such rule is found, if the group contains objects of another type, or if the call is unsuccessful
Group Methods
Parameters The GetRuleGroup method accepts the following parameter: groupName (string) Specifies the name of the rule group to retrieve. Return Value The GetRuleGroup method returns one of the following values: A PolicyMgtGroup object undef if the group does not exist, or if the call is unsuccessful
Parameters The Name method accepts the following parameter: Name (string) (Optional) Specifies the name to set. Return Value The Name method returns one of the following values: The new or existing name undef if the call is unsuccessful
Parameters The Remove method accepts the following parameters: member (objectType) Specifies the group member to remove, which can be any of the following object types: PolicyMgtAgent PolicyMgtResponse PolicyMgtRule PolicyMgtGroup
Return Value The Remove method returns one of the following values: 0 on success undef if the call is unsuccessful
GetAllServers MethodRetrieves an array of Policy Server connectivity objects MaxSocketsPerPort MethodSets or retrieves the MaxSocketsPerPort value for a host configuration MinSocketsPerPort MethodSets or retrieves the MinSocketsPerPort value for a host configuration Name MethodSets or retrieves the host configuration name NewSocketStep MethodSets or retrieves the NewSocketStep value for a host configuration RemoveAllClusters MethodRemoves all PolicyMgtCluster objects associated with this host configuration RemoveAllServers MethodRemoves all PolicyMgtServer objects associated with this host configuration RequestTimeout MethodSets or retrieves the RequestTimeout value for a host configuration
Parameters The AddCluster method accepts no parameters. Return Value The AddCluster method returns one of the following values: An empty PolicyMgtCluster object undef if the call is unsuccessful
Remarks The clusters in a host configuration are referenced in a cluster array. When you add a cluster, the cluster is added to the end of the cluster array. The order in which you add clusters to a host configuration object determines the failover sequence. The first cluster you add (that is, the first cluster in the cluster array) is the primary cluster. This is the first cluster in the failover sequence that SiteMinder sends requests to. If there are not enough available servers in the primary cluster (that is, if the number of available servers in the cluster falls below the failover threshold), failover to the next cluster occurs (the second cluster that was added to the host configuration object). If that cluster also fails, failover to the third cluster added to the host configuration object occurs, and so on.
Parameters The AddServer method accepts the following parameters: Host (string) Specifies the IP address of the Policy Server. AcctPort (string) (Optional) Specifies the IP port for the accounting server. AuthPort (string) (Optional) Specifies the IP port for the authentication server. AzPort (string) (Optional) Specifies the IP port for the authorization server. Return Value The AddServer method returns one of the following values: 0 on success -1 on failure
Remarks The single-process Policy Server introduced in SiteMinder v6.0 combines the previously separate Authentication, Authorization, and Accounting processes into one combined process whose requests go through one TCP port. As a result, the arguments AcctPort, AuthPort, and AzPort all reference the same port number. The three arguments are maintained for backward compatibility. To add a server to a cluster, call the PolicyMgtCluster->AddServer method.
Parameters The method accepts the following parameter: Description (string) (Optional) Specifies the description to set. Return Value The Description method returns one of the following values: The new or existing description undef if the call is unsuccessful
Parameters The EnableFailover method accepts the following parameter: EnableFailover (int) (Optional) Specifies the value of the flag to set. Return Value The EnableFailover method returns one of the following values: The new or existing flag setting: 1 for failover 0 for round-robin
Parameters The FailoverThreshold method accepts the following parameter: FailoverThreshold (int) (Optional) Specifies the failover threshold percentage to set. Return Value The FailoverThreshold method returns one of the following values: The new or existing failover threshold percentage undef if the call is unsuccessful
Remarks The threshold percentage represents the minimum number of servers in a cluster that must be available for requests. If the number of available servers falls below the threshold, failover to the next cluster occurs. To determine the number of servers represented by the percentage, multiply the threshold percentage by the number of servers in a cluster, rounding up to the next highest integer. For example: With a 60-percent failover threshold for a cluster of five servers, failover to the next cluster occurs when the number of available servers in the cluster falls below 3. With a 61-percent failover threshold for the same cluster, failover occurs when the number of available servers falls below 4.
Parameters The GetAllClusters method accepts no parameters. Return Value The GetAllClusters method returns one of the following values: An array of PolicyMgtCluster objects undef if the call is unsuccessful
Parameters The GetAllServers method accepts no parameters. Return Value The GetAllServers method returns one of the following values: An array of PolicyMgtServer objects undef if no server objects are found, or if the call is unsuccessful
Remarks To retrieve the servers that are members of clusters, call the PolicyMgtCluster->GetAllServers method.
Parameters The MaxSocketsPerPort method accepts the following parameter: MaxSocketsPerPort (int) (Optional) Specifies the new maximum number of sockets per port.
Return Value The MaxSocketsPerPort method returns one of the following values: The new or existing setting for maximum number of sockets -1 if the call is unsuccessful
Parameters The MinSocketsPerPort method accepts the following parameter: MinSocketsPerPort (int) (Optional) Specifies the new minimum socket value. Return Value The MinSocketsPerPort method returns one of the following values: The new or existing setting for minimum number of sockets -1 if the call is unsuccessful
Parameters The Name method accepts the following parameter: Name (string) (Optional) Specifies the name to set. Return Value The Name method returns one of the following values: The new or existing name undef if the call is unsuccessful
NewSocketStep MethodSets or Retrieves the New Socket Step Value for the Host Configuration
The NewSocketStep method sets or retrieves the new socket step value for the host configuration. This value is an incremental number of TCP/IP sockets that should be opened between an agent and the Policy Server when demand increases. Syntax The NewSocketStep method has the following format:
Netegrity::PolicyMgtHostConfig->NewSocketStep([NewSocketStep])
Parameters The NewSocketStep method accepts the following parameter: NewSocketStep (int) (Optional) Specifies the new sockets step value to set. Return Value The NewSocketStep method returns one of the following values: The new or existing sockets step value -1 if the call is unsuccessful
RemoveAllClusters MethodRemoves All Cluster Objects Associated with This Host Configuration
The RemoveAllClusters method removes all cluster objects associated with this host configuration. Syntax The RemoveAllClusters method has the following format:
Netegrity::PolicyMgtHostConfig->RemoveAllClusters()
Parameters The RemoveAllClusters method accepts no parameters. Return Value The RemoveAllClusters method returns one of the following values: 0 if the call is successful -1 if the call is unsuccessful
RemoveAllServers MethodRemoves All Non-clustered Policy Server Objects from the Host Configuration
The RemoveAllServers method removes all non-clustered PolicyMgtServer objects from the host configuration. Syntax The RemoveAllServers method has the following format:
Netegrity::PolicyMgtHostConfig->RemoveAllServers()
Parameters The RemoveAllServers method accepts no parameters. Return Value The RemoveAllServers method returns one of the following values: 0 if the call is successful -1 if the call is unsuccessful
Initialization Methods
Parameters The RequestTimeout method accepts the following parameter: RequestTimeout (int) (Optional) Specifies the new timeout value to set. Return Value The RequestTimeout method returns one of the following values: The new or existing timeout value -1 if the call is unsuccessful
Initialization Methods
The following methods act on PolicyMgtAPI objects: CreateSession MethodCreates a Policy Server session DisableAudit MethodEnables or disables user and session auditing DisableCacheUpdates MethodDeprecated as of SiteMinder v6.0 DisableManagementWatchDog MethodEnables or disables the SiteMinder Management Watchdog DisableValidation MethodEnables or disables the validation of Policy Server objects EnableCache MethodDeprecated as of SiteMinder v6.0 LoadAgentTypeDictionary MethodEnables or disables the loading of the agent type dictionary by the Policy Server New MethodConstructor for the Policy Management API
Initialization Methods
PreLoadCache MethodEnables or disables the preloading of caches by the Policy Server PrintDebugTrace MethodEnables or disables the printing of debug (trace) information to the console
Parameters The CreateSession method accepts the following parameters: username (string) Specifies the administrator's login ID. userpwd (string) Specifies the administrator's password. clientIP (string) (Optional) Specifies the IP address of the local machine. The CreateSession method returns one of the following values: A PolicyMgtSession object undef if the call is unsuccessful
Initialization Methods
Parameters The DisableAudit method accepts the following parameter: auditFlag (int) (Optional) Specifies the value to set the flag: 0 to enable auditing 1 to disable auditing
Return Value The DisableAudit method returns one of the following values: The existing enabled state (0 or 1) if no argument is specified. The new enabled state if a flag value is passed to the method.
Remarks Reads or sets the enabled state for the following operations: Auditing of user activities, including authentication, authorization, and administration activities. Administration activities include changes to the policy store. Monitoring of user sessions.
The default state is enabled. The enabled state reverts to the default at the start of each new session. Attempting to set the enabled state has no effect after the PolicyMgtAPI->CreateSession method is called.
DisableCacheUpdates MethodDeprecated
The DisbleCacheUpdates method is deprecated in SiteMinder v6.0. Caches affected by this method are automatically enabled.
Initialization Methods
DisableManagementWatchDog MethodReads or sets the Enabled State of the SiteMinder Management Watchdog
The DisableManagementWatchdog method reads or sets the enabled state of the SiteMinder Management Watchdog. Note: The watchdog is used internally and should not be disabled. Syntax The DisableManagementWatchdog method has the following format:
Netegrity::PolicyMgtAPI->DisableManagementWatchDog([watchDogFlag])
Parameters The DisableManagementWatchdog method accepts the following parameter: watchDogFlag (int) (Optional) Specifies the value of the flag to set: 0 to enable the WatchDog 1 to disable the WatchDog
Return Value The DisableManagementWatchdog method returns one of the following values: The existing enabled state (0 or 1) if no argument is specified. The new enabled state if a flag value is passed to the method.
Remarks The default state is enabled. The enabled state reverts to the default at the start of each new session. Attempting to set the enabled state has no effect after PolicyMgtAPI->CreateSession is called.
Initialization Methods
DisableValidation MethodReads or Sets the Enabled State for Validation of Policy Server Objects
The DisableValidation method reads or sets the enabled state regarding validation of Policy Server objects. Syntax The DisableValidation method has the following format:
Netegrity::PolicyMgtAPI->DisableValidation([validationFlag])
Parameters The DisableValidation method accepts the following parameter: validationFlag (int) (Optional) Specifies the value to set the flag:: 0 to enable validation 1 to disable validation
Return Value The DisableValidation method returns one of the following values: The existing enabled state (0 or 1) if no argument is specified. The new enabled state if a flag value is passed to the method.
Remarks The default state is enabled. The enabled state reverts to the default at the start of each new session. Attempting to set the enabled state has no effect after the PolicyMgtAPI->CreateSession method is called.
EnableCache MethodDeprecated
The EnableCache method is deprecated in SiteMinder v6.0. Beginning with this release, caches affected by this method are automatically enabled.
Initialization Methods
LoadAgentTypeDictionary MethodReads or Sets the Enabled State for the Agent Type Dictionary
The LoadAgentTypeDirectory method reads or sets the enabled state for the loading of the agent type dictionary by the Policy Server. Syntax The LoadAgentTypeDirectory method has the following format:
Netegrity::PolicyMgtAPI->LoadAgentTypeDictionary([loadFlag])
Parameters The LoadAgentTypeDirectory method accepts the following parameter: loadFlag (int) (Optional) Specifies the value to set the flag: 0 to disable loading the agent type dictionary 1 to enable loading the agent type dictionary Return Value The LoadAgentTypeDirectory method returns one of the following values: The existing enabled state (0 or 1) if no argument is specified. The new enabled state if a flag value is passed to the method.
Remarks The default state is disabled. The enabled state reverts to the default at the start of each new session. Attempting to set the enabled state has no effect after the PolicyMgtAPI->CreateSession method is called.
Initialization Methods
Parameters The New method accepts no parameters. Return Value The New method returns one of the following values: A PolicyMgtAPI object undef if the call is unsuccessful
Parameters The PreLoadCache method accepts the following parameter: cacheFlag (int) (Optional) Specifies the value to set the flag: 0 disables cache preloading 1 enables cache preloading
Return Value The PreLoadCache method returns one of the following values: The existing enabled state (0 or 1) if no argument is specified. The new enabled state if a flag value is passed to the method.
Initialization Methods
Remarks The default state is disabled. The enabled state reverts to the default at the start of each new session. Attempting to set the enabled state has no effect after the PolicyMgtAPI->CreateSession method is called. Note: By disabling this flag, you can reduce the time it takes for Policy Management scripts to make policy store changes.
Parameters The PrintDebugTrace method accepts the following parameter: debugFlag (int) (Optional) Specifies the value to set the flag: 0 disables trace printing 1 enables trace printing
Return Value The PrintDebugTrace method returns one of the following values: 0 if trace printing is disabled 1 if trace printing is enabled
IP Configuration Methods
IP Configuration Methods
The following methods act on PolicyMgtIPConfig objects. These methods manage IP address restrictions (that is, IP addresses where requests must originate). GetEndIPAddress MethodRetrieves the ending IP address in a range of accepted IP addresses GetHostName MethodRetrieves the host name associated with the IP address restriction GetIPAddress MethodRetrieves the IP address restriction or the first IP address in a range of accepted IP addresses GetSubnetMask MethodRetrieves the subnet mask used to derive the IP address restriction GetType MethodRetrieves the type of IP address restriction
Parameters The GetEndIPAddress method accepts no parameters. Return Value The GetEndIPAddress method returns one of the following values: The ending IP address in a range of accepted IP addresses. undef if the call is unsuccessful
Remarks See the method PolicyMgtAffiliate->CreateIPConfigRange (see page 189) for more information.
IP Configuration Methods
GetHostName MethodRetrieves the Host Name Associated with a Host Name IP Address Restriction
The GetHostName method retrieves the host name associated with a host name IP address restriction. Syntax The GetHostName method has the following format:
Netegrity::PolicyMgtIPConfig->GetHostName()
Parameters The GetHostName method accepts no parameters. Return Value The GetHostName method returns one of the following values: The host name of the machine where requests originate undef if the call is unsuccessful
Remarks See the method PolicyMgtAffiliate->CreateIPConfigHostName (see page 188) for more information.
IP Configuration Methods
To determine the type of IP address restriction, call the GetType method. Syntax The GetIPAddress method has the following format:
Netegrity::PolicyMgtIPConfig->GetIPAddress()
Parameters The GetIPAddress method accepts no parameters. Return Value The GetIPAddress method returns one of the following values: The IP address where requests must originate, or the starting address in a range of accepted addresses. undef if the call is unsuccessful
IP Configuration Methods
Return Value The GetSubnetMask method returns one of the following values: The subnet mask undef if the call is unsuccessful
Remarks See the description of the PolicyMgtPolicy->CreateIPConfigSubnetMask (see page 352) method for more information.
Parameters The GetType method accepts no parameters. Return Value The GetType method returns one of the following values: IPCFG_TYPE_SINGLEHOST (Value=1). The request must come from the specified IP address. This type of IP address restriction is created with the PolicyMgtAffiliate->CreateIPConfigSingleHost method. IPCFG_TYPE_HOSTNAME (Value=2). The request must come from a machine with a specific host name. This type of IP address restriction is created with the PolicyMgtAffiliate->CreateIPConfigHostName method. IPCFG_TYPE_SUBNETMASK (Value=3). The request must come from the specified subnet mask. This type of IP address restriction is created with the PolicyMgtPolicy->CreateIPConfigSubnetMask method. IPCFG_TYPE_RANGE (Value=4). The request must come from a range of IP addresses. This type of IP address restriction is created with the PolicyMgtAffiliate->CreateIPConfigRange method. undef if the call is unsuccessful
Parameters The Description method accepts the following parameter: schemeDesc (string) (Optional) Specifies the description of the ODBC query scheme. Return Value The Description method returns one of the following values: The new or existing ODBC query scheme description An empty if the call is unsuccessful
Parameters The Name method accepts the following parameter: schemeName (string) Specifies the ODBC query scheme name.
Return Value The Name method returns one of the following values: The new or existing ODBC query scheme name undef if the call is unsuccessful
Parameters The QueryAuthenticateUser method accepts the following parameter: queryAuthUser (string) (Optional) Specifies the query that fetches a user's password. Return Value The QueryAuthenticateUser method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expression is a placeholder for the user's name parameter to be supplied by SiteMinder when the query is executed:
select Name from SmUser where Name = '%s' and Password = '%s'
If you are configuring a query scheme for an Oracle database and you are using Oracle's encrypted password feature, replace the entire query string with the word connect. Using the word connect for this query indicates to SiteMinder that a user's name and password should be evaluated by the Oracle encrypted password feature.
QueryEnumerate MethodSets or Retrieves a Query that Lists the Names of User Objects
The QueryEnumerate method sets or retrieves a query that lists the names of user objects in the directory. Syntax The QueryEnumerate method has the following format:
Netegrity::PolicyMgtODBCQueryScheme->QueryEnumerate([queryEnumerate])
Parameters The QueryEnumerate method accepts the following parameter: queryEnumerate (string) (Optional) Specifies the query that lists the names of user objects in the directory. Return Value The QueryEnumerate method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers):
select Name, 'Group' as Class from SmGroup order by Class
QueryGetGroupProp MethodSets or Retrieves a Query that Fetches the Value of a Group Property
The QueryGetGroupProp method sets or retrieves a query that fetches the value of a group property. The property must be one of the properties specified through the QueryGetGroupProps method. Syntax The QueryGetGroupProp method has the following format:
Netegrity::PolicyMgtODBCQueryScheme->QueryGetGroupProp([queryGetGroupProp])
Parameters The QueryGetGroupProp method accepts the following parameter: queryGetGroupProp (string) (Optional) Specifies the query that fetches the group property. Return Value The QueryGetGroupProp method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expressions are placeholders for property name and group name parameters to be supplied by SiteMinder when the query is executed:
select %s from SmGroup where Name = '%s'
Parameters The QueryGetGroupProps method accepts the following parameters: queryGetGroupProps (string) (Optional) Specifies the comma-separated list of group properties.
Return Value The QueryGetGroupProps method returns one of the following values: The new or existing group properties list undef if the call is unsuccessful
QueryGetGroups MethodSets or Retrieves a Query that Fetches the Names of the Groups that the User Is a Member of
The QueryGetGroups method sets or retrieves a query that fetches the names of the groups that the user is a member of. Syntax The QueryGetGroups method has the following format:
Netegrity::PolicyMgtODBCQueryScheme->QueryGetGroups([queryGetGroups])
Parameters The QueryGetGroups method accepts the following parameters: queryGetGroups (string) (Optional) Specifies the query that fetches the names of the user's groups. Return Value The QueryGetGroups method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expression is a placeholder for a user name parameter to be supplied by SiteMinder when the query is executed:
select SmGroup.Name from SmGroup, SmUser, SmUserGroup where SmUser.Name = '%s' and SmUser.UserId = SmUserGroup.UserId and SmGroup.GroupId = SmUserGroup.GroupId
QueryGetObjInfo MethodSets or Retrieves a Query that Fetches the Class of the Object
The QueryGetObjInfo method sets or retrieves a query that fetches the class of the object. Syntax The QueryGetObjInfo method has the following format:
Netegrity::PolicyMgtODBCQueryScheme->QueryGetObjInfo([queryGetObjInfo])
Parameters The QueryGetObjInfo method accepts the following parameter: queryGetObjInfo (string) (Optional) Specifies the query that fetches the class of the object. Return Value The QueryGetObjInfo method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expression is a placeholder for a user or group object name to be supplied by SiteMinder when the query is executed:
select Name, 'User' from SmUser where Name = '%s' Union select Name, 'Group' from SmGroup where Name = '%s'
QueryGetUserProp MethodSets or Retrieves a Query that Fetches the Value of a User Property
The QueryGetUserProp method sets or retrieves a query that fetches the value of a user property. The property must be one of the properties specified through the PolicyMgtODBCQueryScheme->QueryGetUserProps method. Syntax The QueryGetUserProp method has the following format:
Netegrity::PolicyMgtODBCQueryScheme->QueryGetUserProp([queryGetUserProp])
Parameters The QueryGetUserProp method accepts the following parameter: queryGetUserProp (string) (Optional) Specifies the query that fetches the user property. Return Value The QueryGetUserProp method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expressions are placeholders for property name and user name parameters to be supplied by SiteMinder when the query is executed:
select %s from SmUser where Name = '%s'
Parameters The QueryGetUserProps method accepts the following parameter: queryGetUserProps (string) (Optional) Specifies the comma-separated list of user properties. Return Value The QueryGetUserProps method returns one of the following values: The new or existing user properties list undef if the call is unsuccessful
QueryInitUser MethodSets or Retrieves a Query that Determines whether a User Exists in the Database
The QueryInitUser method sets or retrieves a query that determines whether a particular user exists in the database. Syntax The QueryInitUser method has the following format:
Netegrity::PolicyMgtODBCQueryScheme->QueryInitUser([queryGetInitUser])
Parameters The QueryInitUser method accepts the following parameter: queryGetInitUser (string) (Optional) Specifies the query that determines whether the user exists in the database. Return Value The QueryInitUser method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expression is a placeholder for the user name parameter to be supplied by SiteMinder when the query is executed:
select Name from SmUser where Name = '%s'
QueryIsGroupMember MethodSets or Retrieves a Query that Lists the Group Membership for a Particular User
The QueryIsGroupMember method sets or retrieves a query that lists the group membership for a particular user. Syntax The QueryIsGroupMember method has the following format:
Netegrity::PolicyMgtODBCQueryScheme->QueryIsGroupMember([queryIsGroupMember])
Parameters The QueryIsGroupMember method accepts the following parameters: queryIsGroupMember (string) (Optional) Specifies the query that determines a user's group membership. Return Value The QueryIsGroupMember method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expressions are placeholders for user name and group name parameters to be supplied by SiteMinder when the query is executed:
select Id from SmUserGroup where UserId = (select UserId from SmUser where Name = '%s') and GroupId = (select GroupId from SmGroup where Name = '%s')
Parameters The QueryLookup method accepts the following parameter: queryLookup (string) (Optional) Specifies the query that fetches the objects. Return Value The QueryLookup method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expression is a placeholder for a parameter to be supplied by SiteMinder when the query is executed:
select Name, 'User' as Class from SmUser where Name %s Union select Name, 'Group' as Class from SmGroup where Name %s order by Class
Parameters The QueryLookupGroup method accepts the following parameter: queryLookupGrp (string) (Optional) Specifies the query that fetches the group name. Return Value The QueryLookupGroup method returns one of the following values: A new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expression is a placeholder for a parameter to be supplied by SiteMinder when the query is executed:
select Name, 'Group' as Class from SmGroup where %s
Parameters The QueryLookupUser method accepts the following parameter: queryLookupUsr (string) (Optional) Specifies the query that fetches the user name. Return Value The QueryLookupUser method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expression is a placeholder for a parameter to be supplied by SiteMinder when the query is executed:
select Name, 'User' as Class from SmUser where %s
QuerySetGroupProp MethodSets or Retrieves a Query that Sets the Value of a Group Property
The QuerySetGroupProp method sets or retrieves a query that sets the value of a group property. The property must be one of the properties specified through the QueryGetGroupProps method. Syntax The QuerySetGroupProp method has the following format:
Netegrity::PolicyMgtODBCQueryScheme->QuerySetGroupProp([querySetGroupProp])
Parameters The QuerySetGroupProp method accepts the following parameter: querySetGroupProp (string) (Optional) Specifies the query that sets the property value for the group. Return Value The QuerySetGroupProp method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expressions are placeholders for property name, property value, and group name parameters to be supplied by SiteMinder when the query is executed:
update SmGroup set %s = %s where Name = '%s'
Parameters The QuerySetPassword method accepts the following parameter: querySetPassword (string) (Optional) Specifies the query that changes a user password. Return Value The QuerySetPassword method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expressions are placeholders for user password and user name parameters to be supplied by SiteMinder when the query is executed: update SmUser set Password = '%s' where Name = '%s'
QuerySetUserProp MethodSets or Retrieves a Query that Sets the Value of a User Property
The QuerySetUserProp method sets or retrieves a query that sets the value of a user property. The property must be one of the properties specified through the PolicyMgtODBCQueryScheme->QueryGetUserProps method. Syntax The QuerySetUserProp method has the following format:
Netegrity::PolicyMgtODBCQueryScheme->QuerySetUserProp([querySetUserProp])
Parameters The QuerySetUserProp method accepts the following parameters: querySetUserProp (string) (Optional) Specifies the query that sets the property value for the group. Return Value The QuerySetUserProp method returns one of the following values: The new or existing query undef if the call is unsuccessful
Remarks Sample query (based on the SiteMinder sample database schema SmSampleUsers). The %s expressions are placeholders for property name, property value, and user name parameters to be supplied by SiteMinder when the query is executed:
update SmUser set %s = %s where Name = '%s'
PwdAddRegExpMatch MethodAdds a regular expression that new passwords must match PwdAddRegExpNoMatch MethodAdds a regular expression that new passwords must not match PwdAllowDigits MethodSets or retrieves the flag specifying whether passwords are allowed to have numeric characters PwdAllowLowercase MethodSets or retrieves the flag specifying whether passwords are allowed to have lower case letters PwdAllowNonAlphaNum MethodSets or retrieves the flag specifying whether passwords are allowed to have non-alphanumeric characters PwdAllowNonPrintable MethodSets or retrieves the flag specifying whether passwords are allowed to have non-printable characters PwdAllowPunctuation MethodSets or retrieves the flag specifying whether passwords are allowed to have punctuation mark characters PwdAllowUppercase MethodSets or retrieves the flag specifying whether passwords are allowed to have uppercase letters PwdExpiryWarning MethodSets the number of days in advance to notify the user that the password will expire PwdForceLowerCase MethodSets or retrieves the flag for forcing a new password to lower case PwdForceUpperCase MethodSets or retrieves the flag for forcing a new password to uppercase PwdGetAllRegExpMatch MethodRetrieves the tags of all the regular expressions that new passwords must match PwdGetAllRegExpNoMatch MethodRetrieves the tags of all the regular expressions that new passwords must not match PwdGetRegExp MethodRetrieves the regular expression for the specified tag PwdIgnoreSequence MethodIndicates whether to ignore sequence (that is, character position) when the different-from-previous-characters percentage is calculated PwdMaxLength MethodSets or retrieves the maximum length for user passwords PwdMaxRepeatingChar MethodSets or retrieves the maximum number of identical characters that can appear consecutively in a password PwdMinAlpha MethodSets or retrieves the minimum number of alphabetic characters (A-Z, a-z) that a password must contain PwdMinAlphaNum MethodSets or retrieves the minimum number of alphanumeric characters (A-Z, a-z, 0-9) that a password must contain
PwdMinLength MethodSets or retrieves the minimum number of alphanumeric characters (A-Z, a-z, 0-9) that a password must contain PwdMinLowercase MethodSets or retrieves the minimum number of lower case letters that a password must contain PwdMinNonAlpha MethodSets or retrieves the minimum number of non-alphanumeric characters that a password must contain PwdMinNonPrintable MethodSets or retrieves the minimum number of non-printable characters that a password must contain PwdMinNumbers MethodSets or retrieves the minimum number of numeric characters (0-9) that a password must contain PwdMinProfileMatch MethodSpecifies the minimum character sequence to check against the user's personal information PwdMinPunctuation MethodSets or retrieves the minimum number of punctuation marks that a password must contain PwdMinUppercase MethodSets or retrieves the minimum number of uppercase letters that a password must contain PwdPercentDiff MethodSpecifies the percentage of characters that a new password must contain that differ from characters in the previous password PwdPolicyPriority MethodSets or retrieves the passwords priority setting (1-1000) PwdRedirectionURL MethodSets or retrieves the URL where the user is re-directed when an invalid password is provided PwdRemoveRegExp MethodRemoves the regular expression associated with the specified tag PwdReuseCount MethodSpecifies the number of new passwords that must be used before an old password can be reused PwdReuseDelay MethodSpecifies the number of days a user must wait before reusing a password ReEnableAfterIncorrectPwd MethodSpecifies whether to re-enable a user account after the entry of an incorrect password Save MethodSaves modifications to a password policy StripEmbeddedWhitespace MethodSets or retrieves the flag for stripping new passwords of embedded white space StripLeadingWhitespace MethodSets or retrieves the flag for stripping new passwords of leading white space StripTrailingWhitespace MethodSets or retrieves the flag for stripping new passwords of trailing white space
TrackLoginDetails MethodSets or retrieves the flag for tracking authentication attempts and successful logins UserDirClass MethodSets or retrieves the directory class if the password policy applies to a part of the directory UserDirectory MethodSets or retrieves the user directory for the password policy UserDirPath MethodSets or retrieves the directory path if the password policy applies to a part of the directory
Parameters The AllowNestedGroups method accepts the following parameter: groupFlag (int) (Optional) Specifies whether to allow nested groups: 1 to allow nested groups 0 to disallow nested groups
Return Value The AllowNestedGroups method returns one of the following values: 0 if nested groups are not allowed. 1 if nested groups are allowed.
AllowLowerPriorityPolicies MethodSets Flag To Determine whether Password Policies with Lower Priority Should Be Evaluated
The ApplyLowerPriorityPolicies method sets or retrieves the flag that determines whether password policies with lower priority should be evaluated after the current password policy is evaluated. Syntax The ApplyLowerPriorityPolicies method has the following format:
Netegrity::PolicyMgtPwdPolicy->ApplyLowerPriorityPolicies([lowerPriorityFlag])
Parameters The ApplyLowerPriorityPolicies method accepts the following parameters: lowerPriorityFlag (int) (Optional) Specifies whether to enable evaluation of lower-priority password policies: 1 enables evaluation of lower-priority password policies 0 disables evaluation of lower-priority password policies
Return Value The ApplyLowerPriorityPolicies method returns one of the following values: A new or existing flag setting undef if the call is unsuccessful
Parameters The AuthLoginTrackFailure method accepts the following parameter: trackingFlag (int) (Optional) Specifies whether to allow the user to login when login tracking fails: 1 allows the user to login 0 does not allow the user to login
Return Value The AuthLoginTrackFailure method returns one of the following values: The new or existing flag setting undef if the call is unsuccessful
Remarks If you enable this flag, users are allowed to log in even if login tracking data cannot be written to the user directory. If you disable this flag, users are not allowed to log in if login tracking data cannot be written to the user directory.
BadLoginDisablementPeriod MethodSets or Retrieves the Number of Minutes Before a User Account Is Disabled
The BadLoginDisablementPeriod method sets or retrieves the number of minutes before a user account is disabled after too many failed login attempts. Syntax The BadLoginDisablementPeriod method has the following format:
Netegrity::PolicyMgtPwdPolicy->BadLoginDisablementPeriod([disablementPeriod])
Parameters The BadLoginDisablementPeriod method accepts the following parameters: disablementPeriod (int) (Optional) Specifies the number of minutes to allow before the user account is disabled.
Return Value The BadLoginDisablementPeriod method returns one of the following values: The new or existing disablement period undef if the call is unsuccessful
Parameters The Description method accepts the following parameter: policyDesc (string) (Optional) Specifies the description of the password policy. Return Value The Description method returns one of the following values: The new or existing policy description An empty string if the call is unsuccessful.
DictionaryMatch MethodSets the Minimum Number of Letters Required To Qualify a Password for Dictionary Checking
The DictionaryMatch method sets the minimum number of letters required to qualify a password for dictionary checking. Syntax The DictionaryMatch method has the following format:
Netegrity::PolicyMgtPwdPolicy->DictionaryMatch([dicMatchLen])
Parameters The DictionaryMatch method accepts the following parameter: dicMatchLen (int) (Optional) Specifies the minimum number of letters required. Return Value The DictionaryMatch method returns one of the following values: A new or existing minimum setting undef if the call is unsuccessful
Parameters The DictionaryPath method accepts the following parameter: dicPath (string) (Optional) Specifies the new dictionary path. Return Value The DictionaryPath method returns one of the following values: The new or existing dictionary path. undef if the call is unsuccessful
Remarks The dictionary file must be a text file located in a directory that all Policy Servers can access.
Parameters The DisableAfterInactivityExpiration method accepts the following parameters: inactivityFlag (int) (Optional) Specifies whether to disable the user's account 1 disables the user's account after a specified period of inactivity 0 keeps the account enabled and forces a password change Return Value The DisableAfterInactivityExpiration method returns one of the following values: The new or existing flag setting undef if the call is unsuccessful
Remarks If the flag is set not to disable the user's account after the inactivity period, the user is required to change the password at the next login.
Parameters The DisableAfterPwdExpiration method accepts the following parameter: expireFlag (type) (Optional) Specifies whether to disable the user's account: 1 disable the user's account after the user's password expires 0 keeps the account enabled and forces a password change Return Value The DisableAfterPwdExpiration method returns one of the following values: The new or existing flag setting undef if the call is unsuccessful
Remarks If the flag is set not to disable the user's account after the password expires, the user is required to change the password at next login.
EntireDir MethodDetermines Whether the Password Policy Applies to the Entire Directory
The EntireDir method determines whether the password policy applies to the entire directory or just a part of it. Syntax The EntireDir method has the following format:
Netegrity::PolicyMgtPwdPolicy->EntireDir([dirFlag])
Parameters The EntireDir method accepts the following parameters: dirFlag (int) (Optional) Specifies whether to apply the password policy to an entire directory: 1 applies the password policy to the entire directory 0 applies the password policy to just a portion of the directory
Return Value The EntireDir method returns one of the following values: 1 if the policy applies to the entire directory. 0 if the policy applies to part of the directory.
Remarks For information about specifying a part of an entire directory, see the descriptions of the PolicyMgtPwdPolicy->UserDirPath (see page 346) method and the PolicyMgtPwdPolicy->UserDirClass (see page 345) method.
Parameters The ExpirationDelay method accepts the following parameter: expDelay (int) (Optional) Specifies the number of days that the password can be used. Return Value The ExpirationDelay method returns one of the following values: The new or existing number of days -1 if the call is unsuccessful
Parameters The IsEnabled method accepts the following parameter: enableFlag (int) (Optional) Specifies whether the password policy is enabled: 1 enables the password policy 0 disables the password policy
Return Value The IsEnabled method returns one of the following values: 1 if the policy is enabled 0 if the policy is disabled
Parameters The MaxLoginFailures method accepts the following parameter: maxLogin (int) (Optional) Specifies the number of failed login attempts. Return Value The MaxLoginFailures method returns one of the following values: The new or existing failed login attempt setting undef if the call is unsuccessful
Parameters The MaxLoginInactive method accepts the following parameters: maxLoginInactive (int) (Optional) Specifies the number of days of inactivity. Return Value The MaxLoginInactive method returns one of the following values: The new or existing maximum inactivity period setting undef if the call is unsuccessful
Parameters The Name method accepts the following parameter: policyName (string) (Optional) Specifies the password policy name.
Return Value The Name method returns one of the following values: The new or existing policy name undef if the call is unsuccessful
PwdAddRegExpMatch MethodAdds a Regular Expression to the List of Expressions that New Passwords Must Match
The PwdAddRegExpMatch method adds a regular expression to the list of expressions that new passwords must match. Syntax The PwdAddRegExpMatch method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdAddRegExpMatch([tag] [, expression])
Parameters The PwdAddRegExpMatch method accepts the following parameters: tag (string) (Optional) Specifies the name of the regular expression. expression (string) (Optional) Specifies the regular expression. Return Value The PwdAddRegExpMatch method returns one of the following values: 0 if the regular expression is successfully added -1 if the call is unsuccessful
PwdAddRegExpNoMatch MethodAdds a Regular Expression to the List of Expressions that New Passwords Must NOT Match
The PwdAddRegExpNoMatch method adds a regular expression to the list of expressions that new passwords must not match. Syntax The PwdAddRegExpNoMatch method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdAddRegExpNoMatch([tag] [, expression])
Parameters The PwdAddRegExpNoMatch method accepts the following parameters: tag (string) (Optional) Specifies the name of the regular expression. expression (string) (Optional) Specifies the regular expression. Return Value The PwdAddRegExpNoMatch method returns one of the following values: 0 if the regular expression is successfully added -1 if the call is unsuccessful
Parameters The PwdAllowDigits method accepts the following parameter: digitFlag (int) (Optional) Specifies whether passwords are allowed to have numeric characters: 1 numeric characters are allowed 0 if numeric characters are not allowed Return Value The PwdAllowDigits method returns one of the following values: A new or existing flag setting undef if the call is unsuccessful
PwdAllowLowercase MethodSpecifies whether Passwords Are Allowed To Have Lower Case Letters
The PwdAllowLowercase method sets or retrieves the flag that specifies whether passwords are allowed to have lower case letters. Syntax The PwdAllowLowercase method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdAllowLowercase([lcFlag])
Parameters The PwdAllowLowercase method accepts the following parameters: lcFlag (int) (Optional) Specifies whether lowercase letters are allowed in passwords: 1 allows lowercase letters 0 disallows lowercase letters
Return Value The PwdAllowLowercase method returns one of the following values: The new or existing flag setting undef if the call is unsuccessful
Parameters The PwdAllowNonAlphNum method accepts the following parameters: nonAlphaNumFlag (int) (Optional) Specifies whether non-alphanumeric characters are allowed in passwords 1 allows non-alphanumeric characters 0 disallows non-alphanumeric characters
Return Value The PwdAllowNonAlphNum method returns one of the following values: The new or existing flag setting undef if the call is unsuccessful
Parameters The PwdAllowNonPrintable method accepts the following parameters: nonPrintFlag (int) (Optional) Specifies whether non-printable characters are allowed in passwords: 1 allows non-printable characters 0 disallows non-printable characters
Return Value The PwdAllowNonPrintable method returns one of the following values: The new or existing flag setting undef if the call is unsuccessful
PwdAllowPunctuation MethodSpecifies whether Passwords Are Allowed To Have Punctuation Mark Characters
The PwdAllowPunctuation method sets or retrieves the flag that specifies whether passwords are allowed to have punctuation mark characters. Syntax The PwdAllowPunctuation method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdAllowPunctuation([punctuationMarkFlag])
Parameters The PwdAllowPunctuation method accepts the following parameters: punctuationMarkFlag (int) (Optional) Specifies whether punctuation mark characters are allowed in passwords: 1 allows punctuation mark characters 0 disallows punctuation mark characters
Return Value The PwdAllowPunctuation method returns one of the following values: The new or existing flag setting undef if the call is unsuccessful
PwdAllowUpperCase MethodSpecifies whether Passwords Are Allowed To Have Upper Case Letters
The PwdAllowUpperCase method sets or retrieves the flag that specifies whether passwords are allowed to have upper case letters. Syntax The PwdAllowUpperCase method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdAllowUppercase([upperCaseFlag])
Parameters The PwdAllowUpperCase method accepts the following parameter: upperCaseFlag (int) (Optional) Specifies whether upper case letters are allowed in passwords: 1 allows upper case letters 0 disallows upper case letters
Return Value The PwdAllowUpperCase method returns one of the following values: The new or existing flag setting undef if the call is unsuccessful
PwdExpiryWarning MethodSets or Retrieves the Number of Days in Advance To Notify the User that the Password Will Expire
The PwdExpiryWarning method sets or retrieves the number of days in advance to notify the user that the password will expire. Syntax The PwdExpiryWarning method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdExpiryWarning([warningDays])
Parameters The PwdExpiryWarning method accepts the following parameters: warningDays (int) (Optional) Specifies the number of days of advance notice. Return Value The PwdExpiryWarning method returns one of the following values: The new or existing advance notice setting undef if the call is unsuccessful
PwdForceLowerCase MethodDetermines whether To Convert Upper Case Letters in a New Password to Lower Case
The PwdForceLowerCase method sets or retrieves the flag that determines whether to convert any upper case letters in a new password to lower case. Syntax The PwdForceLowerCase method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdForceLowerCase([forceLCFlag])
Parameters The PwdForceLowerCase method accepts the following parameters: forceLCFlag (int) (Optional) Specifies whether for force new passwords into lower vase: 1 converts any upper case letters to lower case 0 does not convert upper case letters
Return Value The PwdForceLowerCase method returns one of the following values: The new or existing flag setting undef if the call is unsuccessful
PwdForceUpperCase MethodDetermines whether To Convert Lower Case Letters in a New Password to Upper Case
The PwdForceUpperCase method sets or retrieves the flag that determines whether to convert any lower case letters in a new password to upper case. Syntax The PwdForceUpperCase method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdForceUpperCase([forceUCFlag])
Parameters The PwdForceUpperCase method accepts the following parameters: forceUCFlag (int) (Optional) Specifies whether to force new passwords to use only upper case: 1 forces upper case 0 does not force upper case
Return Value The PwdForceUpperCase method returns one of the following values: The new or existing flag setting undef if the call is unsuccessful
PwdGetAllRegExpMatch MethodRetrieves the Name Tags of the Regular Expressions that New Passwords Must Match
The PwdGetAllRegExpMatch method retrieves the name tags of all the regular expressions that new passwords must match. Syntax The PwdGetAllRegExpMatch method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdGetAllRegExpMatch()
Parameters The PwdGetAllRegExpMatch method accepts no parameters. Return Value The PwdGetAllRegExpMatch method returns one of the following values: An array of name tags for the regular expressions that new passwords must match undef if the call is unsuccessful
PwdGetAllRegExpNoMatch MethodRetrieves the Name Tags of the Regular Expressions that New Passwords Must NOT Match
The PwdGetAllRegExpNoMatch method retrieves the name tags of all the regular expressions that new passwords must not match. Syntax The PwdGetAllRegExpNoMatch method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdGetAllRegExpNoMatch()
Parameters The PwdGetAllRegExpNoMatch method accepts no parameters. Return Value The PwdGetAllRegExpNoMatch method returns one of the following values: An array of name tags for the regular expressions that new passwords must not match. undef if the call is unsuccessful
PwdGetRegExp MethodRetrieves the Regular Expression for the Specified Name Tag
The PwdGetRegExp method retrieves the regular expression for the specified name tag. Syntax The PwdGetRegExp method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdGetRegExp(tag)
Parameters The PwdGetRegExp method accepts the following parameter: tag (string) Specifies the name of the regular expression to retrieve.
Return Value The PwdGetRegExp method returns one of the following values: The specified regular expression undef if the call is unsuccessful
PwdIgnoreSequence MethodDetermines whether To Ignore Sequence when Calculating the New Password
The PwdIgnoreSequence method specifies whether to ignore sequence (that is, character position) when the different-from-previous-characters percentage is calculated. Syntax The PwdIgnoreSequence method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdIgnoreSequence([pwdPctSeq])
Parameters The PwdIgnoreSequence method accepts the following parameter: pwdPctSeq (int) (Optional) Specifies whether to ignore the sequence of characters when creating a new password: 1 ignores sequence when calculating the previous password difference percentage 0 considers sequence
Return Value The PwdIgnoreSequence method returns one of the following values: 1 to ignore sequence 0 to consider sequence
Remarks For example, suppose a user's previous password is BASEBALL12: If you set this method to 1 (ignore sequence), the user can't choose 12BASEBALL as the new password. That's because the characters are the same as in the previous password, regardless of the character sequence. If you set this method to 0 (consider sequence), the user can choose 12BASEBALL as the new password because the characters occur in a different sequence.
Parameters The PwdMaxLength method accepts the following parameter: maxPwdLength (int) (Optional) Specifies the maximum password length. Return Value The PwdMaxLength method returns the new or existing password length setting.
Parameters The PwdMaxRepeatingChar method accepts the following parameter: maxPwdRepeat (int) (Optional) Specifies the maximum number of repeating characters. Return Value The PwdMaxRepeatingChar method returns the new or existing setting for repeating characters.
PwdMinAlpha MethodSets or Retrieves the Minimum Number of Alphabetic Characters a Password Must Contain
The PwdMinAlpha method sets or retrieves the minimum number of alphabetic characters (A-Z, a-z) that a password must contain. Syntax The PwdMinAlpha method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdMinAlpha([pwdMinAlpha])
Parameters The PwdMinAlpha method accepts the following parameter: pwdMinAlpha (int) (Optional) Specifies the minimum number of alphabetic characters required. Return Value The PwdMinAlpha method returns the new or existing minimum number of alphabetic characters.
PwdMinAlphaNum MethodSets or Retrieves the Minimum Number of Alphanumeric Characters a Password Must Contain
The PwdMinAlphaNum method sets or retrieves the minimum number of alphanumeric characters (A-Z, a-z, 0-9) that a password must contain. Syntax The PwdMinAlphaNum method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdMinAlphaNum([pwdMinAlphaNum])
Parameters The PwdMinAlphaNum method accepts the following parameters: pwdMinAlphaNum (int) (Optional) Specifies the minimum number of alphanumeric characters required. Return Value The PwdMinAlphaNum method returns the new or existing minimum number of alphanumeric characters.
Parameters The PwdMinLength method accepts the following parameters: minPwdLength (int) (Optional) Specifies the minimum length for user passwords. Return Value The PwdMinLength method returns the new or existing minimum password length.
PwdMinLowercase MethodSets or Retrieves the Minimum Number of Lower Case Letters a Password Must Contain
The PwdMinLowercase method sets or retrieves the minimum number of lower case letters that a password must contain. Syntax The PwdMinLowercase method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdMinLowercase([pwdMinLC])
Parameters The PwdMinLowercase method accepts the following parameter: pwdMinLC (int) (Optional) Specifies the minimum number of lower case letters that a password must contain. Return Value The PwdMinLowercase method returns new or existing minimum for lower case letters.
PwdMinNonAlpha MethodSets or Retrieves the Minimum Number of Non-Alphanumeric Characters A Password Must Contain
The PwdMinNonAlpha method sets or retrieves the minimum number of non-alphanumeric characters that a password must contain. These characters include punctuation marks and other symbols located on the keyboard, such as @, $, and *. Syntax The PwdMinNonAlpha method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdMinNonAlpha([pwdMinNonAlpha])
Parameters The PwdMinNonAlpha method accepts the following parameters: pwdMinNonAlpha (int) (Optional) Specifies the minimum number of non-alphanumeric characters required.
Return Value The PwdMinNonAlpha method returns the new or existing minimum number of non-alphanumeric characters.
PwdMinNonPrintable MethodSets or Retrieves the Minimum Number of Non-Printable Characters a Password Must Contain
The PwdMinNonPrintable method sets or retrieves the minimum number of non-printable characters that a password must contain. These characters cannot be displayed on a computer screen. Syntax The PwdMinNonPrintable method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdMinNonPrintable([pwdMinNonPrint])
Parameters The PwdMinNonPrintable method accepts the following parameter: pwdMinNonPrint (int) (Optional) Specifies the minimum number of non-printable characters required. Return Value The PwdMinNonPrintable method returns The new or existing minimum number of non-printable characters.
PwdMinNumbers MethodSets or Retrieves the Minimum Number of Numeric Characters a Password Must Contain
The PwdMinNumbers method sets or retrieves the minimum number of numeric characters (0-9) that a password must contain. Syntax The PwdMinNumbers method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdMinNumbers([pwdMinNum])
Parameters The PwdMinNumbers method accepts the following parameter: pwdMinNum (int) (Optional) Specifies the minimum number of numeric characters required. Return Value The PwdMinNumbers method returns the new or existing minimum number of numeric characters.
PwdMinProfileMatch MethodSpecifies the Minimum Character Sequence To Check against the User's Personal Information
The PwdMinProfileMatch method specifies the minimum character sequence to check against the user's personal information. Syntax The PwdMinProfileMatch method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdMinProfileMatch([pwdMatchAttr])
Parameters The PwdMinProfileMatch method accepts the following parameter: pwdMatchAttr (int) (Optional) Specifies the minimum number of sequential characters to check. Return Value The PwdMinProfileMatch method returns the new or existing minimum setting. Remarks For example, if this value is set to 4, SiteMinder prohibits the use of any four consecutive characters found in the user's personal information, such as the four last digits of the user's telephone number. This field prevents a user from incorporating personal information in a password. SiteMinder checks the password against attributes in the user's directory entry.
PwdMinPunctuation MethodSets or Retrieves the Minimum Number of Punctuation Marks a Password Must Contain
The PwdMinPunctuation method sets or retrieves the minimum number of punctuation marks that a password must contain. These characters include periods, commas, exclamation marks, slashes, hyphens, dashes, and other punctuation marks. Syntax The PwdMinPunctuation method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdMinPunctuation([pwdMinPunc])
Parameters The PwdMinPunctuation method accepts the following parameter: pwdMinPunc (int) (Optional) Specifies the minimum number of punctuation marks required. Return Value The PwdMinPunctuation method returns the new or existing minimum number of punctuation marks.
PwdMinUppercase MethodSets or Retrieves the Minimum Number of Upper Case Letters a Password Must Contain
The PwdMinUppercase method sets or retrieves the minimum number of upper case letters that a password must contain. Syntax The PwdMinUppercase method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdMinUppercase([pwdMinUC])
Parameters The PwdMinUppercase method accepts the following parameter: pwdMinUC (int) (Optional) Specifies the minimum number of upper case letters that a password must contain.
Return Value The PwdMinUppercase method returns the new or existing minimum for upper case letters.
PwdPercentDiff MethodSets or Retrieves the Percentage of Different Characters a New Password Must Contain
The PwdPercentDiff method sets or retrieves the percentage of characters that a new password must contain that differ from characters in the previous password. If the value is set to 100, the new password cannot contain any characters that were in the previous password (unless the parameter PwdIgnoreSeq is set to 0). Syntax The PwdPercentDiff method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdPercentDiff([pwdPctDiff])
Parameters The PwdPercentDiff method accepts the following parameter: pwdPctDiff (int) (Optional) Specifies the minimum percentage setting. Return Value The PwdPercentDiff method returns the new or existing minimum percentage setting.
Parameters The PwdPolicyPriority method accepts the following parameters: priority (int) (Optional) Specifies the evaluation priority of this password policy. Return Value The PwdPolicyPriority method returns new or existing evaluation priority setting.
PwdRedirectionURL MethodSets or Retrieves the URL where the User is Redirected Example
The PwdRedirectionURL method sets or retrieves the URL where the user is redirected when an invalid password is provided. This must be the URL of the Password Services CGI. Syntax The PwdRedirectionURL method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdRedirectionURL([URL])
Parameters The PwdRedirectionURL method accepts the following parameter: URL (string) (Optional) Specifies the redirection URL. Return Value The PwdRedirectionURL method returns one of the following values: The new or existing URL undef if the call is unsuccessful
PwdRemoveRegExp MethodRemoves the Regular Expression Associated with the Specified Name Tag
The PwdRemoveRegExp method removes the regular expression associated with the specified name tag. Syntax The PwdRemoveRegExp method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdRemoveRegExp(tag)
Parameters The method accepts the following parameter: tag (string) Specifies the name of the regular expression to move. Return Value The PwdRemoveRegExp method returns one of the following values: 0 on success -1 if the call is unsuccessful
Parameters The PwdReuseCount method accepts the following parameters: pwdReuseCount (int) (Optional) Specifies the password reuse setting.
Return Value The PwdReuseCount method returns the new or existing password reuse setting.
PwdReuseDelay MethodSpecifies the Number of Days a User Must Wait Before Reusing a Password
The PwdReuseDelay method specifies the number of days a user must wait before reusing a password. Syntax The PwdReuseDelay method has the following format:
Netegrity::PolicyMgtPwdPolicy->PwdReuseDelay([pwdReuseDelay])
Parameters The PwdReuseDelay method accepts the following parameter: pwdReuseDelay (type) (Optional) Specifies the password reuse delay setting. Return Value The PwdReuseDelay method returns the new or existing password reuse delay setting.
ReEnableAfterIncorrectPwd MethodDetermines whether To Re-enable a User Account after the Entry of an Incorrect Password
The ReEnableAfterIncorrectPwd method determines whether to re-enable a user account after the entry of an incorrect password or passwords. Syntax The ReEnableAfterIncorrectPwd method has the following format:
Netegrity::PolicyMgtPwdPolicy->ReEnableAfterIncorrectPwd([groupFlag])
Parameters The ReEnableAfterIncorrectPwd method accepts the following parameter: groupFlag (int) (Optional) Specifies whether to re-enable a user account after the entry of an incorrect password: 0 disables the account 1 enables the account
Return Value The ReEnableAfterIncorrectPwd method returns one of the following values: 1 if a user account should be re-enabled after entry of an incorrect password or passwords. 0 if a user should be allowed 1 login attempt after entry of an incorrect password or passwords.
Parameters The Save method accepts no parameters. Return Value The Save method returns one of the following values: 0 if the call is successful -1 if the call is unsuccessful -4 if the user has insufficient privileges to save the changes. 10 if the path and class are empty.
Remarks Call this method once after making all the modifications to the password policy that you intend to make. This method must be called for any changes to take effect.
Parameters The StripEmbeddedWhitespace method accepts the following parameter: stripEmbeddedFlag (int) (Optional) Specifies whether to strip embedded white space from new passwords: 1 strips the embedded white space 0 includes embedded white space
Return Value The StripEmbeddedWhitespace method returns the new or existing flag setting.
Parameters The StripLeadingWhitespace method accepts the following parameter: stripLeadingFlag (int) (Optional) Specifies whether to strip leading white space from passwords: 1 strips leading white space 0 includes leading white space
Return Value The StripLeadingWhitespace method returns the new or existing flag setting.
Parameters The StripTrailingWhitespace method accepts the following parameter: stripTrailingFlag (int) (Optional) Specifies whether to strip trailing white space from passwords: 1 strips trailing white space 0 includes trailing white space
Return Value The StripTrailingWhitespace method returns the new or existing flag setting.
Parameters The TrackLoginDetails method accepts the following parameter: trackingFlag (int) (Optional) Specifies whether to enable login tracking: 1 enables login tracking 0 disables login tracking
Return Value The TrackLoginDetails method returns the new or existing flag setting.
UserDirClass MethodSets or Retrieves the Directory Class if the Password Policy Applies to a Part of the Directory
The UserDirClass method sets or retrieves the directory class if the password policy applies to a part of the directory. Syntax The UserDirClass method has the following format:
Netegrity::PolicyMgtPwdPolicy->UserDirClass([path])
Parameters The UserDirClass method accepts the following parameter: path (string) (Optional) Specifies the directory class.
Return Value The UserDirClass method returns the new or existing directory class.
UserDirectory MethodSets or Retrieves the User Directory for the Password Policy
The UserDirectory method sets or retrieves the user directory for the password policy. Syntax The UserDirectory method has the following format:
Netegrity::PolicyMgtPwdPolicy->UserDirectory([userDir])
Parameters The UserDirectory method accepts the following parameter: userDir (PolicyMgtUserDir) (Optional) Specifies the user directory for the password policy. Return Value The UserDirectory method returns a PolicyMgtUserDir object.
UserDirPath MethodSets or Retrieves the Directory Path if the Password Policy Applies to a Part of the Directory
The UserDirPath method sets or retrieves the directory path if the password policy applies to a part of the directory. Syntax The UserDirPath method has the following format:
Netegrity::PolicyMgtPwdPolicy->UserDirPath([path])
Parameters The UserDirPath method accepts the following parameter: path (type) (Optional) Specifies the directory path.
Policy Methods
Return Value The UserDirPath method returns the new or existing directory path.
Policy Methods
The following methods act on PolicyMgtPolicy objects: ActiveExpr MethodSets or retrieves the active expression associated with the policy. AddRule MethodAdds a rule to the policy AddUser MethodAdds a user to the policy AllowNested MethodSets or removes the AllowNested flag based on the value of flag specifying recursive evaluation CreateIPConfigHostName MethodCreates an IP configuration object from the specified host name CreateIPConfigRange MethodCreates an IP configuration object from the specified range of IP addresses CreateIPConfigSingleHost MethodCreates an IP configuration object from the specified IP address CreateIPConfigSubnetMask MethodCreates an IP Address configuration based on the IP address and subnet mask passed to the method DeleteIPConfig MethodDeletes an IP configuration object Description MethodSets or retrieves the description of the policy EnforceANDEvaluation MethodSets or removes the ANDUser/Group flag ExcludeUser MethodExcludes or includes a user GetAllIPConfigs MethodRetrieves all IP configuration objects in the policy GetAllRules MethodRetrieves an array of all rules associated with the policy GetAllUsers MethodRetrieves an array of all users associated with the policy IsEnabled MethodEnables or disables the policy Name MethodSets or retrieves the policy name
Policy Methods
RemoveResponse MethodRemoves the response for a configured rule in the policy RemoveRule MethodRemoves the specified rule from the policy RemoveUser MethodRemoves a user from the policy SetResponse MethodSets the response for a configured rule in the policy VariableExpr MethodSets, retrieves, or removes the active expression associated with the policy
ActiveExpr MethodSets or Retrieves the Active Expression Associated with the Policy
The ActiveExpr method sets or retrieves the active expression associated with the policy. Syntax The ActiveExpr method has the following format:
Netegrity::PolicyMgtPolicy->ActiveExpr([activeExpr])
Parameters The ActiveExpr method accepts the following parameter: activeExpr (string) (Optional) Specifies the active expression to set. Return Value The ActiveExpr method returns one of the following values: The new or existing active expression undef if the call is unsuccessful
Policy Methods
Parameters The AddRule method accepts the following parameter: rule (PolicyMgtRule) Specifies the rule to add. Return Value The AddRule method returns one of the following values: 0 if the call is successful -1 if the call is unsuccessful
Parameters The AddUser method accepts the following parameters: user (PolicyMgtUser) Specifies the user to add. iExcludeUser (int) (Optional) Specifies whether to exclude a user: 1 excludes the user 0 includes the user
iRecursiveFlag (int) (Optional) Specifies the setting for the AllowNested flag: 1 sets the AllowNested flag 0 disables the AllowNested flag
iANDUserFlag (int) (Optional) Specifies the setting for the AND flag: 1 set the AND flag 0 disables the AND flag
Policy Methods
Return Value The AddUser method returns one of the following values: 0 if the call is successful -1 if the call is unsuccessful
Parameters The AllowNested method accepts the following parameters: user (PolicyMgtUser) Specifies the user for which to set or retrieve the AllowNested flag. iRecursiveFlag (int) (Optional) Specifies the value of the AllowNested flag: 1 for recursive evaluation 0 for non-recursive evaluation
If this is not passed, the function returns the current value of the AllowNested flag. The flag applies to all the users added to the policy for a particular user directory. Return Value The AllowNested method returns one of the following values: 0 if AllowNested flag is removed successfully. 1 if AllowNested flag is set successfully. -1 if the call is unsuccessful
Policy Methods
Parameters The CreateIPConfigHostName method accepts the following parameter: hostName (string) Specifies the host name required for the policy to fire. Return Value The CreateIPConfigHostName method returns one of the following values: A PolicyMgtIPConfig object undef if the call is unsuccessful
Parameters The CreateIPConfigRange method accepts the following parameters: ipAddr1 (string) Specifies the beginning IP address in the range of accepted addresses. ipAddr2 (string) Specifies the ending IP address in the range of accepted addresses.
Policy Methods
Return Value The CreateIPConfigRange method returns one of the following values: A PolicyMgtIPConfig object undef if the call is unsuccessful
Parameters The CreateIPConfigSingleHost method accepts the following parameter: ipAddr (string) Specifies the IP address required for the policy to fire. Return Value The CreateIPConfigSingleHost method returns one of the following values: A PolicyMgtIPConfig object undef if the call is unsuccessful
CreateIPConfigSubnetMask MethodCreates an IP Address Configuration Based on the IP Address and Subnet Mask
The CreateIPConfigSubnetMask method creates an IP Address configuration based on the IP address and subnet mask passed to the method. For the policy to fire, a request must come from the subnet address derived from the passed IP address and subnet mask. Syntax The CreateIPConfigSubnetMask method has the following format:
Netegrity::PolicyMgtPolicy->CreateIPConfigSubnetMask(ipAddr, subnetMask)
Policy Methods
Parameters The CreateIPConfigSubnetMask method accepts the following parameters: ipAddr (string) Specifies the IP address used to derive the subnet address. subnetMask (unsigned long) Specifies the subnet mask used to derive the subnet address. Return Value The CreateIPConfigSubnetMask method returns one of the following values: A PolicyMgtIPConfig object undef if the call is unsuccessful
Remarks The subnet mask value is a number of bits. To arrive at this value, count the bits in the binary value of the address. For example, suppose the subnet mask is 255.255.255.128. The binary format is: 11111111 11111111 11111111 10000000 Counting from left to right, the number to pass in subnetMask would be 25.
Parameters The DeleteIPConfig method accepts the following parameters: ipConfig (PolicyMgtIPConfig) Specifies the IP configuration object to delete.
Policy Methods
Return Value The DeleteIPConfig method returns one of the following values: 0 if the deletion is successful -1 if the call is unsuccessful
Parameters The Description method accepts the following parameter: policyDesc (string) Specifies the description to set. Return Value The Description method returns one of the following values: The new or existing policy description An empty if the call is unsuccessful
Policy Methods
Parameters The EnforceANDEvaluation method accepts the following parameters: user (PolicyMgtUser) Specifies the user for which to set or retrieve iANDUserFlag. iANDUserFlag (int) (Optional) Specifies whether to enforce AND evaluation: 1 to enforce AND evaluation 0 to remove AND evaluation If this argument is not passed, the function returns the current value of iANDUserFlag. This flag applies to all the users added to the policy for a particular user directory. Return Value The EnforceANDEvaluation method returns one of the following values: 0 if ANDUser/Group flag is removed successfully. 1 if ANDUser/Group flag is set successfully. -1 if the call is unsuccessful
Policy Methods
Parameters The ExcludeUser method accepts the following parameters: user (PolicyMgtUser) Specifies the user to exclude or include. iExcludeFlag (int) (Optional) Specifies whether to exclude the specified user: 1 to exclude the user 0 to include the user
If this argument is not passed, the function returns the current value of iExcludeFlag. Return Value The ExcludeUser method returns one of the following values: 0 if the user is included successfully. 1 if the user is excluded successfully. -1 if the call is unsuccessful
Parameters The GetAllIPConfigs method accepts no parameters. Return Value The GetAllIPConfigs method returns one of the following values: An array of PolicyMgtIPConfig objects undef if no IP address restriction objects are found.
Policy Methods
Remarks See the PolicyMgtIPConfig->GetType method for information about IP address restrictions and IP address restriction types.
Parameters The GetAllRules method accepts no parameters. Return Value The GetAllRules method returns one of the following values: An array of PolicyMgtRule objects undef if no rules are found, or if the call is unsuccessful
Parameters The GetAllUsers method accepts the following parameter: userDir (PolicyMgtUserDir) (Optional) Specifies that only users associated with this user directory are retrieved.
Policy Methods
Return Value The GetAllUsers method returns one of the following values: An array of PolicyMgtUser objects undef if no users were found, or if the call is unsuccessful
Parameters The IsEnabled method accepts the following parameter: enableFlag (int) (Optional) Specifies whether to enable or disable the policy: 0 disables the policy. 1 enables the policy.
Return Value The IsEnabled method returns one of the following values: 1 if the policy is enabled. 0 if the policy is disabled. -1 if the call is unsuccessful
Policy Methods
Parameters The Name method accepts the following parameter: policyName (string) (Optional) Specifies the name to assign to the policy. Return Value The Name method returns one of the following values: A new or existing policy name undef if the call is unsuccessful
Parameters The RemoveResponse method accepts the following parameter: rule (PolicyMgtRule) Specifies the rule whose response should be removed. Return Value The RemoveResponse method returns one of the following values: 0 if the call is successful -1 if the call is unsuccessful
Policy Methods
Parameters The RemoveRule method accepts the following parameter: rule (PolicyMgtRule) Specifies the rule to remove. Return Value The RemoveRule method returns one of the following values: 0 if the call is successful -1 if the call is unsuccessful
Parameters The RemoveUser method accepts the following parameters: user (PolicyMgtUser) Specifies the user to remove. Return Value The RemoveUser method returns one of the following values: 0 if the call is successful -1 if the call is unsuccessful
Policy Methods
Parameters The SetResponse method accepts the following parameters: rule (PolicyMgtRule) Specifies the rule whose response is being set. response (PolicyMgtResponse) Specifies the response to set. Return Value The SetResponse method returns one of the following values: 0 if the call is successful. -1 if the call is unsuccessful.
VariableExpr MethodSets, Retrieves, or Removes the Active Expression Associated with the Policy
The VariableExpr method sets, retrieves, or removes the active expression associated with the policy. Syntax The VariableExpr method has the following format:
Netegrity::PolicyMgtPolicy->VariableExpr([activeExpr] [, vars])
Parameters The VariableExpr method accepts the following parameters: activeExpr (string) (Optional) Specifies the active expression script. An empty string (``'') removes the active expression from the policy. vars (PolicyMgtVariable array) (Optional) Specifies a reference to an array of any variables used in the active expression (for example: \@myarray). Return Value The VariableExpr method returns one of the following values: The new or existing active expression undef if the call is unsuccessful
GetPorts MethodDeprecated
The GetPorts method is deprecated in SiteMinder v6.0 and replaced by the GetServerPort method.
Parameters The GetServerAddress method accepts no parameters. Return Value The GetServerAddress method returns one of the following values: A string representing the Policy Server host name or IP address undef if the call is unsuccessful
Parameters The GetServerPort method accepts no parameters: Return Value The GetServerPort method returns one of the following values: An array of host ports undef if the call is unsuccessful
Realm Methods
Remarks The single-process Policy Server introduced in SiteMinder v6.0 combines the previously separate Authentication, Authorization, and Accounting processes into one combined process whose requests go through one TCP port. As a result, the ports numbers retrieved in the array are all the same.
Realm Methods
The following methods act on PolicyMgtRealm objects: Agent MethodSets or retrieves the agent for the realm AuthScheme MethodSets or retrieves the authentication scheme for the realm AzUserDir MethodSets or retrieves the authorization user directory for the realm CreateChildRealmCreates a top-level child realm under the realm CreateRule MethodCreates a rule within the realm DeleteChildRealmMethod Deletes a top-level child realm DeleteRule MethodDeletes an existing rule within the realm Description MethodSets or retrieves the description of the realm Flush MethodFlushes the realm from the resource cache GetAllChildRealms MethodRetrieves an array of all top-level child realms under the realm GetAllRules MethodRetrieves an array of all rules associated with the realm GetChildRealm MethodRetrieves a top-level child realm GetDomain MethodRetrieves the domain associated with the realm GetRule MethodRetrieves a rule in the realm IdleTimeout MethodSets or retrieves the idle timeout before re-authentication MaxTimeout MethodSets or retrieves the maximum timeout before re-authentication Name MethodSets or retrieves the realm name ProcessAuEvents MethodSets or retrieves the authentication event flag in the realm ProcessAzEvents MethodSets or retrieves the authorization event flag in the realm
Realm Methods
ProtectResource MethodSets or retrieves the default resource protection flag RegScheme MethodSets or retrieves the registration scheme for the realm ResourceFilter MethodSets or retrieves the realm resource filter SyncAudit MethodSets or retrieves the synchronous auditing flag
Parameters The Agent method accepts the following parameters: agent (PolicyMgtAgent) (Optional) Specifies the agent to set for the realm. Return Value The Agent method returns one of the following values: A new or existing PolicyMgtAgent object for the realm undef if the call is unsuccessful
Realm Methods
Parameters The AuthScheme method accepts the following parameter: authScheme (PolicyMgtAuthScheme) (Optional) Specifies the authentication scheme to set for the realm. Return Value The AuthScheme method returns one of the following values: A New or existing PolicyMgtAuthScheme object for the realm undef if the call is unsuccessful
AzUserDir MethodSets or Retrieves the Authorization User Directory for the Realm
The AzUserDir method sets or retrieves the authorization user directory for the realm. Syntax The AzUserDir method has the following format:
Netegrity::PolicyMgtRealm->AzUserDir([dir])
Parameters The AzUserDir method accepts the following parameter: dir (PolicyMgtUserDirectory) (Optional) Specifies the authorization user directory to set for the realm. Return Value The AzUserDir method returns one of the following values: A new or existing PolicyMgtUserDir object for the realm undef if none exists, or if the call is unsuccessful
Realm Methods
Parameters The CreateChildRealm method accepts the following parameters: realmName (string) Specifies the name of the realm. agent (PolicyMgtAgent) Specifies the agent or agent group for the realm. authScheme (PolicyMgtAuthScheme) Specifies the authentication scheme to associate with the realm. realmDesc (string) (Optional) Specifies the realm description. resFilter (string) (Optional) Specifies the resource filter for the realm. procAuthEvents (int) (Optional) Specifies a flag for processing authentication events: 1 to enable, or 0 to disable. The default is enabled. procAzEvents (int) (Optional) Specifies a flag for processing authorization events: 1 to enable, or 0 to disable. The default is enabled. protectAll (int) (Optional) Specifies a flag for activating default resource protection:1 to enable, or 0 to disable. The default is enabled. maxTimeout (int) (Optional) Specifies the maximum time, in seconds, a user can access the realm before re-authentication is required. The default is 7200 (2 hours).
Realm Methods
idleTimeout (int) (Optional) Specifies the maximum time a user can remain inactive in the realm before re-authentication is required. The default is 3600 (1 hour). syncAudit (int) (Optional) Specifies a flag for enabling synchronous auditing: 1 to enable, or 0 to disable. When this flag is enabled, SiteMinder logs Policy Server and agent actions before it allows access to resources. The default is enabled. azUserDir (PolicyMgtUserDir) (Optional) Specifies the directory where users in the realm will be authorized. The default is the default directory. regScheme (PolicyMgtRegScheme) (Optional) Specifies the registration scheme used to register new users accessing resources in the realm. Return Value The CreateChildRealm method returns one of the following values: A PolicyMgtRealm object undef if the call is unsuccessful
Remarks This method creates a realm that is configured for non-persistent sessions. To configure the realm for SiteMinder 5.0 persistent sessions, edit the realm in the Administrative UI. Note: The Policy Management API only manipulates realms that are direct descendants of the object whose method has been called, as follows: For a realm under a domain. You can only manipulate the top-level realms in a domain object. For a realm under a realm. You can only manipulate realms that are directly under the parent realm.
Realm Methods
Parameters The CreateRule method accepts the following parameters: ruleName (string) Specifies the name of the rule. ruleDesc (string) (Optional) Specifies the description of the rule. action (string) (Optional) Specifies the type of action that the rule will execute. One of the following actions: For action type Web Agent actions, use one or more of the following HTTP actions. Use commas to separate multiple actions: GET. Retrieves a resource for viewing through HTTP. POST. Posts user-supplied information through HTTP. PUT. Supports legacy HTTP actions.
For action type Authentication events: OnAuthAccept. Occurs when a user successfully authenticates. OnAuthAttempt. Occurs when a user fails to authenticate because no user name was supplied. OnAuthChallenge. May be used in custom authentication schemes to trigger a response. OnAuthReject. Occurs when a user fails to authenticate. OnAuthUserNotFound. Used to trigger Active Responses.
Realm Methods
For action type Authorization events: OnAccessAccept. Occurs when SiteMinder successfully authorizes a user to access the resource. OnAccessReject. Occurs when SiteMinder rejects a user because the user is not authorized to access the resource.
resource (string) (Optional) Specifies the resource protected by the rule. This value doesn't apply to action type Authentication events. allowAccess (int) (Optional) Specifies a flag to allow or deny access to the resource protected by the rule: 1 allows access, or 0 denies access. This flag applies only to action values of type GET, PUT, and/or POST. The default is 1. regexMatch (int) (Optional) Specifies a flag to allow regular expression pattern matching in the resource field : 1 allows regular expression matching, and 0 denies regular expression matching. This flag doesn't apply to action type Authentication events. The default is 0. activeExpr (string) (Optional) Specifies the active expression associated with the rule. isEnabled (int) (Optional) Specifies a flag to enable or disable the rule:1 to enable, or 0 to disable. The default is enabled. Return Value The CreateRule method returns one of the following values: A PolicyMgtRule object undef if the call is unsuccessful
Realm Methods
Parameters The DeleteChildRealm method accepts the following parameter: realm (PolicyMgtRealm) Specifies the child realm to delete. Return Value The DeleteChildRealm method returns one of the following values: 0 on success, or is the realm was not found -1 if the call is unsuccessful
Parameters The DeleteRule method accepts the following parameter: rule (PolicyMgtRule) Specifies the rule to delete. Return Value The DeleteRule method returns one of the following values: 0 on success -1 if the call is unsuccessful, or if the rule is not part of the realm being used to delete the rule
Realm Methods
Parameters The Description method accepts the following parameter: realmDesc (string) (Optional) Specifies the description to assign to the realm. Return Value The Description method returns one of the following values: A new or existing realm description. An empty string if the call is unsuccessful
Parameters The Flush method accepts no parameters. Return Value The Flush method returns one of the following values: 0 on success -1 if the call is unsuccessful
Realm Methods
Parameters The GetAllChildRealms method accepts no parameters. Return Value The GetAllChildRealms method returns one of the following values: An array of PolicyMgtRealm objects undef if the call is unsuccessful
Parameters The GetAllRules method accepts no parameters. Return Value The GetAllRules method returns one of the following values: An array of PolicyMgtRule objects undef if the call is unsuccessful
Realm Methods
Parameters The GetChildRealm method accepts the following parameter: realmName (string) Specifies the realm to check for child realms. Return Value The GetChildRealm method returns one of the following values: A PolicyMgtRealm object undef if the call is unsuccessful, or if the realm does not exist
Parameters The GetDomain method accepts parameters. Return Value The GetDomain method returns one of the following values: Existing PolicyMgtDomain object for the realm undef if the call is unsuccessful
Realm Methods
Parameters The GetRule method accepts the following parameter: ruleName (string) Specifies the name of the rule to retrieve. Return Value The GetRule method returns one of the following values: A PolicyMgtRule object undef if the call is unsuccessful, or if he specified rule does not exist
IdleTimeout MethodSets or Retrieves the Maximum Time a User Can Remain Inactive in the Realm
The IdleTimeout method sets or retrieves the maximum time a user can remain inactive in the realm before re-authentication is required. Syntax The IdleTimeout method has the following format:
Netegrity::PolicyMgtRealm->IdleTimeout([idleTimeout])
Parameters The IdleTimeout method accepts the following parameter: idleTimeout (type) (Optional) Specifies the idle timeout value, in seconds.
Realm Methods
Return Value The IdleTimeout method returns one of the following values: The existing timeout value if no argument is specified The new timeout value if idleTimeout is specified -1 if the call is unsuccessful
MaxTimeout MethodSets or Retrieves the Maximum Time a User Can Access the Realm
The MaxTimeout method sets or retrieves the maximum time a user can access the realm before re-authentication is required. Syntax The MaxTimeout method has the following format:
Netegrity::PolicyMgtRealm->MaxTimeout([maxTimeout])
Parameters The MaxTimeout method accepts the following parameter: maxTimeout (int) (Optional) Specifies the maximum timeout value, in seconds. Return Value The MaxTimeout method returns one of the following values: The existing maximum timeout value if no argument is specified. The new maximum timeout value if maxTimeout is specified. -1 if the call is unsuccessful
Realm Methods
Parameters The Name method accepts the following parameter: realmName (string) (Optional) Specifies the name to assign to the realm. Return Value The Name method returns one of the following values: The new or existing realm name undef if the call is unsuccessful
Parameters The ProcessAuEvents method accepts the following parameter: authFlag (int) (Optional) Specifies whether authentication events are processed: 1 to enable even processing 0 to disable event processing
Return Value The ProcessAuEvents method returns one of the following values: 1 if authentication events are to be processed 0 if authentication events are not to be processed -1 if the call is unsuccessful
Realm Methods
Parameters The ProcessAzEvents method accepts the following parameter: azFlag (int) (Optional) Specifies whether to enable authorization event processing: 1 enables event processing 0 disables event processing
Return Value The ProcessAzEvents method returns one of the following values: 1 if authorization events are to be processed 0 if authorization events are not to be processed -1 if the call is unsuccessful
Remarks Authorization event processing affects performance. If no rules in the realm are triggered by authorization events, set this flag to 0.
Realm Methods
Parameters The ProtectResource method accepts the following parameter: protectFlag (int) (Optional) Specifies whether enable resource protection: 1 protects the resource 0 makes the resource unprotected
Return Value The ProtectResource method returns one of the following values: The existing resource protection state (0 or 1) if no argument is specified The new resource protection state if a flag value is passed to the method undef if the call is unsuccessful
Parameters The RegScheme method accepts the following parameter: regScheme (PolicyMgtRegScheme) (Optional) Specifies the registration scheme to set. Return Value The RegScheme method returns one of the following values: A PolicyMgtRegScheme object undef if the call is unsuccessful, or if no registration scheme exists
Realm Methods
Parameters The ResourceFilter method accepts the following parameter: rFilter (string) (Optional) Specifies the realm resource filter to set. Return Value The ResourceFilter method returns one of the following values: The new or existing realm filter undef if the call is unsuccessful
Parameters The SyncAudit method accepts the following parameter: syncFlag (int) (Optional) Specifies whether synchronous auditing is enabled: 1 enables synchronous auditing 0 disables synchronous auditing
Return Value The SyncAudit method returns one of the following values: Existing synchronous auditing value (0 or 1) if no argument is specified New synchronous auditing value if a flag argument is passed to the method -1 if the call is unsuccessful
Parameters The Description method accepts the following parameter: regDesc (string) (Optional) Specifies the description of the registration scheme.
Return Value The Description method returns one of the following values: The new or existing description of the registration scheme An empty string if the call is unsuccessful
Parameters The EnableLogging method accepts the following parameter: logFlag (int) (Optional) Specifies whether registration scheme logging is enabled: 1 enables logging 0 disables logging
Return Value The EnableLogging method returns one of the following values: 1 if logging is enabled 0 if logging is disabled -1 if the call is unsuccessful
Parameters The Name method accepts the following parameters: regName (string) (Optional) Specifies the registration scheme name. Return Value The Name method returns one of the following values: The new or existing registration scheme name undef if the call is unsuccessful
Parameters The TemplatePath method accepts the following parameters: path (string) (Optional) Specifies the path of the registration scheme template. Return Value The TemplatePath method returns one of the following values: The new or existing template path undef if the call is unsuccessful
UserDirectory MethodSets or Retrieves the User Directory for the Registration Scheme
The UserDirectory method sets or retrieves the user directory for the registration scheme. Syntax The UserDirectory method has the following format:
Netegrity::PolicyMgtRegScheme->UserDirectory([userDir])
Parameters The UserDirectory method accepts the following parameters: userDir (PolicyMgtUserDir) (Optional) Specifies the user directory for the registration scheme. Return Value The UserDirectory method returns one of the following values: A PolicyMgtUserDir object undef if the call is unsuccessful, or if no user directory exists
WelcomePageURL MethodSets or Retrieves the Welcome Page URL for the Registration Scheme
The WelcomePageURL method sets or retrieves the welcome page URL for the registration scheme. Syntax The WelcomePageURL method has the following format:
Netegrity::PolicyMgtRegScheme->WelcomePageURL([URL])
Parameters The WelcomePageURL method accepts the following parameter: URL (string) (Optional) Specifies the welcome page URL for the registration scheme. Users are redirected to this page after successfully registering. Format: http://my.acme.com/hr/welcome.htm
Response Methods
Return Value The WelcomePageURL method returns one of the following values: The new or existing URL undef if the call is unsuccessful
Response Methods
The following methods act on PolicyMgtResponse objects: CreateActiveAttribute MethodCreates an Active Response attribute CreateAttribute MethodCreates a Static response attribute CreateVariableAttribute MethodCreates a Variable Definition response attribute DeleteAttribute MethodDeletes a response attribute in the response Description MethodSets or retrieves the response description GetAllAttributes MethodRetrieves an array of response attributes Name MethodSets or retrieves the response name
Parameters The CreateActiveAttribute method accepts the following parameters: agentAttrName (string) Specifies the name of the Web Agent attribute, for example, WebAgent-HTTP-Header-Variable. name (string) Specifies the name of the response attribute.
Response Methods
lib (string) Specifies the name of the shared library that will retrieve values for the response attribute. You should not specify a file extension for the shared library. Specify a path if the shared library is not referenced by the PATH environment variable. func (string) Specifies the name of the shared library function that retrieves the values for the response attribute. params (string) Specifies any parameters required by the func parameter. TTL (int) (Optional) Specifies the amount of time in seconds that can elapse before the value of the response attribute is recalculated. Return Value The CreateActiveAttribute method returns one of the following values: A PolicyMgtResponseAttr object undef if the call is unsuccessful
Remarks You cannot create response attributes of type User Attribute or DN Attribute with the Command Line Interface. See also the descriptions of the PolicyMgtResponse->CreateAttribute (see page 386) method and the PolicyMgtResponse->CreateVariableAttribute (see page 388) method.
Response Methods
Parameters The CreateAttribute method accepts the following parameters: attrName (string) Specifies the name of the attribute to create. Valid attribute names vary with the type of agent associated with the response. Agent type is specified in the SiteMinder Response Dialog, which is displayed when you create a response. To see the list of attributes associated with a given agent type, select the agent type in the SiteMinder Response Dialog, click Create, then view the choices in the Attribute field of the SiteMinder Response Attribute Editor. For example, if you are creating a response with a SiteMinder Web Agent type, you can create any of the following response attributes: WebAgent-HTTP-Header-Variable WebAgent-HTTP-Cookie-Variable WebAgent-OnAccept-Redirect WebAgent-OnAccept-Text WebAgent-OnAuthAccept-Session-Idle-Timeout WebAgent-OnAuthAccept-Session-Max-Timeout WebAgent-OnReject-Redirect WebAgent-OnReject-Text
varValue (string) Specifies the value of the static attribute. This value appears in the Value column of the SiteMinder Response Dialog. The value represents either a variable or cookie value or a name/value pair. If you need to specify a name as well as a value, use the form name=value. For example, the attribute WebAgent-HTTP-Header-Variable requires a name/value pair. If the name is show_content and the value is yes, you would assign show_content=yes to varValue. TTL (int) (Optional) Specifies the amount of time in seconds that can elapse before the value of the response attribute is recalculated. Return Value The CreateAttribute method returns one of the following values: A PolicyMgtResponseAttr object undef if the call is unsuccessful
Response Methods
Remarks You cannot create response attributes of type User Attribute or DN Attribute with the Command Line Interface. See also the descriptions of the PolicyMgtResponse->CreateActiveAttribute (see page 385) method and the PolicyMgtResponse->CreateVariableAttribute (see page 388) method.
Parameters The CreateVariableAttribute method accepts the following parameters: agentAttrName (string) Specifies the name of the Web Agent attribute, for example, WebAgent-HTTP-Header-Variable. name (string) Specifies the name of the response attribute. varObj (PolicyMgtVariable) Specifies the variable object used in the response attribute. TTL (int) (Optional) The amount of time in seconds that can elapse before the value of the response attribute is recalculated. Return Value The CreateVariableAttribute method returns one of the following values: A PolicyMgtResponseAttr object undef if the call is unsuccessful
Response Methods
Remarks You cannot create response attributes of type User Attribute or DN Attribute with the Command Line Interface. See also the descriptions of the PolicyMgtResponse->CreateAttribute (see page 386) method and PolicyMgtResponse->CreateActiveAttribute (see page 385) method.
Parameters The DeleteAttribute method accepts the following parameter: respAttr (PolicyMgtResponseAttr) Specifies the response attribute to delete. Return Value The DeleteAttribute method returns one of the following values: 0 on success -1 if the call is unsuccessful
Response Methods
Parameters The Description method accepts the following parameter: resDesc (string) (Optional) Specifies the response description. Return Value The Description method returns one of the following values: The new or existing response description An empty string if the call is unsuccessful
Parameters The GetAllAttributes method accepts no parameters: Return Value The GetAllAttributes method returns one of the following values: An array of PolicyMgtResponseAttr objects undef if the call is unsuccessful
Parameters The Name method accepts the following parameter: resName (string) (Optional) Specifies the response name. Return Value The Name method returns one of the following values: A new or existing response name undef if the call is unsuccessful
GetActiveExpr MethodRetrieves Any Active Expression Defined for the Response Attribute
The GetActiveExpr method retrieves the active expression, if any, that is defined for the response attribute. Syntax The GetActiveExpr method has the following format:
Netegrity::PolicyMgtResponseAttr->GetActiveExpr()
Return Value The GetActiveExpr method returns one of the following values: The active expression string undef if the call is unsuccessful, or if there is no active expression defined for the response attribute
Parameters The GetAgentTypeAttrName method accepts no parameters. Return Value The GetAgentTypeAttrName method returns one of the following values: The agent type attribute name (for example, WebAgent-OnReject-Redirect). undef if the call is unsuccessful
Return Value The GetTTL method returns one of the following values: The existing TTL setting undef if the call is unsuccessful
Parameters The GetValue method accepts no parameters. Return Value The GetValue method returns one of the following values: The existing value of the response attribute undef if the call is unsuccessful
GetVariable MethodRetrieves the Variable Object in the Response Attribute's Active Expression
The GetVariable method Retrieves the variable object used in the response attribute's active expression. Syntax The GetVariable method has the following format:
Netegrity::PolicyMgtResponseAttr->GetVariable()
Rule Methods
Return Value The GetVariable method returns one of the following values: A PolicyMgtVariable object undef if the call is unsuccessful, or if there is no variable used in the response attribute
Rule Methods
The following methods act on PolicyMgtRule objects: AccessType MethodSets or retrieves the flag that allows or denies access to the resource protected by the rule Action MethodSets or retrieves the action for the rule ActiveExpr MethodSets or retrieves the active expression for the rule Agent MethodSets or retrieves an agent object or an agent group object associated with the rule Description MethodSets or retrieves the description of the rule IsEnabled MethodEnables or disables the rule RegexMatch MethodSets or retrieves the flag that determines whether the rule should perform regular expression pattern matching Resource MethodSets or retrieves the resource protected by the rule
AccessType MethodSets or Retrieves the Flag that Allows or Denies Access to the Resource Protected by the Rule
The AccessType method sets or retrieves the flag that allows or denies access to the resource protected by the rule. Syntax The AccessType method has the following format:
Netegrity::PolicyMgtRule->AccessType([allowAccess])
Rule Methods
Parameters The AccessType method accepts the following parameter: allowAccess (int) (Optional) Specifies whether the rule allows access to the resource: 1 if the rule allows access to the resource 0 if the rule denies access to the resource
Return Value The AccessType method returns one of the following values: 1 if the rule allows access to the resource 0 if the rule denies access to the resource -1 if the call is unsuccessful
Parameters The Action method accepts the following parameter: action (string) (Optional) Specifies the action to perform, as follows: For action type Web Agent actions, use one or more of the following HTTP actions. Use commas to separate multiple actions: GET. Retrieves a resource for viewing through HTTP. POST. Posts user-supplied information through HTTP. PUT. Supports legacy HTTP actions.
Rule Methods
For action type Authentication events: OnAuthAccept. Occurs when a user successfully authenticates. OnAuthAttempt. Occurs when a user fails to authenticate because no user name was supplied. OnAuthChallenge. May be used in custom authentication schemes to trigger a response. OnAuthReject. Occurs when a user fails to authenticate. OnAuthUserNotFound. Used to trigger Active Responses.
For action type Authorization events: OnAccessAccept. Occurs when SiteMinder successfully authorizes a user to access the resource. OnAccessReject. Occurs when SiteMinder rejects a user because the user is not authorized to access the resource.
Return Value The Action method returns one of the following values: The new or the existing rule action undef if the call is unsuccessful
Parameters The ActiveExpr method accepts the following parameters: expr (string) (Optional) Specifies the active expression to execute.
Rule Methods
Return Value The ActiveExpr method returns one of the following values: The new or the existing active expression undef if the call is unsuccessful
Agent MethodSets or Retrieves an Agent Object or an Agent Group Object Associated with the Global Rule
The Agent method sets or retrieves an agent object or an agent group object associated with the global rule. Syntax The Agent method has the following format:
Netegrity::PolicyMgtRule->Agent(agentObject)
Parameters The Agent method accepts the following parameter: agentObject (objectType) Specifies the agent object or agent group object to associate with the rule. objectType can be either PolicyMgtAgent or PolicyMgtGroup. Return Value The Agent method returns a new or existing PolicyMgtAgent object or PolicyMgtGroup object. Remarks After the rule is created, the agent associated with the rule can be changed only within the same agent type (such as Web Agent). Note: Rules that have domain scope are associated with agents indirectly, through a realm.
Rule Methods
Parameters The Description method accepts the following parameter: ruleDesc (string) (Optional) Specifies the description of the rule. Return Value The Description method returns one of the following values: A new or existing rule description An empty string if the call is unsuccessful
Parameters The IsEnabled method accepts the following parameter: enableFlag (type) (Optional) Specifies whether to enable the rule: 1 enables the rule 0 disables the rule
Rule Methods
Return Value The IsEnabled method returns one of the following values: 1 if the rule is enabled 0 if the rule is disabled -1 if the call is unsuccessful
Parameters The Name method accepts the following parameter: ruleName (string) Specifies the rule name. Return Value The Name method returns one of the following values: The new or existing rule name undef if the call is unsuccessful
Rule Methods
Parameters The RegexMatch method accepts the following parameters: enableFlag (int) (Optional) Specifies whether to allow regular expression pattern matching: 1 allows pattern matching 0 disallows pattern matching
Return Value The RegexMatch method returns one of the following values: 1 if regular expression pattern matching is enabled 0 if regular expression pattern matching is disabled -1 if the call is unsuccessful
Parameters The Resource method accepts no parameters. Return Value The Resource method returns one of the following values: The protected resource if the call is successful undef if the call is unsuccessful
GetAffiliatedSAMLAuthSchemes MethodRetrieves the SAML 2.0 Authentication Schemes Associated with This SAML Affiliation
The GetAffiliatedSAMLAuthSchemes method retrieves all the SAML 2.0 authentication schemes associated with this SAML affiliation. Syntax The GetAffiliatedSAMLAuthSchemes method has the following format:
Netegrity::PolicyMgtSAMLAffiliation->GetAffiliatedSAMLAuthSchemes()
Parameters The GetAffiliatedSAMLAuthSchemes method accepts no parameters. Return Value The GetAffiliatedSAMLAuthSchemes method returns one of the following values: An array of PolicyMgtAuthScheme objects based on the SAML 2.0 Template undef if the call is unsuccessful
GetAffiliatedSAMLServiceProviders MethodRetrieves the SAML 2.0 Service Providers Associated with this SAML Affiliation
The GetAffiliatedSAMLServiceProviders method Retrieves all the SAML 2.0 Service Providers associated with this SAML affiliation. Syntax The GetAffiliatedSAMLServiceProviders method has the following format:
Netegrity::PolicyMgtSAMLAffiliation->GetAffiliatedSAMLServiceProviders()
Parameters The GetAffiliatedSAMLServiceProviders method accepts no parameters. Return Value The GetAffiliatedSAMLServiceProviders method returns one of the following values: An array of PolicyMgtSAMLServiceProvider objects undef if the call is unsuccessful
Parameters The Property method accepts the following parameters: name (string) Specifies the property to set or retrieve. value (string) (Optional) Specifies the value of the property being set.
Return Value The Property method returns one of the following values: The new or existing property value undef if the call is unsuccessful
Remarks For a list of affiliation metadata properties, see the description of the PolicyMgtSession->CreateSAMLAffiliation (see page 453) method. Note: After modifying one or more existing affiliation properties with this method, call PolicyMgtSAMLAffiliation->Save (see page 403) to write the changes to the policy store.
Save MethodSaves the Changes to the SAML 2.0 Metadata Properties of this SAML 2.0 Affiliation
The Save method saves the changes you made to the SAML 2.0 metadata properties of this SAML 2.0 affiliation. Syntax The Save method has the following format:
Netegrity::PolicyMgtSAMLAffiliation->Save()
Parameters The Save method accepts no parameters. Return Value The Save method returns one of the following values: 0 on success -1 if the call is unsuccessful -4 if the user has insufficient privileges to save the changes -10 if the path and class are empty
Parameters The GetACSIndex method accepts no parameters. Return Value The GetACSIndex method returns one of the following values: Assertion_Consumer_Service_object_index_value undef if the call is unsuccessful
Parameters The GetACSBinding method accepts no parameters. Return Value The GetACSBinding method returns one of the following values: Assertion_Consumer_Service_object_protocol_binding undef if the call is unsuccessful
Parameters The GetACSURL method accepts no parameters. Return Value The GetACSURL method returns one of the following values: Assertion_Consumer_Service_object_URL_value undef if the call is unsuccessful
Parameters The GetIsDefault method accepts no parameters. Return Value The GetIsDefault method returns one of the following values: Assertion_Consumer_Service_object_IsDefault_value undef if the call is unsuccessful
Return Value The GetAttrNameFormat method returns the following value: SAML_Requester_attribute_name_format
Parameters The GetLocalName method accepts no parameters. Return Value The GetLocalName method returns one of the following values: SAML_Requester_attribute_local_name undef if the call is unsuccessful
Parameters The GetName method accepts no parameters. Return Value The GetName method returns one of the following values: SAML_Requester_attribute_name undef if the call is unsuccessful
Parameters The AddAssertionConsumerService method accepts the following parameters: index (int) Specifies the Assertion Consumer Service Indexed Endpoint index value. protocolBinding (string) Specifies the protocol binding of the Assertion Consumer Service, which is one of the following: SAMLSP_HTTP_Post SAMLSP_ACS_PROTOCOLBINDING_HTTP_Artifact
URL (string) Specifies the URL of the Indexed Endpoint. Return Value The AddAssertionConsumerService method returns one of the following values: A PolicyMgtSAMLSPACS object undef if the call is unsuccessful
Parameters The AddAttribute method accepts the following parameters: attrNameFormat (int) Specifies one of the following attribute formats, as defined in the SAML 2.0 standard: SAMLSP_UNSPECIFIED (Value=0) SAMLSP_URI (Value=1) SAMLSP_BASIC (Value=2)
value (string) Specifies the value specification for the attribute. This value specification appears in the Name Value Pair column of the SiteMinder SAML Service Provider Properties Dialog. The format of the value specification depends upon the kind of attribute you are adding -- Static, User Attribute, or DN Attribute: Static attributes: variableName=value User attributes: variableName=<%userattr="AttrName"%> DN attributes: variableName=<#dn="DNSpec" attr="AttrName"#> To allow SiteMinder to retrieve DN attributes from a nested group, begin DNSpec with an exclamation mark ( ! ) -- for example: dn="!ou=People,o=security.com" nEncrypted (int) Specifies whether the attribute is encrypted. If non-zero, the attribute is encrypted after being included in the assertion. nMode (int) Specifies the retrieval mode of this attribute, which is one of the following: SAMLSP_SSO SAMLSP_Attribute
Return Value The AddAttribute method returns one of the following values: A PolicyMgtSAMLSPAttr object undef if the call is unsuccessful
Remarks A SAML 2.0 attribute contains information about a principal who is trying to access a resource on the Service Provider -- for example, the principal's user DN. The defined attribute is included in an attribute statement for all SAML 2.0 assertions that are produced for this Service Provider.
Parameters The AddUser method accepts the following parameter: user (PolicyMgtUser) Specifies the user to add. Return Value The AddUser method returns one of the following values: 0 on success -1 if the call is unsuccessful
Parameters The CreateIPConfigHostName method accepts the following parameters: hostName (string) Specifies the host name where assertions must originate. Return Value The CreateIPConfigHostName method returns one of the following values: A PolicyMgtIPConfig object undef if the call is unsuccessful
Remarks This method creates an IP address restriction for the assertion generation policy. With this address restriction, only assertions generated from the specified host will be accepted.
Parameters The CreateIPConfigRange method accepts the following parameters: ipAddr1 (string) Specifies the first IP address in the range of valid IP addresses. ipAddr2 (string) Specifies the last IP address in the range of valid IP addresses. Return Value The CreateIPConfigRange method returns one of the following values: A PolicyMgtIPConfig object undef if the call is unsuccessful
Remarks This method creates an IP address restriction for the assertion generation policy. With this address restriction, only assertions generated from the specified range of IP addresses will be accepted.
Parameters The CreateIPConfigSingleHost method accepts the following parameter: ipAddr (string) Specifies the IP address where assertions must originate. Return Value The CreateIPConfigSingleHost method returns one of the following values: A PolicyMgtIPConfig object undef if the call is unsuccessful
Remarks This method creates an IP address restriction for the assertion generation policy. With this address restriction, only assertions generated from the specified IP address will be accepted.
Parameters The CreateIPConfigSubnetMask method accepts the following parameters: ipAddr (string) Specifies the IP address used to derive the subnet address. subnetMask (unsigned long) Specifies the subnet mask used to derive the subnet address. Return Value The CreateIPConfigSubnetMask method returns one of the following values: A PolicyMgtIPConfig object undef if the call is unsuccessful
Remarks This method creates an IP address restriction for the assertion generation policy. With this address restriction, only assertions generated from the subnet address will be accepted. The subnet address is derived from the passed IP address and subnet mask. For information about defining the subnet mask value, see the description of the PolicyMgtPolicy->CreateIPConfigSubnetMask (see page 352) method.
Parameters The DeleteIPConfig method accepts the following parameter: IPConfig (PolicyMgtIPConfig object) Specifies the IP configuration object to delete. Return Value The DeleteIPConfig method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Parameters The GetAllAttributes method accepts no parameters. Return Value The GetAllAttributes method returns one of the following values: PolicyMgtSAMLSPAttr (array) undef if the call is unsuccessful
Parameters The GetAllIPConfigs method accepts no parameters. Return Value The GetAllIPConfigs method returns one of the following values: PolicyMgtIPConfig (array) undef if no IP configuration objects are found
Parameters The GetAllAssertionConsumerServices method accepts no parameters. Return Value The GetAllAssertionConsumerServices method returns one of the following values: PolicyMgtSAMLSPACS (array) undef if the call is unsuccessful
Parameters The GetAllUsers method accepts the following parameter: userDir (PolicyMgtUserDir object) (Optional) Specifies the user directory to which all retrieved users must belong. Return Value The GetAllUsers method returns one of the following values: PolicyMgtUser (array) undef if an error occurs or no users are found
Parameters The Property method accepts the following parameters: name (string) Specifies the property to set or retrieve. Note: For a complete list of Service Provider metadata properties, see the method PolicyMgtAffDomain->CreateSAMLServiceProvider (see page 165). value (string) (Optional) Specifies a new value for the property. Return Value The Property method returns one of the following values: property_value Specifies the property's new or existing value. undef Specifies that the call is unsuccessful.
Parameters The RemoveAssertionConsumer method accepts the following parameter: pSAMLSPACS Specifies the Assertion Consumer Service to remove.
Return Value The RemoveAssertionConsumer method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Parameters The RemoveAttribute method accepts the following parameter: SAMLSPAttr (PolicyMgtSAMLSPAttr object) Specifies the attribute to remove. Return Value The RemoveAttribute method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Parameters The RemoveUser method accepts the following parameter: user (PolicyMgtUser object) Specifies the user to remove. Return Value The RemoveUser method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Return Value The Save method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful. value = -4 Specifies that the user does not have the privileges required to change metadata properties. value = -10 Specifies that the path and class are empty.
Session Methods
Return Value The GetAttrNameFormat method returns one of the following values: SAMLSP_UNSPECIFIED (value = 0) SAMLSP_URI (value = 1) SAMLSP_BASIC (value = 2)
Parameters The GetValue method accepts no parameters. Return Value The GetValue method returns one of the following values: Service_Provider_attribute_value undef if the call is unsuccessful
Session Methods
The following methods act on PolicyMgtSession objects: AddAttributeToSAMLScheme MethodAdds New Attribute to Authentication Scheme AddTrustedHost MethodCreates or Modifies Trusted Host Object CreateAdmin MethodCreates System-Level Administrator CreateAffDomain MethodCreates Affiliate Domain CreateAgent MethodCreates SiteMinder Agent CreateAgentConfig MethodCreates Agent Configuration Object
Session Methods
CreateAgentGroup MethodCreates Agent Group CreateAuthAzMap MethodCreates Directory Mapping Object CreateAuthScheme MethodCreates Authentication Scheme CreateCustomCertMap MethodCreates Custom Certificate Map CreateDataManager MethodCreates Data Manager Object CreateDomain MethodCreates Policy Domain Object CreateExactCertMap MethodCreates Certificate Map Matching User Directory Attributes CreateGlobalPolicy MethodCreates Global Policy CreateGlobalResponse MethodCreates Global Response CreateGlobalRule MethodCreates Global Rule CreateHostConfig MethodCreates Host Configuration Object CreateODBCQueryScheme MethodCreates ODBC Query Scheme CreatePwdPolicy MethodCreates Password Policy CreateRegScheme MethodCreates Registration Scheme CreateSAMLAffiliation MethodCreates SAML 2.0 Affiliation Object CreateSAMLAuthScheme MethodCreates SAML Authentication Scheme Object CreateSingleCertMap MethodCreates Single-Attribute Certificate Map CreateTrustedHost MethodCreates Trusted Host Object CreateUserDir MethodCreates User Directory Object CreateWSFEDAuthScheme MethodCreates WS-Federation Authentication Scheme DeleteAdmin MethodDeletes Administrator DeleteAffDomain MethodDeletes Affiliate Domain DeleteAgent MethodDeletes Agent DeleteAgentConfig MethodDeletes Agent Configuration Object DeleteAuthAzMap MethodDeletes Authentication and Authorization Map DeleteAuthScheme MethodDeletes Authentication Scheme DeleteCertMap MethodDeletes Certificate Map DeleteDomain MethodDeletes Policy Domain DeleteGlobalPolicy MethodDeletes Global Policy DeleteGlobalResponse MethodDeletes Global Response
Session Methods
DeleteGlobalRule MethodDeletes Global Rule DeleteGroup MethodDeletes Agent Group DeleteHostConfig MethodDeletes Host Configuration Object DeleteODBCQueryScheme MethodDeletes ODBC Query Scheme DeletePwdPolicy MethodDeletes Password Policy DeleteRegScheme MethodDeletes Registration Scheme DeleteSAMLAffiliation MethodDeletes SAML Affiliation Object DeleteTrustedHost MethodDeletes Trusted Host DeleteUserDir MethodDeletes User Directory GetAdmin MethodRetrieves Administrator GetAffDomain MethodRetrieves Affiliate Domain GetAgent MethodRetrieves Agent GetAgentConfig MethodRetrieves Agent Configuration Object GetAgentGroup MethodRetrieves Agent Group GetAgentType MethodRetrieves Agent Type GetAllAdmins MethodRetrieves List of All Administrators GetAllAffDomains MethodRetrieves List of All Affiliate Domains GetAllAgentConfigs MethodRetrieves List of All Agent Configuration Objects GetAllAgentGroups MethodRetrieves List of All Agent Group Objects GetAllAgents MethodRetrieves List of All Agents GetAllAuthAzMaps MethodRetrieves List of All AuthAz Maps GetAllAuthSchemes MethodRetrieves List of Authentication Schemes GetAllCertMaps MethodRetrieves List of Certificate Mapping Objects GetAllDomains MethodRetrieves List of All Domains GetAllGlobalPolicies MethodRetrieves List of All Global Policy Objects GetAllGlobalResponses MethodRetrieves List of All Global Response Objects GetAllGlobalRules MethodRetrieves List of All Global Rule Objects GetAllHostConfigs MethodRetrieves List of All Host Configuration Objects GetAllODBCQuerySchemes MethodRetrieves List of All ODBC Query Schemes GetAllPwdPolicies MethodRetrieves List of All Password Policies
Session Methods
GetAllRegSchemes MethodRetrieves List of All Registration Schemes GetAllSAMLAffiliations MethodRetrieves List of All SAML 2.0 Affiliations GetAllSAMLSchemeAttributes MethodRetrieves List of All Requester Attributes GetAllTrustedHosts MethodRetrieves List of All Trusted Host Objects GetAllUserDirs MethodRetrieves List of All User Directories GetAllVariableTypes MethodRetrieves List of All Variable Type Objects GetAuthScheme MethodRetrieves Authentication Scheme Object GetCertMap MethodRetrieves Certificate Mapping Object GetDomain MethodRetrieves Domain Object GetGlobalPolicy MethodRetrieves Global Policy Object GetGlobalResponse MethodRetrieves Global Response Object GetGlobalRule MethodRetrieves Global Rule Object GetHostConfig MethodRetrieves Host Configuration Object GetODBCQueryScheme MethodRetrieves ODBC Query Scheme Object GetPwdPolicy MethodRetrieves Password Policy Object GetRegScheme MethodRetrieves Registration Scheme Object GetSAMLAffiliation MethodRetrieves SAML 2.0 Affiliation Object GetSAMLAffiliationById MethodRetrieves SAML 2.0 Affiliation Object by ID GetSharedSecretPolicy MethodRetrieves Shared Secret Policy Object GetTrustedHost MethodRetrieves Trusted Host Object GetUserDir MethodRetrieves User Directory Object GetVariableType MethodRetrieves Variable Type Object RemoveAttributeFromSAMLScheme MethodRemoves Attribute from SAML Scheme SAMLAuthSchemeProperties MethodSets or Retrieves SAML Metadata Properties WSFEDAuthSchemeProperties MethodSets or Retrieves WS-Federation Properties
Session Methods
Parameters The AddAttributeToSAMLScheme method accepts the following parameters: scheme (PolicyMgtAuthScheme object) Specifies the SAML 2.0 authentication scheme. AttrNameFormat (int) Specifies the attribute type: SAMLSP_UNSPECIFIED SAMLSP_URI SAMLSP_BASIC
LocalName (string) Specifies the attribute's name as used locally. Name (string) Specifies the attribute's name as defined on the Attribute Authority. Return Value The AddAttributeToSAMLScheme method returns one of the following values: PolicyMgtSAMLRequesterAttr (object) undef if the call is unsuccessful
Session Methods
Parameters The AddTrustedHost method accepts the following parameters: trustedHostName (string) Specifies the name of the trusted host. trustedHostDescription (string) (Optional) Specifies the description of the trusted host. trustedHostIpAddress (string) (Optional) Specifies the IP address of the trusted host. sharedSecret (string) (Optional) Specifies the shared secret. Note: You must also define the shared secret in the host configuration file by running the SiteMinder tool smreghost with the -sh option. If you do not use the -sh option to specify the shared secret, SiteMinder automatically generates one. Return Value The AddTrustedHost method returns one of the following values: PolicyMgtTrustedHost (object) undef if the trusted host name already exists
Remarks You can use the AddTrustedHost method to register the trusted host without first configuring a connection between the Policy Server and the Agent. When you use this method to register the trusted host, you must also run the SiteMinder tool smreghost to define the shared secret in the host configuration file. (The host configuration file is named SmHost.conf by default.) Run smreghost with the -sh option and the shared secret. To retrieve the shared secret in clear text, call the method PolicyMgtTrustedHost->GetSecret.
Session Methods
Alternately, you can create the trusted host by calling the method CreateTrustedHost and run smreghost without the -sh option. In this case, SiteMinder automatically creates and configures the trusted host during installation. Important! SiteMinder generates a random 128-byte ASCII shared secret. When you create the shared secret, it can be any string value. To create a strong shared secret, we strongly recommend that you call the AddTrustedHost method with the sharedSecret parameter set to an empty string. This results in the automatic generation of a shared secret that is random, long, and hard-to-guess.
Parameters The CreateAdmin method accepts the following parameters: adminName (string) Specifies the administrator's name. adminDesc (string) (Optional) Specifies the administrator's description. adminPwd (string) (Optional) Specifies the administrator's password. userDir (PolicyMgtUserDir object) (Optional) Specifies the user directory if the administrator is stored in an external directory. authScheme (PolicyMgtAuthScheme object) (Optional) Specifies the authentication scheme to use if the administrator is stored in an external directory. Note: This parameter is required if an external user directory is specified.
Session Methods
Return Value The CreateAdmin method returns one of the following values: PolicyMgtAdmin (object) undef if the call is unsuccessful or the administrator name already exists
Remarks The Policy Management API does not allow you to create an administrator for a particular domain. However, you can add an existing administrator to a particular domain by calling the method AddAdmin. To create an administrator with domain privileges, use the Administrative UI.
Parameters The CreateAffDomain method accepts the following parameters: domName (string) Specifies the name of the affiliate domain. domDesc (string) (Optional) Specifies the description of the affiliate domain. Return Value The CreateAffDomain method returns one of the following values: PolicyMgtAffDomain (object) undef if the call is unsuccessful or the affiliate domain name already exists
Session Methods
Parameters The CreateAgent method accepts the following parameters: agentName (string) Specifies the name of the agent. agentType (PolicyMgtAgentType object) Specifies the type of agent. agentDesc (string) (Optional) Specifies the description of the agent. agentIP (string) (Optional) Specifies the agent's IP address. Note: This parameter is required for RADIUS agents. agentSecret (string) (Optional) Specifies the shared secret. Note: To create a v4.x agent, specify the shared secret. To create a v5.x agent, omit this parameter. realmHintAttrID (int) (Optional) Specifies the realm hint attribute ID. Note: This parameter only applies to RADIUS agents. Return Value The CreateAgent method returns one of the following values: PolicyMgtAgent (object) undef if the call is unsuccessful or the SiteMinder agent name already exists
Session Methods
Parameters The CreateAgentConfig method accepts the following parameters: agentConfigName (string) Specifies the name of the agent configuration. AgentConfigDesc (string) (Optional) Specifies the description of the agent configuration. Return Value The CreateAgentConfig method returns one of the following values: PolicyMgtAgentConfig (object) undef if the call is unsuccessful or the agent configuration name already exists
Parameters The CreateAgentGroup method accepts the following parameters: agentGroupName (string) Specifies the name of the agent group.
Session Methods
agentType (PolicyMgtAgentType object) Specifies the type of agent associated with the agent group. Note: To retrieve the agent type for this method, call the method PolicyMgtSession->GetAgentType. groupDesc (string) (Optional) Specifies the description of the agent group. Return Value The CreateAgentGroup method returns one of the following values: PolicyMgtGroup (object) undef if the agent group name already exists
Parameters The CreateAuthAzMap method accepts the following parameters: authDir (PolicyMgtUserDir object) Specifies the user directory to use when authenticating the user. azDir (PolicyMgtUserDir object) Specifies the user directory to use when authorizing the user. mapType (int) Specifies the type of directory mapping. AUTHAZMAPTYPE_DN (value = 1) Specifies mapping based on a DN. AUTHAZMAPTYPE_UNIVERSALID (value = 2) Specifies mapping based on a universal identifier. AUTHAZMAPTYPE_ATTR (value = 3) Specifies mapping based on an attribute in the user directory.
Session Methods
Return Value The CreateAuthAzMap method returns one of the following values: PolicyMgtAuthAzMap (object) undef if the call is unsuccessful
Remarks SiteMinder uses the same user directory to authenticate and authorize users. In addition, SiteMinder allows you to specify one user directory for authentication and another user directory for authorization. This feature is called directory mapping. Directory mapping is especially useful, when authentication information is stored in a central directory, but authorization information is stored in multiple directories, each one associated with a particular application.
Parameters The CreateAuthScheme method accepts the following parameters: schemeName (string) Specifies the authentication scheme's name. schemeTemplate (PolicyMgtAuthScheme object) Specifies the template on which to base the authentication scheme. Note: To view a list of templates, see the method PolicyMgtSession->GetAuthScheme (see page 492). schemeDesc (string) (Optional) Specifies the authentication scheme's description.
Session Methods
protLevel (int) (Optional) Specifies the authentication scheme's protection level. Range: 1-1000 Note: The higher the protection level value, the more secure the authentication scheme. schemeLib (string) (Optional) Specifies the name of the custom library to use in place of the default library shipped with each type of authentication scheme. schemeParam (string) (Optional) Specifies a parameter string to pass to the authentication scheme. Note: For help constructing the parameter string, navigate to the Scheme Type Setup tab on the Authentication Scheme Properties dialog in the Administrative UI. Select the authentication scheme type, type the values in the fields, and observe the result on the Advanced tab. secret (string) (Optional) Specifies the authentication scheme's shared secret. isTemplate (int) (Optional) Specifies whether the authentication scheme is a template for other authentication schemes. Default: A zero (0) value specifies that the authentication scheme is not a template. Note: This parameter is deprecated as of SiteMinder v6.0 SP3. isUsedByAdmin (int) (Optional) Specifies whether the authentication scheme can be used to authenticate administrators. saveCreds (int) (Optional) Specifies whether to save user credentials. isRadius (int) (Optional) Specifies whether the authentication scheme type is RADIUS. ignorePwd (int) (Optional) Specifies whether to ignore password policies.
Session Methods
Return Value The CreateAuthScheme method returns one of the following values: PolicyMgtAuthScheme (object) undef if the call is unsuccessful or the authentication scheme name already exists
Parameters The CreateCustomCertMap method accepts the following parameters: IssuerDN (string) Specifies the certificate issuer's distinguished name. AttributeMap (string) Specifies an expression that maps attribute names in the certificate's Subject DN to attribute names in the user directory. Syntax: UserAttrName1=%{CertAttrName1},UserAttrName2=%{CertAttrName2}, . . . UserAttrName#=%{CertAttrName#} Example: Certificate's Subject DN contains: CN=John Smith, UID=JSMITH, OU=Development, O=CompanyA AttributeMap contains: CN=%{UID}, OU=%{OU}, O=%{O} Matching user DN in the user directory: CN=JSMITH, OU=Development, O=CompanyA
Session Methods
DirectoryType (int) (Optional) Specifies the type of user directory specified as the authentication directory: Sm_PolicyApi_DirType_LDAP Note: This is the default. Sm_PolicyApi_DirType_WinNT Sm_PolicyApi_DirType_ODBC
Return Value The CreateCustomCertMap method returns one of the following values: PolicyMgtCertMap (object) undef if the call is unsuccessful
Remarks When a certificate map is created, the following flags are set to false, the default value: certificate_required_flag use_distributionpoints_flag verify_signature_flag check_certificate_revocation_list_flag cache_certificate_revocation_list_entries_flag
For information on changing the value of these flags, see the method PolicyMgtSession->CreateExactCertMap (see page 439).
Session Methods
Note: To migrate policy store objects from one version of SiteMinder to another, you must use the SiteMinder tools smobjexport and smobjimport. For more information, see the Policy Server Installation Guide. Syntax The CreateDataManager method has the following format:
Netegrity::PolicyMgtSession->CreateDataManager([difFileName][, cfgFileName][, fileOverwriteFlag])
Parameters The CreateDataManager method accepts the following parameters: difFileName (string) (Optional) Specifies the filename and optional path of the temporary file that stores the policy store data. Default: migration.smdif Note: The data is stored in the SiteMinder Data Interchange Format (DIF), the standard for sharing data between policy stores. cfgFileName (string) (Optional) Specifies the filename and optional path of the configuration file. Default: migration.cfg. Note: The configuration file is a text file that stores information needed for the export and import operations, such as the IP address, redirection URLs, shared secrets, and logging settings. This information is separated by tabs and can be copied to a Microsoft Excel spreadsheet. fileOverwriteFlag (int) (Optional) Specifies whether to overwrite existing objects in the temporary file in an export operation: value = 1 Specifies that the export objects overwrite all existing objects in the temporary file. value = 0 Specifies that the existing objects in the temporary file are not overwritten and that any new export objects are added to the temporary file.
Session Methods
Return Value The CreateDataManager method returns one of the following values: PolicyMgtDataMgr (object) undef if the call is unsuccessful
Parameters The CreateDomain method accepts the following parameters: domName (string) Specifies the name of the domain. domDesc (string) (Optional) Specifies the description of the domain. globalPoliciesApply (int) (Optional) Specifies whether the domain can accept global policies: value = 1 (default) Specifies that the domain can accept global policies. value = 0 Specifies that the domain cannot accept global policies. Return Value The CreateDomain method returns one of the following values: PolicyMgtDomain (object) undef if the call is unsuccessful or the policy domain name already exists
Session Methods
Parameters The CreateExactCertMap method accepts the following parameters: IssuerDN (string) Specifies the distinguished name of the certificate issuer. DirectoryType (int) (Optional) Specifies one of the following user directory types used for authentication: Sm_PolicyApi_DirType_LDAP (default) Sm_PolicyApi_DirType_WinNT Sm_PolicyApi_DirType_ODBC
Session Methods
Return Value The CreateExactCertMap method returns one of the following values: PolicyMgtCertMap (object) undef if the call is unsuccessful
Parameters The CreateGlobalPolicy method accepts the following parameters: policyName (string) Specifies the global policy's name. enableFlag (type) (Optional) Specifies whether to enable the global policy: value = 1 (default) Specifies that the global policy is enabled. value = 0 Specifies that the global policy is disabled. activeExpr (string) (Optional) Specifies ... policyDesc (string) (Optional) Specifies the global policy's description. Return Value The CreateGlobalPolicy method returns one of the following values: PolicyMgtPolicy (object) undef if the call is unsuccessful
Session Methods
Parameters The CreateGlobalResponse method accepts the following parameters: respName (string) Specifies the global response's name. agentType (PolicyMgtAgentType object) Specifies the type of agent associated with the global response. Note: To retrieve the agent type object, call the method PolicyMgtSession->GetAgentType. respDesc (string) (Optional) Specifies the global response's description. Return Value The CreateGlobalResponse method returns one of the following values: PolicyMgtResponse (object) undef if the call is unsuccessful
Session Methods
Parameters The CreateGlobalRule method accepts the following parameters: ruleName (string) Specifies the global rule's name. resource (string) Specifies the filter for the resource that the global rule is protecting. event (string) Specifies the type of event that the global rule is executing. agent (PolicyMgtAgent | PolicyMgtGroup) Specifies the agent or agent group associated with the global rule. ruleDesc (string) (Optional) Specifies the global rule's description. allowAccess (int) (Optional) Specifies whether to allow or deny access to the resource protected by the rule: value = 1 (default) Specifies allowing access. value = 0 Specifies denying access. regexMatch (int) (Optional) Specifies whether to perform regular expression pattern matching: value = 1 Specifies performing regular expression pattern matching. value = 0 (default) Specifies not performing regular expression pattern matching. activeExpr (string) (Optional) Specifies the global rule's active expression.
Session Methods
isEnabled (int) (Optional) Specifies whether to enable or disable the global rule: value = 1 (default) Specifies that the global rule is enabled. value = 0 Specifies that the global rule is disabled. Return Value The CreateGlobalRule method returns one of the following values: PolicyMgtRule (object) undef if the call is unsuccessful
Parameters The CreateHostConfig method accepts the following parameters: hostConfigName (string) Specifies the name of the host configuration object. hostConfDesc (string) (Optional) Specifies the description of the host configuration object. enableFailover (int) (Optional) Specifies whether to use failover or round-robin communication between the Policy Server and the agent: value = 1 Specifies failover communication. value = 0 Specifies round-robin communication.
Session Methods
maxSocketsPerPort (int) (Optional) Specifies the maximum number of TCP/IP sockets that can be opened between an agent and the Policy Server. minSocketsPerPort (int) (Optional) Specifies the minimum number of TCP/IP sockets that can be opened between an agent and the Policy Server. newSocketstep (int) (Optional) Specifies how many sockets to open when additional sockets are required. requestTimeout (int) (Optional) Specifies how long, in seconds, an agent can wait for a response from the Policy Server. Return Value The CreateHostConfig method returns one of the following values: PolicyMgtHostConfig (object) undef if the call is unsuccessful or the host configuration name already exists
Session Methods
Parameters The CreateODBCQueryScheme method accepts the following parameters: schemeName (string) Specifies the ODBC query scheme's name. schemeDesc (string) (Optional) Specifies the ODBC query scheme's description. queryEnumerate (string) (Optional) Specifies a query that lists the names of user objects in the directory. Note: For more information, see the method PolicyMgtODBCQueryScheme->QueryEnumerate (see page 297). queryGetObjInfo (string) (Optional) Specifies a query that fetches the object's class. Note: For more information, see the method PolicyMgtODBCQueryScheme->QueryGetObjInfo (see page 300). queryLookup (string) (Optional) Specifies a query that returns objects based on the value of an attribute in a group table. Note: For more information, see the method PolicyMgtODBCQueryScheme->QueryLookup (see page 303). queryInitUser (string) (Optional) Specifies a query that determines if a user with a given name exists in the database. Note: For more information, see the method PolicyMgtODBCQueryScheme->QueryInitUser (see page 302). queryAuthenticateUser (string) (Optional) Specifies a query that retrieves the user's password. Note: For more information, see the method PolicyMgtODBCQueryScheme->QueryAuthenticateUser (see page 296). queryGetUserProp (string) (Optional) Specifies a query that retrieves the value of a user property. Note: The property must be listed in the queryGetUserProps parameter string. For more information, see the method PolicyMgtODBCQueryScheme->QueryGetUserProp (see page 300).
Session Methods
querySetUserProp (string) (Optional) Specifies a query that sets the value of a user property. Note: The property must be listed in the queryGetUserProps parameter string. For more information, see the method PolicyMgtODBCQueryScheme->QuerySetUserProp (see page 307). queryGetUserProps (string) (Optional) Specifies a comma-separated list of user attributes that reside in the same table as the user name. Note: For more information, see the method PolicyMgtODBCQueryScheme->QueryGetUserProps (see page 301). queryLookupUser (string) (Optional) Specifies a query that retrieves a user name through an attribute of the user table. Note: For more information, see the method PolicyMgtODBCQueryScheme->QueryLookupUser (see page 305). queryGetGroups (string) (Optional) Specifies a query that retrieves the names of the groups to which the user belongs. Note: For more information, see the method PolicyMgtODBCQueryScheme->QueryGetGroups (see page 299). queryIsGroupMember (string) (Optional) Specifies a query that determines whether a particular user is a member of a group. Note: For more information, see the method PolicyMgtODBCQueryScheme->QueryIsGroupMember (see page 303). queryGetGroupProp (string) (Optional) Specifies a query that returns the value of a group property. Note: The property must be listed in the queryGetGroupProps parameter string. For more information, see the method PolicyMgtODBCQueryScheme->QueryGetGroupProp (see page 297). querySetGroupProp (string) (Optional) Specifies a query that sets the value of a group property. Note: The property must be listed in the queryGetGroupProps parameter string. For more information, see the method PolicyMgtODBCQueryScheme->QuerySetGroupProp (see page 306).
Session Methods
queryGetGroupProps (string) (Optional) Specifies a comma-separated list of group attributes. Note: For more information, see the method PolicyMgtODBCQueryScheme->QueryGetGroupProps (see page 298). queryLookupGroup (string) (Optional) Specifies a query that retrieves a group name through an attribute of the group table. Note: For more information, see the method PolicyMgtODBCQueryScheme->QueryLookupGroup (see page 304). querySetPassword (string) (Optional) Specifies a query that changes a user's password. Note: For more information, see the method PolicyMgtODBCQueryScheme->QuerySetPassword (see page 306). Return Value The CreateODBCQueryScheme method returns one of the following values: PolicyMgtODBCQueryScheme (object) undef if the call is unsuccessful or the ODBC query scheme name already exists
Session Methods
Parameters The CreatePwdPolicy method accepts the following parameters: pwdPolName (string) Specifies the name of the password policy. userDir (PolicyMgtUserDir object) Specifies the user directory to which the password policy applies. pwdPolDesc (string) (Optional) Specifies the description of the password policy. enabledFlag (int) (Optional) Specifies whether the password policy is enabled. entireDirFlag (int) (Optional) Specifies whether the password policy applies to the entire LDAP directory or only part of the directory. value = 1 Specifies that the password policy applies to the entire LDAP directory. value = 0 Specifies that the password policy only applies to part of the LDAP directory. Note: For part of the LDAP directory, specify the directory path in the path parameter and the class in the class parameter. path (string) (Optional) Specifies the part of the directory to which the password policy applies. Note: Include this parameter when the entireDirFlag parameter is set to 0. class (string) (Optional) Specifies the class to which the password policy applies. Note: Include this parameter when the entireDirFlag parameter is set to 0. allowNestedGroups (int) (Optional) Specifies whether the password policy is associated with the nested groups in the LDAP directory. Note: Include this parameter when the entireDirFlag parameter is set to 0. maxLoginFailures (int) (Optional) Specifies the maximum number of login failures allowed before the user's account is disabled.
Session Methods
maxLoginInactive (int) (Optional) Specifies the maximum number of days of inactivity allowed before the user's password expires. expDelay (int) (Optional) Specifies the number of days a password can be unchanged before it expires. expWarningDays (int) (Optional) Specifies the number of days in advance to notify the user that the password is due to expire. dicName (string) (Optional) Specifies the location of the dictionary file that lists the words that cannot be used in a password. dicMatchLength (int) (Optional) Specifies the minimum number of letters required for dictionary checking. userwait (int) (Optional) Specifies the number of minutes an account is disabled before the account is enabled and the user is allowed to attempt logging in again. pwdSvcRedirect (string) (Optional) Specifies the URL where the user is redirected when an invalid password is entered. Note: This must be the URL of the Password Services CGI. maxPwdLength (int) (Optional) Specifies the maximum length of a user password. Note: This value must be greater than the value specified by the parameter minPwdLength. minPwdLength (int) (Optional) Specifies the minimum length of a user password. maxPwdRepeatChar (int) (Optional) Specifies the maximum number of identical characters that can appear consecutively in a password. minPwdAlphaNum (int) (Optional) Specifies the minimum number of alphanumeric characters (A-Z, a-z, 0-9) that a password must contain.
Session Methods
minPwdAlpha (int) (Optional) Specifies the minimum number of alphabetic characters (A-Z, a-z) that a password must contain. minPwdNonAlpha (int) (Optional) Specifies the minimum number of non-alphanumeric characters that a password must contain. Note: The following are examples of non-alphanumeric characters: "@", "$", and "*". minPwdNonPrint (int) (Optional) Specifies the minimum number of non-printable characters that a password must contain. Note: Non-printable characters are not displayed on a computer screen. minPwdNum (int) (Optional) Specifies the minimum number of numeric characters (0-9) that a password must contain. minPwdPunc (int) (Optional) Specifies the minimum number of punctuation marks that a password must contain. Note: Punctuation marks include periods, commas, exclamation points, slashes, hyphens, and dashes. pwdReuseCount (int) (Optional) Specifies the number of new passwords that must be used before an old one can be reused. pwdReuseDelay (int) (Optional) Specifies the number of days a user must wait before reusing a password. pwdPctDiff (int) (Optional) Specifies the percentage of characters contained in a new password that must differ from the characters in the previous password. Note: A value of 100 specifies that the new password cannot contain any of the characters in the previous password. For more information, see the parameter pwdIgnoreSeq.
Session Methods
pwdIgnoreSeq (int) (Optional) Specifies whether character position is ignored when the new password is compared to the previous password and the percentage of characters that are different is calculated. value = 1 Specifies that character sequence is ignored. value = 0 Specifies that character sequence is considered. Example: If the character "c" is in both the new and previous passwords, but its position in each password is different, then it is considered to be two different characters when the percentage is calculated. profileAttrMatch (int) (Optional) Specifies that the minimum character sequence that SiteMinder checks when checking the password against attributes in the user's directory entry. Return Value The CreatePwdPolicy method returns one of the following values: PolicyMgtPwdPolicy (object) undef if the call is unsuccessful or the password policy name already exists
Parameters The CreateRegScheme method accepts the following parameters: regName (string) Specifies the registration scheme's name. userDir (string) Specifies the user directory associated with the registration scheme.
Session Methods
regDesc (string) (Optional) Specifies the registration scheme's description. welcomeURL (string) (Optional) Specifies the URL for the welcome page. Note: Users are redirected to this page after successfully registering. Example: http://my.acme.com/hr/welcome.htm templatePath (string) (Optional) Specifies the path where the registration templates are located. Note: For more information about the templePath parameter, see Remarks. enableLogging (int) (Optional) Specifies whether to enable logging. value = 1 Specifies enabling logging. value = 0 (default) Specifies disabling logging. Return Value The CreateRegScheme method returns one of the following values: PolicyMgtRegScheme (object) undef if the call is unsuccessful or the registration scheme name already exists
Remarks When you install a SiteMinder Web Agent, the registration templates are installed in the samples/selfreg subdirectory of the Web Agent installation directory by default. During SiteMinder installation, the virtual directory /siteminderagent is created and pointed to the samples directory in the Web Agent installation directory. Therefore, when using the default directory, specify templePath as follows: /siteminderagent/selfreg (without the final slash). If you are using SSL for registration, you must provide the absolute path for the registration templates. The default paths are as follows: Windows platforms: install-dir\Netegrity\Siteminder Web Agent\Samples\SelfReg\ Solaris/Hpux platforms: install-dir/netegrity/siteminder/webagent/samples/selfreg/
Session Methods
Parameters The CreateSAMLAffiliation method accepts the following parameter: propsHash_ref (hash) Specifies a reference to a hashtable of metadata properties for the SAML 2.0 affiliation. Example: \%myhash Return Value The CreateSAMLAffiliation method returns one of the following values: PolicyMgtSAMLAffiliation (object) undef if the call is unsuccessful
Remarks The SAML 2.0 affiliation properties are grouped in the FSS Administrative UI as follows: General Properties SAML_NAME SAML_DESCRIPTION SAML_KEY_AFFILIATION_ID SAML_MAJOR_VERSION SAML_MINOR_VERSION SAML_OID
Session Methods
Name IDs Tab SAML_SP_NAMEID_FORMAT SAML_SP_NAMEID_TYPE SAML_SP_NAMEID_STATIC SAML_SP_NAMEID_ATTRNAME SAML_SP_NAMEID_DNSPEC UsersTab SAML_IDP_XPATH SAML_IDP_LDAP_SEARCH_SPEC SAML_IDP_ODBC_SEARCH_SPEC SAML_IDP_WINNT_SEARCH_SPEC SAML_IDP_CUSTOM_SEARCH_SPEC SAML_IDP_AD_SEARCH_SPEC For more information, see the SAML 2.0 Property Reference in this guide.
Session Methods
Protection_Level Default: 5
Note: You can modify the default protection level by calling the CreateSAMLAuthScheme method with the optional protLevel parameter set to a new value. Metadata Properties The metadata properties are the properties of the Identity Provider associated with the SAML 2.0 authentication scheme and are stored with the authentication scheme. To specify them, pass the reference to the hashtable of metadata properties to the CreateSAMLAuthScheme method in the propsHash_ref parameter. To update the metadata properties of an existing SAML 2.0 authentication scheme, call the method PolicyMgtSession->SAMLAuthSchemeProperties. Syntax The CreateSAMLAuthScheme method has the following format:
Netegrity::PolicyMgtSession->CreateSAMLAuthScheme(schemeName, propsHash_ref[, schemeDesc][, protLevel])
Parameters The CreateSAMLAuthScheme method accepts the following parameters: schemeName (string) Specifies the name of the authentication scheme. propsHash_ref (hash) Specifies a reference to a hashtable of metadata properties to associate with the SAML 2.0 authentication scheme. Example: \%myhash Note: For a complete list of metadata properties, see Remarks. schemeDesc (string) (Optional) Specifies the description of the authentication scheme. protLevel (int) (Optional) Specifies the protection level of the authentication scheme.
Session Methods
Return Value The CreateSAMLAuthScheme method returns one of the following values: PolicyMgtAuthScheme (object) undef if the call is unsuccessful or the SAML authentication scheme name already exists
Remarks The metadata properties associated with the SAML 2.0 authentication scheme are grouped in the FSS Administrative UI as follows: General Properties SAML_NAME SAML_DESCRIPTION Scheme Setup Tab SAML_IDP_SPID SAML_KEY_IDPID SAML_MAJOR_VERSION SAML_MINOR_VERSION SAML_SKEWTIME SAML_DISABLE_SIGNATURE_PROCESSING SAML_DSIG_VERINFO_ISSUER_DN SAML_DSIG_VERINFO_SERIAL_NUMBER Additional Configuration, Users Tab SAML_IDP_XPATH SAML_IDP_LDAP_SEARCH_SPEC SAML_IDP_ODBC_SEARCH_SPEC SAML_IDP_WINNT_SEARCH_SPEC SAML_IDP_CUSTOM_SEARCH_SPEC SAML_IDP_AD_SEARCH_SPEC SAML_AFFILIATION Additional Configuration, SSO Tab SAML_IDP_SSO_REDIRECT_MODE SAML_IDP_SSO_DEFAULT_SERVICE
Session Methods
SAML_AUDIENCE SAML_IDP_SSO_TARGET SAML_ENABLE_SSO_ARTIFACT_BINDING SAML_KEY_IDP_SOURCEID SAML_IDP_ARTIFACT_RESOLUTION_DEFAULT_SERVICE SAML_IDP_BACKCHANNEL_AUTH_TYPE SAML_IDP_SPNAME SAML_IDP_PASSWORD SAML_ENABLE_SSO_POST_BINDING SAML_IDP_SSO_ENFORCE_SINGLE_USE_POLICY SAML_SSOECPPROFILE SAML_IDP_SIGN_AUTHNREQUESTS Additional Configuration, SLO Tab SAML_SLO_REDIRECT_BINDING SAML_SLO_SERVICE_VALIDITY_DURATION SAML_SLO_SERVICE_URL SAML_SLO_SERVICE_RESPONSE_URL SAML_SLO_SERVICE_CONFIRM_URL Additional Configuration, Encryption Tab SAML_IDP_REQUIRE_ENCRYPTED_ASSERTION SAML_IDP_REQUIRE_ENCRYPTED_NAMEID Additional Configuration, Attributes Tab SAML_IDP_SAMLREQ_ENABLE SAML_IDP_SAMLREQ_REQUIRE_SIGNED_ASSERTION SAML_IDP_SAMLREQ_ATTRIBUTE_SERVICE SAML_IDP_SAMLREQ_GET_ALL_ATTRIBUTES Additional Configuration, NameId Tab SAML_IDP_SAMLREQ_NAMEID_FORMAT SAML_IDP_SAMLREQ_NAMEID_TYPE SAML_IDP_SAMLREQ_NAMEID_STATIC SAML_IDP_SAMLREQ_NAMEID_ATTR_NAME
Session Methods
SAML_IDP_SAMLREQ_NAMEID_DN_SPEC SAML_IDP_SAMLREQ_NAMEID_ALLOW_NESTED Additional Configuration, Advanced Tab SAML_SP_PLUGIN_CLASS SAML_SP_PLUGIN_PARAMS SAML_IDP_REDIRECT_URL_USER_NOT_FOUND SAML_IDP_REDIRECT_MODE_USER_NOT_FOUND SAML_IDP_REDIRECT_URL_FAILURE SAML_IDP_REDIRECT_MODE_FAILURE SAML_IDP_REDIRECT_URL_INVALID SAML_IDP_REDIRECT_MODE_INVALID
Parameters The CreateSingleCertMap Method method accepts the following parameters: IssuerDN (string) Specifies the distinguished name of the certificate issuer. Attribute (string) Specifies the name of the attribute whose values in the certificate's Subject DN and in the user directory must match. Syntax: %{attribute_name} Example: %{uid}
Session Methods
DirectoryType (int) (Optional) Specifies the type of the user directory specified for authentication. Sm_PolicyApi_DirType_LDAP (default) Sm_PolicyApi_DirType_WinNT Sm_PolicyApi_DirType_ODBC
Return Value The CreateSingleCertMap Method method returns one of the following values: PolicyMgtCertMap (object) undef if the call is unsuccessful
Remarks When a certificate map is created, the following flags are set to false, the default value: certificate_required_flag use_distributionpoints_flag verify_signature_flag check_certificate_revocation_list_flag cache_certificate_revocation_list_entries_flag
For information on changing the value of these flags, see the method PolicyMgtSession->CreateExactCertMap (see page 439).
Session Methods
Parameters The CreateTrustedHost method accepts the following parameters: trustedHostName (string) Specifies the name of the trusted host. ipAddress (string) (Optional) Specifies the IP address of the Policy Server. adminName (string) (Optional) Specifies the name of a Policy Server administrator. adminPassword (string) (Optional) Specifies the administrator's password. hostConfigName (string) (Optional) Specifies the name of the host configuration object. registrationDataFileName (string) (Optional) Specifies the name of the file where registration data is written when the host is successfully registered with the Policy Server. Note: This filename is specified by calling the Agent API method Connect. The file is stored and managed by SiteMinder. Return Value The CreateTrustedHost method returns one of the following values: PolicyMgtTrustedHost (object) undef if the call is unsuccessful or if the trusted host name already exists
Session Methods
Parameters The CreateUserDir method accepts the following parameters: dirName (string) Specifies the user directory object's name. namespace (string) Specifies the user directory's namespace: LDAP AD ODBC WinNT Custom
server (string) Specifies one of the following directory-dependent values: LDAP and AD Specifies the IP address and port number of the LDAP server. Syntax: IP_address:port_number Note: The default port number is 389. ODBC Specifies the data source name. WinNT Specifies the domain name. Custom Specifies the name of the library that corresponds to the custom directory. ODBCQueryScheme (PolicyMgtODBCQueryScheme object) (Optional) Specifies a set of queries that SiteMinder uses to query the ODBC directory. Note: If the user directory is not an ODBC directory, this parameter's value is undef. domDesc (string) (Optional) Specifies the description of the user directory.
Session Methods
searchRoot (string) (Optional) Specifies one of the following directory-dependent values: LDAP Specifies the location in the LDAP tree that is the starting point for the directory connection, for example, the organization (o) or organizational unit (ou). This location, called the search root, is the point where the Policy Server starts the search for a user. Note: For more information about this parameter, see the parameter searchScope. Custom Specifies a string of parameters to pass to the custom library. usrLookStart (string) (Optional) Specifies the start value for a user DN lookup in an LDAP directory. usrLookEnd (string) (Optional) Specifies the end value for a user DN lookup in an LDAP directory. Note: Specifying values for the user DN lookup starting point and endpoint allows users to enter part of the DN string when authenticating. In the following example, the user only needs to specify the string "JSmith" and not the whole DN string when logging in: DN = "uid=JSmith,ou=marketing,o=myorg.org" starting_point = "uid=" endpoint = ",ou=marketing,o=myorg.org" login = "JSmith"
username (string) (Optional) Specifies the user name needed for accessing the user directory. Note: When using this parameter, set requireCreds to 1. password (string) (Optional) Specifies the password required for accessing the user directory. Note: When using this parameter, set requireCreds to 1. searchResults (int) (Optional) Specifies the maximum number of results to return from a search of an LDAP or custom directory.
Session Methods
searchScope (int) (Optional) Specifies how many levels SiteMinder searches when looking for users or user groups in an LDAP directory: USERDIR_SCOPE_SUBTREE Specifies searching the root and all levels below. USERDIR_SCOPE_ONELEVEL Specifies searching the root and one level below. Note: For more information, see the searchRoot parameter. searchTimeout (int) (Optional) Specifies the maximum time, in seconds, allowed for searching an LDAP or custom directory. secureConn (int) (Optional) Specifies whether an LDAP or custom user directory connection is secured by SSL: value = 1 Specifies a connection secured by SSL. value = 0 (default) Specifies a connection that is not secure. Note: When this flag is enabled, SiteMinder authentication is secure and transmissions are encrypted. Enable this flag when using SSL. requireCreds (int) (Optional) Specifies whether user credentials are required for authentication: value = 1 Specifies that credentials are required. value = 0 (default) Specifies that credentials are not required. disabledAttr (string) (Optional) Specifies the name of the user directory attribute that contains the user's disabled state. Note: This parameter applies to LDAP and ODBC directories and some custom directories.
Session Methods
UIDAttr (string) (Optional) Specifies the name of the user directory's universal ID attribute. Note: The universal ID is different from the user's login ID and is used to look up user information. This parameter applies to LDAP, ODBC, and WinNT directories and to some custom directories. anonID (string) (Optional) Specifies the name of the user directory's anonymous user DN attribute. Note: The DN, which is defined in the anonymous authentication scheme, gives anonymous users access to resources protected by the anonymous authentication scheme. This parameter applies to LDAP directories and some custom directories. pwdData (string) (Optional) Specifies the name of the user directory's password data attribute. Note: This parameter applies to LDAP and ODBC directories and some custom directories. pwdAttr (string) (Optional) Specifies the name of the user directory's password attribute. Note: This parameter applies to LDAP and ODBC directories and some custom directories. emailAttr (string) Note: This optional parameter is reserved for future use. chalRespAttr (string) (Optional) Specifies the name of the user directory's challenge/response attribute. Example: The challenge/response can be a hint that SiteMinder sends the user when the user forgets the password. Note: This parameter applies to LDAP directories and some custom directories. Return Value The CreateUserDir method returns one of the following values: PolicyMgtUserDir (object) undef if the call is unsuccessful
Session Methods
Parameters The CreateWSFEDAuthScheme method accepts the following parameters: name (string) Specifies the name of the WS-Federation authentication scheme. propsHash (hashtable) Specifies a reference to the hashtable of WS-Federation authentication scheme properties to set. Note: For a complete list of WS-Federation authentication scheme properties, see Remarks. desc (string) (Optional) Specifies a description of the authentication scheme. level (int) (Optional) Specifies the authentication scheme level. Return Value The CreateWSFEDAuthScheme method returns one of the following values: PolicyMgtAuthScheme (object) undef if the call is unsuccessful
Remarks The WS-Federation authentication scheme properties are grouped in the FSS Administrative UI as follows: General Properties WSFED_NAME WSFED_DESCRIPTION
Session Methods
Scheme Setup Tab WSFED_KEY_APID WSFED_RPID WSFED_SKEW_TIME WSFED_DISABLE_SIGNATURE_PROCESSING WSFED_DSIG_VERINFO_ALIAS Additional Configuration, Users Tab WSFED_AP_XPATH WSFED_AP_LDAP_SEARCH_SPEC WSFED_AP_ODBC_SEARCH_SPEC WSFED_AP_WINNT_SEARCH_SPEC WSFED_AP_CUSTOM_SEARCH_SPEC WSFED_AP_ADD_SEARCH_SPEC Additional Configuration, SSO Tab WSFED_AP_SSO_REDIRECT_MODE WSFED_AP_SSO_DEFAULT_SERVICE WSFED_AP_SSO_TARGET WSFED_ENFORCE_SINGLE_USE_POLICY Additional Configuration, Signout Tab WSFED_AP_SLO_ENABLED WSFED_AP_SIGNOUT_URL Additional Configuration, Advanced Tab WSFED_AP_PLUGIN_CLASS WSFED_AP_PLUGIN_PARAMS WSFED_AP_USER_NOT_FOUND_REDIRECT_URL WSFED_AP_USER_NOT_FOUND_REDIRECT_MODE WSFED_AP_FAILURE_REDIRECT_URL WSFED_AP_FAILURE_REDIRECT_MODE WSFED_AP_INVALID_REDIRECT_URL WSFED_AP_INVALID_REDIRECT_MODE
Session Methods
Parameters The DeleteAdmin method accepts the following parameter: admin (PolicyMgtAdmin object) Specifies the administrator object to delete. Return Value The DeleteAdmin method returns one of the following values: value = 0 Specifies that the method is successful or that the administrator is not found. value = -1 Specifies that the method is unsuccessful. Remarks To remove an administrator from a particular domain, see the method PolicyMgtAffDomain->RemoveAdmin (see page 178).
Parameters The DeleteAffDomain method accepts the following parameter: affDomain (PolicyMgtAffDomain object) Specifies the affiliate domain object to delete.
Session Methods
Return Value The DeleteAffDomain method returns one of the following values: value = 0 Specifies that the method is successful or that the affiliate domain is not found. value = -1 Specifies that the method is unsuccessful.
Parameters The DeleteAgent method accepts the following parameter: agent (PolicyMgtAgent object) Specifies the agent object to delete. Return Value The DeleteAgent method returns one of the following values: value = 0 Specifies that the method is successful or that the agent is not found. value = -1 Specifies that the method is unsuccessful.
Session Methods
Parameters The DeleteAgentConfig method accepts the following parameter: AgentConfig (PolicyMgtAgentConfig object) Specifies the agent configuration object to delete. Return Value The DeleteAgentConfig method returns one of the following values: value = 0 Specifies that the method is successful or that the agent configuration object was not found. value = -1 Specifies that the method is unsuccessful.
Parameters The DeleteAuthAzMap method accepts the following parameter: map (PolicyMgtAuthAzMap object) Specifies the authentication and authorization map object to delete. Return Value The DeleteAuthAzMap method returns one of the following values: value = 0 Specifies that the method is successful or that the authentication and authorization map is not found. value = -1 Specifies that the method is unsuccessful.
Session Methods
Parameters The DeleteAuthScheme method accepts the following parameter: authScheme (PolicyMgtAuthScheme object) Specifies the authentication scheme object to delete. Return Value The DeleteAuthScheme method returns one of the following values: value = 0 Specifies that the method is successful or that the authentication scheme is not found. value = -1 Specifies that the method is unsuccessful.
Parameters The DeleteCertMap method accepts the following parameter: map (PolicyMgtCertMap object) Specifies the certificate map object to delete.
Session Methods
Return Value The DeleteCertMap method returns one of the following values: value = 0 Specifies that the method is successful or that the certificate map is not found. value = -1 Specifies that the method is unsuccessful.
Parameters The DeleteDomain method accepts the following parameter: domain (PolicyMgtDomain object) Specifies the domain object to delete. Return Value The DeleteDomain method returns one of the following values: value = 0 Specifies that the method is successful or that the domain is not found. value = -1 Specifies that the method is unsuccessful.
Session Methods
Parameters The DeleteGlobalPolicy method accepts the following parameter: policy (PolicyMgtPolicy object) Specifies the global policy object to delete. Return Value The DeleteGlobalPolicy method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Parameters The DeleteGlobalResponse method accepts the following parameter: response (PolicyMgtResponse object) Specifies the global response object to delete. Return Value The DeleteGlobalResponse method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Session Methods
Parameters The DeleteGlobalRule method accepts the following parameter: rule (PolicyMgtRule object) Specifies the global rule object to delete. Return Value The DeleteGlobalRule method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Parameters The DeleteGroup method accepts the following parameter: group (PolicyMgtGroup object) Specifies the agent group object to delete.
Session Methods
Return Value The DeleteGroup method returns one of the following values: value = 0 Specifies that the method is successful or that the agent group is not found. undef Specifies that the method is unsuccessful.
Parameters The DeleteHostConfig method accepts the following parameter: HostConfig (PolicyMgtHostConfig object) Specifies the host configuration object to delete. Return Value The DeleteHostConfig method returns one of the following values: value = 0 Specifies that the method is successful or that the host configuration object is not found. value = -1 Specifies that the method is unsuccessful.
Session Methods
Parameters The DeleteODBCQueryScheme method accepts the following parameter: scheme (PolicyMgtODBCQueryScheme object) Specifies the ODBC query scheme object to delete. Return Value The DeleteODBCQueryScheme method returns one of the following values: value = 0 Specifies that the method is successful or that the ODBC query scheme is not found. value = -1 Specifies that the method is unsuccessful.
Parameters The DeletePwdPolicy method accepts the following parameter: pwdPolicy (PolicyMgtPwdPolicy object) Specifies the password policy object to delete. Return Value The DeletePwdPolicy method returns one of the following values: value = 0 Specifies that the method is successful or that the password policy is not found. value = -1 Specifies that the method is unsuccessful.
Session Methods
Parameters The DeleteRegScheme method accepts the following parameter: regScheme (PolicyMgtRegScheme object) Specifies the registration scheme object to delete. Return Value The DeleteRegScheme method returns one of the following values: value = 0 Specifies that the method is successful or that the registration scheme is not found. value = -1 Specifies that the method is unsuccessful.
Parameters The DeleteSAMLAffiliation method accepts the following parameter: SAMLAffil (PolicyMgtSAMLAffiliation object) Specifies the SAML 2.0 affiliation object to delete.
Session Methods
Return Value The DeleteSAMLAffiliation method returns one of the following values: value = 0 Specifies that the method is successful or that the SAML affiliation object is not found. value = -1 Specifies that the method is unsuccessful.
Parameters The DeleteTrustedHost method accepts the following parameter: TrustedHost (PolicyMgtTrustedHost object) Specifies the trusted host object to delete. Return Value The DeleteTrustedHost method returns one of the following values: value = 0 Specifies that the method is successful or that the trusted host is not found. value = -1 Specifies that the method is unsuccessful.
Session Methods
Parameters The DeleteUserDir method accepts the following parameter: userdir (PolicyMgtUserDir object) Specifies the user directory object to delete. Return Value The DeleteUserDir method returns one of the following values: value = 0 Specifies that the method is successful or that the user directory is not found. value = -1 Specifies that the method is unsuccessful.
Parameters The GetAdmin method accepts the following parameter: adminName (string) Specifies the name of the administrator to retrieve. Return Value The GetAdmin method returns one of the following values: PolicyMgtAdmin object if the call is successful undef if the call is unsuccessful or the specified administrator does not exist
Session Methods
Parameters The GetAffDomain method accepts the following parameter: domName (string) Specifies the name of the affiliate domain to retrieve. Return Value The GetAffDomain method returns one of the following values: PolicyMgtAffDomain object undef if the call is unsuccessful or the specified affiliate domain does not exist
Parameters The GetAgent method accepts the following parameter: agentName (string) Specifies the name of the agent to retrieve. Return Value The GetAgent method returns one of the following values: PolicyMgtAgent object if the call is successful undef if the call is unsuccessful or the specified agent does not exist
Session Methods
Parameters The GetAgentConfig method accepts the following parameter: acName (string) Specifies the name of the agent configuration object to retrieve. Return Value The GetAgentConfig method returns one of the following values: PolicyMgtAgentConfig object if the call is successful undef if the call is unsuccessful or the specified agent configuration object does not exist
Parameters The GetAgentGroup method accepts the following parameter: agentGroup (string) Specifies the name of the agent group to retrieve. Return Value The GetAgentGroup method returns one of the following values: PolicyMgtGroup object undef if the call is unsuccessful or the specified agent group does not exist
Session Methods
Parameters The GetAgentType method accepts the following parameter: agentTypeName (string) Specifies one of the following pre-defined agent types to retrieve: 3Com (RADIUS agent) Affiliate Agent (SiteMinder Affiliate agent) AffiliateMinder (AffiliateMinder agent) Ascend (RADIUS agent) Bay Networks (RADIUS agent) CheckPoint (RADIUS agent) Cisco (RADIUS agent) EJB Agent (SiteMinder EJB agent) Generic RADIUS (RADIUS agent) Livingston (RADIUS agent) Network Associates Sniffer (RADIUS agent) Servlet Agent (SiteMinder Servlet agent) Shiva (RADIUS agent) TeleBit (RADIUS agent) U.S. Robotics (RADIUS agent) Web Agent (SiteMinder Web agent)
Return Value The GetAgentType method returns one of the following values: PolicyMgtAgentType object if the call is successful undef if the call is unsuccessful or the specified agent type does not exist
Session Methods
Parameters The GetAllAdmins method accepts no parameters. Return Value The GetAllAdmins method returns one of the following values: PolicyMgtAdmin (array) undef if the call is unsuccessful or no administrators exist
Parameters The GetAllAffDomains method accepts no parameters. Return Value The GetAllAffDomains method returns one of the following values: PolicyMgtAffDomain (array) undef if the call is unsuccessful or no affiliate domains exist
Session Methods
Parameters The GetAllAgentConfigs method accepts no parameters. Return Value The GetAllAgentConfigs method returns one of the following values: PolicyMgtAgentConfig (array) undef if the call is unsuccessful or no agent configuration objects exist
Parameters The GetAllAgentGroups method accepts no parameters. Return Value The GetAllAgentGroups method returns one of the following values: PolicyMgtGroup (array) undef if the call is unsuccessful
Session Methods
Parameters The GetAllAgents method accepts no parameters. Return Value The GetAllAgents method returns one of the following values: PolicyMgtAgent (array) undef if the call is unsuccessful or no agents exist
Parameters The GetAllAuthAzMaps method accepts no parameters. Return Value The GetAllAuthAzMaps method returns one of the following values: PolicyMgtAuthAzMap (array) undef if the call is unsuccessful or no authentication and authorization maps exist
Session Methods
Parameters The GetAllAuthSchemes method accepts the following parameter: showTemplates (int) (Optional) Specifies whether to include template schemes in the list of authentication schemes. value = 0 Specifies not including template schemes in the list of authentication schemes. value = 1 Specifies including template schemes in the list of authentication schemes. Return Value The GetAllAuthSchemes method returns one of the following values: PolicyMgtAuthScheme (array) undef if the call is unsuccessful or no authentication schemes exist
Session Methods
Return Value The GetAllCertMaps method returns one of the following values: PolicyMgtCertMap (array) undef if the call is unsuccessful or no certificate mapping objects exist
Parameters The GetAllDomains method accepts no parameters. Return Value The GetAllDomains method returns one of the following values: PolicyMgtDomain (array) undef if the call is unsuccessful or no domains exist
Session Methods
Return Value The GetAllGlobalPolicies method returns one of the following values: PolicyMgtPolicy (array) undef if the call is unsuccessful
Parameters The GetAllGlobalResponses method accepts no parameters. Return Value The GetAllGlobalResponses method returns one of the following values: PolicyMgtResponse (array) undef if the call is unsuccessful
Session Methods
Return Value The GetAllGlobalRules method returns one of the following values: PolicyMgtRule (array) undef if the call is unsuccessful
Parameters The GetAllHostConfigs method accepts no parameters. Return Value The GetAllHostConfigs method returns one of the following values: PolicyMgtHostConfig (array) undef if the call is unsuccessful or no host configuration objects exist
Session Methods
Return Value The GetAllODBCQuerySchemes method returns one of the following values: PolicyMgtODBCQueryScheme (array) undef if the call is unsuccessful or no ODBC query schemes exist
Parameters The GetAllPwdPolicies method accepts no parameters. Return Value The GetAllPwdPolicies method returns one of the following values: PolicyMgtPwdPolicy (array) undef if the call is unsuccessful or no password policies exist
Session Methods
Return Value The GetAllRegSchemes method returns one of the following values: PolicyMgtRegScheme (array) undef if the call is unsuccessful or no registration schemes exist
Parameters The GetAllSAMLAffiliations method accepts no parameters. Return Value The GetAllSAMLAffiliations method returns one of the following values: PolicyMgtSAMLAffiliation (array) undef if the call is unsuccessful
Parameters The GetAllSAMLSchemeAttributes method accepts the following parameter: scheme (PolicyMgtAuthScheme object) Specifies the SAML 2.0 authentication scheme object.
Session Methods
Return Value The GetAllSAMLSchemeAttributes method returns one of the following values: PolicyMgtSAMLRequesterAttr (array) undef if the call is unsuccessful
Parameters The GetAllTrustedHosts method accepts no parameters. Return Value The GetAllTrustedHosts method returns one of the following values: PolicyMgtTrustedHost (array) undef if the call is unsuccessful or no trusted host objects exist
Session Methods
Return Value The GetAllUserDirs method returns one of the following values: PolicyMgtUserDir (array) undef if the call is unsuccessful or no user directories exist
Parameters The GetAllVariableTypes method accepts no parameters. Return Value The GetAllVariableTypes method returns one of the following values: PolicyMgtVariableType (array) undef if the call is unsuccessful or no variable type objects exist
Session Methods
Parameters The GetAuthScheme method accepts the following parameter: schemeName (string) Specifies one of the following: The name of an existing authentication scheme. The type of authentication scheme that you want to create: Anonymous Template Basic over SSL Template Basic Template CRYPTOCard RB-1 Template Custom Template HTML Form Template Impersonation Template MS Passport Template RADIUS CHAP/PAP Template RADIUS Server Template SafeWord HTML Form Template SafeWord Template SAML Artifact Template Note: This template requires Federation Security Services. SAML POST Template Note: This template requires Federation Security Services. SAML 2.0 Template Note: This template requires Federation Security Services. SecurID HTML Form Template SecurID Template TeleID Template Windows Authentication Template X509 Client Cert and Basic Template X509 Client Cert and Form Template
Session Methods
X509 Client Cert or Basic Template X509 Client Cert or Form Template X509 Client Cert Template
Return Value The GetAuthScheme method returns one of the following values: PolicyMgtAuthScheme (object) undef if the call is unsuccessful or the specified authentication scheme does not exist
Parameters The GetCertMap method accepts the following parameter: issuerDN (string) Specifies the certificate issuer's DN. Return Value The GetCertMap method returns one of the following values: PolicyMgtCertMap (object) undef if the call is unsuccessful or the certificate issuer's DN does not exist
Session Methods
Parameters The GetDomain method accepts the following parameter: domName (string) Specifies the name of the domain to retrieve. Return Value The GetDomain method returns one of the following values: PolicyMgtDomain (object) undef if the call is unsuccessful or the specified domain does not exist
Parameters The GetGlobalPolicy method accepts the following parameter: policyName (string) Specifies the name of the global policy to retrieve. Return Value The GetGlobalPolicy method returns one of the following values: PolicyMgtPolicy (object) undef if the call is unsuccessful or the specified global policy does not exist
Session Methods
Parameters The GetGlobalResponse method accepts the following parameter: responseName (string) Specifies the name of the global response to retrieve. Return Value The GetGlobalResponse method returns one of the following values: PolicyMgtResponse (object) undef if the call is unsuccessful or the specified global response does not exist
Parameters The GetGlobalRule method accepts the following parameter: ruleName (string) Specifies the name of the global rule to retrieve. Return Value The GetGlobalRule method returns one of the following values: PolicyMgtRule (object) undef if the call is unsuccessful or the specified global rule does not exist
Session Methods
Parameters The GetHostConfig method accepts the following parameter: hcName (string) Specifies the name of the host configuration object to retrieve. Return Value The GetHostConfig method returns one of the following values: PolicyMgtHostConfig (object) undef if the call is unsuccessful or the specified host configuration object does not exist
Parameters The GetODBCQueryScheme method accepts the following parameter: schemeName (string) Specifies the ODBC query scheme to retrieve.
Session Methods
Return Value The GetODBCQueryScheme method returns one of the following values: PolicyMgtODBCQueryScheme (object) undef if the call is unsuccessful or the specified ODBC query scheme does not exist
Parameters The GetPwdPolicy method accepts the following parameter: pwdPolicyName (string) Specifies the name of the password policy to retrieve. Return Value The GetPwdPolicy method returns one of the following values: PolicyMgtPwdPolicy (object) undef if the call is unsuccessful or the specified password policy does not exist
Session Methods
Parameters The GetRegScheme method accepts the following parameter: schemeName (string) Specifies the name of the registration scheme to retrieve. Return Value The GetRegScheme method returns one of the following values: PolicyMgtRegScheme (object) undef if the call is unsuccessful or the specified registration scheme does not exist
Parameters The GetSAMLAffiliation method accepts the following parameter: affilName (string) Specifies the name or OID of the SAML affiliation to retrieve. Note: When an OID is specified, it can be prefixed with the "@" character. Return Value The GetSAMLAffiliation method returns one of the following values: PolicyMgtSAMLAffiliation (object) undef if the call is unsuccessful or the specified SAML affiliation does not exist
Session Methods
Parameters The GetSAMLAffiliationById method accepts the following parameter: affilID (string) Specifies the affiliation ID of the SAML affiliation to retrieve. Return Value The GetSAMLAffiliationById method returns one of the following values: PolicyMgtSAMLAffiliation (object) undef if the call is unsuccessful or the specified SAML affiliation does not exist.
Parameters The GetSharedSecretPolicy method accepts no parameters. Return Value The GetSharedSecretPolicy method returns the following value: PolicyMgtSharedSecretPolicy (object)
Session Methods
Parameters The GetTrustedHost method accepts the following parameter: thName (string) Specifies the name of the trusted host to retrieve. Return Value The GetTrustedHost method returns one of the following values: PolicyMgtTrustedHost (object) undef if the call is unsuccessful or the specified trusted host does not exist
Parameters The GetUserDir method accepts the following parameter: dirName (string) Specifies the name of the user directory to retrieve. Return Value The GetUserDir method returns one of the following values: PolicyMgtUserDir (object) undef if the call is unsuccessful or the specified user directory does not exist
Session Methods
Parameters The GetVariableType method accepts the following parameter: varTypeName (string) Specifies one of the following variable type names: SiteMinder Variable Types Post UserContext RequestContext Static WebService TransactionMinder Variable Types XMLBody XMLAgent XMLEnvelopeHeader Transport SAMLAssertion Note: Variable type names are case-sensitive and must not contain spaces. Return Value The GetVariableType method returns one of the following values: PolicyMgtVariableType (object) undef if the call is unsuccessful
Session Methods
Remarks You cannot create a TransactionMinder variable with the Command Line Interface. If you have TransactionMinder and the Option Pack installed, you can create TransactionMinder variables in the Administrative UI.
Parameters The RemoveAttributeFromSAMLScheme method accepts the following parameters: scheme (PolicyMgtAuthScheme object) Specifies the SAML 2.0 authentication scheme from which to remove the attribute. pSAMLRequesterAttribute (string) Specifies the attribute to remove. Return Value The RemoveAttributeFromSAMLScheme method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Session Methods
Parameters The SAMLAuthSchemeProperties method accepts the following parameters: scheme (PolicyMgtAuthScheme object) Specifies the authentication scheme whose metadata properties are set or retrieved. propsHash_ref (hash) Specifies a reference to a hashtable of metadata properties to set or retrieve. Return Value The SAMLAuthSchemeProperties method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful. Remarks When the hashtable is empty, the SAMLAuthSchemeProperties method retrieves all metadata properties. You can define an empty hashtable as follows:
%myhash=();
Finally, you can pass the hashtable reference to the SAMLAuthSchemeProperties method through the propsHash_ref parameter.
Session Methods
Parameters The WSFEDAuthSchemeProperties method accepts the following parameters: scheme (PolicyMgtAuthScheme object) Specifies the authentication scheme whose WS-Federation metadata properties are set or retrieved. propsHash_ref (hash) Specifies a reference to a hashtable of metadata properties to set or retrieve. Return Value The WSFEDAuthSchemeProperties method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful. Remarks When the hashtable is empty, the WSFEDAuthSchemeProperties method retrieves all metadata properties. You can define an empty hashtable as follows:
%myhash=();
Finally, you can pass the hashtable reference to the WSFEDAuthSchemeProperties method through the propsHash_ref parameter.
Parameters The Enabled method accepts the following parameter: enableFlag (int) (Optional) Specifies a new value for the enabled flag. value = 1 Specifies enabling the shared secret rollover policy. value = 0 Specifies disabling the shared secret rollover policy. Return Value The Enabled method returns the new or existing value for the enabled flag: value = 1 Specifies that the shared secret rollover policy is enabled. value = 0 Specifies that the shared secret rollover policy is disabled.
Remarks If the shared secret rollover policy is enabled, rollover must also be enabled for any trusted host whose shared secret needs to be synchronized with the rollover policy's shared secret. To enable rollover for a trusted host object, call the method PolicyMgtTrustedHost->RolloverEnabled.
Parameters The RolloverFrequency method accepts the following parameter: rollFreq (int) (Optional) Specifies a new value for the rollover frequency. Range: rollFreq >= 1 Return Value The RolloverFrequency method returns the following value: rollover_frequency (int) Specifies the new or existing value for the rollover frequency.
Parameters The RolloverPeriod method accepts the following parameter: rollPeriod (int) (Optional) Specifies a new value for the rollover period. value = 0 Specifies that the rollover period is hourly. value = 1 Specifies that the rollover period is daily. value = 2 Specifies that the rollover period is weekly. value = 3 Specifies that the rollover period is monthly. Return Value The RolloverPeriod method returns one of the following values: rollover_period (int) Specifies the new or existing value for the rollover period. Range: 0-3 value = -1 Specifies that the return value is not in the 0-3 range.
Parameters The Save method accepts no parameters. Return Value The Save method returns one of the following values: value = 0 Specifies that the call is successful. value = -1 Specifies that the call is unsuccessful.
Parameters The GetDescription method accepts no parameters. Return Value The GetDescription method returns the following value: trusted_host_description
Parameters The GetIPAddress method accepts no parameters. Return Value The GetIPAddress method returns the following value: trusted_host_ip_address
Parameters The GetName method accepts no parameters. Return Value The GetName method returns the following value: trusted_host_name
Parameters The GetSecret method accepts no parameters. Return Value The GetSecret method returns one of the following values: trusted_host_shared_secret undef if the call is unsuccessful
Parameters The RolloverEnabled method accepts the following parameter: rolloverEnabled (int) (Optional) Specifies a new value for the shared secret rollover flag. value = 1 Specifies that shared secret rollover is enabled for this trusted host. value = 0 Specifies that shared secret rollover is not enabled for this trusted host. Return Value The RolloverEnabled method returns the new or existing value for the shared secret rollover flag: value = 1 Specifies that shared secret rollover is enabled for this trusted host. value = 0 Specifies that shared secret rollover is not enabled for this trusted host. undef Specifies that the call is unsuccessful. Remarks If shared secret rollover is enabled for this trusted host, it must also be enabled in the PolicyMgtSharedSecretPolicy object in the policy store domain where the trusted host is registered. If shared secret rollover is not enabled in this object, call the method PolicyMgtSharedSecretPolicy->Enabled to enable it.
Parameters The SetSecret method accepts the following parameter: sharedSecret (string) (Optional) Specifies the shared secret to set for the trusted host. Note: If no shared secret is specified, SiteMinder generates a random 128-byte ASCII shared secret for the trusted host. Return Value The SetSecret method returns one of the following values: shared_secret (string) Specifies the new shared secret for the trusted host. "" (empty string) Specifies that the call is unsuccessful. Remarks When you use this method to set the shared secret, you must also run the SiteMinder tool smreghost to define the new shared secret in the host configuration file. (The host configuration file is named SmHost.conf by default.) Run smreghost with the -sh option. For more information, see the method PolicyMgtSession->AddTrustedHost (see page 427). Note: You can schedule shared secret rollovers, so that they happen automatically. For more information about this feature, see the Policy Server Configuration Guide.
User Methods
User Methods
The following methods act on PolicyMgtUser objects: DisableByAdmin MethodSets or Retrieves Disabled-by-Administrator Flag DisableInactive MethodSets or Retrieves Disabled-by-Inactivity Flag DisableMaxLoginFail MethodSets or Retrieves Disabled-by-Max-Login-Failure Flag DisablePwdExpired MethodSets or Retrieves Disabled-by-Password-Expired Flag ForcePwdChange MethodSets or Retrieves Force-Password-Change Flag GetClass MethodRetrieves User Class GetPath MethodRetrieves User Path SetPassword MethodSets a New Password UserPasswordState MethodSets or Retrieves Password State Object ValidatePassword MethodValidates Password
Parameters The DisableByAdmin method accepts the following parameter: disableFlag (int) (Optional) Specifies a new value for the disabled-by-administrator flag. value = 1 Specifies that the user account is disabled by the administrator. value = 0 Specifies that the user account is not disabled by the administrator. Note: The user account can be disabled for other reasons. For more information, see Remarks.
User Methods
Return Value The DisableByAdmin method returns the new or existing value for the disabled-by-administrator flag: value = 1 Specifies that the user account is disabled by the administrator. value = 0 Specifies that the user account is not disabled by the administrator. Note: The user account can be disabled for other reasons. For more information, see Remarks. value = -1 Specifies that the call is unsuccessful. Remarks User accounts can be disabled for one or more of the following reasons: The administrator disabled the user account. Account inactivity exceeded the time allowed. For more information, see the method PolicyMgtUser->DisableInactive (see page 515). The number of login failures exceeded the maximum allowed. For more information, see the method PolicyMgtUser->DisableMaxLoginFail (see page 517). The password expired. For more information, see the method PolicyMgtUser->DisablePwdExpired (see page 518).
User Methods
Parameters The DisableInactive method accepts the following parameter: disableFlag (int) (Optional) Specifies a new value for the disabled-by-inactivity flag. value = 1
Specifies that the user account is not disabled because of inactivity. Note: The user account can be disabled for other reasons. For more information, see Remarks. Return Value The DisableInactive method returns the new or existing value for the disabled-by-inactivity flag: value = 1 Specifies that the user account is disabled because of inactivity. value = 0 Specifies that the user account is not disabled because of inactivity. Note: The user account can be disabled for other reasons. For more information, see Remarks. value = -1 Specifies that the call is unsuccessful. Remarks User accounts can be disabled for one or more of the following reasons: The administrator disabled the user account. For more information, see the method PolicyMgtUser->DisableByAdmin (see page 514). Account inactivity exceeded the time allowed. The number of login failures exceeded the maximum allowed. For more information, see the method PolicyMgtUser->DisableMaxLoginFail (see page 517). The password expired. For more information, see the method PolicyMgtUser->DisablePwdExpired (see page 518).
User Methods
Parameters The DisableMaxLoginFail method accepts the following parameter: disableFlag (int) (Optional) Specifies a new value for the disabled-by-max-login-failure flag. value = 1 Specifies that the user account is disabled because the number of login failures exceeded the maximum allowed. value = 0 Specifies that the user account is not disabled because the number of login failures exceeded the maximum allowed. Note: The user account can be disabled for other reasons. For more information, see Remarks. Return Value The DisableMaxLoginFail method returns the new or existing value for the disabled-by-max-login-failure flag: value = 1 Specifies that the user account is disabled because the number of login failures exceeded the maximum allowed. value = 0 Specifies that the user account is not disabled because the number of login failures exceeded the maximum allowed. Note: The user account can be disabled for other reasons. For more information, see Remarks. value = -1 Specifies that the call is unsuccessful.
User Methods
Remarks User accounts can be disabled for one or more of the following reasons: The administrator disabled the user account. For more information, see the method PolicyMgtUser->DisableByAdmin (see page 514). Account inactivity exceeded the time allowed. For more information, see the method PolicyMgtUser->DisableInactive (see page 515). The number of login failures exceeded the maximum allowed. The password expired. For more information, see the method PolicyMgtUser->DisablePwdExpired (see page 518).
Parameters The DisablePwdExpired method accepts the following parameter: disableFlag (int) (Optional) Specifies a new value for the disabled-by-password-expired flag. value = 1 Specifies that the user account is disabled because the password expired. value = 0 Specifies that the user account is not disabled because the password expired. Note: The user account can be disabled for other reasons. For more information, see Remarks.
User Methods
Return Value The DisablePwdExpired method returns the new or existing value for the disabled-by-password-expired flag: value = 1 Specifies that the user account is disabled because the password expired. value = 0 Specifies that the user account is not disabled because the password expired. Note: The user account can be disabled for other reasons. For more information, see Remarks. value = -1 Specifies that the call is unsuccessful. Remarks User accounts can be disabled for one or more of the following reasons: The administrator disabled the user account. For more information, see the method PolicyMgtUser->DisableByAdmin (see page 514). Account inactivity exceeded the time allowed. For more information, see the method PolicyMgtUser->DisableInactive (see page 515). The number of login failures exceeded the maximum allowed. For more information, see the method PolicyMgtUser->DisableMaxLoginFail (see page 517). The password expired.
User Methods
Parameters The ForcePwdChange method accepts the following parameter: forceFlag (int) (Optional) Specifies whether to force a password change at the next user login. value = 1 Specifies forcing a password change at the next user login. value = 0 Specifies not forcing a password change at the next user login. Return Value The ForcePwdChange method returns the new or existing value for the force-password-change flag. value = 1 Specifies forcing a password change at the next user login. value = 0 Specifies not forcing a password change at the next user login. value = -1 Specifies that the call is unsuccessful.
User Methods
Return Value The GetClass method returns one of the following values: user_class Example: "organization" undef if the call is unsuccessful
Parameters The GetPath method accepts no parameters. Return Value The GetPath method returns one of the following values: user_path Specifies the user path or distinguished name (DN). undef Specifies that the call is unsuccessful.
User Methods
Parameters The SetPassword method accepts the following parameters: newPwd (string) Specifies the new password. oldPwd (string) (Optional) Specifies the old password to change. Note: If provided, this value must match the existing password in the user directory. Return Value The SetPassword method returns one of the following values: value = 0 Specifies that the password change is successful. value = -1 Specifies that the password change is unsuccessful.
Parameters The UserPasswordState method accepts the following parameters: pPwState (PolicyMgtUserPasswordState) (Optional) Specifies the new password state object to set. emptyHistoryFlag (int) (Optional) Specifies whether to clear the password history. value = 0 (default) Specifies not clearing the password history.
User Methods
value = 1 Specifies clearing the password history. Note: Clearing the password history sets the last-password-change-time attribute to 0. For more information, see the method PolicyMgtUserPasswordState->LastPWChangeTime (see page 545).
Return Value The UserPasswordState method returns one of the following values: PolicyMgtUserPasswordState (object) undef if the call is unsuccessful
Parameters The ValidatePassword method accepts the following parameters: password (string) Specifies the password to validate. Return Value The ValidatePassword method returns one of the following values: value = 0 Specifies that the password is valid. value = -1 Specifies that the password is not valid.
Parameters The AnonymousIDAttr method accepts the following parameter: anonIDAttr (string)
\
(Optional) Specifies a new name for the anonymous user DN attribute. Return Value The AnonymousIDAttr method returns one of the following values: anonymous_user_dn_attribute_name (string) Specifies the new or existing name of the anonymous user DN attribute. undef Specifies that the call is unsuccessful.
Parameters The ChalRespAttr method accepts the following parameter: chalRespAttr (string) (Optional) Specifies a new name for the user directory's challenge/response attribute. Return Value The ChalRespAttr method returns one of the following values: challenge_response_attribute_name (string) Specifies the new or existing name of the user directory's challenge/response attribute. undef Specifies that the call is unsuccessful.
Parameters The Description method accepts the following parameter: userDirDesc (string) (Optional) Specifies a new description for the user directory. Return Value The Description method returns one of the following values: user_directory_description (string) Specifies the new or existing description of the user directory. "" (empty string) Specifies that the call is unsuccessful.
Parameters The DisabledAttr method accepts the following parameter: disabledAttr (string) (Optional) Specifies a new name for the user directory attribute that contains the user's disabled state. Return Value The DisabledAttr method returns one of the following values: disabled_attribute_name (string) Specifies the new or existing name of the user directory attribute that contains the user's disabled state. undef Specifies that the call is unsuccessful.
Parameters The EmailAttr method accepts the following parameter: emailAttr (string) (Optional) Specifies a new name for the email attribute. Return Value The EmailAttr method returns one of the following values: email_attribute_name (string) Specifies the new or existing name of the email attribute. undef Specifies that the call is unsuccessful.
Parameters The EnableSecurityContext method accepts the following parameter: securityctxflag (int) (Optional) Specifies a new value for the user directory's security context flag : value = 1 (enabled) value = 0 (disabled)
Return Value The EnableSecurityContext method returns the new or existing value for the security context flag: value = 1 Specifies that security context is enabled. value = 0 Specifies that security context is disabled. Sm_PolicyApi_Failure Specifies that the call is unsuccessful.
Parameters The GetContents method accepts no parameters. Return Value The GetContents method returns one of the following values: PolicyMgtUser (array) undef if the call is unsuccessful
Parameters The GetNamespace method accepts no parameters. Return Value The GetNamespace method returns one of the following values: user_directory_namespace undef if the call is unsuccessful
Parameters The IsSecure method accepts the following parameter: secureFlag (int) (Optional) Specifies whether SiteMinder performs secure authentication: value = 1 (secure authentication is enabled) value = 0 (secure authentication is disabled)
Return Value The IsSecure method returns the new or existing value for the secure authentication flag: value = 1 Specifies that secure authentication is enabled. value = 0 Specifies that secure authentication is disabled. value = -1 Specifies that the call is unsuccessful.
Parameters The LookupEntry method accepts the following parameter: srchPattern (string) Specifies the pattern to match when searching for users in the user directory. Return Value The LookupEntry method returns one of the following values: PolicyMgtUser (array) undef if the call is unsuccessful
Parameters The MaxResults method accepts the following parameter: nResults (int) (Optional) Specifies a new number for the maximum results to return from a user directory search.
Return Value The MaxResults method returns one of the following values: maximum_results (int) Specifies the new or existing maximum number of results to return from a user directory search. value = -1 Specifies that the call is unsuccessful.
Parameters The Name method accepts the following parameter: userDirName (string) (Optional) Specifies a new name for the user directory. Return Value The Name method returns one of the following values: user_directory_name (string) Specifies the new or existing name of the user directory. undef Specifies that the call is unsuccessful.
Parameters The ODBCQueryScheme method accepts the following parameters: odbcScheme (PolicyMgtODBCQueryScheme) (Optional) Specifies a new ODBC query scheme for the user directory. Return Value The ODBCQueryScheme method returns one of the following values: odbcScheme (PolicyMgtODBCQueryScheme) undef if no scheme exists or the call is unsuccessful
Parameters The Password method accepts the following parameter: pwd (string) (Optional) Specifies a new user password for access to the user directory.
Return Value The Password method returns one of the following values: password (string) Specifies the new or existing user password. undef Specifies that the call is unsuccessful.
Parameters The PwdAttr method accepts the following parameter: pwdAttr (string) (Optional) Specifies a new name for the user directory's password attribute. Return Value The PwdAttr method returns one of the following values: password_attribute_name (string) Specifies the new or existing name of the user directory's password attribute. undef Specifies that the call is unsuccessful.
Parameters The PwdDataAttr method accepts the following parameter: pwdDataAttr (string) (Optional) Specifies a new name for the user directory's password data attribute. Return Value The PwdDataAttr method returns one of the following values: password_data_attribute_name (string) Specifies the new or existing name of the user directory's password data attribute. undef Specifies that the call is unsuccessful.
Parameters The RequireCredentials method accepts the following parameter: credFlag (int) (Optional) Specifies whether SiteMinder is required to check user credentials: value = 1 (credentials required) value = 0 (credentials are not required)
Return Value The RequireCredentials method returns the new or existing value for the require credentials flag: value = 1 Specifies that credentials are required. value = 0 Specifies that credentials are not required. value = -1 Specifies that the call is unsuccessful.
Parameters The SearchRoot method accepts the following parameter: srchRoot (string) Specifies a new search root for an LDAP directory or parameter string for a custom directory. Return Value The SearchRoot method returns one of the following values: search_root (string) Specifies the new or existing search root for an LDAP directory or parameter string for a custom directory. undef Specifies that the call is unsuccessful.
Parameters The SearchScope method accepts the following parameter: searchScope (int) (Optional) Specifies a new search scope for an LDAP user directory: USERDIR_SCOPE_SUBTREE Specifies searching the root and all levels below. USERDIR_SCOPE_ONELEVEL Specifies searching the root and one level below.
Return Value The SearchScope method returns one of the following new or existing values: USERDIR_SCOPE_SUBTREE Specifies searching the root and all levels below. USERDIR_SCOPE_ONELEVEL Specifies searching the root and one level below. value = -1 Specifies that the call is unsuccessful.
Parameters The SearchTimeout method accepts the following parameter: maxTimeout (int) (Optional) Specifies a new maximum time (in seconds) allowed for searching an LDAP or custom user directory. Return Value The SearchTimeout method returns one of the following values: maximum_time_allowed (int) Specifies the new or existing maximum time (in seconds) allowed for searching an LDAP or custom user directory. value = -1 Specifies that the call is unsuccessful.
Parameters The Server method accepts the following parameter: server (string) (Optional) Specifies a new value for one of the following types of directories: LDAP and AD Directories Specifies a new IP address and port number for the LDAP server. Format: IP_address:port_number Default port number: 389 ODBC Directories Specifies a new data source name. WinNT Directories Specifies a new domain name. Custom Directories Specifies a new library name.
Return Value The Server method returns one of the following values: value (string) Specifies the new or existing value for the user directory. undef Specifies that the call is unsuccessful.
Parameters The UIDAttr method accepts the following parameter: uidAttr (string) (Optional) Specifies a new name for the universal ID attribute. Return Value The UIDAttr method returns one of the following values: uid_attribute_name (string) Specifies the new or existing name of the universal ID attribute. undef Specifies that the call is unsuccessful.
Parameters The UserLookupEnd method accepts the following parameter: lookupEnd (string) (Optional) Specifies a new value for the user DN lookup endpoint. Return Value The UserLookupEnd method returns one of the following values: user_dn_lookup_endpoint (string) Specifies the new or existing user DN lookup endpoint. undef Specifies that the call is unsuccessful. Remarks Specifying values for the user DN lookup starting point and endpoint allows users to enter part of the DN string when authenticating. In the following example, the user only needs to specify the string "JSmith" and not the whole DN string when logging in: DN = "uid=JSmith,ou=marketing,o=myorg.org" starting_point = "uid=" endpoint = ",ou=marketing,o=myorg.org" login = "JSmith"
Parameters The UserLookupStart method accepts the following parameter: lookupStart (string) (Optional) Specifies a new value for the user DN lookup starting point. Return Value The UserLookupStart method returns one of the following values: user_dn_lookup_starting_point (string) Specifies the new or existing user DN lookup starting point. undef Specifies that the call is unsuccessful. Remarks Specifying values for the user DN lookup starting point and endpoint allows users to enter part of the DN string when authenticating. In the following example, the user only needs to specify the string "JSmith" and not the whole DN string when logging in: DN = "uid=JSmith,ou=marketing,o=myorg.org" starting_point = "uid=" endpoint = ",ou=marketing,o=myorg.org" login = "JSmith"
Parameters The Username method accepts the following parameters: username (string) (Optional) Specifies a new name for the user. Return Value The Username method returns one of the following values: user_name (string) Specifies the new or existing name of the user. undef Specifies that the call is unsuccessful.
Parameters The ValidateEntry method accepts the following parameter: path (string) Specifies the path of the user or user group to validate.
Return Value The ValidateEntry method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Parameters The DisabledTime method accepts the following parameter: time (long) (Optional) Specifies a new time for when the user object was disabled.
Return Value The DisabledTime method returns the following value: time (long) Specifies the new or existing time that the user object was disabled.
Parameters The LastPWChangeTime method accepts the following parameter: time (long) Specifies a new time for when the user's password was last changed. Return Value The LastPWChangeTime method returns one of the following values: time (long) Specifies the new or existing time that the user's password was changed. value = 0 Specifies that the user started to change the password, but did not complete the procedure.
Parameters The LastLoginTime method accepts the following parameter: time (long) (Optional) Specifies a new time for when the user last logged in successfully. Return Value The LastLoginTime method returns the following value: time (long) Specifies the new or existing time that the user last logged in successfully.
Parameters The LoginFailures method accepts the following parameter: count (int) (Optional) Specifies a new value for the number of login failures.
Variables Methods
Return Value The LoginFailures method returns one of the following values: count (int) Specifies the new or existing number of login failures since the user's last successful login.
Variables Methods
The following methods act on PolicyMgtVariable objects: Definition MethodSets or Retrieves Variable Object's Definition Description MethodSets or Retrieves Variable Object's Description GetName MethodRetrieves Variable Name GetReturnType MethodRetrieves Data Type of Variable Value GetVariableType MethodRetrieves Variable Type Object MetaData MethodSets or Retrieves MetaData for TransactionMinder NestedVariables MethodSets or Retrieves Nested Variables
Parameters The Definition method accepts the following parameter: definition (string) (Optional) Specifies a new definition for the variable object.
Variables Methods
Return Value The Definition method returns one of the following values: definition (string) Specifies the variable object's new or existing definition. undef Specifies that the call is unsuccessful.
Parameters The Description method accepts the following parameter: varDesc (string) (Optional) Specifies a new description for the variable object. Return Value The Description method returns one of the following values: description (string) Specifies the variable object's new or existing description. undef Specifies that the call is unsuccessful.
Variables Methods
Parameters The GetName method accepts no parameters. Return Value The GetName method returns one of the following values: variable_name (string) undef if the call is unsuccessful
Parameters The GetReturnType method accepts no parameters. Return Value The GetReturnType method returns one of the following values: VAR_RETTYPE_BOOLEAN (value = 1) VAR_RETTYPE_NUMBER ( value = 2) VAR_RETTYPE_STRING (value = 3) VAR_RETTYPE_DATE (value = 4) undef if the call is unsuccessful
Note: For more information about these data types, see the method PolicyMgtDomain->CreateVariable.
Variables Methods
Parameters The GetVariableType method accepts no parameters. Return Value The GetVariableType method returns one of the following values: PolicyMgtVariableType (object) undef if the call is unsuccessful
Parameters The MetaData method accepts the following parameter: data (string) (Optional) Specifies new metadata for the TransactionMinder product.
Variables Methods
Return Value The MetaData method returns one of the following values: data (string) Specifies the new or existing metadata for the TransactionMinder product. undef Specifies that the call is unsuccessful.
Parameters The NestedVariables method accepts the following parameter: nestedVars (PolicyMgtVariable array) (Optional) Specifies an array of nested variables to set for the variable object. Example: \@myarray Return Value The NestedVariables method returns one of the following values: nestedVars (PolicyMgtVariable array) Specifies the new or existing array of nested variables. undef Specifies that the call is unsuccessful.
Parameters The GetDescription method accepts no parameters. Return Value The GetDescription method returns one of the following values: variable_type_object_description (string) "" (empty string) if the call is unsuccessful
Return Value The GetName method returns one of the following values: variable_type_object_name (string) undef if the call is unsuccessful
Parameters The AddAttribute method accepts the following parameters: attrNameFormat (int) Specifies one of the following attribute types: WSFEDRP_EMAILADDRESS WSFEDRP_UPN WSFEDRP_COMMON WSFEDRP_GROUP WSFEDRP_NAMEVALUE
value (string) Specifies an attribute value in one of the following formats: Static: variableName = value Note: The value's format must match the attribute's type, unless the type is WSFEDRP_NAMEVALUE. In this case, the value can be in any format. User Attribute: variableName = <%userattr="AttrName"%> DN Attribute: variableName = <#dn="DNSpec" attr="AttrName"#> Note: To allow SiteMinder to retrieve DN attributes from a nested group, preface DNSpec with an exclamation point (!), as follows: dn="!ou=People,o=security.com" Active Response
Return Value The AddAttribute method returns one of the following values: PolicyMgtWSFEDRPAttr (object) undef if the call is unsuccessful
Parameters The AddUser method accepts the following parameter: user (PolicyMgtUser object) Specifies the user to add to the Resource Partner. Return Value The AddUser method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Parameters The CreateIPConfigHostName method accepts the following parameter: hostName (string) Specifies the name of the host where assertions must originate. Return Value The CreateIPConfigHostName method returns one of the following values: PolicyMgtIPConfig (object) undef if the call is unsuccessful
Parameters The CreateIPConfigSingleHost method accepts the following parameter: ipAddr (string) Specifies the IP address where assertions must originate. Return Value The CreateIPConfigSingleHost method returns one of the following values: PolicyMgtIPConfig (object) undef if the call is unsuccessful
Parameters The CreateIPConfigSubnetMask method accepts the following parameters: ipAddr (string) Specifies the IP address used to derive the subnet address. subnetMask (unsigned long) Specifies the subnet mask used to derive the subnet address. Note: For more information about the subnet mask, see the method PolicyMgtPolicy->CreateIPConfigSubnetMask (see page 352). Return Value The CreateIPConfigSubnetMask method returns one of the following values: PolicyMgtIPConfig (object) undef if the call is unsuccessful
Parameters The DeleteIPConfig method accepts the following parameter: IPConfig (PolicyMgtIPConfig object) Specifies the IP configuration object to delete. Return Value The DeleteIPConfig method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Parameters The GetAllAttributes method accepts no parameters. Return Value The GetAllAttributes method returns one of the following values: PolicyMgtWSFEDRPAttr (array) undef if the call is unsuccessful
Parameters The GetAllIPConfigs method accepts no parameters. Return Value The GetAllIPConfigs method returns one of the following values: PolicyMgtIPConfig (array) undef if no IP configuration objects are found
Parameters The GetAllUsers method accepts the following parameter: userDir (PolicyMgtUserDir object) (Optional) Specifies only those users associated with the user directory. Return Value The GetAllUsers method returns one of the following values: PolicyMgtUser (array) undef if no users are found or an error occurs
Parameters The Property method accepts the following parameters: name (string) Specifies the property to set or retrieve. newvalue (string) (Optional) Specifies a new value for the Resource Partner property. Return Value The Property method returns one of the following values: value Specifies the new or existing value of the property. undef Specifies that the call is unsuccessful.
Parameters The RemoveUser method accepts the following parameter: user (PolicyMgtUser object) Specifies the user to remove from the Resource Partner. Return Value The RemoveUser method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful.
Parameters The Save method accepts no parameters. Return Value The Save method returns one of the following values: value = 0 Specifies that the method is successful. value = -1 Specifies that the method is unsuccessful. value = -4 Specifies that the user lacks the privileges required to save the changes. value = -10 Specifies that the path and class are empty.
Parameters The GetAttrNameFormat method accepts no parameters. Return Value The GetAttrNameFormat method returns one of the following format values: WSFEDRP_EMAILADDRESS (value = 0) WSFEDRP_UPN (value = 1) WSFEDRP_COMMON (value = 2) WSFEDRP_GROUP (value = 3) WSFEDRP_NAMEVALUE (value = 4)
Parameters The GetValue method accepts no parameters. Return Value The GetValue method returns one of the following values: attribute_value undef if the call is unsuccessful
Initialize a Session
When you create a session, a number of session initialization flags are set to their default values. The following table lists the initialization methods in the PolicyMgtAPI object and their default values:
Method DisableAudit()
Description Enables or disables: Auditing of user activity, including authentication, authorization, and administration activities. (Administration activities include changes to the policy store.) Monitoring of user sessions.
Initialize a Session
Default 0 (Watchdog enabled) 0 (Validation enabled) 0 (Pre-load dictionary disabled) 0 (Pre-load cache disabled)
Description Enables or disables the SiteMinder management watchdog. The watchdog is used internally and should not be disabled. Enables or disables validation of policy store objects.
Disable Validation()
LoadAgentType Dictionary()
PreLoadCache()
Note: These methods have no effect if called after CreateSession(). Example: Initialize session operations The following example enables all the session initialization operations that are not enabled by default. If the session is successfully initialized, the script displays the initialization flags:
use Netegrity::PolicyMgtAPI; $username = "adminid"; $password = "adminpwd"; print "\nInitializing and connecting to PolicyMgtAPI...\n"; $policyapi = Netegrity::PolicyMgtAPI->New(); $policyapi->PreLoadCache(1); $policyapi->LoadAgentTypeDictionary(1); die "ERROR: Couldn't create session\n" unless ($session != undef); print "Initialization settings:\n"; print " Preload cache flag: ".$policyapi->PreLoadCache()."\n"; print " Disable validation flag: " . $policyapi->DisableValidation()."\n"; print " Load agent type dictionary flag: " . $policyapi->LoadAgentTypeDictionary()."\n"; print " Disable audit flag: ".$policyapi->DisableAudit()."\n"; print " Disable watchdog flag: " . $policyapi->DisableManagementWatchDog()."\n";
Note: This example creates a v4.x agent. To create a v5.x or v6.x agent, do not specify a shared secret.
In the following example, each user directory is checked for its Maximum Results propertythat is, the value that specifies the maximum number of search results to return after a directory search. If the retrieved number is not 25, the script sets the property to 25:
use Netegrity::PolicyMgtAPI; $policyapi = Netegrity::PolicyMgtAPI->New(); $session = $policyapi->CreateSession("adminid", "adminpwd"); $max="25"; @userdirs=$session->GetAllUserDirs(); foreach $userdir(@userdirs) { print "\nMax results for directory " . $userdir->Name()."\n"; if ($userdir->MaxResults() != $max) { print " Updating from " . $userdir->MaxResults()." to " . $max . "\n"; $userdir->MaxResults($max); } else { print " Max results are correct.\n"; } }
Example: Add objects to a policy In the following example, the policy is configured with a user, rule and response:
use Netegrity::PolicyMgtAPI; $policyapi = Netegrity::PolicyMgtAPI->New(); $session = $policyapi->CreateSession("adminid", "adminpwd"); $domain=$session->GetDomain("engineering"); $policy=$domain->GetPolicy("Payroll Policy"); # Add a user to the policy $userdir=$session->GetUserDir("Acme North Directory"); @users=$userdir->LookupEntry("uid=ppaycheck"); foreach $user(@users) { if ($user->GetPath()=="uid=ppaycheck,ou=HR,o=security.com") { $userResult=$policy->AddUser($user); $thisUser=$user; } } if ($userResult != 0) { print "Error adding user to policy.\n"; } # Add a rule to the policy $realm=$domain->GetRealm("HR"); $rule=$realm->GetRule("Payroll Rule"); $ruleResult=$policy->AddRule($rule); if ($ruleResult != 0) { print "Error adding rule to policy.\n"; } else { # Set a response for the rule $response=$domain->GetResponse("Welcome to Payroll"); $respResult=$policy->SetResponse($rule,$response); if ($respResult != 0) { print "Error adding response to policy.\n" } } print "\nAdded these objects to the policy:\n"; print " User DN: ".$thisUser->GetPath()."\n" unless $userResult!=0; print " Rule: ".$rule->Name()."\n" unless $ruleResult!=0; print " Response: ".$response->Name()."\n" unless $respResult!=0;
The following table compares policy, response, and rule objects when they have domain scope and global scope:
Object Policy
Domain Scope Bound to specific users or groups of users. Individual users can be included in or excluded from the policy.
Global Scope Bound to all users. Users cannot be individually included or excluded.
Uses domain-specific rules and Uses only global rules and rule groups, domain-specific global responses. responses and response groups, and global responses. Can use variable expressions. Response Used in a domain-specific policies. Cannot use variable expressions. Used in global or domain-specific policies.
Object
Domain Scope Can be a member of a domain-specific response group. Can use variables-based attributes.
Global Scope Can be a member of a domain-specific response group. Global response groups are not supported. Cannot use variables-based attributes. Used in global policies. Associated with a specific agent or agent group. The agent or agent group is specified when the global rule is created.
Rule
The resource filter is bound to The resource filter is absolute a specific realm (realm filter (that is, not bound to a realm). plus rule filter). Fires only for resources defined within a specific domain. Can be defined as an access rule or an event rule. Can be a member of a domain-specific rule group. Fires for resources defined within any domain that has global policy processing enabled. Can be defined as an event rule only (authentication and authorization events). Can be a member of a domain-specific rule group. Global rule groups are not supported. Created by system administrators at the system level.
All
Authorization Variables
Authorization Variables
An authorization variable is a dynamic object that is resolved to a value during an authorization request. The variables appear within an active expression defined for a policy or a response. Authorization variables are used as follows: With policies, variables are used as authorization constraints. When a user requests access to a resource, and the resource contains an active expression that includes one or more variables, the variables are resolved to values that pertain to the user. The values are then evaluated and used in the decision about whether to authorize the user. For example, suppose a policy that protects a banks credit card application form contains an active expression with a Credit Rating variable and a Salary variable. When a user attempts to access the form, the user is authorized only if his credit rating and salary meet or exceed the minimum values for these variables. With responses, variables are used as return values. For example, a response attribute might be configured to return a transactions tracking number obtained from a remote Web Service.
To use authorization variables, you must have the SiteMinder Option Pack installed.
Authorization Variables
The variable value depends upon which of the following attribute names appears within the ItemName element: Action. The variable value is the type of action specified in the request (for example, GET or POST). Resource. The variable value is the target resource (for example, /directory_name/). Server. The variable value is the full server name specified in the request (for example, server.company.com).
Static The definition argument contains the actual value that will be compared against the user-supplied data at runtime. For example, a Static variable of return type VAR_RETTYPE_DATE might be assigned the string value 2004-01-01. During authorization, this assigned date is compared to a user-supplied date.
UserContext The definition argument contains some or all of the following XML code:
<UserContextVariableDef> <ItemName></ItemName> <PropertyName></PropertyName> <DN></DN> <BufferSize></BufferSize> </UserContextVariableDef>
The variable value is based on an attribute of a user directory connection (such as session ID) or on the contents of the user directory (such as user name). The name of the attribute upon which the variable value is based appears in the XML element ItemName. The elements PropertyName, DN, and BufferSize are only used as follows: When ItemName contains DirectoryEntryProperty, elements PropertyName, DN, and BufferSize are used. When ItemName contains UserProperty, elements PropertyName and BufferSize are used.
For a complete list of the valid ItemName values, see the description of CreateVariable() in the Policy Management API Reference (PolicyMgtAPI.htm).
Authorization Variables
WebService The definition argument contains the following basic XML structure:
<WebServiceVariableDefn xmlns:NeteWS= "http://www.netegrity.com/2003/SM6.0";> <NeteWS:RemoteURL></NeteWS:RemoteURL> <NeteWS:SSL/> <NeteWS:RemoteMethod></NeteWS:RemoteMethod> <NeteWS:ResultQuery></NeteWS:ResultQuery> <NeteWS:AuthCredentials> <NeteWS:Username></NeteWS:Username> <NeteWS:Password></NeteWS:Password> <NeteWS:Hash></NeteWS:Hash> </NeteWS:AuthCredentials> <NeteWS:Document> <SOAP:Envelope xmlns:SOAP= "http://schemas.xmlsoap.org/soap/envelope/";> <SOAP:Header></SOAP:Header> <SOAP:Body></SOAP:Body> </SOAP:Envelope> </NeteWS:Document> </WebServiceVariableDefn>
To retrieve a variable value from a Web Service, the Policy Server sends the Web Service a SOAP request document as specified in the definition argument, and then extracts the variable value from the SOAP response. The following table describes the XML elements used to configure a WebService variable:
Description The URL to the Web Service that will resolve the WebService variable. Specifies that the connection between the Policy Server and the Web Service should use SSL. Set this element to POST. The return query, in XPath format. The Policy Server uses this information to search for the variables value in the SOAP response document.
Authorization Variables
Element AuthCredentials
Description Optionally, specify the users Web Service credentials through the following elements: Username Password (use either a SHA-1 password digest or a clear-text password)
Optionally, use the Hash element to specify that a hash of the password is to be included in the WS-Security password. Document Optionally, use this element to define a SOAP header and/or SOAP body through the following elements: Envelope. The SOAP namespace is: http://schemas.xmlsoap.org/soap/envelope Header. A user-defined SOAP header. A WS-Security header is automatically added to it if the users Web Service credentials are specified. Body. A user-defined SOAP body.
Nested variables of type RequestContext, UserContext, Post, and Static can be used inside the header and body. Their values are resolved and substituted before the request document is sent to the remote Web Service. Specify a nested variable as follows: $variable-name$
Note: The XML element structures shown above are formatted for legibility. The XML string supplied through the definition argument should not be formatted with spaces, tabs, and return characters. For example, a RequestContext variable for a Resource attribute would be passed in definition as follows:
<RequestContextVariableDef><ItemName>Resource</ItemName></RequestContextVariableDef>
The following information is required in a call to CreateVariable(): The user-defined variable name. The variable typefor example, Static or ResourceContext.
Authorization Variables
The variable definition. The data type of the variable value. Valid data type values are: VAR_RETTYPE_BOOLEAN VAR_RETTYPE_NUMBER VAR_RETTYPE_STRING VAR_RETTYPE_DATE
If you have both the optional TransactionMinder product and the Option Pack installed, you can use the following types of variables: SAMLAssertion Transport XMLAgent XMLBody XMLEnvironment
You cannot create variables of these types with the Command Line Interface. You can only do so using the Administrative UI. Example: Create a ResourceContext Variable The following example creates the variable MyVar as a ResourceContext variable. The variable value is the resource that is being protected (for example, /directory_name/):
use Netegrity::PolicyMgtAPI; $pmgtapi=Netegrity::PolicyMgtAPI->New(); $session=$pmgtapi->CreateSession("adminid", "adminpwd"); $dom=$session->GetDomain("MyDomain"); $varName="MyVar"; $varType=$session->GetVariableType("RequestContext"); $varDef="<RequestContextVariableDef><ItemName>Resource</ItemName> </RequestContextVariableDef>"; $vr=$dom->CreateVariable($varName,$varType,$varDef, VAR_RETTYPE_STRING); if ($vr==undef) { print "Create operation failed."; } else { print "Created variable " . $varName; }
Note: You cannot use the Data Management methods to migrate data store objects from an earlier version of SiteMinder. To migrate your data store to a new version of SiteMinder, use the smobjexport and smobjimport utilities.
Sequence of Calls
To move objects from a source policy store to a target policy store, call the following methods in the order shown below: Exporting from the source policy store:
$dataMgrSource=$session->CreateDataManager(); $dataMgrSource->Export();
The following steps describe these calls in more detail: 1. CreateDataManager(). This method creates the data manager object (PolicyMgtDataMgr) for the export operation. The method is called from a PolicyMgtSession object. It generates two export files with the following default names: migration.smdifContains data about the object being exported. This is the information that will be imported into the target data store. migration.cfgContains installation-specific properties, such as IP addresses and URLs, which are subject to change during migration. You can edit migration.smdif with Microsoft Excel. After you edit this file appropriately for the target site, rename it, and store it at the target site, you can reference the file in subsequent Import() calls. If you specify the target sites .cfg configuration file as an argument to an Import() call, the settings in the specified .cfg file override those in the migration.cfg file returned from the export operation. The settings in migration.cfg are a subset of the settings in migration.smdif, and they override the corresponding settings in migration.smdif once edited. 2. Export(). After creating the PolicyMgtDataMgr object at the source site, call Export() to export the specified object data and the source-site configuration information to the two export files. 3. If you are using separate scripts for the export and import operations, call CreateDataManager() from the import script to create the data manager object for the import operation. 4. Import(). The import call imports the data in the migration.smdif file (its default name) into the target data store. Optionally, you can specify the following information: The name of the file containing site-specific information for the target site. The parent object that will contain the objects being imported. For imported objects (such as realms, rules, and policies) that are dependent upon other policy store objects, you must specify a parent object. For top-level objects in the data store (such as agents, administrators, and domains), no parent object is required. Optionally, you can set flags to fine-tune the export and import operations. The PolicyMgtDataMgr object provides several methods for setting export and import flags. To change a flag setting, call the associated method before calling Export() or Import(). After you set a flag, the flag retains that setting throughout the current instance of the PolicyMgtDataMgr object unless you reset the flag.
The following table describes the methods that set export and import flags:
Method ClearText()
Applies to Export()
Description Export passwords and shared secrets in encrypted form or as clear text. Default is 0 (exported data is encrypted). Include or exclude object dependencies in an export or import operation. Default is 1 (include dependencies). Dependencies are objects that the current object depends on. For example, an agent object is a dependency for a realm object. Child objects, such as the realms in a domain, are always included when the parent object is imported or exported.
IncludeDependencies()
Export(), Import()
OverwriteObjects()
Import()
Overwrite or protect existing objects in the target data store during an import operation. Default is 1 (overwrite existing objects). CreateDataManager() provides a flag for protecting or overwriting existing data and configuration files during export operations.
Example:
use Netegrity::PolicyMgtAPI; $policyapi = Netegrity::PolicyMgtAPI->New(); $session = $policyapi->CreateSession("adminid", "adminpwd"); $datamgr=$session->CreateDataManager("Data.smdif","NorthEnv.cfg",1); die "FATAL: Data manager creation failed.\n" unless($datamgr!=undef); print "\nData manager creation was successful.\n"; $domain = $session->GetDomain("Acme North Domain"); @realms=$domain->GetAllRealms(); foreach $realm(@realms) { if($realm->Name ne "HR") { $result=$datamgr->Export($realm); print "Export of " . $realm->Name(). " realm. Status: " . $result . "\n"; } }
Example:
use Netegrity::PolicyMgtAPI; $policyapi = Netegrity::PolicyMgtAPI->New(); $session = $policyapi->CreateSession("adminsouth", "adminpwd"); $datamgr = $session->CreateDataManager("Data.smdif",NorthEnv.cfg); die "FATAL: Data manager creation failed.\n" unless($datamgr!=undef); print "\nData manager creation was successful."; $domain = $session->GetDomain("Acme North Domain"); $result=$datamgr->Import("SouthEnv.cfg",$domain); print "\nResult of import: " . $result . "\n";
When importing objects from multiple data files, you need a PolicyMgtDataMgr object for each file. Example: The following script imports realm objects to the policy store at a companys South site from two other sitesa North site and a West site. At the South site, the data and configuration files generated from each export are placed in the same directory as the import script. The South-site configuration file is also located there:
use Netegrity::PolicyMgtAPI;
$policyapi = Netegrity::PolicyMgtAPI->New(); $session = $policyapi->CreateSession("adminsouth", "adminpwd"); $domain = $session->GetDomain("Acme South Domain"); #create data manager for North site file $mNorth=$session->CreateDataManager("DataNorth.smdif","NorthEnv.cfg"); if ($mNorth == undef) { print "\nData manager creation for North site file failed.\n"; } else { print "\nData manager creation for North site file successful.\n"; #Import realms from North site file $result=$mNorth->Import("SouthEnv.cfg",$domain); print "\nResult of import of North site realms: ".$result."\n"; } #create data manager for West site file $mWest=$session->CreateDataManager("DataWest.smdif","WestEnv.cfg"); if ($mWest == undef) { print "\nData manager creation for West site file failed.\n"; } else { print "\nData manager creation for West site file successful.\n"; #Import realms from West site file $result=$mWest->Import("SouthEnv.cfg",$domain); print "\nResult of import of West site realms: ".$result."\n"; }
The table that follows lists the password state attributes you can access for a given user, and the method used to set or retrieve an attribute value. All methods are in the object PolicyMgtUserPasswordState, unless otherwise noted.
Method
Description
LoginFailures()
Sets or retrieves the number of times the user failed to log in since the users last successful login. Sets or retrieves the time the user last logged in successfully. Sets or retrieves the next-to-last time the user logged in successfully. Sets or retrieves the time the user object was disabled. Optionally, clears the users password history when setting the password state object for the user. You cannot retrieve password history or set password history entries.
LastLoginTime()
PrevLoginTime()
Disabled time
DisabledTime()
Password history
PolicyMgtUser-> UserPasswordState()
LastPWChangeTime()
Sets or retrieves the time the users password was last changed.
If you change a password state attribute, the change applies to the current password state object only. To apply the change to a password state object that may be subsequently retrieved, pass the current password state object in a call to PolicyMgtUser->UserPasswordState(). This method sets a new password state object containing the attribute values passed into the method. For example, the code fragment below performs the following operations: 1. Retrieves the password state object, $passwordstate, for the current user, $user[0]. 2. Sets the login failures attribute to 3 in this instance of the password state object. 3. Calls UserPasswordState() to clear the users password history and set a new password state object for the user with the new history and login failures attributes.
$passwordstate = $user[0]->UserPasswordState(); $passwordstate->LoginFailures(3); $user[0]->UserPasswordState($passwordstate, 1);
else { $azAction=0; } } } if ($auChange ne "") { print "Stopped auth event processing for these realms:\n"; print $auChange . "\n\n"; } if ($auChange ne "") { print "Stopped az event processing for these realms:\n"; print $azChange . "\n"; }
Behavior: Failover occurs between clusters of servers if multiple clusters are defined. Also, requests to servers within a cluster are sent according to the improved performance-based load-balancing techniques introduced with Agent API v6.0.
Non-clustered servers Call AddServer() for each non-clustered server to create in the host configuration.
Behavior: Behavior is the same as in v5.x installationsthat is, you can enable failover among the servers associated with a host configuration (set EnableFailover() to 1), or you can enable round-robin behavior among the servers (set EnableFailover() to 0). When round-robin behavior is enabled, the improved performance-based load-balancing techniques introduced with Agent API are used. Note: You cannot mix clustered and non-clustered servers in a host configuration.
Cluster Configuration
A cluster is stored in a host configuration object. Cluster failover occurs according to the following configuration values set in PolicyMgtHostConfig: Failover threshold. The minimum percentage of servers within a cluster that must be available for Policy Server requests. If the number of available servers falls below the threshold, failover to the next cluster occurs. The failover threshold percentage applies to all clusters associated with the host configuration object. To determine the number of servers that the percentage represents in any given cluster, multiply the threshold percentage by the number of servers in the cluster, rounding up to the next highest integer. For example: With a 60-percent failover threshold for a cluster of five servers, failover to the next cluster occurs when the number of available servers in the cluster falls below 3. With a 61-percent failover threshold for the same cluster, failover occurs when the number of available servers falls below 4.
Server timeout. The maximum time an agent will wait for a response from a server. If the wait time exceeds the server timeout value, the server is considered inactive, and failover to the next server occurs. If a server timeout occurs within a cluster, and the timeout causes the clusters failover threshold to be exceeded, failover to the next cluster occurs. Set through: RequestTimeout().
Sequence of cluster failover. When cluster failover occurs, SiteMinder sends subsequent Policy Server requests to the next cluster in the cluster sequence. Cluster sequence is determined by the order of cluster objects in the cluster array. Add clusters through: AddCluster(). The newly added cluster is added to the end of the cluster array. Retrieve the cluster array through: GetAllClusters(). The order in which you add clusters to a host configuration object determines the failover sequence. The first cluster you add (that is, the first cluster in the cluster array) is the primary cluster. This is the cluster that is used as long as the number of available servers in the cluster does not fall below the failover threshold. If there are not enough available servers in the primary cluster, failover to the next cluster occursthat is, to the second cluster that was added to the host configuration object. If that cluster also fails, failover to the third cluster added to the host configuration object occurs, and so on.
Cluster
Servers in Cluster
C1 C2
3 5
60 60
If the number of available servers falls below the threshold in each cluster, so that C1 has no available servers and C2 has just two, the next incoming request will be dispatched to a C2 server with the best response time. After at least two of the three C1 servers are repaired, subsequent requests are load-balanced among the available C1 servers. Agent API v6 is backwards-compatible with Agent API v5, allowing complete interoperability between v5/v6 agents and the v5/v6 Agent APIs. Example: Create a host configuration The following code creates a host configuration object and adds a number of clusters and servers:
use Netegrity::PolicyMgtAPI; # Initialize the Policy Management API and create a Host Config object. $pmgtapi = Netegrity::PolicyMgtAPI->New(); $session = $pmgtapi->CreateSession("SiteMinder", "password"); $hostconf = $session->CreateHostConfig("host", "description", false, 2, 2, 1, 30); # Add two non-cluster servers. The Az, Auth and Acct ports are # specified. $hostconf->AddServer("1.1.1.1", 44443, 44442, 44441); $hostconf->AddServer("2.2.2.2", 44443, 44442, 44441); # Add two clusters with two servers in each cluster. One Policy # Server port number is specified. $clusterconf1 = $hostconf->AddCluster(); $clusterconf1->AddServer("1.1.1.1", 44443); $clusterconf1->AddServer("2.2.2.2", 44443); $clusterconf2 = $hostconf->AddCluster(); $clusterconf2->AddServer("3.3.3.3", 44443); $clusterconf2->AddServer("4.4.4.4", 44443); # Print configuration of all non-cluster servers in the Host # Config object @servers = $hostconf->GetAllServers(); foreach $server (@servers) { $address = $server->GetServerAddress(); @ports = $server->GetServerPort(); print("Server: $address,@ports[0],@ports[1],@ports[2]\n"); }
# Print all cluster servers @clusters = $hostconf->GetAllClusters(); foreach $cluster (@clusters) { $num++; foreach $server ($cluster->GetAllServers()) { $address = $server->GetServerAddress(); $port = $server->GetServerPort(); print("Cluster $num Server: $address,$port\n"); } } # Remove all clusters and non-cluster servers from host configuration $hostconf->RemoveAllClusters(); $hostconf->RemoveAllServers();
SAML_AFFILIATION Required No Default None Description The SAML 2.0 affiliation to associate with this object. Service Providers share the Name ID properties across the affiliation. IdentityProviders share the user disambiguation properties across the affiliation. A Service Provider or Identity Provider can belong to only one SAML 2.0 affiliation. If a SAML affiliation is specified, the NAMEID properties (for example, SAML_SP_NAMEID_FORMAT) are not used. SiteMinder uses the NAMEID information in the specified affiliation. An Identity Provider is assigned to an affiliation through its associated SAML 2.0 authentication scheme. For more information about SAML 2.0 affiliations, see the description of the CreateSAMLAffiliation method. SAML_AUDIENCE Required Yes Default None Description The URI of the expected audience for a Service Provider. The audience expected by the Service Provider must match the audience specified in the assertion. The audience might also be sent in an authentication request.
SAML_DESCRIPTION Required No Default None Description A brief description of the affiliation, authentication scheme, or Service Provider object. SAML_DISABLE_SIGNATURE_PROCESSING Required No Default 0 Description Specifies whether to disable all signature validation, including signing. It may be useful to disable signature validation during the initial setup of a provider and during debugging. During normal runtime, this property should be set to 0 (signature processing enabled). Valid values: 0 (false) and 1 (true). SAML_DSIG_VERINFO_ISSUER_DN Required With SAML 2.0 Authentication Schemes: Required only if SAML_DISABLE_SIGNATURE_PROCESSING is 0 and one or both of the following are 1: SAML_SLO_REDIRECT_BINDING SAML_ENABLE_SSO_POST_BINDING
With Service Providers: Required only if SAML_DISABLE_SIGNATURE_PROCESSING is 0 and one or both of the following are 1: SAML_SLO_REDIRECT_BINDING SAML_SP_REQUIRE_SIGNED_AUTHNREQUESTS
Default None Description If the certificate of the Service Provider is not provided inline, this value is used along with SAML_DSIG_VERINFO_SERIAL_NUMBER to locate the certificate in the key store. SAML_DSIG_VERINFO_SERIAL_NUMBER Required With SAML 2.0 Authentication Schemes: Required only if SAML_DISABLE_SIGNATURE_PROCESSING is 0 and one or both of the following are 1: SAML_SLO_REDIRECT_BINDING SAML_ENABLE_SSO_POST_BINDING
With Service Providers: Required only if SAML_DISABLE_SIGNATURE_PROCESSING is 0 and one or both of the following are 1: SAML_SLO_REDIRECT_BINDING SAML_SP_REQUIRE_SIGNED_AUTHNREQUESTS
Default None Description If the certificate of the Service Provider is not provided inline, this value is used along with SAML_DSIG_VERINFO_ISSUER_DN to locate the certificate in the key store. SAML_ENABLE_SSO_ARTIFACT_BINDING Required No Default 0 Description Specifies whether artifact binding is supported by the Service Provider and enabled by the Identity Provider. Valid values: 0 (false) and 1 (true).
SAML_ENABLE_SSO_POST_BINDING Required No Default 0 Description Specifies whether HTTP POST binding is supported by the Service Provider and enabled by the Identity Provider. Valid values: 0 (false) and 1 (true). See also SAML_DSIG_VERINFO_ISSUER_DN and SAML_DSIG_VERINFO_SERIAL_NUMBER. SAML_ENABLED Required No Default 1 Description Specifies whether the Service Provider is activated. Valid values: 0 (false) and 1 (true). SAML_IDP_AD_SEARCH_SPEC Required No Default None Description Search specification for AD directories. If user disambiguation is being performed on a user in an AD directory, but no AD search specification has been provided for this property, the default search specification defined on the SiteMinder User Directory Properties dialog is used.
Assigning a search specification to this property is recommended for the following reasons: When using the default search specification, the Policy Server might duplicate login ID prefixes and suffixes that are already present in the ID extracted from the assertion. If you are extending the functionality of a SAML 2.0 authentication scheme with a custom message consumer plugin, the plugin will not be called in the user disambiguation phase if the Policy Server disambiguates the user with the default search specification defined on the SiteMinder User Directory Properties dialog. For more information, see SAML_IDP_PLUGIN_CLASS.
When defined for an affiliation, the search specification is shared by all Identity Providers across the affiliation. SAML_IDP_ARTIFACT_RESOLUTION_DEFAULT_SERVICE Required Yes, if SAML_ENABLE_SSO_ARTIFACT_BINDING is 1 Default None Description A URL specifying the default artifact resolution service for the Identity Provider. SAML_IDP_BACKCHANNEL_AUTH_TYPE Required No Default 0 Description Specifies the type of authentication to use on the back channel. Valid values: 0. Basic - Uses the specified Service Provider Name and password for authentication. 1. Client Cert - Uses the specified Service Provider ID and password to look up the certificate in the keystore. 2. No Auth - No authentication is required.
SAML_IDP_CUSTOM_SEARCH_SPEC Required No Default None Description Search specification for custom user directories. If user disambiguation is being performed on a user in a custom directory, but no search specification is provided, the default search specification defined on the SiteMinder User Directory Properties dialog is used. When defined for an affiliation, the search specification is shared by all Identity Providers across the affiliation. If you are extending the functionality of a SAML 2.0 authentication scheme with a custom message consumer plugin, the plugin will not be called in the user disambiguation phase if the Policy Server disambiguates the user with the default search specification defined on the SiteMinder User Directory Properties dialog. For more information, see SAML_IDP_PLUGIN_CLASS. SAML_IDP_LDAP_SEARCH_SPEC Required No Default None Description Search specification for LDAP directories. If user disambiguation is being performed on a user in an LDAP directory, but no search specification has been provided for this property, the default search specification defined on the SiteMinder User Directory Properties dialog is used.
Assigning a search specification to this property is recommended for the following reasons: When using the default search specification, the Policy Server might duplicate login ID prefixes and suffixes that are already present in the ID extracted from the assertion. If you are extending the functionality of a SAML 2.0 authentication scheme with a custom message consumer plugin, the plugin will not be called in the user disambiguation phase if the Policy Server disambiguates the user with the default search specification defined on the SiteMinder User Directory Properties dialog. For more information, see SAML_IDP_PLUGIN_CLASS.
When defined for an affiliation, the search specification is shared by all Identity Providers across the affiliation. SAML_IDP_ODBC_SEARCH_SPEC Required No Default None Description Search specification for ODBC directories. If user disambiguation is being performed on a user in an ODBC directory, but no ODBC search specification has been provided for this property, the default search specification defined on the SiteMinder User Directory Properties dialog is used. Assigning a search specification to this property is recommended for the following reasons: When using the default search specification, the Policy Server might duplicate login ID prefixes and suffixes that are already present in the ID extracted from the assertion. If you are extending the functionality of a SAML 2.0 authentication scheme with a custom message consumer plugin, the plugin will not be called in the user disambiguation phase if the Policy Server disambiguates the user with the default search specification defined on the SiteMinder User Directory Properties dialog. For more information, see SAML_IDP_PLUGIN_CLASS.
When defined for an affiliation, the search specification is shared by all Identity Providers across the affiliation.
SAML_IDP_PASSWORD Required Yes, if SAML_IDP_BACKCHANNEL_AUTH_TYPE is set to 0 or 1 Default None Description The password to use for the back-channel authentication. The password is only used with the back-channel authentication types Basic and Client Cert. SAML_IDP_PLUGIN_CLASS Required No Default None Description The fully qualified name of a Java class that extends the functionality of this SAML 2.0 authentication scheme. The custom functionality is provided by an implementation of the interface MessageConsumerPlugin.java. Authentication has two phases-user disambiguation and user authentication (validation of the disambiguated user's credentials). If a plugin is configured for the authentication scheme, it is called as follows: During user disambiguation, if the authentication scheme cannot disambiguate the user.
Note: The plugin is not called in this phase if a search specification is not provided for the user directory where disambiguation is to occur (for example, SAML_IDP_LDAP_SEARCH_SPEC for an LDAP directory). In this case, the Policy Server performs the disambiguation, not the authentication scheme. At the end of the default authentication phase, even if the user is validated successfully.
A SAML 2.0 authentication scheme can be extended by only one message consumer plugin.
SAML_IDP_PLUGIN_PARAMS Required No Default None Description Parameters to pass into the custom authentication scheme extension specified in SAML_IDP_PLUGIN_CLASS. The syntax of the parameter string is determined by the custom object. SAML_IDP_REDIRECT_MODE_FAILURE Required No Default 0 Description The redirection mode for SAML_IDP_REDIRECT_URL_FAILURE. Valid values: 0. 302 No Data - HTTP 302 redirection. The URL for the target resource and the reason for the authentication failure are appended to the redirection URL. The SAML 2.0 Response message passed to the authentication scheme is not included. 1. Http Post. - HTTP POST redirection. The SAML 2.0 Response message passed to the authentication scheme and the Identity Provider's ID are generated by an HTTP form.
Description The redirection mode for SAML_IDP_REDIRECT_URL_INVALID. Valid values: 0. 302 No Data - HTTP 302 redirection. The URL for the target resource and the reason for the authentication failure are appended to the redirection URL. The SAML 2.0 Response message passed to the authentication scheme is not included. 1. Http Post. - HTTP POST redirection. The SAML 2.0 Response message passed to the authentication scheme and the Identity Provider's ID are generated by an HTTP form.
SAML_IDP_REDIRECT_MODE_USER_NOT_FOUND Required No Default 0 Description The redirection mode for SAML_IDP_REDIRECT_URL_USER_NOT_FOUND. Valid values: 0. 302 No Data - HTTP 302 redirection. The URL for the target resource and the reason for the authentication failure are appended to the redirection URL. The SAML 2.0 Response message passed to the authentication scheme is not included. 1. Http Post. - HTTP POST redirection. The SAML 2.0 Response message passed to the authentication scheme and the Identity Provider's ID are generated by an HTTP form.
SAML_IDP_REDIRECT_URL_FAILURE Required No Default None Description The redirection URL to use when the authentication information passed to the authentication scheme is not accepted to authenticate the user.
SAML_IDP_REDIRECT_URL_INVALID Required No Default None Description The redirection URL to use when the authentication information passed to the authentication scheme is not formatted according to the SAML 2.0 standard. SAML_IDP_REDIRECT_URL_USER_NOT_FOUND Required No Default None Description The redirection URL to use in either of these circumstances: The authentication scheme cannot obtain a login ID from the SAML 2.0 Response message passed to it. The authentication scheme cannot find the user in the user directory.
If you are extending the functionality of a SAML 2.0 authentication scheme with a custom message consumer plugin, the plugin will not be called in the user disambiguation phase if the Policy Server disambiguates the user with the default search specification defined on the SiteMinder User Directory Properties dialog. For more information, see SAML_IDP_PLUGIN_CLASS. SAML_IDP_REQUIRE_ENCRYPTED_ASSERTION Required No Default 0 Description Specifies whether the assertion selected for authentication must be encrypted. If this property is 1 and the authentication scheme is passed an unencrypted assertion, the assertion cannot be authenticated. Valid values: 0 (false) and 1 (true).
SAML_IDP_REQUIRE_ENCRYPTED_NAMEID Required No Default 0 Description Specifies whether the Name ID of the principal contained in the assertion must be encrypted. If this property is 1 and the the Name ID is not encrypted, the assertion cannot be authenticated. Valid values: 0 (false) and 1 (true). SAML_IDP_SAMLREQ_ATTRIBUTE_SERVICE Required No Default None Description The URL of the Attribute Service on the Attribute Authority. SAML_IDP_SAMLREQ_ENABLE Required Yes Default 0 Description Indicates whether the SAML Requester is enabled. Valid values: 0 (false) and 1 (true).
SAML_IDP_SAMLREQ_GET_ALL_ATTRIBUTES Required No Default 0 Description Indicates whether the query sent to the Attribute Authority should contain no attributes. This is a short-hand for the Attribute Authority to return all defined attributes. SAML_IDP_SAMLREQ_NAMEID_ALLOW_NESTED Required No Default 0 Description Indicates whether nested groups are allowed when selecting a DN attribute for the name identifier. Valid values: 0 (false) and 1 (true). SAML_IDP_SAMLREQ_NAMEID_ATTR_NAME Required Yes when NameIdTYpe is set to 1 or 2. Default None Description The attribute name (user or DN) that holds the identifier name when NameIdType is set to 1 or 2. SAML_IDP_SAMLREQ_NAMEID_DN_SPEC Required Yes when NamedIdTYpe is set to 2. Default None Description The DN specification used when the NameIdType is set to 2.
SAML_IDP_SAMLREQ_NAMEID_FORMAT Required No Default None Description The URI for a SAML 2.0 name identifier. SAML_IDP_SAMLREQ_NAMEID_STATIC Required Yes when NameIdType is set to 0. Default None Description The static text to be used when NameIdType is set to 0. SAML_IDP_SAMLREQ_NAMEID_TYPE Required No Default 1 (user attribute) Description Represents the type of the name identifier. Valid values: 0 (static text), 1 (user attribute), and 2 (DN attribute). SAML_IDP_SAMLREQ_REQUIRE_SIGNED_ASSERTION Required No Default 0 Description Indicates whether the assertion returned in response to an <AttributeQuery> must be signed. Valid values: 0 (false) and 1 (true).
SAML_IDP_SAMLREQ_SIGN_ATTRIBUTE_QUERY Required No Default 0 Description Indicates whether the attribute query must be signed. Valid values: 0 (false) and 1 (true). SAML_IDP_SIGN_AUTHNREQUESTS Required No Default 0 Description Specifies whether authentication requests will be signed. Valid values: 0 (false) and 1 (true). SAML_IDP_SPID Required Yes Default None Description The unique provider ID of the Service Provider being protected by this authentication scheme. SAML_IDP_SPNAME Required Yes, if SAML_IDP_BACKCHANNEL_AUTH_TYPE is set to 0 or 1 Default None Description The name of the Service Provider involved in the back-channel authentication. The Service Provider name is used with the back-channel authentication types Basic and Client Cert.
SAML_IDP_SSO_DEFAULT_SERVICE Required Yes Default None Description The URL of the Identity Provider's single sign-on service, for example: http://mysite.netegrity.com/affwebservices/public/saml2sso SAML_IDP_SSO_ENFORCE_SINGLE_USE_POLICY Required No Default 1 Description Specifies whether to enforce a single-use policy for HTTP POST binding. Setting this property to 1 (the default) ensures that an assertion cannot be ``replayed'' to a Service Provider site to establish a second session, in accordance with SAML POST-specific processing rules. The single-use policy requirement is enforced even in a clustered Policy Server environment with load-balancing and failover enabled. Valid values: 0 (false) and 1 (true). SAML_IDP_SSO_REDIRECT_MODE Required No Default 0 Description Specifies the method by which response attribute information is passed when the user is redirected to the target resource. A response passes user attributes, DN attributes, static text, or customized active responses from the Policy Server to a SiteMinder Agent after the Agent isseus a login or authorization request. For more information about response attributes, see CreateAttribute().
Valid values: 0. 302 No Data - No response attributes are passed. 1. 302 Cookie Data - Response attributes are set as HTTP cookie data. Attribute cookies issued by the authentication scheme are unencrypted. 2. Server Redirect - Response attributes are passed as a HashMap object.
Server-side redirects allow passing information to an application within the server application itself. Response attribute data is never sent to the user's browser. This redirection method is part of Java Servlet specification and is supported by all standards-compliant servlet containers. SAML_IDP_SSO_TARGET Required No Default None Description The URL of the target resource at the Service Provider site. For example, the target might be a web page or an application. SAML_IDP_WINNT_SEARCH_SPEC Required No Default None Description Search specification for WinNT directories. If user disambiguation is being performed on a user in a WinNT directory, but no search specification is provided, the default search specification defined on the SiteMinder User Directory Properties dialog is used. When defined for an affiliation, the search specification is shared by all Identity Providers across the affiliation. If you are extending the functionality of a SAML 2.0 authentication scheme with a custom message consumer plugin, the plugin will not be called in the user disambiguation phase if the Policy Server disambiguates the user with the default search specification defined on the SiteMinder User Directory Properties dialog. For more information, see SAML_IDP_PLUGIN_CLASS.
SAML_IDP_XPATH Required No Default None Description The XPath query that extracts the user's login ID from an assertion. The login ID is then used to disambiguate the user. By default, if no XPath is provided, an attempt is made to extract the login ID from the Assertion/Subject/NameID element of the SAML 2.0 Response message. Once successfully extracted, the login ID is inserted into the search string specified for the user directory, and the disambiguation phase begins. When defined for an affiliation, the XPath is shared by all Identity Providers across the affiliation. SAML_KEY_AFFILIATION_ID Required Yes Default None Description The URI for the affiliation. The ID is used to verify that a Service Provider and Identity Provider are members of the same affiliation-for example: When a Service Provider issues an authentication request to an Identity Provider, the request includes the affiliation ID. The Identity Provider verifies that the Service Provider belongs to the specified affiliation. When the Identity Provider generates an assertion and sends it back to the Service Provider, the assertion includes the affiliation ID. The Service Provider verifies that the Identity Provider belongs to the specified affiliation. During single logout, the logout requests also contain the affiliation ID. Upon receiving a logout request, the Service Provider and the Identity Provider each verify that the other belongs to the specified affiliation.
The affiliation ID is specified in the SPNameQualifier attribute of the requests and assertions.
SAML_KEY_IDP_SOURCEID Required No Default A hex-encoded SHA-1 hash of the SAML_KEY_IDPID value Description A hex-encoded 20-byte sequence identifier for the artifact issuer. This value uniquely identifies the artifact issuer in the assertion artifact. The authentication scheme uses the source ID as a key to look up Identity Provider metadata. The string length must be exactly 40 characters. Only a lower case hex string will be stored. SAML_KEY_IDPID Required Yes Default None Description The provider ID of the Identity Provider for this authentication scheme. This ID: Uniquely identifies the assertion issuer. Serves as a key for looking up properties of the Identity Provider.
SAML_KEY_SPID Required Yes Default None Description The unique provider ID of this Service Provider.
SAML_MAJOR_VERSION Required No Default 2 Description The major version of the SAML protocol that is supported. If a value is supplied, it must be 2. SAML_MINOR_VERSION Required No Default 0 Description The minor version of the SAML protocol that is supported. If a value is supplied, it must be 0. SAML_NAME Required Yes Default None Description The name of the affiliation, authentication scheme, or Service Provider. The name must be globally unique. With SAML 2.0 affiliations and Service Providers, the name must be lower case.
SAML_OID Required No, when the affiliation object is being created (SiteMinder supplies the object identifier during object creation); it is required when custom code references an existing object Default None Description The unique object identifier for the affiliation object. The SAML Affiliation Properties dialog box has no corresponding field for this property. SAML_SKEWTIME Required No Default 30 Description The difference, in seconds, between the system clock time of the Identity Provider and the system clock time of the Service Provider, as follows: With Service Providers, the number of seconds to be subtracted from the current time if its system clock is not synchronized with the Policy Server acting as an Identity Provider. With Identity Providers, the number of seconds to be subtracted from the current time if its system clock is not synchronized with the Policy Server acting as a Service Provider.
Skew time is used to calculate the validity duration of assertions and single logout requests. The value provided must be a String representing a positive integer. SAML_SLO_REDIRECT_BINDING Required No Default 0
Description Specifies whether HTTP redirect binding is supported for single logout. Valid values: 0 (false) and 1 (true). See also SAML_DSIG_VERINFO_ISSUER_DN and SAML_DSIG_VERINFO_SERIAL_NUMBER. SAML_SLO_SERVICE_CONFIRM_URL Required No Default None Description The URL where a user is redirected after single logout is completed. SAML_SLO_SERVICE_RESPONSE_URL Required No Default None Description The response location for the single logout service. This property allows SLO response messages to be sent to a different location from where request messages are sent. SAML_SLO_SERVICE_URL Required Yes, if SAML_SLO_REDIRECT_BINDING is 1 Default None Description With HTTP-Redirect bindings, the Identity Provider URL where single logout requsts are sent.
SAML_SLO_SERVICE_VALIDITY_DURATION Required No Default 60 (applies if a value is not provided and SAML_SLO_REDIRECT_BINDING is 1) Description The number of seconds for which a single logout request is valid. The value provided must be a String representing a positive integer. See also SAML_SKEWTIME. SAML_SP_ARTIFACT_ENCODING Required No Default FORM (applies if a value is not provided and SAML_ENABLE_SSO_ARTIFACT_BINDING is 1) Description Specifies the encoding to use for the artifact binding. Valid values: FORM. The artifact is form-encoded in a hidden control named SAMLart. URL. The artifact is URL-encoded in a URL parameter named SAMLart.
FORM and URL encoding is accomplished according to SAML 2.0 specifications. SAML_SP_ASSERTION_CONSUMER_DEFAULT_URL Required Yes Default None Description The Service Provider URL where generated assertions are sent, for example: http://mysite.netegrity.com/affwebservices/public/saml2assertionconsume r
SAML_SP_AUTHENTICATION_LEVEL Required No Default 5 Description This property specifies the minimum protection level required for the authentication scheme that authenticates the principal associated with the current assertion. SAML_SP_ATTRSVC_AD_SEARCH_SPEC Required No Default None Description Search specification for an AD directory. SAML_SP_ATTRSVC_CUSTOM_SEARCH_SPEC Required No Default None Description Search specification for a custom directory. SAML_SP_ATTRSVC_ENABLE Required No Default 0 Description Indicates whether the Attribute Authority is enabled. Valid values: 0 (false) and 1 (true).
SAML_SP_ATTRSVC_LDAP_SEARCH_SPEC Required No Default None Description Search specification for an LDAP directory. SAML_SP_ATTRSVC_ODBC_SEARCH_SPEC Required No Default None Description Search specification for an ODBC directory. SAML_SP_ATTRSVC_REQUIRE_SIGNED_QUERY Required No Default None Description Specifies whether the attribute query must be signed. SAML_SP_ATTRSVC_SIGN_ASSERTION Required No Default 0 Description Indicates whether the SAML assertion should be signed. Valid values: 0 (false) and 1 (true).
SAML_SP_ATTRSVC_SIGN_RESPONSE Required No Default 0 Description Indicates whether the SAML response should be signed. Valid values: 0 (false) and 1 (true). SAML_SP_ATTRSVC_VALIDITY_DURATION Required No Default 60 Description The number of seconds for which a generated assertion is valid. SAML_SP_ATTRSVC_WINNT_SEARCH_SPEC Required No Default None Description Search specification for a WinNT directory. SAML_SP_AUTHENTICATION_URL Required Yes Default None Description The protected URL for authenticating users of this Service Provider.
SAML_SP_AUTHN_CONTEXT_CLASS_REF Required No Default urn:oasis:names:tc:SAML:2.0:ac:classes:Password Description The class of information that a Service Provider may require to assess its confidence in an assertion. The class is specified in the assertion's AuthnContextClassRef element. For example, the default authentication context class is Password. This class applies when a principal authenticates through the presentation of a password over an unprotected HTTP session. Other examples of authentication context class include InternetProtocol (authentication through a provided IP address), X509 (authentication through an X.509 digital signature), and Telephony (authentication through the provision of a fixed-line telephone number transported via a telephony protocol). The authentication context class is a URI with the following initial stem: urn:oasis:names:tc:SAML:2.0:ac:classes: The SAML 2.0 authentication context specification defines the URIs that can be provided as authentication context classes. The class must also be appropriate for the authentication level defined for the Service Provider. SAML_SP_COMMON_DOMAIN Required Yes, if SAML_SP_ENABLE_IPD is 1 Default None Description The common cookie domain for the Identity Provider Discovery profile. The domain must be a subset of the host specified in SAML_SP_IPD_SERVICE_URL.
SAML_SP_DOMAIN Required No Default None Description The unique ID of the affiliate domain where the Service Provider is defined. The SAML Service Provider Properties dialog box has no corresponding field for this property. SAML_SP_ENABLE_IPD Required No Default 0 Description Specifies whether the Identity Provider Discovery profile is enabled. Valid values: 0 (false) and 1 (true). SAML_SP_ENCRYPT_ASSERTION Required No Default 0 Description Specifies whether to encrypt the generated assertion at the Service Provider site. By default, the assertion is not encrypted. Valid values: 0 (false) and 1 (true). SAML_SP_ENCRYPT_BLOCK_ALGO Required No Default tripledes
Description The type of block encryption algorithm to use. Valid values: tripledes. Data Encryption Standard using three separate 56-bit keys. aes-128. Advanced Encryption Standard, key length is 128 bits. aes-256. Advanced Encryption Standard, key length is 256 bits.
SAML_SP_ENCRYPT_CERT_ISSUER_DN Required Yes, in either of the following circumstances: If either of the following is 1: SAML_SP_ENCRYPT_ID SAML_SP_ENCRYPT_ASSERTION
If any assertion attribute statements require encryption. These attributes are defined on the Attributes tab of the SAML Service Provider Properties dialog box. Default None Description The Issuer DN portion of a public key certificate to be used for encryption. This property is used with SAML_SP_ENCRYPT_CERT_SERIAL_NUMBER to locate the Service Provider's certificate in the keystore if it is not provided inline. SAML_SP_ENCRYPT_CERT_SERIAL_NUMBER Required Yes, in either of the following circumstances: If either of the following is 1: SAML_SP_ENCRYPT_ID SAML_SP_ENCRYPT_ASSERTION
If any assertion attribute statements require encryption. These attributes are defined on the Attributes tab of the SAML Service Provider Properties dialog box.
Default None Description The serial number portion of a public key certificate to be used for encryption. This property is used with SAML_SP_ENCRYPT_CERT_ISSUER_DN to locate the Service Provider's certificate in the keystore if it is not provided inline. SAML_SP_ENCRYPT_ID Required No Default 0 Description Specifies whether the Name ID in the generated assertion should be encrypted at the Service Provider site. By default, the Name ID is not encrypted. Valid values: 0 (false) and 1 (true). SAML_SP_ENCRYPT_KEY_ALGO Required No Default rsa-v15 Description The type of encryption key algorithm to use. Valid values: rsa-v15. RSA encryption, version 1.5. rsa-oaep. Optimal Asymmetric Encryption Padding encoding and RSA encryption.
Description The time by which an assertion must be generated. Use the Perl time() method to help assign a time to this property. The time value is stored as a string. For example:
$SAML_SP_ENDTIME=SAML_SP_ENDTIME; $time=time() + 20; $serviceProvider->Property($SAML_SP_ENDTIME,"$time");
This property is used with SAML_SP_STARTTIME to define a time restriction for the generation of assertions. Set SAML_SP_ENDTIME to 0 to end the time restriction immediately. SAML_SP_IDP_SOURCEID Required No Default A hex-encoded SHA-1 hash of the SAML_SP_IDPID value Description A hex-encoded 20-byte sequence identifier for the artifact issuer. This value uniquely identifies the artifact issuer in the assertion artifact. The string length must be exactly 40 characters. Only a lower case hex string will be stored. SAML_SP_IDPID Required Yes Default None Description The provider ID of the Identity Provider that generates the assertions. SAML_SP_IPD_SERVICE_URL Required Yes, if SAML_SP_ENABLE_IPD is 1 Default None Description The host URL for the Identity Provider Discovery profile.
SAML_SP_NAMEID_ATTRNAME Required Yes, if SAML_SP_NAMEID_TYPE is set to 1 (User Attribute) or 2 (DN Attribute) Default None Description One of the following values: When SAML_SP_NAMEID_TYPE is set to 1, this property specifies the name of the user attribute that contains the name identifier. When SAML_SP_NAMEID_TYPE is set to 2, this property specifies the attribute associated with a group or organizational unit DN.
SAML_SP_NAMEID_DNSPEC Required Yes, if SAML_SP_NAMEID_TYPE is set to 2 (DN Attribute) Default None Description A group or organizational unit DN used to obtain the associated Name ID attribute. SAML_SP_NAMEID_FORMAT Required No Default Unspecified Description The full URI for one of the following nameid-format values: Unspecified Email Address X509 Subject Name Windows Domain Qualified Name Kerberos Principal Name Entity Identifier
For example, the full URI for the default format Unspecified is: urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified For descriptions of these formats, see the following SAML 2.0 specification: Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0 Note: If a SAML affiliation is specified in SAML_AFFILIATION, this and other SAML_SP_NAMEID... properties are not used. SiteMinder uses the NAMEID information in the specified affiliation. SAML_SP_NAMEID_STATIC Required Yes, if SAML_SP_NAMEID_TYPE is set to 0 (Static) Default None Description The static text to be used for all name identifiers. SAML_SP_NAMEID_TYPE Required No Default 1 Description The type of name identifier. Valid values: 0. Static text. 1. User attribute. 2. DN attribute.
SAML_SP_PASSWORD Required Yes, if SAML_ENABLE_SSO_ARTIFACT_BINDING is 1 Default None Description The password to use for Service Provider access through the back channel. SAML_SP_PERSISTENT_COOKIE Required No Default 0 Description Specifies whether an Identity Provider Discovery profile cookie should be persistent. Applies only if SAML_SP_ENABLE_IPD is 1. Valid values: 0 (false) and 1 (true). SAML_SP_PLUGIN_CLASS Required No Default None Description The fully qualified Java class name of the assertion generator plug-in. An assertion generator plugin allows the content of an assertion to be customized. For more information, see the SiteMinder Java API Documentation.
SAML_SP_PLUGIN_PARAMS Required No Default None Description Any parameters to pass into the assertion generator plug-in specified in SAML_SP_PLUGIN_CLASS. SAML_SP_REQUIRE_SIGNED_AUTHNREQUESTS Required No Default 0 Description Specifies whether authentication requests must be signed. Valid values: 0 (false) and 1 (true). SAML_SP_STARTTIME Required No Default None Description The time when a time restriction for generating an assertion becomes effective. Use the Perl time() method to help assign a time to this property. The time value is stored as a string. For example:
$SAML_SP_STARTTIME=SAML_SP_STARTTIME; $time=time() + 10; $serviceProvider->Property($SAML_SP_STARTTIME,"$time");
This property is used with SAML_SP_ENDTIME to define a time restriction for the generation of assertions. Set SAML_SP_STARTTIME to 0 to start the time restriction immediately.
SAML_SP_VALIDITY_DURATION Required No Default 60 Description The number of seconds for which a generated assertion is valid. The value provided must be a Strng representing a positive integer. See also SAML_SKEWTIME. SAML_SSOECPPROFILE Required No Default 0 Description Specifies whether the Identity Provider or Service Provider supports SAML 2.0 Enhanced Client and Proxy profile requests. Valid values: 0 (false) and 1 (true). SAML2_CUSTOM_ENABLE_INVALID_REQUEST_URL Required No Default None Description Specifies whether the custom error redirect process is enabled for an invalid request.
SAML2_CUSTOM_ENABLE_SERVER_ERROR_URL Required No Default None Description Specifies whether the custom error redirect process is enabled for a server error. SAML2_CUSTOM_ENABLE_INVALID_REQUEST_URL Required No Default None Description Specifies whether the custom error redirect process is enabled for an invalid request. SAML2_CUSTOM_INVALID_REQUEST_REDIRECT_MODE Required No Default None Description Specifies the redirect mode for an invalid request. Valid values: 0. 302 No Data HTTP 302 redirection. The URL for the target resource and the reason for the authentication failure are appended to the redirection URL. The SAML 2.0 Response message passed to the authentication scheme is not included. 1. Http Post. HTTP POST redirection. The SAML 2.0 Response message passed to the authentication scheme and the Identity Providers ID are generated by an HTTP form.
SAML2_CUSTOM_INVALID_REQUEST_REDIRECT_URL Required No Default None Description Specifies the redirect URL for an invalid request. SAML2_CUSTOM_SERVER_ERROR_REDIRECT_MODE Required No Default None Description Specifies the redirect mode for an internal server error. Valid values: 0. 302 No Data HTTP 302 redirection. The URL for the target resource and the reason for the authentication failure are appended to the redirection URL. The SAML 2.0 Response message passed to the authentication scheme is not included. 1. Http Post. HTTP POST redirection. The SAML 2.0 Response message passed to the authentication scheme and the Identity Providers ID are generated by an HTTP form.
SAML2_CUSTOM_SERVER_ERROR_REDIRECT_URL Required No Default None Description Specifies the redirect URL for an internal server error . SAML2_CUSTOM_UNAUTHORIZED_ACCESS_REDIRECT_MODE Required No Default None
WSFED Properties
Description Specifies the redirect mode for forbidden access. Valid values: 0. 302 No Data HTTP 302 redirection. The URL for the target resource and the reason for the authentication failure are appended to the redirection URL. The SAML 2.0 Response message passed to the authentication scheme is not included. 1. Http Post. HTTP POST redirection. The SAML 2.0 Response message passed to the authentication scheme and the Identity Providers ID are generated by an HTTP form.
SAML2_CUSTOM_UNAUTHORIZED_ACCESS_REDIRECT_URL Required No Default None Description Specifies the redirect URL for a forbidden access error.
WSFED Properties
This section provides the name, type, and description for each WS-Federation meatadata property. The following properties are for defining a Resource Partner or for defining an Account Partner or for both. WSFED_AP_ADD_SEARCH_SPEC Required No Type String Description Search specification for an AD directory.
WSFED Properties
WSFED_AP_CUSTOM_SEARCH_SPEC Required No Type String Description Search specification for a custom directory. WSFED_AP_FAILURE_REDIRECT_MODE Required No Type 0/1 Description 0 - Http 302 redirect without passing federation messages (default). 1 - Http Form Post Redirect.
WSFED_AP_FAILURE_REDIRECT_URL Required No Type String Description Contains an optional redirect URL to be used when assertion processing has failed.
WSFED Properties
WSFED_APID Required Yes Type String Description The ID of the Account Partner. WSFED_AP_INVALID_REDIRECT_MODE Required No Type 0/1 Description 0 - Http 302 redirect without passing federation messages (default). 1 - Http Form Post Redirect.
WSFED_AP_INVALID_REDIRECT_URL Required No Type String Description Contains an optional redirect URL to be used when the assertion is invalid.
WSFED Properties
WSFED_AP_LDAP_SEARCH_SPEC Required No Type String Description Search specification for the LDAP directory. WSFED_AP_ODBC_SEARCH_SPEC Required No Type String Description Search specification for an ODBC directory. WSFED_AP_PLUGIN_CLASS Required No Type String Description Name of the Java class that implements customization of assertion consumption.
WSFED Properties
WSFED_AP_PLUGIN_PARAMS Required No Type String Description Parameters of the Java class that implements customization of assertion consumption. All parameters are concatenated into one line. WSFED_AP_SIGNOUT_URL Required No Type String Description Signout URL of the Account Partner. This property is required if WSFED_AP_SLO_ENABLED is true. WSFED_AP_SLO_ENABLED Required No Type Boolean Description Indicates whether Signout is enabled for the Account Partner. If not supplied during Account Partner creation, this defaults to not enabled.
WSFED Properties
WSFED_AP_SSO_DEFAULT_SERVICE Required No Type String Description The default location of the Single Sign-on service. WSFED_AP_SSO_REDIRECT_MODE Required No Type Int Description Redirect mode for assertion attributes. Valid values: 0. 302 No Data - No response attributes are passed (default). 1. 302 Cookie Data - Response attributes are set as HTTP cookie data. Attribute cookies issued by the authentication scheme are unencrypted. 2. Server Redirect - Response attributes are passed as a HashMap object.
WSFED_AP_SSO_TARGET Required No Type String Description Target resource at the destination site.
WSFED Properties
WSFED_AP_USER_NOT_FOUND_REDIRECT_MODE Required No Type 0/1 Description 0 - Http 302 redirect without passing federation messages (default). 1 - Http Form Post Redirect.
WSFED_AP_USER_NOT_FOUND_REDIRECT_URL Required No Type String Description Contains an optional redirect to be used in either of the following cases: When the authentication scheme cannot obtain a Login ID from the federation Message, given the configured query string, When the authentication scheme cannot find a user in the specified user directory, given the configured user store search string.
WSFED_AP_WINNT_SEARCH_SPEC Required No Type String Description Search specification for a WinNT directory.
WSFED Properties
WSFED_AP_XPATH Required No Type String Description XPath query for disambiguating the principal. WSFED_DESCRIPTION Required No Type String Description A brief description of the provider. WSFED_DISABLE_SIGNATURE_PROCESSING Required No Type Boolean Description Specifies whether signature processing is disabled. This setting is useful during the initial setup of an Account Partner. When an Account Partner is up and running, this setting must be false to avoid security implications The default value is zero.
WSFED Properties
WSFED_DSIG_VERINFO_ALIAS Required No Type String Description Locates the certificate of the provider in the key store if it is not provided in-line. WSFED_ENABLED Required No Type Bool Description Indicates whether the Resource Partner is enabled. If not provided, defaults to true. This property does not get stored physically to the property collections, but is used to enable underlying policy. WSFED_ENFORCE_SINGLE_USE_POLICY Required No Type Boolean Description If set to a value of 1, the single-use policy for WS-Federation assertions will be enforced. If set to a value of 0, the single-use policy for assertions will not be enforced. The default is 1.
WSFED Properties
WSFED_KEY_APID Required Yes Type String Description Identifier for the Account Partner. This must be a URI less the 1024 characters long. In addition, this is the key with which properties associated with an Account Partner can be looked up. WSFED_KEY_RPID Required Yes Type String Description The ID for the for the Resource Partner. This must be a URI less the 1024 characters long. In addition, this is the key with which the properties associated with a Resource Partner can be looked up. WSFED_MAJOR_VERSION Required No Type Int Description Version of the WS-Federation protocol supported by this provider. The value of this property has to be 1.
WSFED Properties
WSFED_MINOR_VERSION Required No Type Int Description Version of WS-Federation protocol supported by this provider. The value of this property must be set to 0. WSFED_NAME Required Yes Type String Description The name of the provider. WSFED_RPID Required Yes Type String Description Identifier of the Resource Partner.
WSFED Properties
WSFED_RP_ASSERTION_CONSUMER_DEFAULT_URL Required Yes Type String Description The the URL of the default Assertion Consumer. WSFED_RP_AUTHENTICATION_LEVEL Required No Type Int Description The principal must have authenticated in a realm by an authentication scheme of at least this level or greater. If not provided when the Resource Partner is created, the default is 5. WSFED_RP_AUTHENTICATION_METHOD Required No Type String Description The authentication method to use in the assertion. This will typically be one of the authentication method values from the WS-Federation specification.
WSFED Properties
WSFED_RP_AUTHENTICATION_URL Required Yes Type String Description The protected URL used to authenticate Resource Partner users. WSFED_RP_DOMAIN Required Yes Type OID Description The Resource Partner domain where this provider is defined. WSFED_RP_ENDTIME Required No Default None Description The time by which an assertion must be generated. Use the Perl time() method to help assign a time to this property. The time value is stored as a string. For example:
$WSFED_RP_ENDTIME=WSFED_RP_ENDTIME; $time=time() + 20; $ResourcePartner->Property($WSFED_RP_ENDTIME,"$time");
This property is used with WSFED_RP_STARTTIME to define a time restriction for the generation of assertions. Set WSFED_RP_ENDTIME to 0 to end the time restriction immediately.
WSFED Properties
WSFED_RP_NAMEID_ALLOWED_NESTED Required No Type Boolean Description Indicates whether nested groups are allowed when selecting a DN attribute for the name identifer. The default is zero. WSFED_RP_NAMEID_ATTR_NAME Required No Type String Description The attribute name (user or DN) that holds the name identifier when NameIdType is assigned to 1 or NameIdType is assigned to 2. If NameIdType is set to 1 or 2, then this property must had a value. WSFED_RP_NAMEID_DN_SPEC Required No Type String Description The DN specification used when the NameIdType is assigned to 2. If NameIdType is assigned to 2, this property must have a value.
WSFED Properties
WSFED_RP_NAMEID_FORMAT Required No Type String Description The URI for a WS-Federation name identifier. WSFED_RP_NAMEID_TYPE Required No Type Int Description One of the following types of name identifier: Static Text (0) User Attribute (1, default) DN Attribute (2)
WSFED_RP_NAMEID_STATIC Required No Type String Description The static text to be used as the name identifier when the NameIdType is assigned to 0. An error is returned if there is no value specified for this property and NameIdType is assigned to 0.
WSFED Properties
WSFED_RP_PLUGIN_CLASS Required No Type String Description The fully-qualified Java class name for the Assertion Generator plug-in. WSFED_RP_PLUGIN_PARAMS Required No Type String Description The parameters passed to the Assertion Generator plug-in. WSFED_RP_SIGNOUT_CLEANUP_URL Required No Type String Description Signout cleanup URL of the Resource Partner. This property is required if Signout is enabled.
WSFED Properties
WSFED_RP_SIGNOUT_CONFIRM_URL Required No Type String Description The URL where the user is redirected when Sign-out is complete and if the request does not have a reply query parameter. Even though this property is part of the Resource Partner object, it is the URL that the user is redirected to when Signout at the Account Partner is complete. If there are multiple Resource Partners available, then the Signout Confirm URL of the last Resource Partner is used. The default is disabled. WSFED_RP_SLO_ENABLED Required No Type Boolean Description Indicates whether Signout is enabled for the Resource Partner.
WSFED Properties
WSFED_RP_STARTTIME Required No Default None Description The time when a time restriction for generating an assertion becomes effective. Use the Perl time() method to help assign a time to this property. The time value is stored as a string. For example:
$WSFED_RP__STARTTIME=WSFED_RP_STARTTIME; $time=time() + 10; $ResourcePartner->Property($WSFED_RP_STARTTIME,"$time");
This property is used with WSFED_RP_ENDTIME to define a time restriction for the generation of assertions. Set WSFED_RP_STARTTIME to 0 to start the time restriction immediately. WSFED_RP_VALIDITY_DURATION Required No Type Integer Description The number of seconds for which a generated assertion is valid. If not provided when the Resource Partner is created, the default is 60 seconds. WSFED_SAML_MAJOR_VERSION Required No Type Integer Description The version of the SAML protocol supported by this provider. The value is 1.
WSFED Properties
WSFED_SAML_MINOR_VERSION Required No Type Integer Description The version of the SAML protocol supported by this provider. The value is 1. WSFED_SKEW_TIME Required No Type String Description The skew time between the consumer and the producer side in seconds. This value is used to calculate validity duration of assertions and of Signout requests. The default value is 30.
Index
A
AccessType() 394 Action() 394 Active Directory authentication 135 active expressions 572 ActiveExpr() 347, 394 Add() 261 AddAdmin() affiliate domain 160 domain 240 AddAssociation() 205 AddAssociationMultiValue() 205 AddAttribute() affiliate object 179 Service Provider 408 AddCluster() 272, 593 AddParameter() 35, 60 address restrictions 290, 347 AddRule() 347, 568 AddServer() 232, 272, 593 AddServerConfig() 32, 39 AddTrustedHost() 422 AddUser() affiliate object 179 policy 347 Service Provider 408 AddUserDir() affiliate domain 160 domain 240 administrators authentication schemes 152 creating 422 deleting 422 global scope 565 login 92 methods 152 retrieving 422 scope 599 affiliate attributes about 93 methods 158 affiliate domains about 93 methods 160 affiliate objects about 93 methods 179 saving object updates 577 AffiliateDemo.pl 102 agent administration methods 39 Agent API about 31 location 35 object hierarchy 37 steps for using 32 v4.x, v5.x 32 agent configuration file 34 agent configuration objects creating 422 deleting 422 methods 205 parameters 209 retrieving 422 agent operations managing sessions 88 protecting resources 85 retrieving commands from the Policy Server 90 retrieving responses and response attributes 86 agent types global scope 565 methods 211 retrieving 422 Agent() 364, 394 AgentAPI 31 AgentAPI object, methods 39 AgentResource object methods 51 AgentResponse object methods 53 AgentResponseAttr object methods 55 agents about 31 commands from the Policy Server 90 configuration file 34 converting between versions 201 creating, in Policy Server 422, 566 deleting, in Policy Server 422 global scope 565 legacy 201 lower-case names 27 methods 201
Index 659
retrieving, in Policy Server 422 single sign-on 33 testing 31 v4.x vs. v5.x 32, 566 AgentSession object methods 60 AgentSvrCfg object method 59 AgentUser object methods 72 AllowNestedGroups() 308 AllowNotification() 179 ampolicy.smdif 102 AnonymousIDAttr() 524 ApplyLowerPriorityPolicies() 308 artifact profile, SAML 120 AssertionPluginClass() 179 AssertionPluginParameters() 179 assertions. See SAML assertions 93 association objects 209 Audience() 179 Audit() 72 auditing user activity 563 AuthDir() 212 authentication events 364, 592 example 85 reason for failure 60 Service Provider 126 authentication and authorization maps creating 422 deleting 422 global scope 565 methods 212 retrieving 422 authentication schemes configuring 102 creating 422, 589 deleting 422 getting default values 588 library 103 methods 215 parameter value 103 protection level 103 retrieving 422 saving updates 577 shared secret 103 templates 103, 215, 589 updating for a realm 587 AuthLoginTrackFailure() 308 authorization events 364, 592
example 85 reason for failure 60 variables 547, 552, 572 AuthScheme() administrator 152 realm 364, 587 AuthURL() 179 AzDir() 212 AzUserDir() 364
B
backup Policy Server 593 BadLoginDisablementPeriod() 308 bootstrap file 39
C
cache management 90, 563 CacheCRL() 224 case sensitive object names 27 central agent configuration agent configuration 205 agent configuration parameters 209 host configuration 272 policy server connectivity 362 trusted host 509 certificate mapping methods 224 Certificate Revocation List 224 Certificate() 72 CertificateFile() 72 CertRequired() 224 ChalRespAttr() 524 child realms creating 364 deleting 364 only one child realm under a realm 599 retrieving 364 ClearText() 233, 578 clustered servers about 593 configuration 594 failover 593 failover threshold 594 methods 232 sequence number 594 configuration files agents 34 exported policy store data 578 configuration parameters, agent 209 Connect() 32, 39
ConsumerURL() 179 Contains() 261 ConvertFromLegacy() 201 ConvertToLegacy() 201 cookies, SMSESSION 33 CreateActiveAttribute() 385 CreateAdmin() 422 CreateAffDomain() 422 CreateAffiliate() 160 CreateAgent() 422, 566 CreateAgentConfig() 422 CreateAgentGroup() 422 CreateAttribute() 385 CreateAuthAzMap() 422 CreateAuthScheme() 422, 589 CreateBootstrapFile() 39 CreateChildRealm() 364 CreateCustomCertMap() 422 CreateDataManager() 422, 578, 581, 582 CreateDomain() 422 CreateExactCertMap() 422 CreateGlobalPolicy() 422 CreateGlobalResponse() 422 CreateGlobalRule() 422 CreateHostConfig() 422 CreateIPConfigHostName() affiliate 179 policy 347 Service Provider 408 CreateIPConfigRange() affiliate object 179 policy 347 Service Provider 408 CreateIPConfigSingleHost() affiliate object 179 policy 347 Service Provider 408 CreateIPConfigSubnetMask() affiliate object 179 policy 347 Service Provider 408 CreateODBCQueryScheme() 422 CreatePolicy() 240, 568 CreatePwdPolicy() 422 CreateRealm() 27, 240 CreateRegScheme() 422 CreateResponse() 240, 586 CreateResponseGroup() 240 CreateRule() 364
CreateRuleGroup() 240 CreateSAMLAffiliation() 422 CreateSession() 92, 282, 566 CreateSingleCertMap() 422 CreateSSOToken() 33, 72 CreateTrustedHost() 422 CreateUser() 39, 85 CreateUserDir() 422 CreateVariable() 240, 572 CreateVariableAttribute() 385 creating objects 27 CRL 224 CRLUserDirectory() 224 CustomData() 72 CustomLib() 215 CustomParam() 215 CustomSecret() 215
D
data manager creating 422, 578 methods 233 multiple object data files 582 Decode() 33, 68 definition of authorization variables 572 Definition() 547 DeleteAdmin() 422 DeleteAffDomain() 422 DeleteAffiliate() 160 DeleteAgent() 422 DeleteAgentConfig() 422 DeleteAttribute() 385 DeleteAuthAzMap() 422 DeleteAuthScheme() 422 DeleteCertMap() 422 DeleteChildRealm() 364 DeleteDomain() 422 DeleteGlobalPolicy() 422 DeleteGlobalResponse() 422 DeleteGlobalRule() 422 DeleteGroup() 240, 422 DeleteHostConfig() 422 DeleteIPConfig() affiliate object 179 policy 347 Service Provider 408 DeleteODBCQueryScheme() 422 DeletePolicy() 240 DeletePwdPolicy() 422
Index 661
DeleteRealm() 240 DeleteRegScheme() 422 DeleteResponse() 240 DeleteRule() 364 DeleteSAMLAffiliation() 422 DeleteTrustedHost() 422 DeleteUserDir() 422 DeleteVariable() 240 DelVariables() 35, 60 dependencies import and export 578 poster 29 retrieving higher-level objects 568 Description() administrator 152 affiliate domain 160 affiliate object 179 agent 201 agent configuration object 205 authentication scheme 215 authorization variables 547 certificate map 224 domain 240 group 261 host configuration 272 ODBC query scheme 294 password policy 308 policy 347 realm 364 registration scheme 381 response 385 rule 394 user directory 524 DictionaryMatch() 308 DictionaryPath() 308 directories. See user directories 422 DirectoryType() 224 DisableAfterInactivityExpiration() 308 DisableAfterPwdExpiration() 308 DisableAudit() 282, 563 DisableByAdmin() 514 DisableCacheUpdates() 282 DisabledAttr() 524 DisabledTime() 544, 584 DisableInactive() 514 DisableManagementWatchDog() 282, 563 DisableMaxLoginFail() 514 DisablePwdExpired() 514 DisableValidation() 282, 563
disabling event processing 592 documentation poster 29 supplemental 29 domain scope 567, 570 domains affiliate 93, 160 creating 422 deleting 422 global scope 565 listing 591 methods 240 retrieving 364, 422 DoManagement() 39, 90 dynamic load balancing 593
E
EmailAttr() 524 EnableCache() 282 EnableCRL() 224 EnableFailover() 593 EnableLogging() 381 encryption key management 90 EntireDir() 308 entitlements 93 error messages 39 event processing, disabling 592 ExpirationDelay() 308 Export() 233, 578, 581 exporting objects about 578 clear text 578 example 581 flags for 578 multiple object data files 582 realms 581
F
failover 593 threshold 594 threshold percentage 594, 595 FailoverThreshold() 272, 594 federated business network 102 Federation Security Services about 93 methods 158, 160, 179, 401, 408, 421 Flags() 209 Flush() 364 flushing cache 90
G
GelHostConfig() 422 get/set methods 28, 566 GetActiveExpr() 391 GetAdmin() 422 GetAffDomain() 422 GetAffiliate() 160 GetAffiliatedSAMLAuthSchemes() 401 GetAffiliatedSAMLServiceProviders() 401 GetAgent() 261, 422 GetAgentConfig() 422 GetAgentGroup() 261, 422 GetAgentType() group 261 session 422, 566 GetAgentTypeAttrName() 391 GetAllAdmins() 160, 422 GetAllAffDomains() 422 GetAllAffiliates() 160 GetAllAgentConfigs() 422 GetAllAgentGroups() 261, 422 GetAllAgents() 261, 422 GetAllAttributes() affiliate object 179 response 385 Service Provider 408 GetAllAuthAzMaps() 422 GetAllAuthSchemes() 422 GetAllCertMaps() 422 GetAllChildRealms() 364 GetAllClusters() 272 GetAllDomains() 422, 591 GetAllGlobalPolicies() 422 GetAllGlobalResponses() 422 GetAllGlobalRules() 422 GetAllHostConfigs() 422 GetAllIPConfigs() affiliate object 179 policy 347 Service Provider 408 GetAllODBCQuerySchemes() 422 GetAllPolicies() 240 GetAllPwdPolicies() 422, 584 GetAllRealms() 240, 591 GetAllRegSchemes() 422 GetAllResponseGroups()
domain 240 group 261 GetAllResponses() domain 240 group 261 GetAllRuleGroups() domain 240 group 261 GetAllRules() group 261 policy 347 realm 364 GetAllSAMLAffiliations() 422 GetAllServers() 232, 272 GetAllTrustedHosts() 422 GetAllUserDirs() 422 GetAllUsers() affiliate object 179 policy 347 Service Provider 408 GetAllVariables() 240 GetAllVariableTypes() 422 GetAssociations() 205 GetAttributes() 53, 87 GetAttrNameFormat() 421 GetAttrType() 158 GetAuthScheme() 422, 588, 589 GetAuthType() 51 GetCertMap() 422 GetChildRealm() 364 GetClass() 514 GetContents() 524 GetDescription() agent type 211 trusted host 509 variable type 552 GetDomain() realm 364 session 422 GetEndIPAddress() 290 GetFlags() 55 GetGlobalPolicy() 422 GetGlobalResponse() 422 GetGlobalRule() 422 GetHostName() 290 GetID() 60 response attribute 55 with DoManagement() 90 with GetAttributes() 87
Index 663
GetIPAddress() IP configuration 290 trusted host 509 GetName() 547, 552 agent type 211 response attribute 55 trusted host 509 GetNamespace() 524 GetODBCQueryScheme() 422 GetPath() 514 GetPolicy() 240 GetPorts() 362 GetPwdPolicy() 422 GetRealm() 240 GetReason() 60 GetRegScheme() 422 GetResource() 39, 87, 88 GetResponse() 87, 88, 568 domain 240 group 261 result of authorized request 72 GetResponseGroup() domain 240 group 261 GetReturnType() 547 GetRule() 261, 364, 568 GetRuleGroup() domain 240 in a group 261 GetSAMLAffiliation() 422 GetSAMLAffiliationById() 422 GetSecret() 509 GetServerAddress() 362 GetServerPort() 362 GetSession() 53, 88 GetSharedSecretPolicy() 422, 590 GetSpec() 60 GetString() 33, 68 GetSubnetMask() 290 GetTrustedHost() 422 GetTTL() Agent API 55 Policy Management API 391 GetType() 290 GetUserDir() 422 GetUserDirSearchOrder() affiliate domain 160 domain 240 GetValue() 421
affiliate attributes 158 response attributes, Agent API 55 response attributes, Policy Management API 391 GetVariable() domain 240 response attribute 391 GetVariables() 35, 60 GetVariableType() 422, 547 GetVersion() 33, 68 global objects 565, 570 GlobalPoliciesApply() 240 group methods 261
H
hierarchy of objects Agent API 37 host configuration objects clustered and non-clustered servers 593 creating 422 deleting 422 methods 272 retrieving 422 host name 290 HTML Form Template default values 588
I
Identity Providers about 96 adding, modifying 126 IdleTimeout() realm re-authentication 364 session 60 IgnorePwd() 215 Impersonate() 72 Import() 233, 578, 582 importing objects about 578 example 582 flags for 578 multiple object data files 582 realms 582 IncludeDependencies() 233, 578 IncrementRefCount() 39 initialization methods 92, 282, 563 installation path 26 Integrated Windows Authentication 135 IP address restrictions
affiliate objects 179 IP configuration objects 290, 347 policy 347 Service Provider 408 IP configuration methods Agent API 59 Policy Management API 290 IPAddress() Agent API 59 Policy Management API 201 IsAuthorized() 72, 85 IsEnabled() affiliate object 179 password policy 308 policy 347 rule 394 IsProtected() 51, 85 IsRadius() 215 IsSecure() 524 IssuerDN() 224 IsTemplate() 215 IsThirdParty() 33, 68 IsUsedByAdmin() 215
M
ManageAllDomains() 152 ManageDomainObjects() 152 ManageKeysAndPwdPolicy() 152 management commands 90 management watchdog 282, 563 ManageUsers() 152 managing sessions 88 MapType() 212 MaxLoginFailures() 308, 584 MaxLoginInactive() 308 MaxResults() 524, 566 MaxSocketsPerPort() 272 MaxTimeout() 60, 364 MetaData() 547 migrating objects about 578 flags for 578 methods 233 See also importing objects, exporting object 233 migration.cfg 578 migration.smdif 578 MinSocketsPerPort() 272 mixed mode 135 modules AgentAPI 31
K
key management 90
L
LastLoginTime() 544, 584 LastPWChangeTime() 544, 584 legacy agents, conversion 201 libraries for authentication schemes 103 limitations 599 load balancing 593 LoadAgentTypeDictionary() 282, 563 LocalConfig.conf 34 location of Agent API 35 Netegrity Scripting Interface 26 Perl interpreter 26 Policy Management API 92 policy store 92 scripts 26 login administrators 92 failures 584 time 584 users 72, 85 Login() 72, 85
N
Name() administrator 152 affiliate domain 160 affiliate object 179 agent 201 agent configuration object 205 agent configuration parameter 209 authentication scheme 215 domain 240 group 261 host configuration 272 ODBC query scheme 294 password policy 308 policy 347 realm 364 registration scheme 381
Index 665
response 385 rule 394 user 72 user directory 524 native mode 135 nested realms. See child realms 599 NestedVariables() 547 New() Agent API 32, 39 Policy Management API 92, 282 NewSocketStep() 272 non-clustered Policy Servers 593
O
object hierarchy Agent API 37 Policy Management API 93 objects as property values 568 case-sensitive names 27 clear text 578 creating 27 dependencies 568, 578 domain scope 567 exported data 578, 582 getting/setting properties 28, 566 global scope 565 importing and exporting 578 overwriting during migration 578 poster 29 retrieving 568 saving updates 577 validating 563 ODBC query schemes creating 422 deleting 422 global scope 565 methods 294 retrieving 422 ODBCQueryScheme() 524 Option Pack 93 OverwriteObjects() 233, 578
P
parameter for authentication scheme 103 parameters for agent configuration 209 password policies creating 422 deleting 422
global scope 565 methods 308 modifying 584 retrieving 422 saving updates 577 password state 544, 584 Password() administrator 152 affiliate object 179 user 72 user directory 524 path 26 percentage for failover threshold 594, 595 performance, Policy Management API 93 Perl interpreter location 26 persistent sessions 36, 599 policies adding objects to 568 authorization variables 572 creating 240, 568 deleting 240 domain scope 567, 570 global scope 570 methods 347 retrieving 240 policy domains. See domains 240 Policy Management API about 91 location 92 object hierarchy 93 performance 93 steps for using 92 Policy Server about 91 backup 593 clusters 593 commands to agents 90 connectivity object 362 failover 593 initialization methods 282, 563 load distribution 593 migrating objects to, from 233, 578 non-clustered 593 performance 593 Policy Management API location 92 ports 362 primary cluster 594 round-robin 593 session creation 282
TCP/IP address 362 validating objects 563 Policy Server operations adding objects to policies 568 creating an authentication scheme 589 creating responses 586 creating system objects 565 disabling event processing 592 exporting objects 578 importing objects 578 initializing a session 563 managing object properties 566, 568 managing objects with domain scope 567 managing system objects 565 modifying password policies 584 saving object updates 577 updating realms 587 viewing defaults 588 writing object lists to a file 591 policy store about 91 data manager methods 233 location 92 PolicyMgtAdmin object methods 152 PolicyMgtAffDomain object methods 160 PolicyMgtAffiliate object methods 179 PolicyMgtAffiliateAttr object methods 158 PolicyMgtAgent object methods 201 PolicyMgtAgentConfig object methods 205 PolicyMgtAgentType object methods 211 PolicyMgtAPI 91 PolicyMgtAPI object methods 282 PolicyMgtAssociation object methods 209 PolicyMgtAuthAzMap objects 212 PolicyMgtAuthScheme object methods 215 PolicyMgtCertMap object methods 224 PolicyMgtCluster object methods 232 PolicyMgtDataMgr object methods 233 PolicyMgtDomain object methods 240 PolicyMgtGroup object methods 261 PolicyMgtHostConfig object methods 272 PolicyMgtIPConfig object methods 290 PolicyMgtODBCQueryScheme object methods 294 PolicyMgtPolicy object methods 347 PolicyMgtPwdPolicy object methods 308 PolicyMgtRealm object methods 364 PolicyMgtRegScheme object methods 381 PolicyMgtResponse object methods 385
PolicyMgtResponseAttr object methods 391 PolicyMgtRule object methods 394 PolicyMgtSAMLAffiliation object methods 401 PolicyMgtSAMLServiceProvider object methods 408 PolicyMgtSAMLSPAttr object methods 421 PolicyMgtServer object methods 362 PolicyMgtSession object methods 422 PolicyMgtSharedSecretPolicy object methods 506 PolicyMgtTrustedHost object methods 509 PolicyMgtUser object methods 514 PolicyMgtUserDir object methods 524 PolicyMgtUserPasswordState object 584 methods 544 PolicyMgtVariable 547 PolicyMgtVariableType 552 portals. See SAML assertions 94 ports 362 POST profile, SAML 123 Post variables 572 poster 29 PreLoadCache() 282, 563 PrevLoginTime() 544, 584 primary cluster 594 principals about 96 validation 126 PrintDebugTrace() Agent API 39 Policy Management API 282 ProcessAuEvents() 364, 592 ProcessAzEvents() 364, 592 producer. See SAML assertions 94 properties of objects getting/setting 28, 566 objects as values 568 realms 28 UI fields and 28 properties, SAML 2.0 authentication 126 Property() SAML 2.0 affiliation metadata 401 SAML 2.0 Service Provider metadata 408 protecting resources 85 protection level for authentication schemes 103 ProtectionLevel() 215 ProtectResource() 364 PwdAddRegExpMatch() 308
Index 667
PwdAddRegExpNoMatch() 308 PwdAllowDigits() 308 PwdAllowLower() 308 PwdAllowNonAlphaNum() 308 PwdAllowNonPrintable() 308 PwdAllowPunctuation() 308 PwdAllowUpper() 308 PwdAttr() 524 PwdDataAttr() 524 PwdExpiryWarning() 308 PwdForceLowerCase() 308 PwdForceUpperCase() 308 PwdGetAllRegExpMatch() 308 PwdGetAllRegExpNoMatch() 308 PwdGetRegExp() 308 PwdIgnoreSequence() 308 PwdMaxLength() 308, 584 PwdMaxRepeatingChar() 308 PwdMinAlpha() 308 PwdMinAlphaNum() 308 PwdMinLength() 308, 584 PwdMinLower() 308 PwdMinNonAlpha() 308 PwdMinNonPrintable() 308 PwdMinNumbers() 308, 584 PwdMinProfileMatch() 308 PwdMinPunctuation() 308 PwdMinUpper() 308 PwdPercentDiff() 308 PwdPolicyPriority() 308 PwdRedirectionURL() 308 PwdRemoveRegExp() 308 PwdReuseCount() 308, 584 PwdReuseDelay() 308, 584
R
RealmHintAttrID() 201 realms authentication scheme update 587 creating 27, 240 deleting 240 domain scope 567 event processing 592 exporting 581 importing 582 listing 591 methods 364 persistent sessions 599 properties 28 resource filter modification 28 retrieving 240 session types 36 session variables 36 setting resource filter property 28 RegexMatch() 394 registration schemes creating 422 deleting 422 global scope 565 methods 381 retrieving 422 RegScheme() 364 regular expression matching 394 Remove() 261 RemoveAdmin() affiliate domain 160 domain 240 RemoveAllClusters() 272 RemoveAllServers() 272 RemoveAssociation() 205 RemoveAttribute() 179, 408 RemoveResponse() 347 RemoveRule() 347 RemoveUser() affiliate object 179 policy 347 Service Provider 408 RemoveUserDir() affiliate domain 160 domain 240
Q
QueryAuthenticateUser() 294 QueryEnumerate() 294 QueryGetGroupProp() 294 QueryGetGroupProps() 294 QueryGetGroups() 294 QueryGetObjInfo() 294 QueryGetUserProp() 294 QueryGetUserProps() 294 QueryInitUser() 294 QueryIsGroupMember() 294 QueryLookup() 294 QueryLookupGroup() 294 QueryLookupUser() 294
RequestContext variables 572 RequestTimeout() 272 RequireCredentials() 524 resolved data lists not supported 599 resource filter property of realm 28 resource methods 51 Resource() 394 ResourceFilter() 28, 364 resources, checking if protected 85 response attributes creating 385, 586 domain scope 567 methods (Agent API) 55 methods (Policy Management API) 391 retrieving 86 types not supported 599 responses adding to policies 568 authorization variables 572 creating 240, 586 deleting 240 domain scope 567, 570 global scope 570 methods (Agent API) 53 methods (Policy Management API) 385 retrieving 86, 240 restrictions IP addresses 179, 290, 347, 408 Netegrity Scripting Interface 599 rollover of shared secret about 590 enabling in trusted host 509 frequency setting 590 methods 506 RolloverEnabled() 509, 590 RolloverFrequency() 506 RolloverPeriod() 506 round-robin Policy Servers 593 rules adding to policies 568 creating 364 deleting 364 domain scope 567, 570 global scope 570 methods 394 retrieving 364
S
SAML
SAML 1.x support 94 SAML 2.0 support 96 SAML 2.0 authentication schemes properties 126 SAML affiliations methods 401 SAML assertions about 93, 94 artifact profile 120 modifying 93 POST profile 123 producer 94, 120, 123 SAML producer. See SAML assertions 93 SAMLAuthSchemeProperties() 422 SAMLProfile() 179 SAMLVersion() 179 sample scripts 29 Save() affiliate object updates 179 authentication scheme updates 215, 577 password policy updates 308 SAML 2.0 affiliation metadata 401 SAML 2.0 Service Provider metadata 408 shared secret rollover policy objects 506 SaveCredentials() 215 scheme. See authentication schemes 102 scope of objects domain 567, 570 global 565, 570 scripts running 26 sample 29 SearchRoot() 524 SearchScope() 524 SearchTimeout() 524 Security Assertion Markup Language (SAML) 93 server objects 362 Server() 524 server. See Policy Server 593 Service Provider attribute 421 Service Providers about 96 attributes 421 authentication 126 methods 408 validation 126 session cleanup 36
Index 669
information 35 specification 35 types, and realms 36 validation 72 variables 35 session ID 88 session methods Agent API 60 Policy Management API 422 Session Server 36 session specification about 88 session variables and 35 session store 35 session variables about 35 persistent sessions 36 sessions (agent) creating 86, 88 managing 88 methods 60 sessions (Policy Server) creating 282, 566 dependent objects 565 initializing 563 methods 422 SessionSyncInterval() 179 SetErrorCallback() 39 SetPassword() 514 SetResponse() 347, 568 SetSecret() 509 setting property values 28, 566 SetTraceCallback() 39 SetUserDirSearchOrder() affiliate domain 160 domain 240 SetVariables() 35, 60 shared secret about 590 authentication schemes 103 creating v4.x agents 32, 201, 566 getting and setting 509 retrieving rollover policy object 422 rollover 506, 509 rollover frequency 590 saving rollover policy object updates 577 SharedSecret() 201 ShareSessioning() 179 single sign-on
about 33 create token 33, 72 decode token 33 methods 68 SAML assertions 97 SiteMinder Federation Security Services 93 SiteMinder Test Tool 31 site-specific information 578 SkewTime() 179 smdif files contents 578 multiple 582 smobjexport 578 smobjimport 578 SMSESSION cookie 33 SOAP, with authorization variables 572 SQL query schemes. See ODBC query schemes 294 SSO. See single sign-on 33 SSOToken object methods 68 static response attributes 599 Static variables 572 StripEmbeddedWhitespace() 308 StripLeadingWhitespace() 308 StripTrailingWhitespace() 308 Subject DN 422 subnet mask 290, 347 SyncAudit() 364 system objects. See global objects 565 system path 26
T
TCP/IP 362 TemplatePath() 381 templates for authentication schemes 103, 589 setting, deprecated 215 Test Tool 31 testing agent operations 31 time grid 599 time to live setting 391 tokens about 33 creating 72 retrieving in string form 33 trace messages 39 TrackLoginDetails() 308 TransactionMinder variable types 572 trusted hosts
creating 422 deleting 422 enabling rollover 506, 509 methods 509 retrieving 422 shared secret 590 Type() 215
V
Validate() 72 ValidateEntry() 524 ValidatePassword() 514 validating policy store objects 563 ValidityDuration() 179 Value() 209 variable types definition 572 methods 552 TransactionMinder 572 VariableExpr() 347 variables authorization 547, 572 session 35 VerifySignature() 224
U
UIDAttr() 524 unresolved data lists not supported 599 UseDistributionPoints() 224 user class, retrieving 514 user directories creating 422 deleting 422 global scope 565 maximum results property 566 methods 524 property management 566 retrieving 422 user DN, retrieving 514 user methods Agent API 72 Policy Management API 514 user path, retrieving 514 user policies, domain scope 567 UserContext variables 572 UserDirClass() 308 UserDirectory() administrator 152 password policy 308 registration scheme 381 UserDirPath() 308 UserLookupEnd() 524 UserLookupStart() 524 Username() 524 UserPasswordState() 514, 584 users adding to policies 568 adding to Service Providers 408 auditing activity 563 authenticating 102 creating objects for 39 entitlements 93 impersonating 72 logging in 72, 85 password state 544, 584 principals 96
W
watchdog 282, 563 WebAgent.conf 34 WebService variables 572 WelcomePageURL() 381 well-known attributes 87
Index 671