Which authentication node can you use in PingAM to add a key:value property to the user's session after successful authentication?
Correct Answer: D
In PingAM 8.0.2 Intelligent Access, the Set Session Properties node is a specialized utility node designed to modify the session object once it is created. According to the "Authentication Node Reference": During an authentication journey, data is typically stored in the sharedState. However, sharedState is transient and is destroyed once the tree finishes. If an administrator wants to take a piece of information (e.g., a "Risk Score" calculated during the tree, or a "Branch ID" retrieved from a legacy system) and make it a permanent part of the user's session, they must use the Set Session Properties node. Functionality: This node allows you to map a value from the sharedState or transientState to a session property name. After the tree reaches a Success node, these properties are persisted in the session (either in the CTS for server-side sessions or the JWT for client-side sessions). Usage: Once set, these properties can be retrieved later for Response Attributes in policies, or by applications using the /json/sessions endpoint. Option A (Get Session Data node) is used to retrieve existing properties from an active session, not set them. Option B is incorrect because while webhooks can trigger external logic, the native way to modify the session within a tree is a node. Option C (Provision Dynamic Account node) is for creating user entries in the Identity Store (LDAP), not for managing session-level properties. Therefore, Set Session Properties (Option D) is the correct technical tool for this requirement in version 8.0.2.
Question 12
A customer wishes to customize the OpenID Connect (OIDC) id_token JSON Web Token (JWT) to include the subject's employee number. Which of the following scripts should be customized to meet this requirement?
Correct Answer: B
In PingAM 8.0.2, the OpenID Connect (OIDC) Claims Script is the specific extensibility point designed to govern how user information is mapped and transformed into claims within an OIDC ID token or the UserInfo response. While PingAM supports standard scopes like profile and email out of the box, specialized business requirements-such as including an "employee number" which might be stored as employeenumber in an LDAP directory-require a custom transformation. According to the "OIDC Claims Script" reference in the PingAM documentation: The script acts as a bridge between the Identity Store (the source of truth) and the OIDC Provider (the issuer). When a client requests a token, PingAM executes this script, providing it with a claimObjects map and the userProfile. The developer can then write Groovy or JavaScript logic to retrieve the employeeNumber attribute from the user's profile and add it to the resulting claims set. The script typically follows this logical flow: Identify the requested claims from the OIDC scope. Fetch the corresponding raw attributes from the Identity Store (e.g., PingDS or AD). Format and name the claim as per the OIDC specification or the specific client requirement (e.g., mapping LDAP employeenumber to OIDC claim emp_id). Return the claims to be signed and embedded into the JWT. Why other options are incorrect: Options A, C, and D reference script types that do not exist under those specific names in the standard PingAM 8.0.2 scripting engine. While there are "Access Token Modification" scripts and "Client Registration" scripts, the OIDC Claims Script is the only one authorized and designed to manage the payload of the id_token.
Question 13
Does the user who runs the PingAM process need to have a home directory?
Correct Answer: A
According to the PingAM 8.0.2 Installation Guide, the user account on the operating system that runs the web application container (such as Apache Tomcat) must have a home directory. This requirement is critical for the "Bootstrap" process of the application. When PingAM starts for the first time or after a restart, the binaries need to know where the configuration data resides. PingAM looks for a hidden directory in the user's home directory named .openamcfg (or a similar name based on the deployment path). Inside this directory, AM creates and reads a file that contains the absolute path to the actual configuration directory (e.g., /home/tomcat/openam). This file acts as the pointer or "bootstrap" record. If the user running the process does not have a home directory, the AM application will fail to initialize because it cannot create this bootstrap pointer. This often results in a "Configuration failed" error or the application reverting to an "unconfigured" state upon every restart. While it is possible to override the location of the configuration directory using JVM system properties (like -Dcom.sun.identity.configuration.directory), the default behavior and best practice documented for standard deployments assume the existence of a home directory for the service user. This ensures that configuration remains persistent and isolated from the web container's temporary application files. Option C is incorrect as port listening restrictions are handled by the OS kernel/root privileges, not the existence of a home directory.
Question 14
Which organization sets, maintains, and governs the SAML2 standard?
Correct Answer: C
PingAM 8.0.2 is strictly compliant with various identity standards to ensure interoperability between different vendors and platforms. The Security Assertion Markup Language (SAML) V2.0 is the cornerstone of modern XML-based federation.7 According to the PingAM "SAML 2.0 Introduction" and "Supported Standards" documentation, the SAML 2.0 standard is developed and maintained by OASIS (the Organization for the Advancement of Structured Information Standards).8 Specifically, the OASIS Security Services Technical Committee (SSTC) is responsible for the specifications that define the SAML core (assertions and protocols), bindings (how SAML messages are mapped onto transport protocols like HTTP), and profiles (how SAML is used to solve specific use cases like Web Browser SSO). Knowing the governing body is important for administrators when reviewing the "Technical Metadata" and "Schema" sections of PingAM, as AM's implementation follows the OASIS SAML 2.0 standards for XML signing, encryption, and assertion structure. Other organizations listed, such as the IETF (Internet Engineering Task Force), govern protocols like OAuth2 and OpenID Connect, while the W3C (World Wide Web Consortium) handles general web standards like XML and WebAuthn. However, for SAML2, OASIS remains the authoritative governing body.
Question 15
A user enters their credentials, but is faced with the error message "user requires profile to login". What is a possible cause of this message?
Correct Answer: B
This error message is directly related to the User Profile configuration within a specific realm in PingAM 8.0.2. In the "Core Authentication Attributes" of a realm, PingAM defines how it should handle user identities after they have successfully provided valid credentials through an authentication tree or chain. There are primarily four modes for the User Profile setting: Required: This is often the default. It specifies that after a user successfully authenticates, PingAM must be able to locate a corresponding user entry in the configured Identity Store. If the user exists in the datastore, the session is created. If the user does not exist, authentication fails with the error message "user requires profile to login" (or a similar profile-related exception in the logs). Ignored: In this mode, PingAM issues an SSO session token immediately upon successful credential validation, regardless of whether a user profile exists in the back-end repository. This is useful for temporary or guest access where no permanent record is needed. Dynamic: AM attempts to find the user; if the user is not found, it automatically creates a new profile in the identity store. Dynamic with User Alias: Similar to dynamic creation but supports aliasing. If an administrator sees the "user requires profile to login" error, it confirms that the credentials themselves were technically correct (the user passed the authentication nodes), but the realm is currently in Required mode (it has not been set to Ignore or Dynamic) and no matching entry exists in the identity store. This frequently happens in migration scenarios or when using external identity providers (like Social IDPs) where the "Link" or "Provisioning" step has not been properly configured in the authentication journey. To resolve this, the administrator must either pre-provision the user, set the mode to Ignore, or implement a Create Object node within the authentication tree to handle dynamic provisioning.