Delen via


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

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Dit artikel bevat de algemene scenario's voor probleemoplossing waarmee u problemen kunt oplossen die kunnen optreden bij het maken van een Azure Resource Manager-serviceverbinding. Zie Serviceverbindingen beheren voor meer informatie over het maken, bewerken en beveiligen van serviceverbindingen.

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

Als u geen serviceverbinding hebt, kunt u er als volgt een maken:

  1. Selecteer projectinstellingen in uw project en selecteer vervolgens Serviceverbindingen.

    Schermopname van het openen van serviceverbindingen vanuit projectinstellingen

  2. Selecteer Nieuwe serviceverbinding om een nieuwe serviceverbinding toe te voegen en selecteer vervolgens Azure Resource Manager. Selecteer Volgende als u klaar bent.

    Schermopname van de typen serviceverbindingen.

  3. Selecteer App-registratie (automatisch) en workloadidentiteitsfederatie als referentie.

  4. Selecteer Abonnement en selecteer vervolgens uw abonnement in de vervolgkeuzelijst. Vul de rest van het formulier in en selecteer Opslaan wanneer u klaar bent.

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. Er wordt een toepassing in Microsoft Entra ID gemaakt namens de gebruiker.
  3. Hiermee wordt de toepassing toegewezen als inzender aan het geselecteerde abonnement.
  4. Er wordt een Azure Resource Manager-serviceverbinding gemaakt met behulp van de details van deze toepassing.

Notitie

Als u serviceverbindingen wilt maken, wordt u toegevoegd aan de groep Endpoint Creator in de projectinstellingen: Project settings>Service connections>Security. Inzenders worden standaard toegevoegd aan deze groep.

Scenario’s voor probleemoplossing

De volgende problemen kunnen optreden wanneer u serviceverbindingen maakt:

De gebruiker heeft alleen gastmachtigingen in de map

  1. Meld u aan bij Azure Portal met behulp van een beheerdersaccount. Het account moet een eigenaar of beheerder van het gebruikersaccount 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 Schakelen tussen mappen 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 bereid bent om de machtigingen op gebruikersbeheerdersniveau te verlenen, kunt u de gebruiker ook lid maken van een beheerdersrol. Voer de volgende stappen uit:

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 behulp van een beheerdersaccount. Het account moet een eigenaar of beheerder van het gebruikersaccount 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 Schakelen tussen mappen en meldt u zich indien nodig aan met de juiste referenties.

  4. Selecteer Gebruikers in de sectie Beheren .

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

  6. Selecteer maprol 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

U moet machtigingen hebben om geïntegreerde toepassingen toe te voegen in de map. De directorybeheerder heeft machtigingen om deze instelling te wijzigen.

  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 Schakelen tussen mappen 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 in Ja.

U kunt ook de service-principal maken met een bestaande gebruiker die al over de vereiste machtigingen beschikt in Microsoft Entra-id. 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 is verlopen. Ga als volgt te werk om deze problemen op te lossen:

  1. Meld u af bij Azure DevOps.
  2. Open een InPrivate- of incognitobrowservenster en navigeer naar Azure DevOps.
  3. Meld u aan met de juiste referenties.
  4. Selecteer uw organisatie en uw project.
  5. Maak uw serviceverbinding.

Rol Inzender kan niet worden toegewezen

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

  • Maximaal 50 Azure-abonnementen die worden 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 vermeld wanneer u een Azure Resource Manager-serviceverbinding (ARM) maakt, kan dit worden veroorzaakt door een oud gebruikerstoken dat in de cache van Azure DevOps Services is opgeslagen. 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.

Sommige abonnementen ontbreken in de lijst met abonnementen

  • Instellingen voor ondersteuningsaccounttypen wijzigen: dit probleem kan worden opgelost door de instellingen voor ondersteunde accounttypen te wijzigen en te definiëren wie uw toepassing kan gebruiken. Voer de volgende stappen uit:

    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.

    1. Selecteer Microsoft Entra-id in het linkerdeelvenster.
    2. Selecteer App-registraties.
    3. Selecteer uw toepassing in de lijst met geregistreerde toepassingen.
    4. Selecteer onder Verificatie ondersteunde accounttypen.
    5. Wie kan deze toepassing gebruiken of deze API openen onder Ondersteunde accounttypen? Selecteer Accounts in een organisatiemap.

    Schermopname van de ondersteunde accounttypen.

    1. Kies Opslaan wanneer u klaar bent.
  • Oude gebruikerstoken die in de cache zijn opgeslagen in Azure DevOps Services: als uw Azure-abonnement niet wordt vermeld wanneer u een Azure Resource Manager-serviceverbinding (ARM) maakt, kan dit worden veroorzaakt door een oud gebruikerstoken dat in de cache van Azure DevOps Services is opgeslagen. 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.

Het token van de service-principal is verlopen

Een probleem dat vaak optreedt bij service-principals die automatisch worden gemaakt, is dat het token van de service-principal verloopt en moet worden vernieuwd. Als u echter een probleem hebt met het vernieuwen van het token, ziet u dat er geen geldig vernieuwingstoken is gevonden.

Als uw token is verlopen, ziet u mogelijk een van de foutberichten:

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

Het toegangstoken vernieuwen voor een automatisch gemaakte service-principal:

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

  2. Selecteer Bewerken in de rechterbovenhoek en selecteer Verifiëren.

  3. Selecteer Opslaan.

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

Notitie

Deze bewerking is beschikbaar, zelfs als het token van de service-principal niet is verlopen.

Zorg ervoor dat de gebruiker die de bewerking uitvoert over de juiste machtigingen voor het abonnement en de Microsoft Entra-id beschikt, omdat het geheim wordt bijgewerkt voor de app die is geregistreerd voor de service-principal. Zie Een Azure Resource Manager-serviceverbinding maken met behulp van geautomatiseerde beveiliging en wat gebeurt er wanneer u een Resource Manager-serviceverbinding maakt?

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

Dit probleem treedt op wanneer u probeert een serviceverbinding met een verlopen geheim te verifiëren.

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

    Selecteer Opslaan. Probeer de serviceverbinding tijdens deze stap niet te verifiëren.

  4. Sluit het bewerkingsvenster voor de serviceverbinding af en vernieuw de pagina met serviceverbindingen.

  5. Selecteer Bewerken in de rechterbovenhoek en selecteer nu Verifiëren.

  6. Selecteer Opslaan om de serviceverbinding op te slaan.

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 een service-principalverificatie (SPA) of verificatie van beheerde identiteiten. Beheerde identiteiten voor Azure-resources bieden Azure-services met een automatisch beheerde identiteit in Microsoft Entra ID. U kunt deze identiteit gebruiken om te verifiëren bij elke service die Ondersteuning biedt voor Microsoft Entra-verificatie zonder referenties in code of in de serviceverbinding te behouden.

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

Notitie

Beheerde identiteiten worden niet ondersteund in door Microsoft gehoste agents. In dit scenario moet u een zelf-hostende agent instellen op een Azure-VM en een beheerde identiteit voor die VM configureren.