Megosztás a következőn keresztül:


Személyes hozzáférési tokenek használata

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

A személyes hozzáférési jogkivonat (PAT) alternatív jelszóként szolgálhat az Azure DevOpsba való hitelesítéshez. Ez a cikk végigvezeti az Azure DevOps paT-jainak létrehozásának, felhasználásának, módosításának és visszavonásának folyamatán.

Tudnivalók a személyes hozzáférési tokenekről

A személyes hozzáférési jogkivonat (PAT) az Azure DevOps biztonsági hitelesítő adataiként szolgál. Ez a PAT nem csak azonosítja Önt, hanem meghatározza az akadálymentességet és a hozzáférés hatókörét is. Ezért a PAT-k ugyanolyan fontosak, mint a jelszavak, és ugyanolyan óvatossággal kell kezelni.

Ha Microsoft-eszközöket használ, akkor a Microsoft-fiókja (MSA) vagy a Microsoft Entra-azonosító egy elismert és támogatott módszer. Ha azonban olyan külső eszközöket használ, amelyek nem támogatják a Microsoft- vagy a Microsoft Entra-fiókokat, vagy nem szeretné megosztani az elsődleges hitelesítő adatait ezekkel az eszközökkel, a paT-k biztonságosabb alternatívát jelentenek.

PaT-k létrehozása és kezelése az alábbi két módon:

Ha nem Microsoft-eszközökhöz szeretne paT-okat létrehozni, használhatja a Git hitelesítőadat-kezelőit , vagy manuálisan hozhatja létre őket. Javasoljuk, hogy tekintse át a hitelesítési útmutatónkat, hogy segítsen kiválasztani a megfelelő hitelesítési mechanizmust. A PAT-k egyszerű alternatívaként szolgálnak olyan kisebb projektekhez, amelyekhez nincs szükség átfogó megoldásra. Ha nem használ hitelesítőadat-kezelőt, a felhasználóknak minden alkalommal meg kell adniuk a hitelesítő adataikat.

PAT létrehozása

  1. Jelentkezzen be a szervezetbe (https://dev.azure.com/{Your_Organization}).

  2. A kezdőlapon nyissa meg a felhasználói beállításokat , és válassza a Személyes hozzáférési jogkivonatok lehetőséget.

    Képernyőkép a kiválasztásról, a személyes hozzáférési jogkivonatokról.

  3. Válassza az + Új jogkivonat lehetőséget.

    Képernyőkép a kijelölésről, Új jogkivonat.

  4. Nevezze el a jogkivonatot, válassza ki azt a szervezetet, ahol használni szeretné a jogkivonatot, majd állítsa be, hogy a jogkivonat egy megadott számú nap után automatikusan lejárjon.

    Képernyőkép az alapszintű jogkivonat-információk bejegyzéséről.

  5. Válassza ki a jogkivonat hatóköreit az adott tevékenységek engedélyezéséhez.

    Ha például létre szeretne hozni egy jogkivonatot, amely lehetővé teszi egy build- és kiadási ügynök számára az Azure DevOps-hitelesítést, korlátozza a jogkivonat hatókörét ügynökkészletekre (Olvasás és kezelés). Naplóesemények olvasásához, streamek kezeléséhez és törléséhez válassza az Auditnapló olvasása, majd a Létrehozás lehetőséget.

    Képernyőkép a PAT kijelölt hatóköreiről.

    Feljegyzés

    Előfordulhat, hogy a teljes hatókörű PAT-k létrehozása korlátozott. Ha igen, az Azure DevOps-rendszergazda a Microsoft Entra ID-ban olyan szabályzatot engedélyezett, amely egy adott egyéni hatókörkészletre korlátozza. További információ: PAT-k kezelése szabályzatokkal/Teljes hatókörű PAT-k létrehozásának korlátozása. Egyénileg definiált PAT esetén a Component Governance API vso.governanceeléréséhez szükséges hatókör nem választható ki a felhasználói felületen.

  6. Ha elkészült, másolja ki a jogkivonatot, és tárolja biztonságos helyen. A biztonság érdekében nem jelenik meg újra.

    Képernyőkép a jogkivonat vágólapra másolásáról.

Használja a PAT-t bárhol, ahol a felhasználói hitelesítő adatok szükségesek az Azure DevOpsban való hitelesítéshez.

Fontos

Értesítések

A PAT élettartama alatt a felhasználók két értesítést kapnak : az elsőt a létrehozáskor, a másodikat pedig hét nappal a lejárata előtt.

A PAT létrehozása után az alábbi példához hasonló értesítést kap. Ez az értesítés annak megerősítését szolgálja, hogy a PAT sikeresen bekerült a szervezetbe.

Képernyőkép a PAT által létrehozott értesítésről.

Az alábbi képen egy példa látható a hétnapos értesítésre, mielőtt a PAT lejár.

Képernyőkép a PAT közel lejárati értesítéséről.

Váratlan értesítés

Ha váratlan PAT-értesítést kap, az azt jelentheti, hogy egy rendszergazda vagy eszköz létrehozott önnek egy PAT-t. Íme néhány példa.

  • A rendszer létrehoz egy "git: https://MyOrganization.visualstudio.com/ on MyMachine" nevű jogkivonatot, amikor git.exe keresztül csatlakozik egy Azure DevOps Git-adattárhoz.
  • A rendszer létrehoz egy "Service Hooks: : Azure-alkalmazás Service: : Deploy web app" nevű jogkivonatot, amikor Ön vagy egy rendszergazda beállít egy Azure-alkalmazás Service-webalkalmazás üzembe helyezését.
  • A "WebAppLoadTestCDIntToken" nevű jogkivonat akkor jön létre, amikor Ön vagy egy rendszergazda beállítja a webes terheléstesztelést egy folyamat részeként.
  • A Microsoft Teams integrációs bővítmény beállításakor létrejön egy "Microsoft Teams Integration" nevű jogkivonat.

Figyelmeztetés

Ha azt gyanítja, hogy a PAT hiba miatt létezik, fontolja meg a PAT visszavonását és a jelszó módosítását. Microsoft Entra-felhasználóként forduljon a rendszergazdához, és ellenőrizze, hogy a szervezetet ismeretlen forrás vagy hely használta-e. Emellett tekintse meg a nyilvános GitHub-adattárakba történő véletlen PAT-bejelentkezésekkel kapcsolatos gyakori kérdéseket is.

PAT használata

A PAT az Ön digitális identitásaként szolgál, amely a jelszóhoz hasonlóan a használatkor is Önt képviseli.

Git

A Git-interakciókhoz felhasználónév szükséges, ami az üres sztringen kívül bármi lehet. Ha egy EGYSZERŰ HTTP-hitelesítéssel rendelkező PAT-t szeretne használni, használja Base64-encode$MyPata következő kódblokkban találhatóhoz.

A PowerShellben adja meg a következő kódot.

$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

A jogkivonat biztonságosabbá tételéhez használjon hitelesítőadat-kezelőket, hogy ne kelljen minden alkalommal megadnia a hitelesítő adatait. A Git Credential Manager használatát javasoljuk. Git for Windows szükséges.

Meglévő adattárak

Meglévő adattárak esetén, ha már hozzáadta a forrást a felhasználónévvel, futtassa először a következő parancsot.

git remote remove origin

Ellenkező esetben futtassa a következő parancsot.

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

PAT használata a kódban

A kódban használhat PAT-t.

Ha HTTP-fejlécen keresztül szeretné megadni a PAT-t, először konvertálja sztringgé Base64 . Az alábbi példa bemutatja, hogyan konvertálható C#-ra Base64 .


Authorization: Basic BASE64_USERNAME_PAT_STRING

Az eredményül kapott sztring ezután HTTP-fejlécként is megadható az alábbi formátumban.

Az alábbi minta a HttpClient osztályt használja a C#-ban.

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());
    }
}

Tipp.

Ha változókat használ, adjon hozzá egy $ értéket a sztring elejéhez, például az alábbi példában.

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());
   }
}

Ha a kód működik, érdemes az alapszintű hitelesítésről az OAuth-ra váltani.

További információkért és példákért a PAT-k használatáról az alábbi cikkekben olvashat:

PAT módosítása

Újragenerálhat, kibővíthet egy PAT-t, vagy módosíthatja annak hatókörét. Az újragenerálás után az előző PAT jogosulatlanná válik.

  1. Nyissa meg a felhasználói beállításokat a kezdőlapon, majd válassza a Profil lehetőséget.

    Képernyőkép a PAT módosításához kiválasztandó gombok sorozatáról.

  2. A Biztonság területen válassza a Személyes hozzáférési jogkivonatok lehetőséget. Jelölje ki a módosítani kívánt jogkivonatot, majd szerkessze.

    Képernyőkép a PAT módosítására kijelölt Szerkesztés gombról.

  3. Szerkessze a jogkivonat nevét, a jogkivonat lejáratát vagy a jogkivonathoz társított hozzáférési hatókört, majd válassza a Mentés lehetőséget.

    Képernyőkép a módosított PAT-ról.

PAT visszavonása

A PAT-t számos okból bármikor visszavonhatja.

  1. Nyissa meg a felhasználói beállításokat a kezdőlapon, majd válassza a Profil lehetőséget.

    Képernyőkép a kiválasztandó gombok sorozatáról, a Team Servicesről, az előnézeti oldalról és a PAT visszavonásáról.

  2. A Biztonság területen válassza a Személyes hozzáférési jogkivonatok lehetőséget. Válassza ki azt a jogkivonatot, amelyhez vissza szeretné vonni a hozzáférést, majd válassza a Visszavonás lehetőséget.

    Képernyőkép egy jogkivonat vagy az összes jogkivonat visszavonására való kijelölésről.

  3. Válassza a Visszavonás lehetőséget a megerősítést kérő párbeszédpanelen.

    Képernyőkép a PAT visszavonására szolgáló megerősítési képernyőről.

GYIK

K: Miért nem tudom szerkeszteni vagy újragenerálni egy olyan PAT-t, amely egyetlen szervezetre terjed ki?

Válasz: Győződjön meg arról, hogy bejelentkezett abba a szervezetbe, ahol a PAT hatóköre van. Az összes PAT-t megtekintheti, miközben bármely szervezetbe bejelentkezett ugyanabban a Microsoft Entra-azonosítóban, de csak akkor szerkesztheti a szervezeti hatókörrel rendelkező jogkivonatokat, ha be van jelentkezve abba a szervezetbe, amelyre a hatókörük vonatkozik.

K: Mi történik a PAT-rel, ha egy felhasználói fiók le van tiltva?

Válasz: Miután egy felhasználót eltávolítottak az Azure DevOpsból, a PAT 1 órán belül érvénytelen lesz. Ha a szervezet csatlakozik a Microsoft Entra-azonosítóhoz, a PAT a Microsoft Entra-azonosítóban is érvénytelen lesz, mivel az a felhasználóé. Javasoljuk, hogy a felhasználó a szolgáltatások működésének fenntartása érdekében váltsa át a PAT-ját egy másik felhasználóhoz vagy szolgáltatásfiókhoz.

K: Van mód a PAT rest API-val történő megújítására?

V: Igen, van mód PAT-k megújítására, kezelésére és létrehozására a PAT Életciklus Felügyeleti API-k használatával. További információ: PAT-k kezelése REST API-val és gyakori kérdések.

K: Használhatok alapszintű hitelesítést az összes Azure DevOps REST API-val?

V.: Nem. Az alapszintű hitelesítést a legtöbb Azure DevOps REST API-val használhatja, de a szervezetek és profilok csak az OAuthot támogatják. További információ: PAT-k kezelése REST API használatával.

K: Mi történik, ha véletlenül bejelentkezem a PAT-ból egy nyilvános adattárba a GitHubon?

V: Az Azure DevOps a GitHub nyilvános adattáraiba beadott PAT-okat vizsgálja. Ha kiszivárgott jogkivonatot találunk, azonnal részletes e-mail-értesítést küldünk a jogkivonat tulajdonosának, és naplózunk egy eseményt az Azure DevOps-szervezet naplójába. Ha nem tiltotta le a kiszivárgott személyes hozzáférési jogkivonatok automatikus visszavonására vonatkozó szabályzatot , azonnal visszavonjuk a kiszivárgott PAT-t. Javasoljuk az érintett felhasználókat, hogy azonnal mérsékeljék a kiszivárgott jogkivonat visszavonását és egy új jogkivonatra való lecserélését.

További információ: A kiszivárgott PAT-k automatikus visszavonása.

K: Használhatok személyes hozzáférési jogkivonatot ApiKey-ként NuGet-csomagok közzétételéhez egy Azure Artifacts-csatornán a dotnet/nuget.exe parancssor használatával?

V.: Nem. Az Azure Artifacts nem támogatja a személyes hozzáférési tokenek API-kulcsként történő átadását. Helyi fejlesztési környezet használatakor javasoljuk az Azure Artifacts hitelesítőadat-szolgáltatójának telepítését az Azure Artifactsben történő hitelesítéshez. További információért tekintse meg a következő példákat: .Net, NuGet.exe. Ha az Azure Pipelines használatával szeretné közzétenni a csomagokat, a NuGet-hitelesítési feladattal hitelesítheti magát a hírcsatorna példájával.

K: Miért szűnt meg a PAT működése?

Válasz: A PAT-hitelesítéshez rendszeresen be kell jelentkeznie az Azure DevOpsba a teljes hitelesítési folyamat használatával. A 30 naponta egyszer sokak számára elegendő, de előfordulhat, hogy ennél gyakrabban kell bejelentkeznie a Microsoft Entra konfigurációjától függően. Ha a PAT nem működik, először próbáljon meg bejelentkezni a szervezetbe, és ellenőrizze, hogy a teljes hitelesítési kérést használja-e. Ha a PAT ezután sem működik, ellenőrizze, hogy a PAT lejárt-e.