PermissionSetEventStore

Tracks changes to permission sets, permission set groups and profiles. This event initiates when a permission is added to, or removed from a permission set or profile. This event also initiates when a permission set or profile containing a critical permission is assigned or unassigned. PermissionSetEventStore is a big object that stores the event data of PermissionSetEvent. This object is available in API version 52.0 and later.

Supported Calls 

describeSObjects(), query()

Special Access Rules 

Accessing this object requires either the Salesforce Shield or Event Monitoring add-on subscription and the View Real-Time Event Monitoring Data user permission.

Fields 

EvaluationTime 

Type: double

Properties: Nillable

Description: The amount of time it took to evaluate the policy in milliseconds.

EventDate 

Type: dateTime

Properties: Filter, Sort

Description: The time when the anomaly was reported. For example, 2020-01-20T19:12:26.965Z. Milliseconds is the most granular setting.

EventIdentifier 

Type: string

Properties: Filter, Sort

Description: The unique ID of the event, which is shared with the corresponding storage object. For example, 0a4779b0-0da1-4619-a373-0a36991dff90. Use this field to correlate the event with its storage object.

EventSource 

Type: picklist

Properties: Nillable, Restricted picklist

Description: The source of the event. Possible values are:

  • API—The user changed a permission set or permission set group from an API call.
  • Classic—The user made changes to a permission set or permission set group from a page in the Salesforce Classic UI.
  • Lightning—The user made changes to a permission set or permission set group from a page in the Lightning Experience UI.

HasExternalUsers 

Type: boolean

Properties: Nillable

Description: When true, external users are impacted by the operation that triggered a permission change. The default value is false.

ImpactedUserIds 

Type: json

Properties: Nillable

Description: A comma-separated list of IDs of the users affected by the event. A maximum of 1,000 user IDs are included. For example, if a permission set assigned to two users is updated, the users’ IDs are recorded in this field.

LoginHistoryId 

Type: reference

Properties: Nillable

Description: Tracks a user session so you can correlate user activity with a particular series of permission set events. This field is also available in the LoginEvent, AuthSession, and LoginHistory objects, making it easier to trace events back to a user’s original authentication. For example, 0YaB000002knVQLKA2. This is a relationship field.

Relationship Name: LoginHistory

Relationship Type: Lookup

Refers To: LoginHistory

LoginKey 

Type: string

Properties: Nillable

Description: The string that ties together all events in a given user’s login session. The session starts with a login event and ends with either a logout event or the user session expiring. For example, lUqjLPQTWRdvRG4.

Operation 

Type: picklist

Properties: Nillable, Restricted picklist

Description: The type of operation that triggers a permission change. Possible values are:

  • AssignedToUsers—A permission set or permission set group is assigned to one or more users.
  • CriticalPerms—This deprecated value indicates the critical permissions that are enabled.
  • PermsDisabled—Permissions are disabled.
  • PermsEnabled—Permissions are enabled.
  • UnassignedFromUsers—A permission set or permission set group is unassigned from one or more users.

ParentIdList 

Type: json

Properties: Nillable

Description: The IDs of the affected permission sets or permission set groups.

ParentNameList 

Type: json

Properties: Nillable

Description: The names of the affected permission sets or permission set groups.

PermissionExpirationList 

Type: json

Properties: Nillable

Description: A comma separated list of timestamps from the PermissionSetAssignment.ExpirationDate field that specifieswhen added permissions will be revoked. This value is null when no expiration timestamp is specified or permissions are removed for the impacted users.

PermissionList 

Type: json

Properties: Nillable

Description: The list of permissions that are enabled or disabled in the event. These permissions can include:

Possible values:

  • AssignPermissionSets (Assign Permission Sets)
  • AuthorApex (Author Apex)
  • CustomizeApplication (Customize Application)
  • ForceTwoFactor (Multi-Factor Authentication for User Interface Logins)
  • FreezeUsers (Freeze Users)
  • ManageAccessPolicies (Manage Access Policies)
  • ManageDataspaceScope (Manage Dataspace Scope)
  • ManageEncryptionKeys (Manage Encryption Keys)
  • ManageInternalUsers (Manage Internal Users)
  • ManagePasswordPolicies (Manage Password Policies)
  • ManageProfilesPermissionsets (Manage Profiles and Permission Sets)
  • ManageRoles (Manage Roles)
  • ManageSharing (Manage Sharing)
  • ManageUsers (Manage Users)
  • ModifyAccessAllowPolicies (Modify Allow Data Governance Policies)
  • ModifyAccessDenyPolicies (Modify Deny Data Governance Policies)
  • ModifyAllData (Modify All Data)
  • ModifyAllDataGovPolicies (Modify All Data Governance Policies)
  • ModifyAllDataGovTagAssign (Modify All Data Governance Tag Assignments)
  • MonitorLoginHistory (Monitor Login History)
  • PasswordNeverExpires (Password Never Expires)
  • ResetPasswords (Reset User Passwords and Unlock Users)
  • TransactionSecurityExempt (Exempt from Transaction Security)
  • ViewAllData (View All Data)

When using this event in a transaction security policy, use the permission’s API name, not its label, and use the Contains operator, rather than Equals.

PermissionType 

Type: string

Properties: Nillable

Description: The type of permission that is updated in the event. Possible values are:Values are ObjectPermission or UserPermission.

PolicyId 

Type: reference

Properties: Nillable

Description: The ID of the transaction security policy associated with this event. For example, 0NIB000000000KOOAY. This is a relationship field.

Relationship Name: Policy

Relationship Type: Lookup

Refers To: TransactionSecurityPolicy

PolicyOutcome 

Type: picklist

Properties: Nillable, Restricted picklist

Description: The result of the transaction policy. Possible values are:

  • Block—The user was blocked from performing the operation that triggered the policy.
  • EndSession—The user’s session is terminated.
  • Error—The policy caused an undefined error when it executed.
  • ExemptNoAction—The user is exempt from transaction security policies, so the policy didn’t trigger.
  • FailedInvalidPassword—The user entered an invalid password.
  • FailedPasswordLockout—The user entered an invalid password too many times.
  • MeteringBlock—The policy took longer than 3 seconds to process, so the user was blocked from performing the operation.
  • MeteringNoAction—The policy took longer than 3 seconds to process, but the user isn’t blocked from performing the operation.
  • NoAction—The policy didn’t trigger.
  • Notified—A notification was sent to the recipient.
  • TwoFAAutomatedSuccess—Salesforce Authenticator approved the request for access because the request came from a trusted location. After users enable location services in Salesforce Authenticator, they can designate trusted locations. When a user trusts a location for a particular activity, such as logging in from a recognized device, that activity is approved from the trusted location for as long as the location is trusted.
  • TwoFADenied—The user denied the approval request in the authenticator app, such as Salesforce Authenticator.
  • TwoFAFailedGeneralError—An error caused by something other than an invalid verification code, too many verification attempts, or authenticator app connectivity.
  • TwoFAFailedInvalidCode—The user provided an invalid verification code.
  • TwoFAFailedTooManyAttempts—The user attempted to verify identity too many times. For example, the user entered an invalid verification code repeatedly.
  • TwoFAInProgress—Salesforce challenged the user to verify identity and is waiting for the user to respond or for Salesforce Authenticator to send an automated response.
  • TwoFAInitiated—Salesforce initiated identity verification but hasn’t yet challenged the user.
  • TwoFANoAction—The policy specifies multi-factor authentication (formerly called two-factor authentication) as an action, but the user is already in a high-assurance session.
  • TwoFARecoverableError—Salesforce can’t reach the authenticator app to verify identity, but will retry.
  • TwoFAReportedDenied—The user denied the approval request in the authenticator app, such as Salesforce Authenticator, and also flagged the approval request to report to an administrator.
  • TwoFASucceeded—The user’s identity was verified.

ProfileId 

Type: reference

Properties: Nillable

Description: The Profile ID of the transaction security policy associated with this event. For example, 00exx000000n8Ov. This is a relationship field.

RelatedEventIdentifier 

Type: string

Properties: Nillable

Description: Represents the EventIdentifier of the related event. For example, bd76f3e7-9ee5-4400-9e7f-54de57ecd79c. This field is populated only when the activity that this event monitors requires extra authentication, such as multi-factor authentication. In this case, Salesforce generates more events and sets the RelatedEventIdentifier field of the new events to the value of the EventIdentifier field of the original event. Use this field with the EventIdentifier field to correlate all the related events. If no extra authentication is required, this field is blank.

SessionKey 

Type: string

Properties: Nillable

Description: The user’s unique session ID. Use this value to identify all user events within a session. When a user logs out and logs in again, a new session is started. For example, vMASKIU6AxEr+Op5.

SessionLevel 

Type: picklist

Properties: Nillable, Restricted picklist

Description: Session-level security controls user access to features that support it, such as connected apps and reporting. Possible values are:

  • HIGH_ASSURANCE—A high assurance session was used for resource access. For example, when the user tries to access a resource such as a connected app, report, or dashboard that requires a high-assurance session level.
  • LOW—The user’s security level for the current session meets the lowest requirements.
  • STANDARD—The user’s security level for the current session meets the Standard requirements set in the org’s Session Security Levels.

This low level isn’t available or used in the Salesforce UI. User sessions through the UI are either standard or high assurance. You can set this level using the API, but users assigned this level experience unpredictable and reduced functionality in their Salesforce org.

Note

SourceIp 

Type: string

Properties: Nillable

Description: The source IP address of the client that logged in. For example, 126.7.4.2.

UserCount 

Type: string

Properties: Nillable

Description: The number of users affected by the event. This field has a maximum value of 1,000. If the user appears more than 1,000 times, the value remains at 1,000.

UserId 

Type: reference

Properties: Nillable

Description: The user’s unique ID. For example, 005000000000123. This is a polymorphic relationship field.

Relationship Name: User

Relationship Type: Lookup

Refers To: User

Username 

Type: string

Properties: Nillable

Description: The username in the format of user@company.com at the time the event was created.