Skip to main content
Okta enrichment provides identity context for user accounts — group membership, MFA status, account status, and recent activity. This context helps agents understand whether a flagged account is a high-privilege target, has MFA enabled, or shows signs of compromise.

Supported Indicator Types

TypeOkta Endpoint
accountGET /api/v1/users/{userId} + related endpoints

Configuration

Set your Okta credentials in the .env file:
OKTA_DOMAIN=company.okta.com
OKTA_API_TOKEN=your-okta-api-token
Okta API tokens can be created in the Okta admin console under SecurityAPITokens. Use a service account with read-only permissions.

Extracted Fields

FieldDescription
statusAccount status (ACTIVE, SUSPENDED, DEPROVISIONED, etc.)
createdAccount creation date
last_loginLast successful login timestamp
groupsList of group names the user belongs to
mfa_enrolledWhether the user has MFA factors enrolled
mfa_factorsList of enrolled MFA factor types
is_adminWhether the user has admin privileges
departmentUser’s department
titleUser’s job title

Malice Rules

Okta enrichment doesn’t set malice verdicts by default — it provides identity context rather than threat intelligence. The malice verdict for account indicators is typically driven by the overall investigation context rather than the identity lookup alone. You can configure custom malice rules if needed:
{
  "malice_rules": {
    "conditions": [
      {
        "field": "status",
        "operator": "eq",
        "value": "SUSPENDED",
        "verdict": "Suspicious"
      }
    ]
  }
}

Cache TTL

Indicator TypeDefault TTL
Account1 hour

Account Matching

The Okta provider matches account indicators by:
  1. Email address (user@company.com)
  2. Username (jsmith)
  3. Okta user ID
For best results, ensure your alert sources extract account indicators in email format (user@domain.com). This provides the most reliable match against Okta’s user directory.

Example Enrichment Result

{
  "okta": {
    "extracted": {
      "status": "ACTIVE",
      "last_login": "2025-01-15T08:30:00Z",
      "groups": ["Engineering", "VPN Users", "AWS Admins"],
      "mfa_enrolled": true,
      "mfa_factors": ["push", "totp"],
      "is_admin": false,
      "department": "Engineering",
      "title": "Senior Developer"
    },
    "success": true,
    "enriched_at": "2025-01-15T10:30:06Z"
  }
}

Rate Limits

Okta rate limits vary by endpoint and org type. The user lookup endpoint typically allows 600 requests/minute. Calseta’s caching ensures repeated lookups for the same account don’t consume additional API calls.