Felsöka en Azure Resource Manager-arbetsbelastningsidentitetstjänstanslutning
Få hjälp med att felsöka vanliga problem med anslutningar av arbetsbelastningsidentitetstjänster. Du får också lära dig hur du skapar en tjänstanslutning manuellt om du behöver det.
Checklista för felsökning
Använd följande checklista för att felsöka problem med anslutningar till tjänsten för arbetslastidentitet.
- Granska pipelineuppgifter för att säkerställa att de stöder arbetslastidentitet.
- Kontrollera att arbetsbelastningsidentitetsfederationen är aktiv för klientorganisationen.
- Kontrollera utfärdarens URL och federationsämne för noggrannhet.
I följande avsnitt beskrivs problemen och hur du löser dem.
Granska arbetsuppgifter i pipeline
Alla pipelineuppgifter stöder inte arbetsbelastningsidentitet. Mer specifikt använder endast Azure Resource Manager-tjänstanslutningsegenskaper för aktiviteter arbetsbelastningsidentitetsfederation. Tabellen nedan visar stöd för arbetsbelastningsidentitetsfederation för uppgifter som ingår i Azure DevOps. För uppgifter installerade från Marketplace, kontakta tilläggsutgivaren för support.
Uppgift | Stöd för arbetsbelastningsidentitetsfederation |
---|---|
AutomatiseradAnalys@0 | Y |
AzureAppServiceManage@0 | Y |
AzureAppServiceSettings@1 | Y |
AzureCLI@1 | Y |
AzureCLI@2 | Y |
AzureCloudPowerShellDeployment@1 | Använda AzureCloudPowerShellDeployment@2 |
AzureCloudPowerShellDeployment@2 | Y |
AzureContainerApps@0 | Y |
AzureContainerApps@1 | Y |
AzureFileCopy@1 | Använd AzureFileCopy@6 |
AzureFileCopy@2 | Använd AzureFileCopy@6 |
AzureFileCopy@3 | Använd AzureFileCopy@6 |
AzureFileCopy@4 | Använd AzureFileCopy@6 |
AzureFileCopy@5 | Använd AzureFileCopy@6 |
AzureFileCopy@6 | Y |
AzureFunctionApp@1 | Y |
AzureFunctionApp@2 | Y |
AzureFunctionAppContainer@1 | Y |
AzureFunctionOnKubernetes@0 | Använd AzureFunctionOnKubernetes@1 |
AzureFunctionOnKubernetes@1 | Y |
AzureIoTEdge@2 | Y |
AzureKeyVault@1 | Y |
AzureKeyVault@2 | Y |
AzureMonitor@0 | Använda AzureMonitor@1 |
AzureMonitor@1 | Y |
AzureMysqlDeployment@1 | Y |
AzureNLBManagement@1 | N |
AzurePolicyCheckGate@0 | Y |
AzurePowerShell@2 | Y |
AzurePowerShell@3 | Y |
AzurePowerShell@4 | Y |
AzurePowerShell@5 | Y |
AzureResourceGroupDeployment@2 | Y |
AzureResourceManagerTemplateDeployment@3 | Y |
AzureRmWebAppDeployment@3 | Y |
AzureRmWebAppDeployment@4 | Y |
AzureSpringCloud@0 | Y |
AzureVmssDeployment@0 | Y |
AzureWebApp@1 | Y |
AzureWebAppContainer@1 | Y |
ContainerBuild@0 | Y |
ContainerStructureTest@0 | Y |
Docker@0 | Y |
Docker@1 | Azure-tjänstanslutning: Y Docker Registry-tjänstanslutning: N |
Docker@2 | Y |
DockerCompose@0 | Y |
DockerCompose@1 | Y |
DotNetCoreCLI@2 | Y |
HelmDeploy@0 | Azure-tjänstanslutning: Y |
HelmDeploy@1 | Azure-tjänstanslutning: Y |
InvokeRESTAPI@1 | Y |
JavaToolInstaller@0 | Y |
JenkinsDownloadArtifacts@1 | Y |
Kubernetes@0 | Använda Kubernetes@1 |
Kubernetes@1 | Y |
KubernetesManifest@0 | Använd KubernetesManifest@1 |
KubernetesManifest@1 | Y |
Maven@4 | Y |
Notation@0 | Y |
PackerBuild@0 | Använd PackerBuild@1 |
PackerBuild@1 | Y |
PublishToAzureServiceBus@1 | Använda PublishToAzureServiceBus@2 med Azure-tjänstanslutning |
PublishToAzureServiceBus@2 | Y |
ServiceFabricComposeDeploy@0 | N |
ServiceFabricDeploy@1 | N |
SqlAzureDacpacDeployment@1 | Y |
VSTest@3 | Y |
Kontrollera att arbetsbelastningsidentitetsfederationen är aktiv
Om du ser felmeddelanden AADSTS700223 eller AADSTS700238 inaktiverades arbetsbelastningsidentitetsfedereringen i din Microsoft Entra-klient.
Kontrollera att det inte finns några Microsoft Entra-principer som blockerar federerade autentiseringsuppgifter.
Kontrollera utfärdarens URL för noggrannhet
Om du ser ett meddelande som anger att ingen matchande federerad identitetspost hittades, matchar inte antingen utfärdarens URL eller federationssubjektet. Rätt utfärdar-URL börjar med https://vstoken.dev.azure.com
.
Du kan åtgärda utfärdarens URL genom att redigera och spara tjänstanslutningen för att uppdatera utfärdarens URL. Om Azure DevOps inte skapade identiteten måste utfärdarens URL uppdateras manuellt. För Azure-identiteter uppdateras utfärdarens URL automatiskt.
Vanliga problem
I nästa avsnitt identifieras vanliga problem och orsaker och lösningar beskrivs.
Jag har inte behörighet att skapa ett tjänsthuvudnamn i Microsoft Entra-klientorganisationen.
Du kan inte använda konfigurationsverktyget för Azure DevOps-tjänstens anslutning om du inte har rätt behörigheter. Behörighetsnivån är otillräcklig för att använda verktyget om du antingen inte har behörighet att skapa tjänstens huvudnamn eller om du använder en annan Microsoft Entra-klientorganisation än din Azure DevOps-användare.
Du måste antingen ha behörigheter i Microsoft Entra-ID för att skapa appregistreringar eller ha en lämplig roll (till exempel Programutvecklare).
Det finns två alternativ för att lösa problemet:
- Lösning 1: Konfigurera arbetsbelastningsidentitet manuellt med hjälp av hanterad identitetsautentisering
- Lösning 2: Konfigurera arbetsbelastningsidentitet manuellt med hjälp av appregistreringsautentisering
Felmeddelanden
I följande tabell identifieras vanliga felmeddelanden och problem som kan generera dem:
Meddelande | Möjligt problem |
---|---|
kan inte begära token: Hämta ?audience=api://AzureADTokenExchange: unsupported protocol scheme |
Uppgiften stöder inte federering av arbetsbelastningsprofil. |
Det går inte att hitta identiteten | Uppgiften stöder inte arbetsbelastningens identitetsfederation. |
Det gick inte att hämta åtkomsttoken för Azure | Uppgiften stöder inte arbetsbelastningsidentitetsfederation. |
AADSTS700016: Programmet med identifieraren ***** hittades inte | Den identitet som används för tjänstanslutningen finns inte längre, kan ha tagits bort från tjänstanslutningen eller är felaktigt konfigurerad. Om du konfigurerar tjänstanslutningen manuellt med en i förväg skapad identitet kontrollerar du att den appID /clientId är korrekt konfigurerad. |
AADSTS7000215: Ogiltig klienthemlighet har angetts. | Du använder en tjänstanslutning som har en hemlighet som har upphört att gälla. Konvertera tjänstanslutningen till arbetsbelastningens identitetsfederation och ersätt den utgångna hemligheten med federerade autentiseringsuppgifter. |
AADSTS700024: Klientintyg är inte inom sin giltiga tidsperiod | Om felet inträffar efter cirka 1 timme använder du en tjänstanslutning med arbetsbelastningsidentitetsfederation och en hanterad identitet i stället. Hanterade identitetstoken har en livslängd på cirka 24 timmar. Om felet inträffar före 1 timme men efter 10 minuter flyttar du kommandon som (implicit) begär en åtkomsttoken till t.ex. åtkomst till Azure Storage till början av skriptet. Åtkomsttoken cachelagras för efterföljande kommandon. |
AADSTS70021: Ingen matchande federerad identitetspost hittades för den framlagda försäkran. Utfärdare av försäkran: https://app.vstoken.visualstudio.com . |
Inga federerade autentiseringsuppgifter har skapats eller utfärdarens URL är inte korrekt. Rätt utfärdar-URL har formatet https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX . Du kan åtgärda utfärdarens URL genom att redigera och sedan spara en tjänstanslutning. Om Azure DevOps inte skapade din identitet måste du uppdatera utfärdaren manuellt. Du hittar rätt utfärdare i redigeringsdialogrutan för tjänstanslutningen eller i svaret (under auktoriseringsparametrar) om du använder REST-API:et. |
AADSTS70021: Ingen matchande federerad identitetspost hittades för den framlagda försäkran. Utfärdare av försäkran: https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX . Intygsämne: sc://<org>/<project>/<service-connection>. |
Antingen matchar inte utfärdarens URL eller federationsämnet. Azure DevOps-organisationen eller projektet har bytt namn, eller så har en manuellt skapad tjänstanslutning bytt namn utan att federationsämnet för identiteten uppdaterades. |
AADSTS700211: Ingen matchande federerad identitetspost hittades för den presenterade utfärdaren av påståendet | Inga federerade autentiseringsuppgifter skapades eller så är utfärdarens URL inte korrekt. |
AADSTS700213: Ingen matchande federerad identitetsuppgift hittades för det presenterade påståendesubjektet | Inga federerade autentiseringsuppgifter skapades eller så är ämnet inte korrekt. |
AADSTS700223 | Identitetsfederering för arbetsbelastning kan vara begränsad eller inaktiverad i Microsoft Entra-klientorganisationen. I det här scenariot kan det vara möjligt att använda en hanterad identitet för federationen i stället. Mer information finns i Arbetsbelastningsidentitet med hanterad identitet. |
AADSTS70025: Klientprogrammet har inga konfigurerade federerade identitetsuppgifter | Kontrollera att federerade autentiseringsuppgifter har konfigurerats för appregistreringen eller den hanterade identiteten. |
Microsoft Entra avvisade token som utfärdats av Azure DevOps med felkod AADSTS700238 | Arbetsbelastningsidentitetsfederationen har begränsats på Microsoft Entra-miljön. Utfärdaren för din organisation (https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX ) får inte använda identitetsfederation för arbetsbelastning. Be administratören eller administrationsteamet för Microsoft Entra-klientorganisationen att tillåta arbetsbelastningsidentitetsfederation för din Azure DevOps-organisation. |
AADSTS900382: Konfidentiell klient stöds inte i molnet | Vissa nationella moln blockerar arbetsbelastningsidentitetsfederation. |
Det gick inte att hämta JSON-webbtoken (JWT) med tjänstehuvudets klient-ID | Federationsidentitetsuppgifterna är felkonfigurerade eller så blockerar Microsoft Entra-klientorganisationen OpenID Connect (OIDC). |
Skriptet misslyckades med felet: UnrecognizedArgumentError: okända argument: --federated-token | Du använder en AzureCLI-uppgift på en agent som har en tidigare version av Azure CLI installerad. Federation av arbetsbelastningsidentiteter kräver Azure CLI 2.30 eller senare. |
Det gick inte att skapa en app i Microsoft Entra-ID. Fel: Otillräcklig behörighet för att slutföra åtgärden i Microsoft Graph. Kontrollera att användaren har behörighet att skapa ett Microsoft Entra-program. | Möjligheten att skapa appregistreringar har inaktiverats i Microsoft Entra-klientorganisationen. Tilldela den användare som skapar tjänstanslutningen rollen Programutvecklare Microsoft Entra. Du kan också skapa tjänstanslutningen manuellt med hjälp av en hanterad identitet. Mer information finns i Arbetsbelastningsidentitet med hanterad identitet. |
Är AADSTS-felet du ser inte listat ovan? Kontrollera felkoderna för Microsoft Entra-autentisering och auktorisering.