Delen via


Troubleshoot Azure Resource Manager service connections (Verbindingsproblemen met Azure Resource Manager-service oplossen)

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Dit artikel bevat veelvoorkomende scenario's voor probleemoplossing waarmee u problemen kunt oplossen die kunnen optreden bij het maken van een Azure Resource Manager-serviceverbinding (ARM). Zie Serviceverbindingen beheren voor meer informatie over het maken, bewerken en beveiligen van serviceverbindingen. Zie Problemen met een Azure Resource Manager-workloadidentiteitsserviceverbinding oplossen voor meer informatie over het oplossen van problemen met betrekking tot workloadidentiteiten.

In dit artikel worden de termen 'tenant' en 'directory' gebruikt op manieren die elkaar kunnen overlappen. Een tenant is een toegewezen, geïsoleerde instantie van Microsoft Entra-id die uw organisatie ontvangt en beheert alle identiteiten en toegangsbeheer voor uw cloudservices. Een map is een container binnen die tenant die objecten bevat, zoals gebruikers, groepen en toepassingen die worden gebruikt om de toegang tot resources te beheren.

Aanbeveling

U kunt Copilot vragen om hulp bij het oplossen van foutberichten. Zie AI gebruiken om een verbindingsfout in de Azure DevOps-service op te lossen voor meer informatie.

Wat gebeurt er wanneer u een Azure Resource Manager-serviceverbinding maakt

U hebt meerdere verificatieopties voor het maken van verbinding met Azure met een Azure Resource Manager-serviceverbinding. Wij raden aan om workload-identiteitsfederatie te gebruiken met een app-registratie of beheerde identiteit.

Wanneer het proces voor het maken van de serviceverbinding is voltooid, voert Azure DevOps deze stappen automatisch uit in uw Microsoft Entra-tenant. Als er fouten optreden tijdens dit proces, raadpleegt u de onderstaande scenario's voor probleemoplossing.

Wanneer u uw nieuwe Azure Resource Manager-serviceverbinding opslaat, voert Azure DevOps de volgende acties uit:

  1. Maakt verbinding met de Microsoft Entra-tenant voor het geselecteerde abonnement.
  2. Hiermee maakt u een toepassing in entra-id namens de gebruiker.
  3. Hiermee wordt de toepassing toegewezen als inzender aan het geselecteerde abonnement.
  4. Hiermee maakt u een Azure Resource Manager-serviceverbinding met behulp van de details van deze toepassing.

Notitie

Als u serviceverbindingen wilt maken, moet u de rol Maker of Beheerder voor de groep Eindpuntmaker in uw projectinstellingen toewijzen: Project-instellingen>Service-verbindingen>Meer acties>Beveiliging. Projectbijdragers worden standaard toegevoegd aan deze groep.

De gebruiker heeft alleen gastmachtigingen in de directory.

Deze fout treedt op tijdens het proces voor het automatisch maken van de serviceverbinding wanneer Azure DevOps probeert een toepassing te maken en machtigingen toe te wijzen in Microsoft Entra-id (stap 2-3 in Wat gebeurt er wanneer u een Azure Resource Manager-serviceverbinding maakt). Dit gebeurt wanneer een gebruiker met alleen gastmachtigingen in een Microsoft Entra ID-directory probeert een Azure Resource Manager-serviceverbinding te maken in Azure DevOps, maar onvoldoende machtigingen heeft.

Ga als volgt te werk om het probleem op te lossen:

  1. Meld u aan bij Azure Portal met een beheerdersaccount. Het account moet een eigenaar of administrateur van gebruikersaccounts zijn.

  2. Selecteer Microsoft Entra-id in de linkernavigatiebalk.

  3. Zorg ervoor dat u de juiste map bewerkt die overeenkomt met het gebruikersabonnement. Als dat niet het geval is, selecteert u Wisselen van directory en meldt u zich indien nodig aan met de juiste referenties.

  4. Selecteer Gebruikers in de sectie Beheren .

  5. Selecteer Gebruikersinstellingen.

  6. Selecteer Instellingen voor externe samenwerking beheren in de sectie Externe gebruikers .

  7. Wijzig de machtigingen voor gastgebruikers zijn beperkt tot Nee.

Als u klaar bent om de machtigingen op gebruikersbeheerdersniveau te geven, kunt u de gebruiker ook lid maken van een beheerdersrol. Voltooi de volgende stappen:

Waarschuwing

Als u gebruikers toewijst aan de rol Globale beheerder, kunnen ze elke beheerinstelling in uw Microsoft Entra-organisatie lezen en wijzigen. Wijs deze rol als best practice toe aan minder dan vijf personen in uw organisatie.

  1. Meld u aan bij Azure Portal met een beheerdersaccount. Het account moet een eigenaar of administrateur van gebruikersaccounts zijn.

  2. Selecteer Microsoft Entra ID in het linkernavigatiedeelvenster.

  3. Zorg ervoor dat u de juiste map bewerkt die overeenkomt met het gebruikersabonnement. Als dat niet het geval is, selecteert u Wisselen van directory en meldt u zich indien nodig aan met de juiste referenties.

  4. Selecteer Gebruikers in de sectie Beheren .

  5. Gebruik het zoekvak om de gebruiker te vinden die u wilt beheren.

  6. Selecteer Directorie rol in de sectie Beheren en wijzig vervolgens de rol. Kies Opslaan wanneer u klaar bent.

Het duurt doorgaans 15 tot 20 minuten om de wijzigingen globaal toe te passen. De gebruiker kan vervolgens proberen de serviceverbinding opnieuw te maken.

De gebruiker is niet gemachtigd om toepassingen toe te voegen in de map

Deze fout treedt op tijdens het proces voor het automatisch maken van de serviceverbinding wanneer Azure DevOps namens u een toepassing probeert te maken in Microsoft Entra-id (stap 2 in Wat gebeurt er wanneer u een Azure Resource Manager-serviceverbinding maakt). U bent niet gemachtigd om geïntegreerde toepassingen toe te voegen in de map. De directorybeheerder heeft machtigingen om deze instelling te wijzigen.

Ga als volgt te werk om het probleem op te lossen:

  1. Selecteer Microsoft Entra-id in het linkernavigatiedeelvenster.

  2. Zorg ervoor dat u de juiste map bewerkt die overeenkomt met het gebruikersabonnement. Als dat niet het geval is, selecteert u Wisselen van directory en meldt u zich indien nodig aan met de juiste referenties.

  3. Selecteer Gebruikers en selecteer vervolgens Gebruikersinstellingen.

  4. Wijzig onder App-registraties de optie Toepassingen registreren inJa.

U kunt ook de service-principal maken met een bestaande gebruiker die al over de vereiste machtigingen in Entra-id beschikt. Zie Een Azure Resource Manager-serviceverbinding maken met een bestaande service-principal voor meer informatie.

Kan geen toegangstoken verkrijgen of er is geen geldig vernieuwingstoken gevonden

Deze fouten treden meestal op wanneer uw sessie verloopt.

Ga als volgt te werk om deze problemen op te lossen:

  1. Meld u af bij Azure DevOps.

  2. Open een InPrivate- of incognito-browservenster en ga naar Azure DevOps.

  3. Meld u aan met de juiste inloggegevens.

  4. Selecteer uw organisatie en uw project.

  5. Probeer de serviceverbinding opnieuw te maken. Zie Serviceverbindingen beheren voor gedetailleerde stappen.

U lijkt geen actief Azure-abonnement te hebben bij het bewerken of maken van een nieuwe serviceverbinding

Deze fout treedt meestal op wanneer u deel uitmaakt van meerdere Entra ID-tenants.

Ga als volgt te werk om het probleem op te lossen:

  1. Ga naar HET VS-profiel.

  2. Controleer of u meerdere tenants hebt.

  3. Selecteer elke tenant en verifieer vervolgens opnieuw.

  4. Probeer een serviceverbinding te maken en controleer vervolgens of het abonnement wordt geladen.

Kan de rol 'Bijdrager' niet toewijzen

Deze fout treedt op tijdens het proces voor het automatisch maken van de serviceverbinding wanneer Azure DevOps de toepassing probeert toe te wijzen als bijdrager aan uw abonnement (stap 3 in Wat gebeurt er wanneer u een Azure Resource Manager-serviceverbinding maakt). Deze fout treedt meestal op wanneer u geen schrijfmachtiging hebt voor het geselecteerde Azure-abonnement.

Als u dit probleem wilt oplossen, vraagt u de abonnementsbeheerder om u de juiste rol toe te wijzen in Microsoft Entra-id.

Abonnement wordt niet vermeld bij het maken van een serviceverbinding

Er zijn meerdere mogelijke oorzaken van dit probleem.

  • Het maximum van 50 Azure-abonnementen is overschreden dat wordt vermeld in de verschillende vervolgkeuzelijsten voor Azure-abonnementen (facturering, serviceverbinding, enzovoort): Als u een serviceverbinding instelt en u meer dan 50 Azure-abonnementen hebt, worden sommige van uw abonnementen niet vermeld. Voer in dit scenario de volgende stappen uit:

    1. Maak een nieuwe, systeemeigen Microsoft Entra-gebruiker in het Microsoft Entra-exemplaar van uw Azure-abonnement.

    2. Stel de Microsoft Entra-gebruiker zo in dat deze over de juiste machtigingen beschikt om facturering in te stellen of serviceverbindingen te maken. Zie Gebruiker toevoegen die facturering voor Azure DevOps kan instellen voor meer informatie.

    3. Voeg de Microsoft Entra-gebruiker toe aan de Azure DevOps-organisatie met een toegangsniveau belanghebbenden en voeg deze vervolgens toe aan de groep Beheerders van projectverzamelingen (voor facturering) of zorg ervoor dat de gebruiker voldoende machtigingen heeft in het teamproject om serviceverbindingen te maken.

    4. Meld u aan bij Azure DevOps met de nieuwe gebruikersreferenties en stel facturering in. U ziet slechts één Azure-abonnement in de lijst.

  • Oude gebruikerstoken die in de cache zijn opgeslagen in Azure DevOps Services: Als uw Azure-abonnement niet wordt weergegeven wanneer u een Azure Resource Manager-serviceverbinding (ARM) maakt, kan dit worden veroorzaakt door een oud gebruikerstoken dat in de cache is opgeslagen in Azure DevOps Services. Dit scenario is niet direct duidelijk omdat in het lijstscherm van Azure-abonnementen geen fouten of waarschuwingsberichten worden weergegeven die aangeven dat het gebruikerstoken verouderd is. U kunt dit probleem oplossen door het gebruikerstoken in de cache handmatig bij te werken in Azure DevOps Services door de volgende stappen uit te voeren:

    1. Meld u af bij Azure DevOps Services en meld u weer aan. Met deze actie kan het gebruikerstoken worden vernieuwd.
    2. Wis uw browsercache en cookies om ervoor te zorgen dat oude tokens worden verwijderd.
    3. Ga vanuit de Azure DevOps-portal naar de serviceverbindingen en herauthoriseer de verbinding met Azure. In deze stap wordt Azure DevOps gevraagd een nieuw token te gebruiken.
  • Onjuiste instellingen voor ondersteuningsaccounttypen: Los dit probleem op door de instellingen voor ondersteunde accounttypen te wijzigen en te definiëren wie uw toepassing kan gebruiken. Volg deze stappen:

    1. Meld u aan bij het Azure-portaal.

    2. Als u toegang hebt tot meerdere tenants, gebruikt u het filter Directory + abonnement in het bovenste menu om de tenant te selecteren waarin u een toepassing wilt registreren.

      Schermopname van het pictogram map en abonnementen in Azure Portal.

    3. Selecteer Microsoft Entra-id in het linkerdeelvenster.

    4. Kies App-registraties.

    5. Selecteer uw toepassing in de lijst met geregistreerde toepassingen.

    6. Selecteer onder Verificatie ondersteunde accounttypen.

    7. Onder Ondersteunde accounttypenWie kan deze toepassing gebruiken of deze API openen?, selecteer Accounts in elk organisatiesysteem.

      Schermopname van de ondersteunde accounttypen.

    8. Kies Opslaan wanneer u klaar bent.

Service principal of geheim verlopen

Service-principals of geheimen die automatisch door Azure DevOps worden gemaakt, verlopen en moeten worden verlengd. Als u problemen ondervindt bij het vernieuwen van het token, raadpleegt u Kan geen toegangstoken verkrijgen of is er geen geldig vernieuwingstoken gevonden. Gebruik workloadidentiteitsfederatie met Azure Resource Manager om te voorkomen dat geheimen vernieuwd moeten worden.

Als uw token verloopt, ziet u mogelijk een van deze foutberichten:

  • AADSTS7000215: Invalid client secret is provided
  • AADSTS7000222: The provided client secret keys for app '***' are expired
  • Invalid client id or client secret

Om het toegangstoken te vernieuwen voor een automatisch aangemaakte service-principal of sleutel:

  1. Ga naar Deserviceverbindingen van > en selecteer vervolgens de serviceverbinding die u wilt vernieuwen.

  2. Selecteer Geheim draaien.

    Schermopname van de optie om een ARM-secret te roteren.

Het token voor uw service-principal of geheim wordt nu verlengd voor drie maanden.

Notitie

Deze bewerking is beschikbaar, zelfs als het token van de serviceprincipal niet is verlopen. Zorg ervoor dat de gebruiker die de bewerking uitvoert de juiste machtigingen heeft voor het abonnement en de Microsoft Entra-id, omdat het geheim wordt bijgewerkt voor de app die is geregistreerd voor de service-principal. Zie Een app-registratie maken met een geheim en wat gebeurt er wanneer u een Resource Manager-serviceverbinding maakt voor meer informatie?

Kan de JWT niet ophalen met behulp van de client-id van de service-principal

Dit probleem treedt op wanneer u probeert een serviceverbinding op te slaan met een verlopen geheim of andere problemen op het niveau van de Microsoft Entra-id.

Ga als volgt te werk om het probleem op te lossen:

  1. Ga naar Serviceverbindingen voor Project-instellingen>en selecteer vervolgens de serviceverbinding die u wilt wijzigen.

  2. Selecteer Bewerken in de rechterbovenhoek en breng een wijziging aan in de serviceverbinding. De eenvoudigste en aanbevolen wijziging is het toevoegen van een beschrijving.

  3. Selecteer Opslaan om de serviceverbinding op te slaan.

Notitie

Als er een foutbericht zoals Failed to obtain the Json Web Token(JWT) using service principal client ID. Exception message: AADSTS7000112: Application is disabled. wordt weergegeven, neem contact op met uw Microsoft Entra ID-team om te controleren dat de optie Ingeschakeld voor gebruikers om zich aan te melden in de bedrijfstoepassing die is gekoppeld aan uw service-principal niet is uitgeschakeld.

Azure-abonnement wordt niet doorgegeven vanuit de vorige taakuitvoer

Wanneer u uw Azure-abonnement dynamisch instelt voor uw release-pijplijn en de uitvoervariabele van een voorgaande taak wilt gebruiken, kan dit probleem optreden.

U kunt het probleem oplossen door ervoor te zorgen dat de waarden zijn gedefinieerd in de sectie variabelen van uw pijplijn. U kunt deze variabele vervolgens doorgeven tussen de taken van uw pijplijn.

Welke verificatiemechanismen worden ondersteund? Hoe werken beheerde identiteiten?

Een Azure Resource Manager-serviceverbinding kan verbinding maken met een Azure-abonnement met behulp van Service Principal Authentication (SPA) of verificatie van beheerde identiteiten.

De Azure Resource Manager-serviceverbinding kan verbinding maken met een Azure-abonnement, beheergroep of machine learning-werkruimte met behulp van:

  • App-registratie (aanbevolen): Verifieer de verbinding met behulp van een workloadidentiteitsfederatie of een geheim.
  • Beheerde identiteit: Beheerde identiteiten voor Azure-resources bieden Azure-services met een automatisch beheerde identiteit in Microsoft Entra-id. U kunt ook een door een agent toegewezen beheerde identiteit gebruiken.

Wanneer u de serviceverbinding met een beheerde identiteit instelt als verificatiemethode, maakt het proces geen nieuwe beheerde identiteit. Hiermee wordt de serviceverbinding tot stand gebracht. Om deze verificatiemethode correct te laten functioneren, moeten aan bepaalde voorwaarden worden voldaan. Omdat de beheerde identiteit de gekozen verificatiemethode is, moet de virtuele machine die u gebruikt een door het systeem toegewezen identiteit hebben. Daarnaast moet deze virtuele machine fungeren als een zelf-hostende agent binnen de pijplijnen om de werkstroom volledig uit te voeren, zodat de pijplijn wijzigingen kan implementeren via de serviceverbinding. De door het systeem toegewezen identiteit op de VIRTUELE machine identificeert dat dezelfde VM fungeert als de agent in de pijplijn, waardoor verificatie wordt ingeschakeld. Met deze installatie kunt u gebruikmaken van de bestaande beheerde identiteit.

Zie Rollen toewijzen voor meer informatie over beheerde identiteiten voor virtuele machines.

Notitie

Door Microsoft gehoste agents bieden geen ondersteuning voor beheerde identiteiten. In dit scenario moet u een zelf-hostende agent instellen op een Azure-VM en een beheerde identiteit voor die VM configureren.

AI gebruiken om een verbindingsfout in de Azure DevOps-service op te lossen

Met deze voorbeeldprompt voor Copilot Chat kunt u copilot helpen bij het oplossen van uw foutcode en bericht. Kopieer en plak deze prompt in Copilot Chat, waarbij u de tijdelijke aanduiding vervangt door uw specifieke foutbericht.

I'm getting this Azure DevOps service connection error: [PASTE YOUR ERROR MESSAGE HERE]

Can you help me troubleshoot this issue? Please provide step-by-step instructions to:
1. Identify the root cause
2. Fix the configuration in Azure or Entra ID
3. Verify the solution works

Context: This is for an Azure Resource Manager service connection in Azure DevOps.