Identity and Access Management (IAM) Events Guide
Overview
Section titled “Overview”The Identity and Access Management (IAM) service sends notifications when any changes are made to entities within IAM. This documentation outlines how to view, interpret, and effectively work with these events.
Getting Started
Section titled “Getting Started”Prerequisites
Section titled “Prerequisites”- Active subscription to IAM events (follow subscription instructions) to access Events endpoints.
Event Output Structure
Section titled “Event Output Structure”- id: Uniquely identifies the event
- specversion: CloudEvents specification version (default 1.0)
- source: Organization/process that produced the event (
/iam/environment/<appId>) - dataschema: Schema that data adheres to
- datacontent type: Content type of the data
- data: Event Data Payload Attributes (within data field)
- sourceTrn: Entity being created or modified
- caller: Who initiated the action (users/applications/devices)
- application: Application that made the request
- targetTrn: Target entity for relationship operations
- propertyKeys: Specific attributes that were changed
- type: Value describing the type of event related to the originating occurrence
Understanding Event Types
Section titled “Understanding Event Types”Event types in IAM indicate what kind of action triggered the event. They are categorized as follows:
Single Entity Operations: [action]_[entity]
Section titled “Single Entity Operations: [action]_[entity]”These events represent actions performed on a single entity.
Examples:
create_user: A new user was createdupdate_account: An account was updateddelete_group: A group was deleted
Relationship Operations: [action][source][target]
Section titled “Relationship Operations: [action][source][target]”These events represent actions involving relationships between two entities.
Examples:
add_user_account: A user was associated with an accountdelete_role_permission: A permission was removed from a role
How to Use This Reference
Section titled “How to Use This Reference”- Identify the Action: Look at the event type to understand what happened
- Find the Entities: Check
sourceTrnandtargetTrnto see what was affected - Check Changes: Use
propertyKeysto see specific modifications - Track Relationships: Look for the relation object for association details
For association/dissociation events, check both sourceTrn and targetTrn:
- sourceTrn: The primary entity (e.g., user being added)
- targetTrn: The target entity (e.g., group receiving the user)
IAM Event Types List
Section titled “IAM Event Types List”User Events
Section titled “User Events”create_user: New user createdupdate_user: User profile modifieddelete_user: User removed - Direct user removal endpoint is not available this event is triggered by internal operation like delete invitation
User Account Events
Section titled “User Account Events”add_user_account: User associated with the accountupdate_user_account: User-account relationship modified - Any updates in the role of a user in account or invitation related events will be part of this eventdelete_user_account: User removed from account
Group Events
Section titled “Group Events”create_group: New group createdupdate_group: Group details updateddelete_group: Group removed
Group User Events
Section titled “Group User Events”add_group_user: User added to groupupdate_group_user: User-group relationship modifieddelete_group_user: User removed from group
Group Account Events
Section titled “Group Account Events”add_group_account: Group associated with accountupdate_group_account: Group-account relationship modifieddelete_group_account: Group removed from account
Application Events
Section titled “Application Events”create_application: New application registeredupdate_application: Application details updateddelete_application: Application removed
Application Account Events
Section titled “Application Account Events”add_application_account: Application associated with accountdelete_application_account: Application removed from account
Application Group Events
Section titled “Application Group Events”add_application_group: Application associated with groupupdate_application_group: Application-group relationship modifieddelete_application_group: Application removed from group
Permission Events
Section titled “Permission Events”create_permission: New permission createdupdate_permission: Permission details updateddelete_permission: Permission removed
Permission Application Events
Section titled “Permission Application Events”add_permission_application: Permission created using applicationdelete_permission_application: Permission removed using application
Permission Group Events
Section titled “Permission Group Events”add_permission_group: Permission granted to group
Role Events
Section titled “Role Events”create_role: New role createdupdate_role: Role details updateddelete_role: Role removed
Role Application Events
Section titled “Role Application Events”add_role_application: Role associated with applicationdelete_role_application: Role removed from application
Role Permission Events
Section titled “Role Permission Events”add_role_permission: Permission assigned to roledelete_role_permission: Permission removed from role
Organization Events
Section titled “Organization Events”create_organization: New organization created
Organization Account Events
Section titled “Organization Account Events”add_organization_account: Account associated with organization
Organization Address Events
Section titled “Organization Address Events”add_organization_address: Address added to organization
Organization Enrichment Events
Section titled “Organization Enrichment Events”add_organization_enrichment: Enrichment data added to organization
Device Events
Section titled “Device Events”create_device: New device registeredupdate_device: Device details updateddelete_device: Device removed
Device Account Events
Section titled “Device Account Events”add_device_account: Device associated with accountupdate_device_account: Device-account relationship modifieddelete_device_account: Device removed from account
Device Group Events
Section titled “Device Group Events”add_device_group: Device added to groupupdate_device_group: Device-group relationship modifieddelete_device_group: Device removed from group
Device Certificate Events
Section titled “Device Certificate Events”add_device_certificate: Certificate added to devicedelete_device_certificate: Certificate removed from device
Account Events
Section titled “Account Events”create_account: New account createdupdate_account: Account details updateddelete_account: Account removed
Address Events
Section titled “Address Events”create_address: New address createdupdate_address: Address details updateddelete_address: Address removed
Account External System Events
Section titled “Account External System Events”create_accounts_external_systems: Account linked to external systemupdate_accounts_external_systems: Account-external system link modifieddelete_accounts_external_systems: Account-external system link removed
Account Address Events
Section titled “Account Address Events”create_accounts_addresses: Account linked to addressupdate_accounts_addresses: Account-address link modifieddelete_accounts_addresses: Account-address link removed
Address External System Events
Section titled “Address External System Events”create_addresses_external_systems: Address linked to external systemupdate_addresses_external_systems: Address-external system link modifieddelete_addresses_external_systems: Address-external system link removed
Filtering Specific Required Events
Section titled “Filtering Specific Required Events”To filter specific required events, you can use the following curl command.
Example: Filter User Events
Section titled “Example: Filter User Events”curl --location --request PUT '{base_url}/subscriptions/namespaces/com.trimble.tcp.iam/events/iam/versions/1/environments/{env}/filters' \--header 'Content-Type: application/json' \--header 'Authorization: Bearer <token>' \--data '{ "filter": { "criteria": "type", "fields": [ { "key": "type", "value": "user" } ] }}'Reference
Section titled “Reference”IAM Events Consumer Endpoints
Section titled “IAM Events Consumer Endpoints”| Environment | Endpoint |
|---|---|
| Production | https://eventservice.events.trimblecloud.com/1.0/consumers/namespaces/com.trimble.tcp.iam/events/iam/1 |
| Stage | https://preprd-eventservice.events.trimblecloud.com/1.0/consumers/namespaces/com.trimble.tcp.iam/events/iam/1 |