Delen via


Problemen met een Azure Resource Manager-verbinding met de identiteitsservice voor workloads oplossen

Hulp bij het opsporen van veelvoorkomende problemen met identiteitsserviceverbindingen voor workloads. U leert ook hoe u handmatig een serviceverbinding maakt als dat nodig is.

Controlelijst voor probleemoplossing

Gebruik de volgende controlelijst om problemen met identiteitsserviceverbindingen voor workloads op te lossen:

  • Controleer de pijplijntaken om ervoor te zorgen dat ze ondersteuning bieden voor workloadidentiteit.
  • Controleer of de federatie van de workloadidentiteit actief is voor de tenant.
  • Controleer de URL van de uitgever en het federatieonderwerp op nauwkeurigheid.

In de volgende secties worden de problemen beschreven en hoe u deze kunt oplossen.

Pijplijntaken controleren

Niet alle pijplijntaken ondersteunen workloadidentiteit. In het bijzonder maken alleen verbindingseigenschappen van de Azure Resource Manager-service voor taken gebruik van federatie van workloadidentiteit. De onderstaande tabel bevat ondersteuning voor workloadidentiteitsfederatie voor taken die zijn opgenomen in Azure DevOps. Neem contact op met de uitgever van de extensie voor ondersteuning voor taken die zijn geïnstalleerd vanuit Marketplace.

Opdracht Ondersteuning voor federatie van workloadidentiteit
AutomatedAnalysis@0 J
AzureAppServiceManage@0 J
AzureAppServiceSettings@1 J
AzureCLI@1 J
AzureCLI@2 J
AzureCloudPowerShellDeployment@1 AzureCloudPowerShellDeployment@2 gebruiken
AzureCloudPowerShellDeployment@2 J
AzureContainerApps@0 J
AzureContainerApps@1 J
AzureFileCopy@1 Gebruik AzureFileCopy@6
AzureFileCopy@2 Gebruik AzureFileCopy@6
AzureFileCopy@3 Gebruik AzureFileCopy@6
AzureFileCopy@4 Gebruik AzureFileCopy@6
AzureFileCopy@5 Gebruik AzureFileCopy@6
AzureFileCopy@6 J
AzureFunctionApp@1 J
AzureFunctionApp@2 J
AzureFunctionAppContainer@1 J
AzureFunctionOnKubernetes@0 Gebruik AzureFunctionOnKubernetes@1
AzureFunctionOnKubernetes@1 Azure-serviceverbinding: Y
Docker Registry-serviceverbinding: Y
AzureIoTEdge@2 Azure-serviceverbinding: Y
Docker Registry-serviceverbinding: Y
AzureKeyVault@1 J
AzureKeyVault@2 J
AzureMonitor@0 Gebruik AzureMonitor@1
AzureMonitor@1 J
AzureMysqlDeployment@1 J
AzureNLBManagement@1 N
AzurePolicyCheckGate@0 J
AzurePowerShell@2 J
AzurePowerShell@3 J
AzurePowerShell@4 J
AzurePowerShell@5 J
AzureResourceGroupDeployment@2 J
AzureResourceManagerTemplateDeployment@3 J
AzureRmWebAppDeployment@3 Azure-serviceverbinding: Y
Docker Registry-serviceverbinding: Y
AzureRmWebAppDeployment@4 J
AzureSpringCloud@0 J
AzureVmssDeployment@0 J
AzureWebApp@1 J
AzureWebAppContainer@1 J
ContainerBuild@0 N
ContainerStructureTest@0 N
Docker@0 Azure-serviceverbinding: Y
Docker Registry-serviceverbinding: Y
Docker@1 Azure-serviceverbinding: Y
Docker Registry-serviceverbinding: N
Docker@2 J
Docker@0 Azure-serviceverbinding: Y
Docker Registry-serviceverbinding: Y
DockerCompose@0 Azure-serviceverbinding: Y
Docker Registry-serviceverbinding: Y
HelmDeploy@0 Azure-serviceverbinding: Y
InvokeRESTAPI@1 J
JavaToolInstaller@0 J
JenkinsDownloadArtifacts@1 J
Kubernetes@0 Gebruik Kubernetes@1
Kubernetes@1 Azure-serviceverbinding: Y
Docker Registry-serviceverbinding: Y
KubernetesManifest@0 Gebruik KubernetesManifest@1
KubernetesManifest@1 Azure-serviceverbinding: Y
Docker Registry-serviceverbinding: Y
Notation@0 2024
PackerBuild@0 2024
PackerBuild@1 2024
PublishToAzureServiceBus@1 PublishToAzureServiceBus@2 ondersteunt federatie van workloadidentiteit
PublishToAzureServiceBus@2 2024 Q2
ServiceFabricComposeDeploy@0 N
ServiceFabricDeploy@1 N
SqlAzureDacpacDeployment@1 J

Controleer of de federatie van de workloadidentiteit actief is

Als u foutberichten ziet AADSTS700223 of AADSTS700238, is federatie van workloadidentiteit uitgeschakeld in uw Microsoft Entra-tenant.

Controleer of er geen Microsoft Entra-beleid is dat federatieve inloggegevens blokkeert.

Controleer de URL van de verlener op nauwkeurigheid

Als u een bericht ziet dat er geen overeenkomende federatieve identiteitsrecord is gevonden, komt de URL van de verlener of het federatieonderwerp niet overeen. De juiste URL van de verstrekker begint met https://vstoken.dev.azure.com.

U kunt de URL van de verstrekker herstellen door de serviceverbinding te bewerken en op te slaan om de URL van de verstrekker bij te werken. Als Azure DevOps de identiteit niet heeft gemaakt, moet de URL van de verstrekker handmatig worden bijgewerkt. Voor Azure-identiteiten wordt de URL van de verstrekker automatisch bijgewerkt.

Algemene problemen

De volgende secties identificeren veelvoorkomende problemen en beschrijven oorzaken en oplossingen.

Ik heb geen machtigingen om een service-principal te maken in de Microsoft Entra-tenant

U kunt het configuratiehulpprogramma voor de Azure DevOps-serviceverbinding niet gebruiken als u niet over de juiste machtigingen beschikt. Uw machtigingsniveau is onvoldoende om het hulpprogramma te gebruiken als u geen machtigingen hebt om service-principals te maken of als u een andere Microsoft Entra-tenant gebruikt dan uw Azure DevOps-gebruiker.

U moet machtigingen hebben in Microsoft Entra ID om app-registraties te maken of een juiste rol te hebben (bijvoorbeeld Toepassingsontwikkelaar).

U heeft twee opties om het probleem op te lossen:

Ik gebruik een containerresource die een exemplaar van Azure Container Registry opgeeft

Containerresources die worden opgehaald uit Azure Container Registry ondersteunen nog geen federatie van workloadidentiteit.

Foutberichten

In de volgende tabel worden veelvoorkomende foutberichten en problemen geïdentificeerd die deze kunnen genereren:

Bericht Mogelijk probleem
kan geen token aanvragen: Ophalen ?audience=api://AzureADTokenExchange: unsupported protocol scheme De taak biedt geen ondersteuning voor federatie van workloadidentiteiten.
Identiteit niet gevonden De taak biedt geen ondersteuning voor federatie van workloadidentiteiten.
Kan het toegangstoken voor Azure niet ophalen De taak biedt geen ondersteuning voor federatie van workloadidentiteiten.
AADSTS700016: De toepassing met id '****' is niet gevonden De identiteit die wordt gebruikt voor de serviceverbinding bestaat niet meer of is mogelijk verwijderd uit de serviceverbinding. In dit scenario maakt u een nieuwe serviceverbinding.
AADSTS7000215: Ongeldig clientgeheim opgegeven. U gebruikt een serviceverbinding met een verlopen geheim. Converteer de serviceverbinding naar de federatie van workloadidentiteit en vervang het verlopen geheim door federatieve referenties.
AADSTS700024: Clientverklaring valt niet binnen het geldige tijdsbereik Als de fout na ongeveer 1 uur optreedt, gebruikt u in plaats daarvan een serviceverbinding met de federatie van workloadidentiteiten en een beheerde identiteit . Tokens voor beheerde identiteiten hebben een levensduur van ongeveer 24 uur.
Als de fout vóór 1 uur plaatsvindt, maar na 10 minuten, verplaatst u opdrachten die (impliciet) een toegangstoken aanvragen om bijvoorbeeld toegang te krijgen tot Azure Storage aan het begin van uw script. Het toegangstoken wordt in de cache opgeslagen voor volgende opdrachten.
AADSTS70021: Er is geen overeenkomende federatieve identiteitsrecord gevonden voor gepresenteerde assertie. Assertion Issuer: https://app.vstoken.visualstudio.com. De URL van de verlener is niet juist. De juiste URL van de verlener heeft de indeling https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. U kunt de URL van de uitgever herstellen door een serviceverbinding te bewerken en vervolgens op te slaan. Als Azure DevOps uw identiteit niet heeft gemaakt, moet u de verlener handmatig bijwerken. U vindt de juiste verlener in het bewerkingsdialoogvenster van de serviceverbinding of in het antwoord (onder autorisatieparameters) als u de REST API gebruikt.
AADSTS70021: Er is geen overeenkomende federatieve identiteitsrecord gevonden voor gepresenteerde assertie. Assertion Issuer: https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Onderwerp van assertie: sc://<org>/<project>/<service-connection>. De URL van de verlener of het federatieonderwerp komt niet overeen. De naam van de Azure DevOps-organisatie of het project is gewijzigd of de naam van een handmatig gemaakte serviceverbinding is gewijzigd zonder het federatieonderwerp op de identiteit bij te werken.
AADSTS700211: Er is geen overeenkomende federatieve identiteitsrecord gevonden voor de gepresenteerde verlener van de assertie De URL van de uitgever, het federatieonderwerp of beide worden geweigerd door een Microsoft Entra-beleid.
AADSTS700223 Federatie van workloadidentiteit is beperkt of uitgeschakeld in de Microsoft Entra-tenant. In dit scenario is het vaak mogelijk om in plaats daarvan een beheerde identiteit voor de federatie te gebruiken. Bekijk Workload-identiteit met beheerde identiteit voor meer informatie.
Microsoft Entra heeft het token geweigerd dat is uitgegeven door Azure DevOps met foutcode AADSTS700238 Federatie van workloadidentiteit is beperkt op de Microsoft Entra-tenant. De verlener voor uw organisatie (https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) mag geen federatie van workloadidentiteit gebruiken. Vraag uw Microsoft Entra-tenantbeheerder of -beheerteam om workloadidentiteitsfederatie toe te staan voor uw Azure DevOps-organisatie.
Kan het JSON-webtoken (JWT) niet ophalen met behulp van de client-id van de service-principal Uw referenties voor federatie-identiteit zijn onjuist geconfigureerd of de Microsoft Entra-tenant blokkeert OpenID Connect (OIDC).
Script is mislukt met fout: UnrecognizedArgumentError: unrecognized arguments: --federated-token U gebruikt een AzureCLI-taak op een agent waarop een eerdere versie van de Azure CLI is geïnstalleerd. Federatie van workloadidentiteit vereist Azure CLI 2.30 of hoger.
Kan geen app maken in Microsoft Entra ID. Fout: Onvoldoende bevoegdheden om de bewerking in Microsoft Graph te voltooien. Zorg ervoor dat de gebruiker machtigingen heeft om een Microsoft Entra-toepassing te maken. De mogelijkheid om app-registraties te maken, is uitgeschakeld in de Microsoft Entra-tenant. Wijs de gebruiker toe die de serviceverbinding maakt met de rol Application Developer Microsoft Entra. U kunt de serviceverbinding ook handmatig maken met behulp van een beheerde identiteit. Bekijk Workload-identiteit met beheerde identiteit voor meer informatie.