am-access |
Audit |
Captures all incoming Advanced Identity Cloud access calls as audit events. This includes who, what, when, and the output for every access request.
-
AM-ACCESS-ATTEMPT
-
AM-ACCESS-OUTCOME
Show example
{
"payload": {
"_id": "92c9b6a4-f36f-438a-b1d4-c6e6bd909da6-783933",
"client": {
"ip": "198.51.101.0"
},
"component": "OAuth",
"eventName": "AM-ACCESS-ATTEMPT",
"http": {
"request": {
"headers": {
"content-type": [
"application/x-www-form-urlencoded"
],
"host": [
"<tenant-env-fqdn>"
],
"user-agent": [
"Apache-HttpClient/4.5.13 (Java/11.0.11)"
],
"x-forwarded-for": [
"198.51.101.0, 203.0.116.0, 192.0.3.255"
],
"x-forwarded-proto": [
"https"
]
},
"method": "POST",
"path": "https://<tenant-env-fqdn>/am/oauth2/realms/root/realms/alpha/access_token",
"secure": true
}
},
"level": "INFO",
"realm": "/alpha",
"request": {
"detail": {
"client_id": "RCSClient",
"grant_type": "client_credentials",
"scope": "fr:idm:*"
}
},
"source": "audit",
"timestamp": "<dateTime>",
"topic": "access",
"transactionId": "1634116808645-2e50ecbf0df5407a6870-226587/0"
},
"timestamp": "<dateTime>",
"type": "application/json"
}
Access log format
_id
-
A universally unique identifier (UUID) for the message object, such as a568d4fe-d655-49a8-8290-bfc02095bec9-491 .
timestamp
-
The timestamp when Advanced Identity Cloud logged the message, in UTC format to millisecond precision:
yyyy-MM-ddTHH:mm:ss.msZ . For example: 2015-11-14T00:16:04.653Z
eventName
-
The name of the audit event. For example, AM-ACCESS-ATTEMPT and AM-ACCESS-OUTCOME .
transactionId
-
The UUID of the transaction, which identifies an external request when it comes into the system boundary.
Any events generated while handling that request are assigned that transaction ID, so you could see the same transaction
ID for different audit event topics. For example, 9c9e8d5c-2941-4e61-9c3c-8a990088e801 .
userId
-
The universal identifier for authenticated users.
For example, id=scarter,ou=user,o=shop,ou=services,dc=example,dc=com .
trackingIds
-
A unique random string generated as an alias for each Advanced Identity Cloud session ID and OAuth 2.0 token.
When Advanced Identity Cloud generates an access or grant token, it also generates a unique random value and logs it as an alias.
In this way, you can trace an access token back to its originating grant token,
trace the grant token back to the session in which it was created, and then trace how the session was authenticated.
An example of a trackingIds property in an OAuth 2.0/OpenID Connect 1.0 environment is:
[ "1979edf68543ead001", "8878e51a-f2aa-464f-b1cc-b12fd6daa415", "3df9a5c3-8d1e-4ee3-93d6-b9bbe58163bc" ]
client.host
-
The client hostname. This field is populated only if reverse DNS lookup is enabled.
client.ip
-
The client IP address.
client.port
-
The client port number.
request.protocol
-
The protocol associated with the request operation.
Possible values: CREST , PLL , SAML2 .
request.operation
-
The request operation. For common REST operations, possible values are: READ , ACTION , QUERY .
For PLL operations, possible values are:
LoginIndex , SubmitRequirements , GetSession , REQUEST_ADD_POLICY_LISTENER .
request.detail
-
Detailed information about the request operation. For example:
Example values for an OAuth 2.0 app tree flow:
{
"oAuth2Client":"myClient",
"configuredService":"oauth2Tree"
}
Example values for a SAML 2.0 app tree flow:
{
"spEntity":"serviceprovider1",
"idpEntity":"identityprovider1",
"configuredService":"samlTree"
}
http.method
-
The HTTP method requested by the client. For example, GET , POST , PUT .
http.path
-
The path of the HTTP request; for example, https://<tenant-env-fqdn>//am/json/realms/root/realms/alpha/authenticate .
http.queryParameters
-
The HTTP query parameter string. For example:
-
{ "_action": [ "idFromSession" ] }
-
{ "_queryFilter": [ "true" ] }
-
{ "_action": [ "validate" ] }
-
{ "_action": [ "logout" ] }
-
{ "realm": [ "/shop" ] }
-
{ "_action": [ "validateGoto" ] }
http.request.headers
-
The HTTP header for the request.
Example
{
"accept": [
"application/json"
],
"accept-api-version": [
"protocol=1.0,resource=2.1"
],
"content-type": [
"application/json"
],
"host": [
"example.forgeblocks.com"
],
"origin": [
"https://example.forgeblocks.com"
],
"user-agent": [
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:120.0) Gecko/20100101 Firefox/120.0"
],
"x-forwarded-for": [
"188.39.235.130, 34.117.102.58, 10.154.0.3"
],
"x-forwarded-proto": [
"https"
],
"x-requested-with": [
"forgerock-sdk"
]
}
http.request.cookies
-
A JSON map of key-value pairs and appears as its own property to allow for denylisting fields or values.
http.response.cookies
-
Not used in Advanced Identity Cloud.
response.status
-
The response status of the request. For example, SUCCESS , FAILURE , or null.
response.statusCode
-
The response status code, depending on the protocol.
For common REST, HTTP failure codes are displayed but HTTP success codes aren’t.
For PLL endpoints, PLL error codes are displayed.
response.detail
-
The message associated with response.statusCode . For example,
the response.statusCode of 401 has a response.detail of { "reason": "Unauthorized" } .
response.elapsedTime
-
The time to execute the access event, usually in millisecond precision.
response.elapsedTimeUnits
-
The elapsed time units of the response. For example, MILLISECONDS .
component
-
The Advanced Identity Cloud service utilized;
for example, Server Info , Users , Config , Session , Authentication , Policy , OAuth , SAML2 , Web Policy Agent ,
or Java Policy Agent .
realm
-
The realm where the operation occurred. For example, ("/alpha" ).
|
am-activity |
Audit |
Captures state changes to objects that were created, updated, or deleted by Advanced Identity Cloud end users. This includes session, user profile, and device profile changes.
-
AM-SELFSERVICE-REGISTRATION-COMPLETED
-
AM-SELFSERVICE-PASSWORDCHANGE-COMPLETED
-
AM-SESSION-CREATED
-
AM-SESSION-IDLE_TIME_OUT
-
AM-SESSION-MAX_TIMED_OUT
-
AM-SESSION-LOGGED_OUT
-
AM-SESSION-DESTROYED
-
AM-SESSION-PROPERTY_CHANGED
-
AM-IDENTITY-CHANGE
-
AM-GROUP-CHANGE
Show example
{
"timestamp": "<dateTime>",
"payload": {
"_id": "3fc956b8-00a1-4e10-b8aa-72295d003bfb-195032",
"objectId": "3fc956b8-00a1-4e10-b8aa-72295d003bfb-195023",
"transactionId": "cf2a721c-9cec-4224-bdd1-3a33e1f8ed56/4",
"level": "INFO",
"eventName": "AM-SESSION-CREATED",
"timestamp": "<dateTime>",
"component": "Session",
"source": "audit",
"topic": "activity",
"trackingIds": [
"3fc956b8-00a1-4e10-b8aa-72295d003bfb-195023"
],
"realm": "/",
"userId": "id=amadmin,ou=user,ou=am-config",
"runAs": "id=amadmin,ou=user,ou=am-config",
"operation": "CREATE"
},
"type": "application/json"
}
Activity log format
_id
-
A universally unique identifier (UUID) for the message object, such as a568d4fe-d655-49a8-8290-bfc02095bec9-487 .
changedFields
-
Not used.
component
-
The Advanced Identity Cloud service utilized. For example, Session or ID Repo .
eventName
-
The name of the audit event. For example, AM-SESSION_CREATED , AM-SESSION-LOGGED_OUT , AM-NEW-CONNECTION-FACTORY .
level
-
The activity log level, INFO by default.
objectId
-
The unique identifier of the object that was created, updated, or deleted.
For logging sessions, the session trackingId is used in this field.
operation
-
The stage change operation performed on the object. For example, CREATE or UPDATE .
runAs
-
The user to run the activity as, used in delegated administration.
transactionId
-
The UUID of the transaction, which identifies an external request when it comes into the system boundary.
Any events generated while handling that request are assigned that transaction ID,
so you could see the same transaction ID for different audit event topics.
For example, 9c9e8d5c-2941-4e61-9c3c-8a990088e801 .
trackingIds
-
An array containing the following:
For example, [ "c120669f-f636-467d-8da0-590d72aeaf08-181706" ] .
userId
-
The universal identifier for authenticated users.
For example, id=fe32c8fe-38a2-4159-a220-9385350f3aca,ou=user,ou=am-config .
timestamp
-
The timestamp when Advanced Identity Cloud} logged the message, in UTC format to millisecond precision: yyyy-MM-ddTHH:mm:ss.msZ .
For example: 2015-11-14T00:16:04.652Z
type
-
The data type,application/json by default.
- source`
-
The source of these logs, am-activity .
|
am-authentication |
Audit |
Captures when and how a user authenticated and related audit events.
Advanced Identity Cloud records an authentication audit event for each authentication node and the journey outcome. A node can provide extra data in the standard audit event, which is logged when an authentication node completes.
Authentication log format
_id
-
A universally unique identifier (UUID) for the message object,
such as a568d4fe-d655-49a8-8290-bfc02095bec9-485 .
timestamp
-
The timestamp when Advanced Identity Cloud} logged the message, in UTC format to millisecond precision:
yyyy-MM-ddTHH:mm:ss.msZ .
For example: 2015-11-14T00:16:04.640Z
eventName
-
The name of the audit event. For example, AM-LOGOUT and AM-NODE-LOGIN-COMPLETED .
transactionId
-
The UUID of the transaction, which identifies an external request when it comes into the system boundary.
Any events generated while handling that request are assigned that transaction ID,
so you could see the same transaction ID for different audit event topics.
For example, 9c9e8d5c-2941-4e61-9c3c-8a990088e801 .
user.id
-
The universal identifier for authenticated users. For example, id=scarter,ou=user,o=shop,ou=services,dc=example,dc=com .
trackingIds
-
An array containing a unique random context ID.
-
For OAuth 2.0/OIDC flows, this field identifies the session and a random string generated
that can track an access token ID or a grant token ID.
-
For authentication journeys, this field identifies the journey.
result
-
The result of the authentication journey. Possible values are SUCCESSFUL or FAILED .
principal
-
The array of accounts used to authenticate. For example [ "tenantadmin" ] or [ "scarter" ] .
context
-
Not used
entries
-
A JSON representation of the authentication journey or node.
Advanced Identity Cloud} creates an event as each node completes and a final event at the end of the journey.
{
"entries":[
{
"info":{
"nodeOutcome":"true",
"treeName":"Example",
"displayName":"Data Store Decision",
"nodeType":"DataStoreDecisionNode",
"nodeId":"e5ec495a-2ae2-4eca-8afb-9781dea04170",
"authLevel":"0"
}
}
]
}
component
-
The Advanced Identity Cloud} service utilized. For example, Authentication .
realm
-
The realm where the operation occurred. For example, ("/alpha" ).
|
am-config |
Audit |
Captures access management configuration changes for Advanced Identity Cloud with a timestamp and by whom.
Configuration changes can only be performed in development environments, so these logs are empty in staging and production environments.
Show example
{
"payload": {
"_id": "92c9b6a4-f36f-438a-b1d4-c6e6bd909da6-822860",
"eventName": "AM-CONFIG-CHANGE",
"level": "INFO",
"objectId": "ou=Office365,ou=dashboardApp,ou=default,ou=GlobalConfig,ou=1.0,ou=dashboardService,ou=services,ou=am-config",
"operation": "CREATE",
"runAs": "id=bd220328-9762-458b-b05a-982ac3c7fc54,ou=user,ou=am-config",
"source": "audit",
"timestamp": "<dateTime>",
"topic": "config",
"trackingIds": [
"92c9b6a4-f36f-438a-b1d4-c6e6bd909da6-821644"
],
"transactionId": "1634122041174-2e50ecbf0df5407a6870-229391/0",
"userId": "id=bd220328-9762-458b-b05a-982ac3c7fc54,ou=user,ou=am-config"
},
"timestamp": "<dateTime>",
"type": "application/json"
}
Config log format
_id
-
A universally unique identifier (UUID) for the message object. For example, 6a568d4fe-d655-49a8-8290-bfc02095bec9-843 .
timestamp
-
The timestamp when Advanced Identity Cloud logged the message, in UTC format to millisecond precision:
yyyy-MM-ddTHH:mm:ss.msZ .
For example, 2015-11-14T00:21:03.490Z
eventName
-
The name of the audit event. For example, AM-CONFIG-CHANGE .
transactionId
-
The UUID of the transaction, which identifies an external request when it comes into the system boundary.
Any events generated while handling the request will be assigned that transaction ID,
so you could see the same transaction ID for different audit event topics.
For example, 301d1a6e-67f9-4e45-bfeb-5e4047a8b432 .
user.id
-
Not used.
You can determine the value for this field by linking to the access event using the same transactionId .
trackingIds
-
Not used.
runAs
-
The user to run the activity as.
Can be used in delegated administration.
objectId
-
The identifier of a system object that has been created, modified, or deleted.
For example, ou=SamuelTwo,ou=default,ou=OrganizationConfig,ou=1.0,
ou=iPlanetAMAuthSAML2Service,ou=services,o=shop,ou=services,dc=example,dc=com .
operation
-
The state change operation invoked: CREATE , MODIFY , or DELETE .
before
-
The JSON representation of the object prior to the activity.
{
"sunsmspriority":[
"0"
],
"objectclass":[
"top",
"sunServiceComponent",
"organizationalUnit"
],
"ou":[
"SamuelTwo"
],
"sunserviceID":[
"serverconfig"
]
}
after
-
The JSON representation of the object after the activity.
{
"sunKeyValue":[
"forgerock-am-auth-saml2-auth-level=0",
"forgerock-am-auth-saml2-meta-alias=/sp",
"forgerock-am-auth-saml2-entity-name=http://",
"forgerock-am-auth-saml2-authn-context-decl-ref=",
"forgerock-am-auth-saml2-force-authn=none",
"forgerock-am-auth-saml2-is-passive=none",
"forgerock-am-auth-saml2-login-chain=",
"forgerock-am-auth-saml2-auth-comparison=none",
"forgerock-am-auth-saml2-req-binding= urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect",
"forgerock-am-auth-saml2-binding= urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact",
"forgerock-am-auth-saml2-authn-context-class-ref=",
"forgerock-am-auth-saml2-slo-relay=http://",
"forgerock-am-auth-saml2-allow-create=false",
"forgerock-am-auth-saml2-name-id-format= urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
]
}
changedFields
-
The fields that were changed. For example, [ "sunKeyValue" ] .
revision
-
Not used.
component
-
Not used.
realm
-
The realm where the operation occurred. For example, ("/alpha" ).
|
am-core |
Debug |
Captures access management debug logs for Advanced Identity Cloud. Use am-core when debugging anything in access management without capturing audit events. am-core also captures logging in authentication scripts.
Development and sandbox environments provide DEBUG level logs, with logs in several areas tuned to INFO or WARNING.
To reduce log volumes, staging and production environments only provide WARNING level logs and above.
To troubleshoot and view the latest entries in the stored logs, you can tail am-core source.
Learn more in Tail logs.
|
am-everything |
Audit, Debug |
Captures all access management audit and debug logs for Advanced Identity Cloud.
This includes all the logs captured in am-access , am-activity , am-authentication , am-config , and am-core .
|