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 jogkivonatot (PAT) alternatív jelszóként használhatja az Azure DevOpsban való hitelesítéshez. Ebben a cikkben bemutatjuk, hogyan hozhat létre, használhat, módosíthat és vonhat vissza paT-okat az Azure DevOpshoz.
Az alábbi videó bemutatja, hogyan hozhat létre és használhat PAT-t.
Tudnivalók a személyes hozzáférési tokenekről
A személyes hozzáférési tokenek tartalmazzák az Azure DevOps biztonsági hitelesítő adatait. A személyes hozzáférési token azonosítja Önt, az Ön által elérhető szervezeteket és a hozzáférési hatóköröket. Tehát ugyanolyan kritikus fontosságúak, mint a jelszavak, ezért ugyanúgy kell kezelnie őket.
Ha Microsoft-eszközökben dolgozik, akkor a Microsoft-fiók (MSA) vagy a Microsoft Entra ID elfogadható és megfelelően támogatott módszer. De azonban olyan külső eszközökkel dolgozik, amelyek nem támogatják a Microsoft- vagy Microsoft Entra-fiókokat – vagy ha nem szeretné megadni az elsődleges hitelesítő adatait az eszköznek –, akkor személyes hozzáférési tokenekkel limitálhatja a kockázatot.
Személyes hozzáférési tokenjeit az alábbi módokon hozhatja létre és kezelheti:
- a felhasználói beállítások felhasználói felületén, amelyről ebben a cikkben olvashat részletesen
- a PAT Életciklus Felügyeleti API-val
Ha nem Microsoft-eszközökhöz szeretne paT-okat beállítani, használja a Git hitelesítőadat-kezelőit , vagy hozza létre manuálisan. Javasoljuk, hogy tekintse át a hitelesítési útmutatónkat, hogy segítsen kiválasztani a megfelelő hitelesítési mechanizmust. A kevésbé robusztus megoldást igénylő, kisebb projektek esetében a személyes hozzáférési tokenek egyszerű alternatívát jelentenek. Ha a felhasználók nem használnak hitelesítőadat-kezelőt, minden alkalommal meg kell adniuk a hitelesítő adataikat.
PAT létrehozása
Jelentkezzen be a szervezetbe (
https://dev.azure.com/{yourorganization}
).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.
Válassza az + Új jogkivonat lehetőséget.
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.
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 Servicesben való 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.
Feljegyzés
Előfordulhat, hogy nem jogosult teljes hatókörű személyes hozzáférési jogkivonatok létrehozására. Ha ez a helyzet, a Microsoft Entra ID-beli Azure DevOps-rendszergazda engedélyezett egy szabályzatot, amely egy egyénileg meghatározott hatókörkészletre korlátoz. 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.governance
eléréséhez szükséges hatókör nem választható ki a felhasználói felületen.Ha elkészült, másolja ki a jogkivonatot, és tárolja biztonságos helyen. A biztonság érdekében nem jelenik meg újra.
Figyelmeztetés
Kezelje és használja a PAT-t, mint a jelszavát, és tartsa titokban.
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
A Microsoft Entra ID által támogatott szervezetek esetében 90 nap áll rendelkezésére az új PAT használatával való bejelentkezésre, ellenkező esetben inaktívnak minősül. További információ: Felhasználó bejelentkezési gyakorisága a feltételes hozzáféréshez.
Notifications
A felhasználók két értesítést kapnak a PAT élettartama alatt – egyet a létrehozáskor, a másikat pedig hét nappal a lejárat 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 megerősíti, hogy a pat hozzá lett adva a szervezethez.
Az alábbi képen egy példa látható a hétnapos értesítésre, mielőtt a PAT lejár.
További információ: SMTP-kiszolgáló konfigurálása és e-mailek testreszabása riasztásokhoz és visszajelzési kérelmekhez.
Váratlan értesítés
Ha váratlan PAT-értesítést kap, előfordulhat, hogy egy rendszergazda vagy eszköz létrehozott egy PAT-t az Ön nevében. Tekintse meg az alábbi példákat.
- Amikor git.exe keresztül csatlakozik egy Azure DevOps Git-adattárhoz. létrehoz egy olyan megjelenítendő névvel rendelkező tokent, mint a "git:
https://MyOrganization.visualstudio.com/
on MyMachine". - Amikor Ön vagy egy rendszergazda beállít egy Azure-alkalmazás Service-webalkalmazás üzembe helyezését, létrehoz egy olyan megjelenítendő nevű jogkivonatot, mint a "Service Hooks: : Azure-alkalmazás Szolgáltatás: : Webalkalmazás üzembe helyezése".
- Amikor Ön vagy egy rendszergazda beállítja a webes terheléstesztelést egy folyamat részeként, létrehoz egy olyan megjelenítendő nevű tokent, mint a "WebAppLoadTestCDIntToken".
- Amikor beállít egy Microsoft Teams integrációs üzenetküldési bővítményt, létrehoz egy jogkivonatot egy olyan megjelenítendő névvel, mint a "Microsoft Teams-integráció".
Figyelmeztetés
Ha úgy véli, hogy a PAT hiba miatt létezik, javasoljuk, hogy vonja vissza a PAT-t. Ezután módosítsa a jelszavát. Microsoft Entra-felhasználóként forduljon a rendszergazdához, és ellenőrizze, hogy a szervezet ismeretlen forrásból vagy helyről lett-e használva. Lásd még a nyilvános GitHub-adattárba véletlenül bejelentkező PAT-ról szóló gyakori kérdéseket.
PAT használata
A PAT az Ön identitása, és a jelszóhoz hasonlóan a használat során is képviseli Önt.
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
$MyPat
a 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 Base64-sztringgé. Az alábbi példa bemutatja, hogyan konvertálható Base64-be C# használatával.
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:
- Git hitelesítő adatok kezelői
- REST API-k
- NuGet Mac gépen
- Jelentéskészítési ügyfelek
- Ismerkedés az Azure DevOps parancssori felületével.
PAT módosítása
Újragenerálhatja vagy kibővítheti a PAT-t, és módosíthatja annak hatókörét. A regeneráció után az előző PAT már nincs engedélyezve.
Nyissa meg a felhasználói beállításokat a kezdőlapon, majd válassza a Profil lehetőséget.
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.
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.
PAT visszavonása
A PAT-t bármikor visszavonhatja, különböző okokból.
Nyissa meg a felhasználói beállításokat a kezdőlapon, majd válassza a Profil lehetőséget.
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.
Válassza a Visszavonás lehetőséget a megerősítést kérő párbeszédpanelen.
Kapcsolódó cikkek
- Tudnivalók a biztonságról, a hitelesítésről és az engedélyezésről
- Alapértelmezett engedélyek és hozzáférés az Azure DevOpshoz
- Felhasználói PAT-k visszavonása (rendszergazdáknak)
- Szolgáltatásnevek és felügyelt identitások kezelése az Azure DevOpsban
GYIK
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.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: