Felsök Azure Resource Manager-tjänstanslutningar
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
I den här artikeln beskrivs vanliga felsökningsscenarier som hjälper dig att lösa problem som kan uppstå när du skapar en Azure Resource Manager-tjänstanslutning. Se Hantera tjänstanslutningar för att lära dig hur du skapar, redigerar och skyddar tjänstanslutningar.
Vad händer när du skapar en Azure Resource Manager-tjänstanslutning?
Om du inte har någon tjänstanslutning kan du skapa en på följande sätt:
Från projektet väljer du Projektinställningar och sedan Tjänstanslutningar.
Välj Ny tjänstanslutning för att lägga till en ny tjänstanslutning och välj sedan Azure Resource Manager. Välj Nästa när du är klar.
Välj Appregistrering (automatisk) och Arbetsbelastningsidentitetsfederation som autentiseringsuppgifter.
Välj Prenumeration och välj sedan din prenumeration i listrutan. Fyll i resten av formuläret och välj sedan Spara när du är klar.
När du sparar din nya Azure Resource Manager-tjänstanslutning utför Azure DevOps följande åtgärder:
- Ansluter till Microsoft Entra-klientorganisationen för den valda prenumerationen.
- Skapar ett program i Microsoft Entra ID åt användaren.
- Tilldelar programmet som deltagare till den valda prenumerationen.
- Skapar en Azure Resource Manager-tjänstanslutning med hjälp av programmets uppgifter.
Kommentar
Om du vill skapa tjänstanslutningar läggs du till i gruppen Slutpunktsskapare i projektinställningarna: Projektinställningar>Tjänstanslutningar>Säkerhet. Deltagare läggs till i den här gruppen som standard.
Felsökningsscenarier
Följande problem kan uppstå när du skapar tjänstanslutningar:
- Felsök Azure Resource Manager-tjänstanslutningar
- Vad händer när du skapar en Azure Resource Manager-tjänstanslutning?
- Felsökningsscenarier
- Användaren har endast gästbehörighet i katalogen
- Användaren har inte behörighet att lägga till program i katalogen
- Det gick inte att hämta en åtkomsttoken eller så hittades inte en giltig uppdateringstoken
- Det gick inte att tilldela deltagarrollen
- Prenumeration visas inte när du skapar en tjänstanslutning
- Vissa prenumerationer saknas i listan över prenumerationer
- Tjänstens huvudnamns token har upphört att gälla
- Det gick inte att hämta JWT med hjälp av klient-ID:t för tjänstens huvudnamn
- Azure-prenumerationen skickas inte från föregående aktivitetsutdata
- Vilka autentiseringsmekanismer stöds? Hur fungerar hanterade identiteter?
- Relaterade artiklar
Användaren har endast gästbehörighet i katalogen
Logga in på Azure Portal med ett administratörskonto. Kontot ska vara ägare eller användarkontoadministratör.
Välj Microsoft Entra-ID i det vänstra navigeringsfältet.
Se till att du redigerar lämplig katalog som motsvarar användarprenumerationen. Om inte väljer du Växla katalog och loggar in med lämpliga autentiseringsuppgifter om det behövs.
Välj Användare i avsnittet Hantera .
Välj Användarinställningar.
Välj Hantera inställningar för externt samarbete i avsnittet Externa användare .
Ändra behörigheter för gästanvändare är begränsade till Nej.
Om du är beredd att ge användaren behörighet på administratörsnivå kan du också göra användaren till medlem i en administratörsroll. Använd följande steg:
Varning
Genom att tilldela användare rollen Global administratör kan de läsa och ändra alla administrativa inställningar i din Microsoft Entra-organisation. Vi rekommenderar att du tilldelar den här rollen till färre än fem personer i din organisation.
Logga in på Azure Portal med ett administratörskonto. Kontot ska vara ägare eller användarkontoadministratör.
Välj Microsoft Entra ID i det vänstra navigeringsfönstret.
Se till att du redigerar lämplig katalog som motsvarar användarprenumerationen. Om inte väljer du Växla katalog och loggar in med lämpliga autentiseringsuppgifter om det behövs.
Välj Användare i avsnittet Hantera .
Använd sökrutan för att söka efter den användare som du vill hantera.
Välj Katalogroll i avsnittet Hantera och ändra sedan rollen. Välj Spara när du är klar.
Det tar vanligtvis 15 till 20 minuter att tillämpa ändringarna globalt. Användaren kan sedan försöka återskapa tjänstanslutningen.
Användaren har inte behörighet att lägga till program i katalogen
Du måste ha behörighet att lägga till integrerade program i katalogen. Katalogadministratören har behörighet att ändra den här inställningen.
Välj Microsoft Entra-ID i det vänstra navigeringsfönstret.
Se till att du redigerar lämplig katalog som motsvarar användarprenumerationen. Om inte väljer du Växla katalog och loggar in med lämpliga autentiseringsuppgifter om det behövs.
Välj Användare och sedan Användarinställningar.
Under Appregistreringar och ändra sedan alternativet Användare kan registrera program till Ja.
Du kan också skapa tjänstens huvudnamn med en befintlig användare som redan har de behörigheter som krävs i Microsoft Entra-ID. Mer information finns i Skapa en Azure Resource Manager-tjänstanslutning med ett befintligt huvudnamn för tjänsten.
Det gick inte att hämta en åtkomsttoken eller så hittades inte en giltig uppdateringstoken
Dessa fel uppstår vanligtvis när sessionen har upphört att gälla. Så här löser du följande problem:
- Logga ut från Azure DevOps.
- Öppna ett InPrivate- eller inkognito-webbläsarfönster och gå till Azure DevOps.
- Logga in med lämpliga autentiseringsuppgifter.
- Välj din organisation och ditt projekt.
- Skapa din tjänstanslutning.
Det gick inte att tilldela deltagarrollen
Det här felet uppstår vanligtvis när du inte har skrivbehörighet för den valda Azure-prenumerationen.
Lös problemet genom att be prenumerationsadministratören att tilldela dig rätt roll i Microsoft Entra-ID.
Prenumeration visas inte när du skapar en tjänstanslutning
Högst 50 Azure-prenumerationer som anges i de olika nedrullningsbara menyerna för Azure-prenumerationer (fakturering, tjänstanslutning och så vidare): Om du konfigurerar en tjänstanslutning och har fler än 50 Azure-prenumerationer visas inte några av dina prenumerationer. I det här scenariot utför du följande steg:
- Skapa en ny, inbyggd Microsoft Entra-användare i Microsoft Entra-instansen av din Azure-prenumeration.
- Konfigurera Microsoft Entra-användaren så att den har rätt behörigheter för att konfigurera fakturering eller skapa tjänstanslutningar. Mer information finns i Lägga till en användare som kan konfigurera fakturering för Azure DevOps.
- Lägg till Microsoft Entra-användaren i Azure DevOps-organisationen med en åtkomstnivå för intressenter och lägg sedan till den i gruppen Administratörer för projektsamling (för fakturering) eller se till att användaren har tillräcklig behörighet i teamprojektet för att skapa tjänstanslutningar.
- Logga in på Azure DevOps med de nya användarautentiseringsuppgifterna och konfigurera fakturering. Du ser bara en Azure-prenumeration i listan.
Gammal användartoken cachelagrad i Azure DevOps Services: Om din Azure-prenumeration inte visas när du skapar en AZURE Resource Manager-tjänstanslutning (ARM) kan det bero på en gammal användartoken som cachelagrats i Azure DevOps Services. Det här scenariot är inte omedelbart uppenbart eftersom listskärmen i Azure-prenumerationer inte visar några fel eller varningsmeddelanden som anger att användartoken är inaktuell. Lös problemet genom att manuellt uppdatera den cachelagrade användartoken i Azure DevOps Services genom att göra följande:
- Logga ut från Azure DevOps Services och logga in igen. Den här åtgärden kan uppdatera användartoken.
- Rensa webbläsarens cacheminne och cookies för att säkerställa att alla gamla token tas bort.
- Från Azure DevOps-portalen går du till tjänstanslutningarna och auktoriserar anslutningen till Azure igen. Det här steget uppmanar Azure DevOps att använda en ny token.
Vissa prenumerationer saknas i listan över prenumerationer
Ändra inställningar för supportkontotyper: Det här problemet kan åtgärdas genom att ändra inställningarna för kontotyper som stöds och definiera vem som kan använda ditt program. Använd följande steg:
- Logga in på Azure-portalen.
- Om du har åtkomst till flera klienter använder du filtret Katalog + prenumeration på den översta menyn för att välja den klientorganisation där du vill registrera ett program.
- Välj Microsoft Entra-ID i den vänstra rutan.
- Välj Appregistreringar.
- Välj ditt program i listan över registrerade program.
- Under Autentisering väljer du Kontotyper som stöds.
- Under Kontotyper som stöds, Vem kan använda det här programmet eller komma åt det här API:et? väljer Du Konton i en organisationskatalog.
- Välj Spara när du är klar.
Gammal användartoken cachelagrad i Azure DevOps Services: Om din Azure-prenumeration inte visas när du skapar en AZURE Resource Manager-tjänstanslutning (ARM) kan det bero på en gammal användartoken som cachelagrats i Azure DevOps Services. Det här scenariot är inte omedelbart uppenbart eftersom listskärmen i Azure-prenumerationer inte visar några fel eller varningsmeddelanden som anger att användartoken är inaktuell. Lös problemet genom att manuellt uppdatera den cachelagrade användartoken i Azure DevOps Services genom att göra följande:
- Logga ut från Azure DevOps Services och logga in igen. Den här åtgärden kan uppdatera användartoken.
- Rensa webbläsarens cacheminne och cookies för att säkerställa att alla gamla token tas bort.
- Från Azure DevOps-portalen går du till tjänstanslutningarna och auktoriserar anslutningen till Azure igen. Det här steget uppmanar Azure DevOps att använda en ny token.
Tjänstens huvudnamns token har upphört att gälla
Ett problem som ofta uppstår med tjänstens huvudnamn som skapas automatiskt är att tjänstens huvudnamns token upphör att gälla och måste förnyas. Men om du har problem med att uppdatera token kan du läsa giltig uppdateringstoken hittades inte.
Så här förnyar du åtkomsttoken för ett automatiskt skapat tjänsthuvudnamn:
Gå till Projektinställningar>Tjänstanslutningar och välj sedan den tjänstanslutning som du vill ändra.
Välj Redigera i det övre högra hörnet och välj Verifiera.
Välj Spara.
Din tjänsthuvudnamns token förnyas nu i ytterligare tre månader.
Kommentar
Den här åtgärden är tillgänglig även om tjänstens huvudnamnstoken inte har upphört att gälla.
Det gick inte att hämta JWT med hjälp av klient-ID:t för tjänstens huvudnamn
Det här problemet uppstår när du försöker verifiera en tjänstanslutning som har en hemlighet som har upphört att gälla.
Lös problemet så här:
Gå till Projektinställningar>Tjänstanslutningar och välj sedan den tjänstanslutning som du vill ändra.
Välj Redigera i det övre högra hörnet och gör sedan ändringar i tjänstanslutningen. Den enklaste och rekommenderade ändringen är att lägga till en beskrivning.
Spara tjänstanslutningen genom att välja Spara .
Kommentar
Välj Spara. Försök inte verifiera tjänstanslutningen i det här steget.
Avsluta redigeringsfönstret för tjänstanslutningen och uppdatera sedan sidan tjänstanslutningar.
Välj Redigera i det övre högra hörnet och välj nu Verifiera.
Välj Spara för att spara tjänstanslutningen.
Azure-prenumerationen skickas inte från föregående aktivitetsutdata
När du anger din Azure-prenumeration dynamiskt för din versionspipeline och vill använda utdatavariabeln från en föregående uppgift kan det här problemet uppstå.
Lös problemet genom att se till att värdena definieras i avsnittet variabler i din pipeline. Du kan sedan skicka den här variabeln mellan pipelinens uppgifter.
Vilka autentiseringsmekanismer stöds? Hur fungerar hanterade identiteter?
En Azure Resource Manager-tjänstanslutning kan ansluta till en Azure-prenumeration med hjälp av en autentisering med tjänstens huvudnamn (SPA) eller hanterad identitetsautentisering. Hanterade identiteter för Azure-resurser ger Azure-tjänster en automatiskt hanterad identitet i Microsoft Entra ID. Du kan använda den här identiteten för att autentisera till alla tjänster som stöder Microsoft Entra-autentisering utan att spara autentiseringsuppgifter i kod eller i tjänstanslutningen.
Mer information om hanterade identiteter för virtuella datorer finns i Tilldela roller.
Kommentar
Hanterade identiteter stöds inte i Microsoft-värdbaserade agenter. I det här scenariot måste du konfigurera en lokalt installerad agent på en virtuell Azure-dator och konfigurera en hanterad identitet för den virtuella datorn.