Which of the following actions can be specified in a policy by default?
Correct Answer: A
In PingAM 8.0.2, Authorization Policies define who can perform what actions on a specific resource. These "Actions" are defined within a Resource Type. When you create a new policy, you must select which actions are allowed or denied. According to the "Resource Types" documentation, PingAM includes several "Default" resource types (such as URL, RPC, and others).9 For the most common resource type, the URL Resource Type, PingAM defines a set of standard HTTP-related actions by default: GET POST PUT DELETE HEAD OPTIONS PATCH HEAD (Option A) is a standard HTTP method and is included in the default list for URL-based policies. INSERT, CREATE, and UPDATE (Options B, C, and D) are not provided by default in the standard URL resource type. While an administrator can certainly create a Custom Resource Type and define "INSERT" or "UPDATE" as valid actions (common for database or API-specific policies), they are not present in the "default" out-of-the-box configuration for web-based resources. Understanding the default action set is important for administrators when quickly securing web applications without the need for custom schema development.
Question 27
When a user undergoes a session upgrade, what is the outcome?
Correct Answer: B
Session Upgrade in PingAM 8.0.2 is the mechanism by which a user's current authenticated session is "elevated" to a higher authentication level (Auth Level). This is commonly triggered by Step-up Authentication requirements, where a user attempts to access a highly sensitive resource that requires a stronger authentication method (such as MFA) than what was used for their initial login. According to the PingAM documentation on "Session Upgrade Outcomes," the process is not merely a modification of the existing session. Instead, when a user successfully completes the additional authentication requirements (the "Advice"): Creation of a New Session: PingAM generates a brand-new authenticated session. This new session is assigned a higher authentication level corresponding to the tree or module just completed. Property Copying: To ensure a seamless user experience, PingAM copies the session properties (attributes, constants, and other metadata) from the original lower-level session into the new higher-level session. This ensures that information gathered during the initial login remains available to applications. Token Replacement: Because the session ID is part of the session token (SSO Token), a new session implies a new token. PingAM hands the client a new session token to replace the original one. The client (browser or application) must then use this new token for subsequent requests. If the realm is configured for server-side sessions, the new session is stored in the Core Token Service (CTS). If configured for client-side sessions, a new signed/encrypted JWT is sent to the client as a cookie. The key distinction is that the token changes, and properties are preserved through copying, which distinguishes Option B as the correct technical description of the internal AM lifecycle.
Question 28
The Core Token Service (CTS) can be used for storing which of the following?
Correct Answer: D
The Core Token Service (CTS) is a high-performance persistence layer in PingAM 8.0.2 designed to store short-lived, stateful data. Unlike the Configuration Store (which holds static system settings) or the Identity Store (which holds user profiles), the CTS is optimized for "token-like" data that is frequently created, updated, and deleted. According to the "Core Token Service (CTS) Overview" in the PingAM 8.0.2 documentation, the primary purpose of the CTS is to provide a centralized repository for: Session Tokens: For server-side sessions, the session state is stored in the CTS. OAuth 2.0 Tokens: This includes Access Tokens, Refresh Tokens, and Authorization Codes. When an OAuth2 client requests a token, AM generates it and, if configured for server-side storage, persists it in the CTS so that any node in an AM cluster can validate it. SAML 2.0 Tokens: Used for tracking assertions and managing Single Logout (SLO) states. UMA (User-Managed Access) Labels and Resources: Various state information for the UMA protocol. The documentation explicitly clarifies that the CTS is not a general-purpose database. Configuration (Option A) is strictly stored in the Configuration Data Store (usually a dedicated PingDS instance). Users (Option B) are stored in an Identity Store such as Active Directory or PingDS. Kerberos tokens (Option C) are part of a challenge-response handshake that is typically handled at the protocol layer and not stored as persistent records in the CTS. Therefore, OAuth2 tokens are the definitive type of data managed by the CTS among the choices provided. Utilizing the CTS for OAuth2 tokens is a prerequisite for supporting features like token revocation and refresh token persistence across multiple AM instances in a high-availability deployment.
Question 29
What is session denylisting used for?
Correct Answer: C
Session Denylisting is a critical security feature in PingAM 8.0.2, primarily used when a realm is configured for client-side sessions.9 In a client-side session model, the session state is stored in a signed and encrypted JWT within the user's browser cookie rather than in the server's memory or the Core Token Service (CTS).10 Because the server does not "own" the session state, a logout event typically only involves deleting the cookie from the browser. However, if a malicious actor had previously copied that cookie, they could still use it until it naturally expires. To solve this, PingAM uses Session Denylisting to keep track of logged out sessions.11 When a user logs out, or when a session is invalidated (e.g., during a session upgrade or administrative action), AM records the session identifier in a denylist stored within the Core Token Service (CTS).12 For every subsequent request, AM checks the incoming client-side session token against this denylist.13 If the session ID is found in the denylist, AM rejects the token as invalid, even if the cryptographic signature is correct and the expiration time has not passed. The documentation emphasizes that this feature is essential for "tracking session logouts across multiple AM servers" in a cluster. Without denylisting, there would be no way to perform a "global logout" for client-side sessions that is immediately effective across all nodes.14 Administrators can configure properties such as the Denylist Purge Delay (to account for clock skew) and the Denylist Poll Interval (to balance security speed with system performance).15 By effectively managing the lifecycle of revoked tokens, session denylisting ensures that a logout is a cryptographically and operationally certain event.
Question 30
To protect against cross-site request forgery attacks, a default PingAM installation requires that some requests, such as POST requests, include:
Correct Answer: C
Cross-Site Request Forgery (CSRF) is an attack where a malicious site sends a request to PingAM using the victim's authenticated browser session. Because standard HTML forms and cross-site requests cannot easily set custom HTTP headers, requiring a specific header is an effective defense for REST APIs. According to the PingAM "Security" documentation and the "REST API" reference: By default, PingAM 8.0.2 enforces a CSRF filter on its REST endpoints (such as /json/authenticate or /json/users). For any "state-changing" request (like a POST, PUT, or DELETE), the client must prove the request is intentional and not a forged browser-driven request. This is achieved by requiring at least one of the following headers: X-Requested-With: Commonly used by AJAX libraries like jQuery. Its presence indicates the request was made via a script, which is generally not possible for a standard cross-site CSRF attack. Accept-API-Version: This header serves two purposes. First, it ensures the client is targeting a specific version of the PingAM REST API (e.g., resource=2.0, protocol=1.0). Second, since custom headers cannot be set in simple cross-site <form> submissions, it acts as a CSRF token. If a POST request is sent to the REST API without one of these headers, PingAM will reject the request with a 403 Forbidden error, even if the user has a valid session cookie. Option B (If-Match: _rev) is used for concurrency control (preventing "lost updates" in IDM or AM configuration), but it is not the primary CSRF defense. Options A and D are headers sometimes used for "Zero-Page Login" or legacy authentication, but they do not provide protection against CSRF for the general REST API. Therefore, the combination of X-Requested-With or Accept-API-Version is the correct answer for default CSRF protection in PingAM 8.0.2.