Személyes hozzáférési tokenek használata
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018
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.
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 az Azure Active Directory (Azure AD) 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 Azure AD-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-kezelési API-val
Ha paT-okat szeretne beállítani a nem Microsoft-eszközökhöz, 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 , amely segít 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
Megjegyzés
A webportálon látható képek eltérhetnek az ebben a cikkben látható képektől. Ezek a különbségek az Azure DevOps frissítéseiből vagy az engedélyezett előzetes verziójú funkciókból erednek. Engedélyeztük az Új fiókkezelő lap funkciót. Az ön számára elérhető alapvető funkciók változatlanok maradnak, kivéve, ha kifejezetten megemlítik.
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 a jogkivonatot úgy, hogy a megadott számú nap elteltével automatikusan lejárjon.
Válassza ki a jogkivonat hatóköreit az adott feladatok engedélyezéséhez.
Ha például létre szeretne hozni egy jogkivonatot, amely lehetővé teszi egy buildelési é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ási & kezelés). A naplóesemények olvasásához, valamint a streamek kezeléséhez és törléséhez válassza az Auditnapló olvasása, majd a Létrehozás lehetőséget.
Megjegyzé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, az Azure AD-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 végzett, másolja ki a jogkivonatot, és tárolja biztonságos helyen. A biztonság érdekében ez nem jelenik meg újra.
Figyelmeztetés
Kezelje és használja a PAT-t, mint a jelszavát, és tartsa titokban.
Jelentkezzen be a webportálra (
https://{server}:8080/tfs/
).A kezdőlapon nyissa meg a profilját. Nyissa meg a biztonsági adatokat.
Hozzon létre egy személyes hozzáférési jogkivonatot.
Nevezze el a jogkivonatot. Válasszon egy élettartamot a jogkivonathoz.
Ha egynél több szervezettel rendelkezik, kiválaszthatja azt a szervezetet is, ahol használni szeretné a jogkivonatot.
Válassza ki a jogkivonat hatóköreit az adott feladatok engedélyezéséhez.
Ha például létre szeretne hozni egy jogkivonatot, amely lehetővé teszi a buildelési és kiadási ügynök hitelesítését, korlátozza a jogkivonat hatókörét az Ügynökkészletek (olvasás, kezelés) értékre.
Ha végzett, mindenképpen másolja ki a jogkivonatot. A biztonság érdekében ez nem jelenik meg újra. Használja ezt a jogkivonatot jelszóként. Válassza a Bezárás gombot.
Használja a PAT-t bárhol, ahol a felhasználói hitelesítő adatok szükségesek az Azure DevOpsban történő hitelesítéshez.
Fontos
Az Azure Active Directory á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ó: A feltételes hozzáférés felhasználói bejelentkezési gyakorisága.
Értesítések
A felhasználók két értesítést kapnak a PAT élettartama alatt – az egyik a létrehozáskor, a másik 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. Lásd az alábbi példákat.
- Amikor git.exe keresztül csatlakozik egy Azure DevOps Git-adattárhoz. létrehoz egy olyan megjelenítendő nevű tokent, mint a "git:
https://MyOrganization.visualstudio.com/
on MyMachine". - Amikor Ön vagy egy rendszergazda beállít egy Azure App Service webalkalmazás üzembe helyezését, létrehoz egy olyan megjelenítendő nevű jogkivonatot, mint a "Service Hooks: : Azure App Service: : Webalkalmazás üzembe helyezése".
- Amikor Ön vagy egy rendszergazda egy folyamat részeként állítja be a webes terheléstesztelést, létrehoz egy olyan megjelenítendő nevű tokent, mint a "WebAppLoadTestCDIntToken".
- Amikor be van állítva egy Microsoft Teams integrációs üzenetküldési bővítmény, létrehoz egy tokent egy megjelenítendő névvel, például "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. Azure AD 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. Tekintse meg a nyilvános GitHub-adattárba véletlenül bejelentkezett PAT-ről szóló gyakori kérdéseket is.
PAT használata
A PAT az Ön identitása, és a jelszóhoz hasonlóan a használat során képviseli Önt.
Git
A Git-interakciókhoz felhasználónév szükséges, amely az üres sztring kivételével bármi lehet.
Ha a PAT-t HTTP alapszintű hitelesítéssel szeretné használni, használja Base64-encode
a és $MyPat
a parancsot, amely az alábbi kódblokkban található.
A PowerShellben adja meg a következő kódot.
$MyPat = 'yourPAT'
$B64Pat = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("`:$MyPat"))
git -c http.extraHeader="Authorization: Basic $B64Pat" 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. A Git for Windows használata kötelező.
Meglévő adattárak
Meglévő adattárak esetén, ha már hozzáadta a forrást a felhasználónévvel, először futtassa 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 EGY 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 a következő formátumban adható meg HTTP-fejlécként.
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
Változók használatakor adjon hozzá egy értéket $
a sztring elejéhez, ahogy az alábbi példában is látható.
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, ideje átváltani az alapszintű hitelesítésről az OAuth-ra.
A PAT-k használatáról az alábbi cikkekben talál további információt és példákat:
- Git-hitelesítőadat-kezelők
- REST API-k
- NuGet Mac gépen
- Jelentéskészítő ügyfelek
- Ismerkedés az Azure DevOps CLI-vel.
Ha engedélyezi az IIS alapszintű hitelesítését a TFS-hez, a PAT-k érvénytelenek. További információ: Az IIS alapszintű hitelesítés használata a helyszíni TFS-sel.
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ót követően az előző PAT már nincs engedélyezve.
A kezdőlapon nyissa meg a felhasználói beállításokat, 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 a Szerkesztés elemet.
Szerkessze a jogkivonat nevét, az alkalmazandó szervezetet, 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.
A kezdőlapon nyissa meg a felhasználói beállításokat, 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.
A megerősítést kérő párbeszédpanelen válassza a Visszavonás lehetőséget.
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)
Gyakori kérdések
K: Mi történik a PAT-rel, ha egy felhasználói fiók le van tiltva?
A: Miután eltávolított egy felhasználót az Azure DevOpsból, a PAT 1 órán belül érvénytelen lesz. Ha a szervezet csatlakozik az Azure Active Directoryhoz (Azure AD), a PAT is érvénytelen lesz Azure AD, mivel az a felhasználóé. Javasoljuk, hogy a szolgáltatás futásának fenntartása érdekében a felhasználó forgassa el 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álasz: 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 használatá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 benézem a PAT-ot egy nyilvános adattárba a GitHubon?
A: Az Azure DevOps a GitHubon lévő nyilvános adattárakba beolvasott PAT-okat keres. 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 auditnaplójába. Javasoljuk az érintett felhasználókat, hogy azonnal mérsékeljék a kiszivárgott PAT elforgatásával vagy visszavonásával.
Van egy szabályzat a kiszivárgott PAT-k kezelésére! 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, hogy NuGet-csomagokat tegyek közzé 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 jogkivonat ApiKey-ként való átadását. Helyi fejlesztési környezet használata esetén javasoljuk, hogy telepítse az Azure Artifacts hitelesítőadat-szolgáltatót az Azure Artifacts-hitelesítéshez. További részletekért tekintse meg a következő példákat: dotnet, NuGet.exe. Ha a csomagokat az Azure Pipelines használatával szeretné közzétenni, a NuGet-hitelesítés feladattal hitelesítheti magát a hírcsatorna példájával.
K: Miért nem működött a PAT?
A: 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 sokaknak elegendő, de előfordulhat, hogy ennél gyakrabban kell bejelentkeznie az Azure Active Directory 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 győződjön meg arról, hogy végighalad a teljes hitelesítési kérésen. Ha a PAT ezután sem működik, ellenőrizze, hogy a pat lejárt-e.