Public API to retrieve correlation rules

I’m looking for an API to retrieve correlation rules for sources. I currently only know of the old v1 https://{instance}.identitynow.com/api/sources/get/{sourceId}. Is there an updated API that exposes this data?

1 Like

Looks like currently that’s being pulled back in a private API that we don’t have access to

https://{instance}.api.identitynow.com/diana/sources/sources/{source_id}/correlationConfig

1 Like

@KevinHarrington I was able to find something else…

I used the SP-Config API to download a source config, and the correlation config was included

{
            "version": 1,
            "self": {
                "id": "2c91808381d42b410181d8c239575fcf",
                "type": "SOURCE",
                "name": "WellReadiness DB"
            },
            "object": {
                "id": "2c91808381d42b410181d8c239575fcf",
                "name": "WellReadiness DB",
                "type": "JDBC",
                "connectorClass": "sailpoint.connector.JDBCConnector",
                "connectorScriptName": "jdbc-angularsc",
                "description": "Entitlements that are set within the WellReadiness app and not ones granted by AD",
                "deleteThreshold": 10,
                "provisionAsCsv": false,
                "owner": {
                    "type": "IDENTITY",
                    "id": "2c9180878043083b01804777f82f7b6c",
                    "name": "364157"
                },
                "features": [
                    "SYNC_PROVISIONING",
                    "PROVISIONING",
                    "DIRECT_PERMISSIONS",
                    "ENABLE",
                    "GROUP_PROVISIONING",
                    "UNLOCK",
                    "DISCOVER_SCHEMA"
                ],
                "schemas": [
                    {
                        "nativeObjectType": "account",
                        "identityAttribute": "UserName",
                        "displayAttribute": "UserName",
                        "hierarchyAttribute": null,
                        "includePermissions": false,
                        "features": [],
                        "configuration": {},
                        "attributes": [
                            {
                                "name": "UserName",
                                "type": "STRING",
                                "schema": null,
                                "description": null,
                                "isMulti": false,
                                "isEntitlement": false,
                                "isGroup": false
                            },
                            {
                                "name": "Role",
                                "type": "STRING",
                                "schema": {
                                    "type": "CONNECTOR_SCHEMA",
                                    "id": "2c91808781d42b040181d8cbbfac00de",
                                    "name": "group"
                                },
                                "description": "Role Name",
                                "isMulti": true,
                                "isEntitlement": true,
                                "isGroup": true
                            }
                        ],
                        "id": "2c91808381d42b410181d8c239575fd0",
                        "name": "account",
                        "created": "2022-07-07T13:03:36.279Z",
                        "modified": "2022-07-07T13:15:47.869Z"
                    },
                    {
                        "nativeObjectType": "group",
                        "identityAttribute": "Role",
                        "displayAttribute": "Role",
                        "hierarchyAttribute": null,
                        "includePermissions": false,
                        "features": [
                            "PROVISIONING"
                        ],
                        "configuration": {},
                        "attributes": [
                            {
                                "name": "Role",
                                "type": "STRING",
                                "schema": null,
                                "description": "User Role",
                                "isMulti": false,
                                "isEntitlement": false,
                                "isGroup": false
                            }
                        ],
                        "id": "2c91808781d42b040181d8cbbfac00de",
                        "name": "group",
                        "created": "2022-07-07T13:14:00.492Z",
                        "modified": "2022-07-07T16:20:22.278Z"
                    }
                ],
                "connectorAttributes": {
                    "healthCheckTimeout": 30,
                    "mergeColumns": [
                        "Role"
                    ],
                    "supportsDeltaAgg": "true",
                    "deltaAggregationEnabled": false,
                    "group.mergeRows": false,
                    "useStoredProcedureTestConn": false,
                    "isAdvance": "false",
                    "mergeRows": true,
                    "useStoredProcedureGetObject": false,
                    "connectionType": "direct",
                    "usePrepareCall": false,
                    "useStoredProcedureDirectPermission": false,
                    "driverClass": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
                    "hasFullAggregationCompleted": true,
                    "jdbcExceptionBucketing": true,
                    "useExecuteQuery": false,
                    "connector_files": "mssql-jdbc-9.4.1.jre8.jar",
                    "testConnQuery": "select getdate()",
                    "indexColumns": [
                        "UserName"
                    ],
                    "jdbcProvisionRule": "jdbcProvisionRule",
                    "testConnSQL": "select getdate()",
                    "group": "[SQL:, getObjectSQL:]",
                    "deltaTable": "USER_DELTA",
                    "isPermissionEnabled": false,
                    "deleteThresholdPercentage": 10,
                    "group.useStoredProcedureSqlStmt": false,
                    "url": "jdbc:sqlserver://xxxxx.xxx.net",
                    "SQL": "SELECT LOWER(REPLACE([UserName],'CHKENERGY\\','')) [UserName],[RoleValue] [Role] FROM [WellReadiness].[dbo].[UserSecurity] order by UserName",
                    "group.useStoredProcedureGetObject": false,
                    "cloudCacheUpdate": 1676401067936,
                    "templateApplication": "JDBC Template",
                    "encrypted": "password,group.password",
                    "group.isPermissionEnabled": false,
                    "healthy": true,
                    "cloudDisplayName": "WellReadiness DB",
                    "connectorName": "JDBC",
                    "useStoredProcedureSqlStmt": false,
                    "user": "proc_sailpoint_wellreadiness",
                    "since": "2023-01-06T16:38:03.408663Z",
                    "status": "SOURCE_STATE_HEALTHY"
                },
                "correlationConfigDetails": {
                    "attributeAssignments": [
                        {
                            "complex": false,
                            "property": "uid",
                            "operation": "EQ",
                            "value": "UserName",
                            "ignoreCase": true,
                            "matchMode": null,
                            "filterString": null
                        }
                    ],
                    "name": "WellReadiness DB [source] Account Correlation",
                    "id": "2c91808381d431690181d8cdc20b0071"
                },
                "provisioningPolicies": []
            }
        }
1 Like

@colin_mckibben if we wanted to request a method be added to the source collection like /sources/{source_id}/correlation-config, should that be done in the ideas portal?

Edit: NVM, looks like someone already posted such an idea

1 Like