AZ_FEDERATED_CREDENTIAL_ASSIGNED_TO
Summary
Forestall ACL Alias
AZ_FEDERATED_CREDENTIAL_ASSIGNED_TO
Entra ID (Azure AD) Alias
Federated Identity Credential on Application
Affected Object Types
App Federated Credential -> Application
Edge Direction
AZAppFederatedCredential -> AZApplication
Exploitation Certainty
Informational
Description
AZ_FEDERATED_CREDENTIAL_ASSIGNED_TO connects a federated identity credential (AZAppFederatedCredential) to the App Registration (AZApplication) it belongs to. Federated identity credentials implement workload identity federation: they let an external identity provider's token be exchanged for a token for the application, so an external workload can authenticate as the app without any secret or certificate.
Typical issuers are GitHub Actions (https://token.actions.githubusercontent.com), Kubernetes service accounts, and other OIDC providers. A credential is defined by its Issuer, Subject, and allowed Audiences (usually api://AzureADTokenExchange).
The edge is structural inventory of which federated credentials are attached to which application. It is security-relevant because a federated credential is a trust relationship: anyone who can make the external provider mint a token matching the configured issuer and subject can authenticate as the application, and therefore as the service principal it runs as (see AZ_RUNS_AS). An overly broad subject (for example a wildcard branch or environment) widens who can assume the identity, and adding a new federated credential is a stealthy, secretless persistence technique (modelled alongside AZ_ADD_SECRET).
The node carries Name, Issuer, Subject, Audiences, and Description.
Identification
PowerShell (Microsoft Graph)
Connect-MgGraph -Scopes "Application.Read.All"
Get-MgApplication -All | ForEach-Object {
$app = $_
Get-MgApplicationFederatedIdentityCredential -ApplicationId $app.Id -ErrorAction SilentlyContinue |
ForEach-Object {
[PSCustomObject]@{
AppName = $app.DisplayName
AppId = $app.AppId
Name = $_.Name
Issuer = $_.Issuer
Subject = $_.Subject
Audiences = ($_.Audiences -join ', ')
}
}
} | Format-Table -AutoSizeAzure Portal
Open Microsoft Entra admin center -> App registrations -> select the application.
Open Certificates & secrets -> Federated credentials to review issuer, subject, and audience for each credential.
Exploitation
There is no direct exploit for this edge; it inventories an existing trust. Abuse requires controlling the external workload that matches the credential's issuer and subject, or adding a new federated credential to the application (a secretless persistence path), after which the attacker obtains tokens as the app and abuses the service principal it runs as (AZ_RUNS_AS). Watch especially for broad or wildcard subjects that let more external identities assume the app.
Mitigation
Inventory federated credentials and confirm each issuer/subject pair is expected.
Scope subjects as tightly as possible (specific repo, branch, environment, or service account) and avoid wildcards.
Restrict who can add credentials to applications and monitor for new federated credential additions.
Apply least privilege to the service principal the application runs as.
Detection
Use the Microsoft Entra admin center:
Open Microsoft Entra ID -> Audit logs.
Filter Activity for application updates that add or change federated identity credentials.
Review Initiated by (actor), Target (the application), Date, and Status for unexpected changes.
Review sign-in logs for the affected service principal to spot token exchange from unexpected issuers.
References
Last updated
Was this helpful?