Skip to content

Workload Identity Federation Trusts

The question it answers: Which external systems can get tokens for an app through a federated identity credential, and how broad are those trusts?

A federated identity credential lets an external system - a GitHub Actions workflow, a Kubernetes service account, another cloud - get tokens for your app without any secret. Whoever controls that external subject has the app’s permissions. These trusts never expire and do not show up in any credential-expiry report.

Where in the appEntra ID › Identity Configuration › Workload Identity Federation
WorkloadEntra ID
KindFindings list · dashboard tile
DataRead from Microsoft 365 when someone first opens it, then kept for the report cache lifetime (Settings > Data & cache, 1 hour unless changed).
LicenceNo extra licence needed.
Report id (API and MCP)entra.configuration.federated-credentials
ColumnKeyType
SeveritySeverityStatus
IssuerCategoryText
AppSubjectLink
CheckSettingText
Subject / expressionValueText
FindingFindingText
Issuer / credentialDetailText
DateWhenDate
CountNumberNumber

A findings list hides columns that no row fills. Severity is Critical, Serious, Warning, OK or Info; rows rated Critical, Serious or Warning need attention (Working with findings).

Licence: No extra licence needed.

Application permissions on the IntensiveReports app registration (all permissions):

PermissionAPIWhat it allowsNote
Application.Read.AllMicrosoft GraphRead all applications
Data sources it reads
  • GET /v1.0/applications
  • GET /beta/applications/{id}/federatedIdentityCredentials ($batch)
GET /ir-api/v1/reports/entra.configuration.federated-credentials?size=100

An AI assistant reads it with the MCP tool get_report and the id entra.configuration.federated-credentials. The client needs the Read grant for Entra ID. See Using the API.