Genesis records SCIM activity in two places:
- HTTP request metrics for paths under
/scim/v2. These flow through the
same observability stack as the rest of the Genesis API.
- SCIM audit rows in the
SCIM_AUDIT_LOG table. Every inbound SCIM
operation that mutates state writes a row here.
Use both together: HTTP metrics for traffic shape and error rates, and audit
rows for compliance evidence and forensic queries.
Signals to track
For each tenant that has SCIM enabled:
- SCIM request count by endpoint and HTTP status class (
2xx / 4xx / 5xx).
- SCIM
p50, p95, and p99 latency.
- Invalid bearer token count.
- Rate-limit events.
- User create / update / deactivate count.
- Group sync, group patch, and group delete count.
- Membership change count per group sync (helpful for catching mass changes).
- Unexpected
active=false spikes.
- Audit write failures (visible in application logs).
Suggested alerts
These thresholds are starting points. Tune to your customer’s traffic shape.
Audit queries
The exact column names depend on your SCIM_AUDIT_LOG table; the queries
below are examples for the Genesis-managed schema. Adjust the tenant
identifier and date column to match your environment.
Recent SCIM operations for a tenant
Deprovision events
Group membership changes
Set :tenant_id to the tenant identifier returned by the
SCIM admin config endpoint
before running these queries on shared deployments.
Dashboard guidance
For a pilot, existing HTTP request metrics plus the audit-table queries above
are usually sufficient. For ongoing production operations, export the
following as dedicated dashboards:
- SCIM traffic by path.
- SCIM error rate by path and status.
- SCIM
p95 latency.
- Provisioned active users (count over time).
- Deactivated users per hour.
- Group sync operations and largest membership snapshots per operation.
- Invalid token and rate-limit events.
SIEM export guidance
For customers with regulatory or compliance requirements, export
SCIM_AUDIT_LOG rows to your SIEM or data warehouse. The minimum useful
event fields are:
- tenant id
- operation
- resource type
- resource id
- external id
- before JSON
- after JSON
- created timestamp
Do not export bearer token values. Persisted SCIM tokens are stored as
hashes and should not appear in audit payloads. If you observe a token
value in an audit row, treat it as an incident and rotate immediately.
Related pages