UAA audit requirements
Page last updated:
This topic describes audit requirements for the User Account and Authentication Service (UAA).
UAA does the following:
- Handles authentication for users and client apps
- Manages user accounts
- Manages client app registrations
Each audit event contains the following:
- Client Address - the client IP or if not attainable, the IP of the last proxy
- Date/Time of the event
- Principal - if authenticated
- Client ID - if available
- Data identifying the event
Authentication and password events
UAA includes the following authentication and password events:
UserAuthenticationSuccess- Trigger: When a user is successfully authenticated
- Data Recorded: User ID and Username
UserAuthenticationFailure- Trigger: When a user authentication fails, user exists
- Data Recorded: Username
- Notes: Followed by a
PrincipalAuthenticationFailure
UserNotFound- Trigger: When a user authentication fails, user does not exists
- Data Recorded: Username
- Notes: Followed by a
PrincipalAuthenticationFailure
UnverifiedUserAuthentication- Trigger: When a user that is not yet verified authenticates
- Data Recorded: User ID, Username
PasswordChangeSuccess- Trigger: When a user password is changed through
/Users/{user_id}/password - Data Recorded: User ID
- Trigger: When a user password is changed through
PasswordChangeFailure- Trigger: When a user password change is attempted through
/Users/{user_id}/password - Data Recorded: User ID
- Trigger: When a user password change is attempted through
ClientAuthenticationSuccess- Trigger: When a client is successfully authenticated
- Data Recorded: Client ID
ClientAuthenticationFailure- Trigger: When a client authentication fails (client may or may not exist)
- Data Recorded: Client ID
PrincipalAuthenticationFailure- Trigger: When a client or user authentication fails
- Data Recorded: Client ID or Username
PrincipalNotFound- Trigger: currently not used
- Data Recorded:
PasswordResetRequest- Trigger: When a user requests to reset their password
- Data Recorded: Email used
IdentityProviderAuthenticationSuccess- Trigger: When a user successfully authenticates
- Data Recorded: User ID and Username
IdentityProviderAuthenticationFailure- Trigger: When a user authentication fails, and user exists
- Data Recorded: User ID
- Notes: Followed by a
UserAuthenticationFailureEventandPrincipalAuthenticationFailure
Scim administration events
UAA includes the following Scim administration events:
UserCreatedEvent- Trigger: When a user is created
- Data Recorded: User ID (user_id), Username (username), User Origin (user_origin)
- Notes: When the user is created by a client, also records the client ID (created_by_client_id). When the user is created by another user, also records the User ID (created_by_user_id) and Username (created_by_username) of the user who performed the creation.
UserModifiedEvent- Trigger: When a user is modified
- Data Recorded: User ID, Username
UserDeletedEvent- Trigger: When a user is deleted
- Data Recorded: User ID (user_id), Username (username), User Origin (
user_origin) - Notes: When the user is deleted by a client, also records the client ID (
deleted_by_client_id). When the user is deleted by another user, also records the User ID (deleted_by_user_id) and Username (deleted_by_username) of the user who performed the deletion.
UserVerifiedEvent- Trigger: When a user is verified
- Data Recorded: User ID, Username
EmailChangedEvent- Trigger: When a user email is changed
- Data Recorded: User ID, Username, updated Email
ApprovalModifiedEvent- Trigger: When approvals are added, modified or deleted for a user
- Data Recorded: Username, Scope and Approval Status
GroupCreatedEvent- Trigger: When a group is created
- Data Recorded: Group ID, Group Name, Members
GroupModifiedEvent- Trigger: When a group is updated (members added/removed)
- Data Recorded: Group ID, Group Name, Members
GroupDeletedEvent- Trigger: When a group is deleted
- Data Recorded: Group ID, Group Name, Members
Token events
UAA includes the following token event:
TokenIssuedEvent- Trigger: When a token is created
- Data Recorded: Principal ID (client or user ID), scopes
Client administration events
UAA includes the following client administration events:
ClientCreateSuccess- Trigger: When a client is created
- Data Recorded: Client ID, Scopes, Authorities
ClientUpdateSuccess- Trigger: When a client is updated
- Data Recorded: Client ID, Scopes, Authorities
SecretChangeFailure- Trigger: When a client secret fails to change
- Data Recorded: Client ID
SecretChangeSuccess- Trigger: When a client secret is changed
- Data Recorded: Client ID
ClientApprovalsDeleted- Trigger: When all approvals for a client are deleted
- Data Recorded: Client ID
ClientDeleteSuccess- Trigger: When a client is deleted
- Data Recorded: Client ID
UAA administration events
UAA includes the following UAA administration events:
ServiceProviderCreatedEvent- Trigger: When managing the details of an external service provider which uses the UAA as a SAML IDP
- Data Recorded: Principal ID (client or user ID), Service Provider
ServiceProviderModifiedEvent- Trigger: When managing the details of an external service provider which uses the UAA as a SAML IDP
- Data Recorded: Principal ID (client or user ID), Service Provider
IdentityZoneCreatedEvent- Trigger: When identity zone is created in the UAA
- Data Recorded: Principal ID (client or user ID), Identity Zone
IdentityZoneModifiedEvent- Trigger: When managing the configuration of identity zones in the UAA
- Data Recorded: Principal ID (client or user ID), Identity Zone
IdentityProviderCreatedEvent- Trigger: When configuring the UAA to authenticate with an external IDP such as SAML or LDAP
- Data Recorded: Principal ID (client or user ID), Identity Provider
IdentityProviderModifiedEvent- Trigger: When configuring the UAA to authenticate with an external IDP such as SAML or LDAP
- Data Recorded: Principal ID (client or user ID), Identity Provider
EntityDeletedEvent- Trigger: When an identity provider or identity zone is deleted
- Data Recorded: Principal ID (client or user ID), Deleted entity
Flows
Below are some example flows for a UAA configured with LDAP as an IDP:
Browser flows
- Successful login: UserNotFound ->
PrincipalAuthenticationFailure->UserCreatedEvent->IdentityProviderAuthenticationSuccess->UserAuthenticationSuccess - Invalid password:
UserNotFound->PrincipalAuthenticationFailure->IdentityProviderAuthenticationFailure - Unknown user:
UserNotFound->PrincipalAuthenticationFailure->IdentityProviderAuthenticationFailure
- Successful login: UserNotFound ->
Password grant
- Successful login:
ClientAuthenticationSuccess->UserNotFound->PrincipalAuthenticationFailure->IdentityProviderAuthenticationSuccess->UserAuthenticationSuccess->TokenIssuedEvent - Invalid password:
ClientAuthenticationSuccess->UserNotFound->PrincipalAuthenticationFailure->IdentityProviderAuthenticationFailure - Unknown user:
ClientAuthenticationSuccess->UserNotFound->PrincipalAuthenticationFailure->IdentityProviderAuthenticationFailure
- Successful login: