Dela via


Felsöka en Azure Resource Manager-arbetsbelastningsidentitetstjänstanslutning

Få hjälp med att felsöka vanliga problem med arbetsbelastningsidentitetstjänstanslutningar. 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 arbetsbelastningsidentitetstjänstanslutningar:

  • Granska pipelineuppgifter för att säkerställa att de stöder arbetsbelastningsidentitet.
  • 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 pipelineuppgifter

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. Om du vill ha uppgifter installerade från Marketplace kontaktar du tilläggsutgivaren för att få support.

Uppgift Stöd för arbetsbelastningsidentitetsfederation
AutomatedAnalysis@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
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
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

Kontrollera att arbetsbelastningsidentitetsfederationen är aktiv

Om du ser felmeddelanden AADSTS700223 eller AADSTS700238 inaktiverades arbetsbelastningsidentitetsfederationen i din Microsoft Entra-klientorganisation.

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 utfärdarens URL eller federationsämnet. 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 en tjänstens huvudnamn 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:

Jag använder en containerresurs som anger en instans av Azure Container Registry

Containerresurser som hämtas från Azure Container Registry har ännu inte stöd för en arbetsbelastningsidentitetsfederation.

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 arbetsbelastningsidentitetsfederation.
Det går inte att hitta identiteten Uppgiften stöder inte arbetsbelastningsidentitetsfederation.
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 eller så kan den ha tagits bort från tjänstanslutningen. I det här scenariot skapar du en ny tjänstanslutning.
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: Klientkontroll ligger inte inom dess giltiga tidsintervall 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. 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 en manuellt skapad tjänstanslutning bytte namn utan att federationsämnet uppdaterades om identiteten.
AADSTS700211: Ingen matchande federerad identitetspost hittades för presenterad kontrollutfärdare Antingen utfärdarens URL, federationsämnet eller båda avvisas av en Microsoft Entra-princip.
AADSTS700223 Arbetsbelastningsidentitetsfederationen är begränsad eller inaktiverad för Microsoft Entra-klientorganisationen. I det här scenariot är det ofta möjligt att använda en hanterad identitet för federationen i stället. Mer information finns i Arbetsbelastningsidentitet med hanterad identitet.
Microsoft Entra avvisade token som utfärdats av Azure DevOps med felkod AADSTS700238 Arbetsbelastningsidentitetsfederationen har begränsats på Microsoft Entra-klientorganisationen. Utfärdaren för din organisation (https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) får inte använda arbetsbelastningsidentitetsfederation. Be administratören eller administrationsteamet för Microsoft Entra-klientorganisationen att tillåta arbetsbelastningsidentitetsfederation för din Azure DevOps-organisation.
Det gick inte att hämta JSON-webbtoken (JWT) med klient-ID för tjänstens huvudnamn Autentiseringsuppgifterna för federationsidentiteten ä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. Arbetsbelastningsidentitetsfederation 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.