Enhanced auditing capabilities
Purpose
This reference describes the event payload data your audit data can contain. Enhanced auditing is available on both iGrafx Cloud and on-premises installations; only the way you access and retrieve the data differs between the two.
Enable enhanced auditing
Enhanced auditing is enabled by default on both Cloud and on-premises installations.
- Cloud: To turn the feature on or off, go to Administration → Support and select the System Information tab. Under Audit Settings, set Enable enhanced audit service.
- On-premises: The platform writes audit events to local log files on the application server. See File-Based Audit Logging for where the files live, how rollover works, and how to access them.
Access the audit data
Cloud only
The REST API described below is only available on iGrafx Cloud instances. On-premises installations expose the same enhanced audit data through local log files — see File-Based Audit Logging for details.
You can query the audit information via the REST API of the iGrafx Process Design application. The general endpoint to retrieve your audit information is
https://YOUR_SUBDOMAIN.igrafxcloud.com/api/auditevents
Calling it without any additional parameters returns the last 24 hours of audit information, in the data format outlined below under General payload structure.
To query older data, append the query parameter secondThreshold to your URL. It determines the amount of historic audit data to retrieve, and defaults to 86400 seconds (24 hours). For example, to retrieve the last 30 days of audit information, use the following URL:
https://YOUR_SUBDOMAIN.igrafxcloud.com/api/auditevents?secondThreshold=2592000
General payload structure
Every audit event has the following data structure, plus custom data relevant to the specific type and category of the event. This section describes the general structure; the tables under Available event data show examples of specific audit events.
Basic audit event payload
{
"uuid": "558ff7b4-7fd2-459c-9b2d-4a3d5d0fc306",
"eventType": "loginsuccess",
"eventCategory": "SECURITY",
"eventData": {},
"timestamp": "2023-08-08T04:26:58.919+00:00",
"principal": "firstname.lastname@company.com",
"authenticationType": "OAUTH2",
"hostname": "abcdef123456",
"platformVersion": "18.3.1.925-develop",
"platformUuid": "fdc8450e-7774-4c8c-88ee-a0f6162aa616",
"tenantId": "abcd1234"
}
The fields are as follows:
| Field name | Content/Purpose |
|---|---|
uuid | Contains a unique identifier for the event |
eventType | Specific event type (see Event Type column in the below table) |
eventCategory | Category for the event (see Category column in the below table) |
eventData | A custom payload that is different per event (see the below table) |
timestamp | The timestamp of the event, either as ISO-8601 string or numeric timestamp |
principal | The authenticated user or entity that triggered the event |
authenticationType | The type of authentication the principal was using during this event (see Authentication Type column in the below table). The authenticationType property gives you security-relevant information. |
hostname | The name of the host of the Process DesignProcess Design The discipline of explicitly modeling business processes to document, analyze, and optimize them. In Process360 Live, process design is the authoring side that complements mining's data-driven view. instance. The hostname property is mainly implemented for internal purposes and customers with multiple deployments/servers. It isn't relevant for most customers. |
platformVersion | The version the Process DesignProcess Design The discipline of explicitly modeling business processes to document, analyze, and optimize them. In Process360 Live, process design is the authoring side that complements mining's data-driven view. app was running at the time of the event |
platformUuid | Contains the unique identifier of the Process DesignProcess Design The discipline of explicitly modeling business processes to document, analyze, and optimize them. In Process360 Live, process design is the authoring side that complements mining's data-driven view. instance |
tenantId | The unique tenant identifier for the Process DesignProcess Design The discipline of explicitly modeling business processes to document, analyze, and optimize them. In Process360 Live, process design is the authoring side that complements mining's data-driven view. instance (if present). The tenantId property is mainly implemented for internal purposes and customers with multiple deployments/servers. It isn't relevant for most customers. |
Authentication type
| authenticationType | Description |
|---|---|
BASIC* | This authentication type signifies a “basic” sign on with a username and password |
OAUTH2 | When the principal uses OAuth2 to authenticate with Process DesignProcess Design The discipline of explicitly modeling business processes to document, analyze, and optimize them. In Process360 Live, process design is the authoring side that complements mining's data-driven view. |
SAML | When the principal uses SAMLSAML An XML-based standard for exchanging authentication and authorization data between an identity provider and a service provider. Process360 Live supports SAML 2.0 for SSO. to authenticate with Process DesignProcess Design The discipline of explicitly modeling business processes to document, analyze, and optimize them. In Process360 Live, process design is the authoring side that complements mining's data-driven view. |
APP_TOKEN | iGrafx Access Management Service |
API_KEY | When the principal uses an API Key to authenticate with Process DesignProcess Design The discipline of explicitly modeling business processes to document, analyze, and optimize them. In Process360 Live, process design is the authoring side that complements mining's data-driven view. |
SYSTEM | Used for internal/automated actions of Process DesignProcess Design The discipline of explicitly modeling business processes to document, analyze, and optimize them. In Process360 Live, process design is the authoring side that complements mining's data-driven view. |
* If the authentication type can not be determined, the BASIC authentication type will be used.
Available event data
In addition to the generic fields listed above, each action may carry additional information:
USER_MANAGEMENT
User Action |
Event Type |
Category |
eventData payload |
|---|---|---|---|
Create Local User In Platform |
|
|
|
Update User Details In Platform |
|
|
|
Delete User In Platform |
|
|
|
OBJECTS
User Action |
Event Type |
Category |
eventData payload |
|---|---|---|---|
Navigate to Object Tab in Platform Model Area |
|
|
|
Bulk operation requested |
|
|
|
DIAGRAMMING
User Action |
Event Type |
Category |
eventData payload |
|---|---|---|---|
View Web Diagram |
|
|
|
NARRATIVE
User Action |
Event Type |
Category |
eventData payload |
|---|---|---|---|
View Full Diagram Narrative |
|
|
|
View Diagram SOP Narrative |
|
|
|
View Shape Narrative |
|
|
|
View Path Narrative |
|
|
|
SECURITY
User Action |
Event Type |
Category |
eventData payload |
|---|---|---|---|
Successful Login |
|
|
Not applicable |
SETTINGS
User Action |
Event Type |
Category |
eventData payload |
|---|---|---|---|
Changing a Feature Flag through the API |
|
|
|
Reading the Feature Flag Status |
|
|
|
Feature Flag set for repository |
|
|
*The **This only audits the changes in repositories for the feature flag. The feature flag being turned on/off will still be audited under |
A new server setting is created |
|
|
*Values for sensitive settings will be redacted to: |
A server setting is updated |
|
|
*Values for sensitive settings will be redacted to: |
A server setting is deleted |
|
|
*Values for sensitive settings will be redacted to: |
ROLE_MANAGEMENT
User Action |
Event Type |
Category |
eventData payload |
|---|---|---|---|
Server role created |
|
|
|
Server role updated |
|
|
*The rights will be the entire list of granted permissions at the time of the update. |
Server role deleted |
|
|
*The rights will be the entire list of granted permissions at the time of deletion. |
Server role assigned to User/Group |
|
|
* |
Server role removed from a User/Group |
|
|
* |
Repository role created |
|
|
|
Repository role updated |
|
|
*The rights will be the entire list of granted permissions at the time of the update. |
Repository role deleted |
|
|
*The rights will be the entire list of granted permissions at the time of deletion. |
Repository role assigned to User/Group |
|
|
* **The |
Repository role removed from a User/Group |
|
|
* **The |
Item role created |
|
|
|
Item role updated |
|
|
*The rights will be the entire list of granted permissions at the time of the update. |
Item role deleted |
|
|
*The rights will be the entire list of granted permissions at the time of deletion. |
Item role assigned to a user or group |
|
|
* |
Item role unassigned from a user or group |
|
|
* |
GROUP_MANAGEMENT
Automated systems create some group management actions. These actions can have special principals that indicate how the action was performed (for example, the iGrafx IdentityiGrafx Identity The iGrafx identity and access management service that brokers authentication between customer identity providers and Process360 Live components. Solution or LDAP). These principals are based on the underlying technologies and may not display what you expect (for example, signing in with SAMLSAML An XML-based standard for exchanging authentication and authorization data between an identity provider and a service provider. Process360 Live supports SAML 2.0 for SSO. via the iGrafx IdentityiGrafx Identity The iGrafx identity and access management service that brokers authentication between customer identity providers and Process360 Live components. Solution may show the principal SYSTEM: OAuth2 because the underlying technology is OAuth2).
User Action |
Event Type |
Category |
eventData payload |
|---|---|---|---|
A user is added to a group |
|
|
*This will not audit new users being created and added to the everybody group. As well as the initial assignment for the system administrator. |
A user is removed from a group |
|
|
|
A group is added to a group |
|
|
|
A group is removed from a group |
|
|
|