Entra federated identity credential added

Severity highCloud & SaaSSingle eventstablecloud.identity.entra_federated_identity_credential_added · v1.0.0

A FEDERATED IDENTITY CREDENTIAL was added to an Entra application or service principal — workload identity federation, which lets an EXTERNAL issuer mint…

What it detects

A FEDERATED IDENTITY CREDENTIAL was added to an Entra application or service principal — workload identity federation, which lets an EXTERNAL issuer mint tokens for this identity.

This is not the same backdoor as a client secret, and it is quieter. No credential is stored in the tenant, so there is nothing to find in a secrets review and nothing to expire: the trust is a subject claim pointing at an outside workload (a GitHub Actions repo, a Kubernetes service account, another cloud's OIDC issuer). Anyone who controls that external subject can obtain tokens for the application indefinitely, without a password and without MFA. Rotating every secret in the tenant does not remove it.

The pack already alerts on secret and certificate additions (m365_app_credential_added), but those key on the credential-management operations. In the Entra audit log this arrives as a plain Update service principal whose changed property is FederatedIdentityCredentials, so it did not match — the operation name says nothing about credentials.

Read the SUBJECT: it names exactly which external workload was trusted.

MITRE ATT&CK mapping

  • T1098.001Account Manipulation: Additional Cloud Credentials· Persistence
  • T1078.004Valid Accounts: Cloud Accounts· Initial Access

False positives and triage

Workload identity federation is a legitimate and recommended pattern — teams adopting it to remove long-lived secrets from CI/CD will produce this, usually in a short burst while pipelines are wired up and then rarely again.

Escalate on the subject and the actor rather than on the event itself: an issuer that is not your CI/CD platform, a subject naming a repository or organization outside your own (repo:someone-else/…), a credential added to a high-privilege application (Directory.*, Mail.*, full_access_as_app), or an addition by an account that does not normally administer applications. A federated credential added shortly after a suspicious sign-in by the same actor is the strong case.

The rule

Declarative YAML read by the detection engine — data, never executed. Confidence 70%. Source: rules/cloud/entra_federated_identity_credential_added.yaml, licensed under the Apache License 2.0.

id: cloud.identity.entra_federated_identity_credential_added
version: 1.0.0
status: stable
severity: high
confidence: 0.7
platforms: [application]
mitre_techniques: [T1098.001, T1078.004]
description: |
  A FEDERATED IDENTITY CREDENTIAL was added to an Entra application or service
  principal — workload identity federation, which lets an EXTERNAL issuer mint
  tokens for this identity.

  This is not the same backdoor as a client secret, and it is quieter. No
  credential is stored in the tenant, so there is nothing to find in a secrets
  review and nothing to expire: the trust is a subject claim pointing at an
  outside workload (a GitHub Actions repo, a Kubernetes service account, another
  cloud's OIDC issuer). Anyone who controls that external subject can obtain
  tokens for the application indefinitely, without a password and without MFA.
  Rotating every secret in the tenant does not remove it.

  The pack already alerts on secret and certificate additions
  (`m365_app_credential_added`), but those key on the credential-management
  operations. In the Entra audit log this arrives as a plain
  `Update service principal` whose changed property is
  `FederatedIdentityCredentials`, so it did not match — the operation name says
  nothing about credentials.

  Read the SUBJECT: it names exactly which external workload was trusted.
match:
  provider_any: [AzureAD, Office365]
  event_action_contains_any:
    - "Update service principal"
    - "Update application"
  raw_message_contains_any:
    - "FederatedIdentityCredentials"
    - "federatedIdentityCredentials"
correlation_keys: [user_name, target_user_name]
false_positive_guidance: |
  Workload identity federation is a legitimate and recommended pattern — teams
  adopting it to remove long-lived secrets from CI/CD will produce this, usually
  in a short burst while pipelines are wired up and then rarely again.

  Escalate on the subject and the actor rather than on the event itself: an issuer
  that is not your CI/CD platform, a subject naming a repository or organization
  outside your own (`repo:someone-else/…`), a credential added to a
  high-privilege application (Directory.*, Mail.*, full_access_as_app), or an
  addition by an account that does not normally administer applications. A
  federated credential added shortly after a suspicious sign-in by the same actor
  is the strong case.

Related detections

Run this rule on your own logs — offline

KIROSEC runs this rule and the rest of the library over Windows, Linux, macOS and cloud audit logs on the analyst's own machine. Every alert links to the events that raised it, and nothing leaves the device.

Browse all detections