Problemen met een Azure Resource Manager-verbinding met de identiteitsservice voor workloads oplossen
Krijg hulp bij het opsporen van veelvoorkomende problemen met verbindingen van de identiteitsservice 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 workload-identiteit.
- Controleer of de werkbelastingidentiteitsfederatie 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.
De taken van de pijplijn controleren
Niet alle pijplijntaken ondersteunen workload-identiteit. 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 | Ja |
AzureAppServiceSettings@1 | J |
AzureCLI@1 | J |
AzureCLI@2 | Y |
AzureCloudPowerShellDeployment@1 | AzureCloudPowerShellDeployment@2 gebruiken |
AzureCloudPowerShellDeployment@2 | Ja |
AzureContainerApps@0 | Y |
AzureContainerApps@1 | Y |
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 | Ja |
AzureFunctionApp@1 | Y |
AzureFunctionApp@2 | J |
AzureFunctionAppContainer@1 | Y |
AzureFunctionOnKubernetes@0 | Gebruik AzureFunctionOnKubernetes@1 |
AzureFunctionOnKubernetes@1 | Ja |
AzureIoTEdge@2 | Y |
AzureKeyVault@1 | Y |
AzureKeyVault@2 | J |
AzureMonitor@0 | Gebruik AzureMonitor@1 |
AzureMonitor@1 | Ja |
AzureMysqlDeployment@1 | Y |
AzureNLBManagement@1 | N |
AzurePolicyCheckGate@0 | J |
AzurePowerShell@2 | Y |
AzurePowerShell@3 | JA |
AzurePowerShell@4 | J |
AzurePowerShell@5 | Ja |
AzureResourceGroupDeployment@2 | J |
AzureResourceManagerTemplateDeployment@3 | Y |
AzureRmWebAppDeployment@3 | Ja |
AzureRmWebAppDeployment@4 | Y |
AzureSpringCloud@0 | J |
AzureVmssDeployment@0 | Y |
AzureWebApp@1 | J |
AzureWebAppContainer@1 | Y |
ContainerBuild@0 | Y |
ContainerStructureTest@0 | Ja |
Docker@0 | Y |
Docker@1 | Azure-serviceverbinding: Y De Docker Registry-serviceverbinding: N |
Docker@2 | Y |
DockerCompose@0 | Y |
DockerCompose@1 | Y |
DotNetCoreCLI@2 | J |
HelmDeploy@0 | Azure-serviceverbinding: Y |
HelmDeploy@1 | Azure-serviceverbinding: Y |
InvokeRESTAPI@1 | Y |
JavaToolInstaller@0 | Y |
JenkinsDownloadArtifacts@1 | Ja |
Kubernetes@0 | Gebruik Kubernetes@1 |
Kubernetes@1 | Y |
KubernetesManifest@0 | Gebruik KubernetesManifest@1 |
KubernetesManifest@1 | Y |
Maven@4 | Ja |
Notation@0 | J |
PackerBuild@0 | Gebruik PackerBuild@1 |
PackerBuild@1 | J |
PublishNaarAzureServiceBus@1 | PublishToAzureServiceBus@2 gebruiken met azure-serviceverbinding |
PublishToAzureServiceBus@2 | J |
ServiceFabricComposeDeploy@0 | N |
ServiceFabricDeploy@1 | N |
SqlAzureDacpacDeployment@1 | Y |
VSTest@3 | Y |
Controleer of de workload-identiteitfederatie actief is.
Als u foutberichten ziet AADSTS700223 of AADSTS700238, is workload-identiteitsfederatie 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:
- Oplossing 1: Workload handmatig configureren met behulp van authenticatie met beheerde identiteit
- Oplossing 2: Werklastidentiteit handmatig configureren met behulp van app-registratieauthenticatie
Foutberichten
In de volgende tabel worden veelvoorkomende foutberichten en problemen geïdentificeerd die deze kunnen genereren:
Bericht | Mogelijk probleem |
---|---|
kan geen token aanvragen: Verkrijgen ?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, is mogelijk verwijderd uit de serviceverbinding of is onjuist geconfigureerd. Als u de serviceverbinding handmatig configureert met een vooraf gemaakte identiteit, moet u ervoor zorgen dat de appID /clientId serviceverbinding correct is geconfigureerd. |
AADSTS7000215: Ongeldig clientgeheim opgegeven. | U gebruikt een serviceverbinding met een verlopen geheim. Converteer de serviceverbinding naar workload-identiteitsfederatie en vervang de verlopen geheime sleutel door federatieve referenties. |
AADSTS700024: Clientverklaring valt niet binnen het geldige tijdsbereik | Als de fout zich na ongeveer 1 uur voordoet, gebruikt u in plaats daarvan een serviceverbinding met workload-identiteitsfederatie 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. Verklaringsuitgever: https://app.vstoken.visualstudio.com . |
Er is geen federatieve referentie gemaakt of 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 aangemaakt, moet u de uitgever 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. Verklaring Uitgever: 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 overeenkomend gefedereerd identiteitsrecord gevonden voor de verstrekker van de gepresenteerde assertie | Er is geen federatieve referentie gemaakt of de URL van de verlener is niet juist. |
AADSTS700213: Er is geen overeenkomende federatieve identiteitsrecord gevonden voor het gepresenteerde assertieonderwerp | Er is geen federatieve referentie gemaakt of het onderwerp is niet juist. |
AADSTS700223 | Workload-identiteitsfederatie is beperkt of uitgeschakeld in de Microsoft Entra-tenant. In dit scenario is het mogelijk om in plaats daarvan een beheerde identiteit voor de federatie te gebruiken. Bekijk Workload-identiteit met beheerde identiteit voor meer informatie. |
AADSTS70025: Clienttoepassing heeft geen geconfigureerde federatieve identiteitsreferenties | Zorg dat federatieve authenticatie-referenties zijn geconfigureerd voor de applicatieregistratie of beheerde identiteit. |
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 uitgever voor uw organisatie (https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX ) mag geen werkbelastingsidentiteitsfederatie gebruiken. Vraag uw Microsoft Entra-tenantbeheerder of -beheerteam om workloadidentiteitsfederatie toe te staan voor uw Azure DevOps-organisatie. |
AADSTS900382: Vertrouwelijke client wordt niet ondersteund in Cross Cloud | Sommige onafhankelijke clouds blokkeren federatie van workloadidentiteiten. |
Kon het JSON Web Token (JWT) niet verkrijgen 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: niet-herkende argumenten: --federated-token | U gebruikt een AzureCLI-taak op een agent waarop een eerdere versie van de Azure CLI is geïnstalleerd. Voor de federatie van werklastidentiteit is Azure CLI 2.30 of hoger vereist. |
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 die de serviceverbinding maakt de Microsoft Entra rol Application Developer toe. U kunt de serviceverbinding ook handmatig maken met behulp van een beheerde identiteit. Bekijk Workload-identiteit met beheerde identiteit voor meer informatie. |
Wordt de AADSTS-fout die u hierboven niet ziet weergegeven? Controleer microsoft Entra-verificatie- en autorisatiefoutcodes.