Delen via


Persoonlijke toegangstokens gebruiken

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

Een persoonlijk toegangstoken (PAT) kan fungeren als een alternatief wachtwoord voor verificatie in Azure DevOps. In dit artikel wordt u begeleid bij het maken, gebruiken, wijzigen en intrekken van PAW's voor Azure DevOps.

Informatie over PAT's (persoonlijke toegangstokens)

Een persoonlijk toegangstoken (PAT) fungeert als uw beveiligingsreferenties voor Azure DevOps. Deze PAT identificeert u niet alleen, maar bepaalt ook uw toegankelijkheid en toegangsbereik. Daarom zijn PAW's net zo belangrijk als wachtwoorden en moeten ze met hetzelfde waarschuwingsniveau worden afgehandeld.

Als u Microsoft-hulpprogramma's gebruikt, is uw Microsoft-account (MSA) of Microsoft Entra-id een herkende en ondersteunde methode. Als u echter hulpprogramma's van derden gebruikt die geen ondersteuning bieden voor Microsoft- of Microsoft Entra-accounts, of als u uw primaire referenties niet wilt delen met deze hulpprogramma's, zijn PAT's een veiliger alternatief.

U kunt PAT's op de volgende twee manieren maken en beheren:

Als u PAT's wilt instellen voor niet-Microsoft-hulpprogramma's, kunt u Git-referentiebeheerders gebruiken of handmatig genereren. We raden u aan onze verificatierichtlijnen te bekijken om u te helpen bij het kiezen van het juiste verificatiemechanisme. PAT's dienen als een eenvoudig alternatief voor kleinere projecten die geen uitgebreide oplossing nodig hebben. Tenzij een referentiebeheerder wordt gebruikt, moeten gebruikers elke keer hun referenties invoeren.

Een PAT maken

  1. Meld u aan bij uw organisatie (https://dev.azure.com/{Your_Organization}).

  2. Open op de startpagina de gebruikersinstellingen en selecteer Persoonlijke toegangstokens.

    Schermopname van selectie, Persoonlijke toegangstokens.

  3. Selecteer + Nieuw token.

    Schermopname van selectie, Nieuw token.

  4. Geef uw token een naam, selecteer de organisatie waar u het token wilt gebruiken en stel vervolgens uw token in op automatisch verlopen na een bepaald aantal dagen.

    Schermopname van het invoeren van basistokengegevens.

  5. Selecteer de bereiken voor dit token om uw specifieke taken te autoriseren.

    Als u bijvoorbeeld een token wilt maken om een build- en releaseagent in te schakelen voor verificatie bij Azure DevOps, beperkt u het bereik van uw token tot agentgroepen (lezen en beheren). Als u auditlogboekgebeurtenissen wilt lezen en streams wilt beheren en verwijderen, selecteert u Auditlogboek lezen en selecteert u Vervolgens Maken.

    Schermopname van geselecteerde bereiken voor een PAT.

    Notitie

    Mogelijk bent u beperkt tot het maken van VOLLEDIGE PAW's. Zo ja, dan heeft uw Azure DevOps-beheerder in Microsoft Entra ID een beleid ingeschakeld dat u beperkt tot een specifieke, aangepaste set bereiken. Zie PAT's beheren met beleidsregels/Het maken van volledige PAT's beperken voor meer informatie. Voor een aangepast gedefinieerde PAT is het vereiste bereik voor toegang tot de Component Governance-API vso.governanceniet te selecteren in de gebruikersinterface.

  6. Wanneer u klaar bent, kopieert u het token en slaat u het op een veilige locatie op. Voor uw beveiliging wordt deze niet opnieuw weergegeven.

    Schermopname van het kopiëren van het token naar het Klembord.

Gebruik uw PAT overal waar uw gebruikersreferenties zijn vereist voor verificatie in Azure DevOps.

Belangrijk

  • U kunt een PAT met dezelfde voorzichtigheid afhandelen als uw wachtwoord en het geheim houden.
  • Voor organisaties die worden ondersteund door Microsoft Entra ID, is het nodig om u binnen 90 dagen aan te melden met uw nieuwe PAT; als u dit niet doet, wordt de PAT inactief. Zie De aanmeldingsfrequentie van gebruikers voor voorwaardelijke toegang voor meer informatie.

Meldingen

Tijdens de levensduur van een PAT ontvangen gebruikers twee meldingen: de eerste op het moment van maken en de tweede zeven dagen vóór de vervaldatum.

Nadat u een PAT hebt gemaakt, ontvangt u een melding die vergelijkbaar is met het volgende voorbeeld. Deze melding fungeert als bevestiging dat uw PAT is toegevoegd aan uw organisatie.

Schermopname van een door PAT gemaakte melding.

In de volgende afbeelding ziet u een voorbeeld van de melding van zeven dagen voordat uw PAT verloopt.

Schermopname van pat bijna verlopen melding.

Onverwachte melding

Als u een onverwachte PAT-melding krijgt, kan dit betekenen dat een beheerder of hulpprogramma een PAT voor u heeft gemaakt. Hieronder vindt u enkele voorbeelden.

  • Er wordt een token met de naam 'git: https://MyOrganization.visualstudio.com/ on MyMachine' gemaakt wanneer u via git.exe verbinding maakt met een Azure DevOps Git-opslagplaats.
  • Een token met de naam 'Service Hooks: : Azure-app Service: : Web-app implementeren' wordt gemaakt wanneer een implementatie van een Azure-app Service-web-app wordt ingesteld door u of een beheerder.
  • Er wordt een token met de naam WebAppLoadTestCDIntToken gemaakt wanneer het testen van webbelasting wordt ingesteld als onderdeel van een pijplijn door u of een beheerder.
  • Er wordt een token met de naam Microsoft Teams Integration gemaakt wanneer een Microsoft Teams Integration Messaging-extensie is ingesteld.

Waarschuwing

Als u vermoedt dat er een PAT in een fout bestaat, kunt u overwegen de PAT in te roepen en uw wachtwoord te wijzigen. Als Microsoft Entra-gebruiker kunt u contact opnemen met uw beheerder om te zien of uw organisatie is gebruikt door een onbekende bron of locatie. Raadpleeg ook de veelgestelde vragen over onopzettelijke PAT-check-ins voor openbare GitHub-opslagplaatsen.

Een PAT gebruiken

Uw PAT fungeert als uw digitale identiteit, die u vertegenwoordigt wanneer u wordt gebruikt, net zoals bij een wachtwoord.

Git

Git-interacties vereisen een gebruikersnaam, wat alles kan zijn behalve de lege tekenreeks. Als u een PAT met HTTP-basisverificatie wilt gebruiken, gebruikt Base64-encode u hiervoor $MyPat, die is opgenomen in het volgende codeblok.

Voer in PowerShell de volgende code in.

$MyPat = 'yourPat'
$headerValue = "Authorization: Basic " + [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(":" + $MyPat))
$env:GIT_AUTH_HEADER = $headerValue

git --config-env=http.extraheader=GIT_AUTH_HEADER clone https://dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName

Als u uw token veiliger wilt houden, gebruikt u referentiebeheerders, zodat u uw referenties niet telkens hoeft in te voeren. Git Credential Manager wordt aangeraden. Git voor Windows is vereist.

Bestaande opslagplaatsen

Als u voor bestaande opslagplaatsen de oorsprong al hebt toegevoegd met behulp van de gebruikersnaam, voert u eerst de volgende opdracht uit.

git remote remove origin

Voer anders de volgende opdracht uit.

git remote add origin https://<PAT>@<company_machineName>.visualstudio.com:/<path-to-git-repo> path to git repo = <project name>/_git/<repo_name> git push -u origin --all

Een PAT in uw code gebruiken

U kunt een PAT in uw code gebruiken.

Als u de PAT via een HTTP-header wilt opgeven, moet u deze eerst converteren naar een Base64 tekenreeks. In het volgende voorbeeld ziet u hoe u converteert naar Base64 C#.


Authorization: Basic BASE64_USERNAME_PAT_STRING

De resulterende tekenreeks kan vervolgens worden opgegeven als een HTTP-header in de volgende indeling.

In het volgende voorbeeld wordt de HttpClient-klasse in C# gebruikt.

public static async void GetBuilds()
{
    try
    {
        var personalaccesstoken = "PATFROMWEB";

        using (HttpClient client = new HttpClient())
        {
            client.DefaultRequestHeaders.Accept.Add(
                new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
                Convert.ToBase64String(
                    System.Text.ASCIIEncoding.ASCII.GetBytes(
                        string.Format("{0}:{1}", "", personalaccesstoken))));

            using (HttpResponseMessage response = client.GetAsync(
                        "https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.0").Result)
            {
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseBody);
            }
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
}

Tip

Wanneer u variabelen gebruikt, voegt u een $ aan het begin van de tekenreeks toe, zoals in het volgende voorbeeld.

public static async void GetBuilds()
{
   try
  {
      var personalaccesstoken = "PATFROMWEB";

      using (HttpClient client = new HttpClient())
       {
           client.DefaultRequestHeaders.Accept.Add(
              new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

           client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
               Convert.ToBase64String(
                   System.Text.ASCIIEncoding.ASCII.GetBytes(
                       string.Format("{0}:{1}", "", personalaccesstoken))));

          using (HttpResponseMessage response = client.GetAsync(
                       $"https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.0").Result)
           {
               response.EnsureSuccessStatusCode();
               string responseBody = await response.Content.ReadAsStringAsync();
               Console.WriteLine(responseBody);
           }
       }
   }
   catch (Exception ex)
   {
       Console.WriteLine(ex.ToString());
   }
}

Wanneer uw code werkt, is het een goed moment om over te schakelen van basisverificatie naar OAuth.

Zie de volgende artikelen voor meer informatie en voorbeelden van het gebruik van PAW's:

Een PAT wijzigen

U kunt een PAT opnieuw genereren, uitbreiden of het bereik ervan wijzigen. Nadat de vorige PAT opnieuw is gegenereerd, wordt deze niet geautoriseerd.

  1. Open uw gebruikersinstellingen op de startpagina en selecteer Profiel.

    Schermopname van de reeks knoppen die moeten worden geselecteerd om een PAT te wijzigen.

  2. Selecteer persoonlijke toegangstokens onder Beveiliging. Selecteer het token dat u wilt wijzigen en klik vervolgens op Bewerken.

    Schermopname met de gemarkeerde knop Bewerken om PAT te wijzigen.

  3. Bewerk de naam van het token, de verlooptijd van het token of het toegangsbereik dat is gekoppeld aan het token en selecteer Opslaan.

    Schermopname van gewijzigde PAT.

Een PAT intrekken

U kunt een PAT op elk gewenst moment intrekken, om verschillende redenen.

  1. Open uw gebruikersinstellingen op de startpagina en selecteer Profiel.

    Schermopname van een reeks knoppen die u wilt selecteren, teamservices, preview-pagina en een PAT intrekken.

  2. Selecteer persoonlijke toegangstokens onder Beveiliging. Selecteer het token waarvoor u de toegang wilt intrekken en selecteer Vervolgens Intrekken.

    Schermopname van de selectie om één token of alle tokens in te trekken.

  3. Selecteer Intrekken in het bevestigingsvenster.

    Schermopname van het bevestigingsscherm om PAT in te trekken.

Veelgestelde vragen

V: Waarom kan ik een PAT die is gericht op één organisatie niet bewerken of opnieuw genereren?

A: Zorg ervoor dat u bent aangemeld bij de organisatie waar uw PAT binnen het bereik valt. U kunt al uw PAT's bekijken terwijl u bent aangemeld bij elke organisatie in dezelfde Microsoft Entra-id, maar u kunt alleen tokens binnen het bereik van de organisatie bewerken wanneer u bent aangemeld bij de organisatie waarvoor ze het bereik hebben.

V: Wat gebeurt er met een PAT als een gebruikersaccount is uitgeschakeld?

A: Zodra een gebruiker is verwijderd uit Azure DevOps, wordt de PAT binnen 1 uur ongeldig gemaakt. Als uw organisatie is verbonden met Microsoft Entra-id, wordt de PAT ook ongeldig gemaakt in Microsoft Entra-id, omdat deze deel uitmaakt van de gebruiker. Het is raadzaam dat de gebruiker zijn PAT roteert naar een ander gebruikers- of serviceaccount om services actief te houden.

V: Is er een manier om een PAT te vernieuwen via REST API?

A: Ja, er is een manier om PAT's te vernieuwen, te beheren en te maken met behulp van onze PAT Lifecycle Management-API's. Zie PAT's beheren met behulp van REST API en onze veelgestelde vragen voor meer informatie.

V: Kan ik basisverificatie gebruiken met alle Azure DevOps REST API's?

A: Nee. U kunt basisverificatie gebruiken met de meeste Azure DevOps REST API's, maar organisaties en profielen ondersteunen alleen OAuth. Zie PAT's beheren met behulp van REST API voor meer informatie.

V: Wat gebeurt er als ik per ongeluk mijn PAT controleer in een openbare opslagplaats op GitHub?

A: Azure DevOps scant op PAW's die zijn ingecheckt in openbare opslagplaatsen op GitHub. Wanneer we een gelekt token vinden, sturen we onmiddellijk een gedetailleerde e-mailmelding naar de eigenaar van het token en melden we een gebeurtenis aan bij het auditlogboek van uw Azure DevOps-organisatie. Tenzij u het beleid voor het automatisch intrekken van gelekte persoonlijke toegangstokens hebt uitgeschakeld, trekken we de gelekte PAT onmiddellijk in. We moedigen getroffen gebruikers aan om het onmiddellijk te verhelpen door het gelekte token in te roepen en te vervangen door een nieuw token.

Zie De gelekte PAW's automatisch intrekken voor meer informatie.

V: Kan ik een persoonlijk toegangstoken gebruiken als ApiKey om NuGet-pakketten te publiceren naar een Azure Artifacts-feed met behulp van de dotnet/nuget.exe-opdrachtregel?

A: Nee. Azure Artifacts biedt geen ondersteuning voor het doorgeven van een persoonlijk toegangstoken als ApiKey. Wanneer u een lokale ontwikkelomgeving gebruikt, wordt aanbevolen de Azure Artifacts Credential Provider te installeren voor verificatie met Azure Artifacts. Zie de volgende voorbeelden voor meer informatie: dotnet, NuGet.exe. Als u uw pakketten wilt publiceren met behulp van Azure Pipelines, gebruikt u de NuGet-verificatietaak om te verifiëren met uw feedvoorbeeld.

V: Waarom werkte mijn PAT niet meer?

A: PAT-verificatie vereist dat u zich regelmatig aanmeldt bij Azure DevOps met behulp van de volledige verificatiestroom. Eenmaal per 30 dagen is voldoende voor veel, maar mogelijk moet u zich vaker aanmelden dan dat, afhankelijk van uw Microsoft Entra-configuratie. Als uw PAT niet meer werkt, probeert u zich eerst aan te melden bij uw organisatie, zodat u de volledige verificatieprompt doorloopt. Als uw PAT daarna nog steeds niet werkt, controleert u of uw PAT is verlopen.