Kişisel erişim belirteçlerini kullanma
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Kişisel Erişim Belirteci (PAT), Azure DevOps'ta kimlik doğrulaması için alternatif bir parola görevi görebilir. Bu makale, Azure DevOps için PAT oluşturma, kullanma, değiştirme ve iptal etme işleminde size yol gösterir.
PAT’ler Hakkında
Kişisel Erişim Belirteci (PAT), Azure DevOps için güvenlik kimlik bilgileriniz olarak görev alır. Bu PAT yalnızca sizi tanımlamaz, aynı zamanda erişilebilirliğinizi ve erişim kapsamınızı da belirler. Bu nedenle, PAT'ler parolalar kadar önemlidir ve aynı düzeyde dikkatli işlenmelidir.
Microsoft araçlarını kullanıyorsanız Microsoft hesabınız (MSA) veya Microsoft Entra Id tanınan ve desteklenen bir yöntemdir. Ancak, Microsoft veya Microsoft Entra hesaplarını desteklemeyen üçüncü taraf araçları kullanıyorsanız veya birincil kimlik bilgilerinizi bu araçlarla paylaşmak istemiyorsanız, PAT'ler daha güvenli bir alternatiftir.
PAT'leri aşağıdaki iki yolla oluşturun ve yönetin:
- Kullanıcı arabirimi (UI): Bu makalede ayrıntılı olarak açıklandığı gibi kullanıcı ayarları aracılığıyla
- PAT Yaşam Döngüsü Yönetimi API'si
Microsoft dışı araçlar için PAT'ler oluşturmak için Git kimlik bilgileri yöneticilerini kullanabilir veya bunları el ile oluşturabilirsiniz. Uygun kimlik doğrulama mekanizmasını seçmenize yardımcı olması için kimlik doğrulama kılavuzumuzu gözden geçirmenizi öneririz. PAT'ler, kapsamlı bir çözüme ihtiyaç duymadan daha küçük projeler için basit bir alternatif görevi görür. Bir kimlik bilgisi yöneticisi kullanımda olmadığı sürece, kullanıcıların kimlik bilgilerini her seferinde giriş yapması gerekir.
PAT oluşturma
Kuruluşunuzda (
https://dev.azure.com/{Your_Organization}
) oturum açın.Giriş sayfanızdan kullanıcı ayarlarını açın ve Kişisel erişim belirteçleri'ni seçin.
+ Yeni Belirteç'i seçin.
Belirtecinizi adlandırın, belirteci kullanmak istediğiniz kuruluşu seçin ve belirtecinizin süresi belirli bir gün sayısından sonra otomatik olarak dolacak şekilde ayarlayın.
Belirli görevleriniz için yetkilendirmek üzere bu belirtecin kapsamlarını seçin.
Örneğin, derleme ve yayın aracısının Azure DevOps'ta kimlik doğrulaması yapmasını sağlayacak bir belirteç oluşturmak için, belirtecinizin kapsamını Aracı Havuzları (Okuma ve yönetme) ile sınırlayın. Denetim günlüğü olaylarını okumak, akışları yönetmek ve silmek için Denetim Günlüğünü Oku'ya ve ardından Oluştur'a tıklayın.
Not
Tam kapsamlı PAT'ler oluşturmanız kısıtlanmış olabilir. Bu durumda, Microsoft Entra ID'deki Azure DevOps Yöneticiniz sizi belirli bir özel tanımlı kapsam kümesiyle sınırlayan bir ilkeyi etkinleştirdi. Daha fazla bilgi için bkz . İlkelerle PAT'leri yönetme/Tam kapsamlı PAT oluşturmayı kısıtlama. Özel tanımlı pat için, Bileşen İdareSI API'sine
vso.governance
erişmek için gereken kapsam kullanıcı arabiriminde seçilemez.İşiniz bittiğinde belirteci kopyalayın ve güvenli bir konumda depolayın. Güvenliğiniz için yeniden görüntülenmez.
Azure DevOps'ta kimlik doğrulaması için kullanıcı kimlik bilgilerinizin gerekli olduğu her yerde PAT'nizi kullanın.
Önemli
- PAT'yi parolanızla aynı dikkatle işleyip gizli tutun.
- Microsoft Entra ID destekli kuruluşlar için 90 gün içinde yeni PAT'nizle oturum açmanız gerekir; başarısız olması PAT'yi devre dışı yapar. Daha fazla bilgi için bkz . Koşullu Erişim için kullanıcı oturum açma sıklığı.
Notifications
Pat'in kullanım ömrü boyunca kullanıcılar iki bildirim alır: ilki oluşturma sırasında, ikincisi ise süresi dolmadan yedi gün önce.
PAT oluşturduktan sonra aşağıdaki örneğe benzer bir bildirim alırsınız. Bu bildirim, PAT'nizin kuruluşunuza başarıyla eklendiğini onaylar.
Aşağıdaki görüntüde PAT'nizin süresi dolmadan önceki yedi günlük bildirimin bir örneği gösterilmektedir.
Daha fazla bilgi için bkz . SMTP sunucusu yapılandırma ve uyarılar ve geri bildirim istekleri için e-postayı özelleştirme.
Beklenmeyen bildirim
Beklenmeyen bir PAT bildirimi alırsanız, bu bir yöneticinin veya aracın sizin için bir PAT oluşturduğu anlamına gelebilir. İşte bazı örnekler.
- git.exe aracılığıyla bir Azure DevOps Git deposuna bağlandığınızda "git:
https://dev.azure.com/{Your_Organization}
on YourMachine" adlı bir belirteç oluşturulur. - Bir Azure Uygulaması Hizmeti web uygulaması dağıtımı siz veya yönetici tarafından ayarlandığında "Hizmet Kancaları: : Azure Uygulaması Hizmeti: : Web uygulaması dağıtma" adlı bir belirteç oluşturulur.
- Web yük testi siz veya yönetici tarafından bir işlem hattının parçası olarak ayarlandığında "WebAppLoadTestCDIntToken" adlı bir belirteç oluşturulur.
- Microsoft Teams Integration Messaging Uzantısı ayarlandığında "Microsoft Teams Tümleştirmesi" adlı bir belirteç oluşturulur.
Uyarı
Bir PAT'nin hatalı olduğundan şüpheleniyorsanız PAT'yi iptal etmeyi ve parolanızı değiştirmeyi göz önünde bulundurun. Microsoft Entra kullanıcısı olarak, kuruluşunuzun bilinmeyen bir kaynak veya konum tarafından kullanılıp kullanılmadığını öğrenmek için yöneticinize başvurun. Ayrıca genel GitHub depolarına yanlışlıkla YAPıLAN PAT iadeleriyle ilgili SSS bölümüne bakın.
PAT kullanma
PAT'niz, bir parolanın kullandığı gibi kullanıldığında sizi temsil eden dijital kimliğiniz olarak görev yapar.
Git
Git etkileşimleri, boş dize dışında herhangi bir şey olabilecek bir kullanıcı adı gerektirir.
HTTP temel kimlik doğrulaması ile PAT kullanmak için, aşağıdaki kod bloğuna dahil edilen için $MyPat
kullanınBase64-encode
.
PowerShell'de aşağıdaki kodu girin.
$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
Belirtecinizi daha güvenli tutmak için kimlik bilgilerinizi her seferinde girmenize gerek kalmaması için kimlik bilgileri yöneticilerini kullanın. Git Kimlik Bilgileri Yöneticisi'nin kullanılması önerilir. Windows için Git gereklidir.
Mevcut depolar
Mevcut depolar için, kullanıcı adını kullanarak kaynağı zaten eklediyseniz, önce aşağıdaki komutu çalıştırın.
git remote remove origin
Aksi takdirde aşağıdaki komutu çalıştırın.
git remote add origin https://dev.azure.com/<PAT>@<company_machineName>:/<path-to-git-repo> path to git repo = <project name>/_git/<repo_name> git push -u origin --all
Kodunuzda PAT kullanma
Kodunuzda PAT kullanabilirsiniz.
PAT'yi bir HTTP üst bilgisi aracılığıyla sağlamak için önce dizeye Base64
dönüştürün. Aşağıdaki örnekte C# kullanarak nasıl dönüştürüldüğü Base64
gösterilmektedir.
Authorization: Basic BASE64_USERNAME_PAT_STRING
Sonuçta elde edilen dize, aşağıdaki biçimde bir HTTP üst bilgisi olarak sağlanabilir.
Aşağıdaki örnekte C# dilinde HttpClient sınıfı kullanılmaktadır.
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());
}
}
İpucu
Değişkenleri kullanırken, aşağıdaki örnekte olduğu gibi dizenin başına bir $
ekleyin.
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());
}
}
Kodunuz çalışırken, temel kimlik doğrulamasından OAuth'a geçiş yapmak iyi bir zaman.
PAT'leri kullanma hakkında daha fazla bilgi ve örnek için aşağıdaki makalelere bakın:
- Git kimlik bilgileri yöneticileri
- REST API'leri
- Mac'te NuGet
- Raporlama istemcileri
- Azure DevOps CLI ile çalışmaya başlama
PAT'i değiştirme
Pat'i yeniden oluşturabilir, genişletebilir veya kapsamını değiştirebilirsiniz. Yeniden üretildikten sonra, önceki PAT yetkisiz hale gelir.
Giriş sayfanızdan kullanıcı ayarlarınızı açın ve profil'i seçin.
Güvenlik bölümünde Kişisel erişim belirteçleri'ni seçin. Değiştirmek istediğiniz belirteci ve ardından Düzenle'yi seçin.
Belirteç adını, belirteç süre sonunu veya belirteçle ilişkili erişim kapsamını düzenleyin ve kaydet'i seçin.
PAT'i iptal etme
Pat'i birçok nedenden dolayı istediğiniz zaman iptal edebilirsiniz.
Giriş sayfanızdan kullanıcı ayarlarınızı açın ve profil'i seçin.
Güvenlik bölümünde Kişisel erişim belirteçleri'ni seçin. Erişimini iptal etmek istediğiniz belirteci seçin ve ardından İptal Et'i seçin.
Onay iletişim kutusunda İptal Et'i seçin.
Daha fazla bilgi için bkz . Yöneticiler için kullanıcı PAT'lerini iptal etme.
Biçim değişiklikleri
Temmuz 2024 itibarıyla Azure DevOps tarafından verilen PATs biçiminde önemli değişiklikler yaptık. Bu değişiklikler daha fazla güvenlik avantajı sağlar ve Azure DevOps için GitHub Gelişmiş Güvenlik gibi iş ortağı tekliflerimiz aracılığıyla sağlanan gizli dizi algılama araçlarını geliştirir. PAT biçimindeki bu değişiklik, tüm Microsoft ürünlerinde önerilen yeni biçimi izler. Daha tanımlanabilir bitlerin eklenmesinin bu gizli dizi algılama araçlarının hatalı pozitif algılama oranını artıracağını ve algılanan sızıntıları daha hızlı azaltmamıza olanak tanıyacağını tahmin ediyoruz.
Önemli değişiklikler:
- Artan belirteç uzunluğu: Yeni belirteçler daha uzun, şimdi toplamda 84 karakter. Bunlardan 52 karakter rastgele verilerdir. Bu artan uzunluk genel entropiyi geliştirerek belirteçlerin olası deneme yanılma saldırılarına karşı daha dayanıklı olmasını sağlar.
- Düzeltilen imza: Hizmetimiz tarafından verilen belirteçler 76-80 konumlarında sabit
AZDO
bir imza içerir.
Eylem gerekli:
- Mevcut PTS'leri yeniden oluşturma: Bu güvenlik geliştirmelerinden yararlanmak için şu anda kullanımda olan tüm PAT'leri yeniden oluşturmanızı kesinlikle öneririz.
- Tümleştirici desteği: Tümleştiriciler, sistemlerini hem yeni hem de mevcut belirteç uzunluklarını karşılayacak şekilde güncelleştirmelidir.
Her iki biçim de öngörülebilir gelecek için geçerli olmaya devam ettikçe, müşterileri etkin bir şekilde yeni 84 karakterlik biçime geçmeleri için teşvik ediyoruz. Yeni biçimin benimsenmesi arttıkça, eski 52 karakterlik biçimi ve bu stilde verilen tüm belirteçleri kullanımdan kaldırmayı düşüneceğiz.
İlgili makaleler
- Güvenlik, kimlik doğrulaması ve yetkilendirme hakkında
- Azure DevOps için varsayılan izinler ve erişim
- Kullanıcı PAT'lerini iptal etme (yöneticiler için)
- Azure DevOps'ta hizmet sorumlularını ve yönetilen kimlikleri yönetme
SSS
S: Pat kapsamındaki bir PAT'yi neden tek bir kuruluşta düzenleyemiyorum veya yeniden oluşturamıyorum?
Y: PAT'inizin kapsamının bulunduğu kuruluşta oturum açtığınızdan emin olun. Herhangi bir kuruluşta oturum açmış durumdayken tüm PAT'lerinizi aynı Microsoft Entra Kimliği'nde görüntüleyebilirsiniz, ancak yalnızca kapsamı belirlenmiş kuruluşta oturum açtığınızda kuruluş kapsamındaki belirteçleri düzenleyebilirsiniz.
S: Kullanıcı hesabı devre dışı bırakılırsa PAT'ye ne olur?
Y: Bir kullanıcı Azure DevOps'tan kaldırıldıktan sonra PAT 1 saat içinde geçersiz kılınmış olur. Kuruluşunuz Microsoft Entra Id'ye bağlıysa PAT, kullanıcıya ait olduğu için Microsoft Entra Id'de de geçersiz kılınmış olur. Hizmetlerin çalışmaya devam etmesi için kullanıcının PAT'sini başka bir kullanıcı veya hizmet hesabına döndürmesini öneririz.
S: REST API aracılığıyla PAT yenilemenin bir yolu var mı?
Y: Evet, PAT Yaşam Döngüsü Yönetimi API'lerimizi kullanarak PTS'leri yenilemenin, yönetmenin ve oluşturmanın bir yolu vardır. Daha fazla bilgi için bkz . REST API kullanarak PAT'leri yönetme ve SSS.
S: Tüm Azure DevOps REST API'leriyle temel kimlik doğrulaması kullanabilir miyim?
Y: Hayır. Temel kimlik doğrulamasını çoğu Azure DevOps REST API'siyle kullanabilirsiniz, ancak kuruluşlar ve profiller yalnızca OAuth'u destekler. Daha fazla bilgi için bkz . REST API kullanarak PAT'leri yönetme.
S: PAT'imi yanlışlıkla GitHub'daki bir genel depoya kontrol edersem ne olur?
Y: Azure DevOps, GitHub'da genel depolarda denetlenen PTS'leri tarar. Sızdırılmış bir belirteç bulduğumuzda, belirteç sahibine hemen ayrıntılı bir e-posta bildirimi gönderir ve Azure DevOps kuruluşunuzun denetim günlüğüne bir olay kaydederiz. Sızdırılan kişisel erişim belirteçlerini otomatik olarak iptal et ilkesini devre dışı bırakmazsan, sızdırılan PAT'yi hemen iptal ederiz. Etkilenen kullanıcıların sızdırılan belirteci iptal edip yeni bir belirteçle değiştirerek hemen azaltmalarını öneririz.
Daha fazla bilgi için bkz . Sızdırılan PAT'leri otomatik olarak iptal etme.
S: Dotnet/nuget.exe komut satırını kullanarak NuGet paketlerini Azure Artifacts akışında yayımlamak için ApiKey olarak kişisel erişim belirtecini kullanabilir miyim?
Y: Hayır. Azure Artifacts, kişisel erişim belirtecinin ApiKey olarak kullanılmasını desteklemez. Yerel bir geliştirme ortamı kullanırken, Azure Artifacts ile kimlik doğrulaması yapmak için Azure Artifacts Kimlik Bilgisi Sağlayıcısı’nı yüklemenizi öneririz. Daha fazla bilgi için aşağıdaki örneklere bakın: dotnet, NuGet.exe. Paketlerinizi Azure Pipelines kullanarak yayımlamak istiyorsanız, akış örneğinizle kimlik doğrulaması yapmak için NuGet Kimlik Doğrulaması görevini kullanın.
S: PAT'im neden çalışmayı durdurdu?
Y: PAT kimlik doğrulaması, tam kimlik doğrulama akışını kullanarak Azure DevOps'ta düzenli olarak oturum açmanızı gerektirir. Her 30 günde bir çoğu için yeterlidir, ancak Microsoft Entra yapılandırmanıza bağlı olarak daha sık oturum açmanız gerekebilir. PAT'niz çalışmayı durdurursa, önce kuruluşunuzda oturum açmayı deneyin ve tam kimlik doğrulama isteminden geçtiğinizden emin olun. PAT'niz bundan sonra hala çalışmıyorsa PAT'nizin süresinin dolduğunu kontrol edin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin