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örür. Bu PAT sizi tanımlar ve erişilebilirliğinizi ve erişim kapsamınızı belirler. Bu nedenle, PAT'lere parolalarla aynı düzeyde dikkatli davranın.
Önemli
Microsoft araçlarını kullandığınızda, Microsoft hesabınız (MSA) veya Microsoft Entra Kimliği tanınır ve desteklenir. Microsoft Entra hesaplarını desteklemeyen araçlar kullanıyorsanız veya birincil kimlik bilgilerinizi paylaşmak istemiyorsanız, PAT'ler uygun bir alternatif olabilir. Ancak mümkün olduğunca
PAT'leri aşağıdaki yöntemlerle yönetebilirsiniz:
- 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'lerini
- Git kimlik doğrulama yöneticileri Git işlemleri için. Kimlik bilgisi yöneticileri belirteç yönetimini kolaylaştırır. Bunlar olmadan, kullanıcıların kimlik bilgilerini her seferinde girdileri gerekir.
Önkoşullar
-
İzinler:
- PAT'ların yönetildiği kullanıcı ayarlarınıza erişme ve bunları değiştirme iznine sahip olun.
-
İzinleri denetleme: İzinlerinizi denetlemek için Azure DevOps'ta aşağıdaki işlemlerden birini yapın:
- Profilinize gidin ve Kullanıcı ayarları. PAT'lerinizi burada görüp yönetebiliyorsanız, gerekli izinlere sahipsinizdir.
- Projenize gidin ve Proje ayarları Listede kullanıcı hesabınızı bulun ve size atanan izinleri denetleyin. Belirteçleri veya kullanıcı ayarlarını yönetmeyle ilgili izinleri arayın.
-
İzinleri denetleme: İzinlerinizi denetlemek için Azure DevOps'ta aşağıdaki işlemlerden birini yapın:
- Kuruluşunuzda ilkeler varsa, Azure DevOps Yöneticisinin size belirli izinler vermesi veya PAT'leri oluşturup yönetmek için sizi izin verilenler listesine eklemesi gerekebilir.
- PAT'ler belirteci basan kullanıcı hesabına bağlanır. PAT'nin gerçekleştirdiği görevlere bağlı olarak, kendiniz daha fazla izne ihtiyacınız olabilir.
- PAT'ların yönetildiği kullanıcı ayarlarınıza erişme ve bunları değiştirme iznine sahip olun.
- Erişim düzeyleri: En az Temel erişime sahip olun.
Güvenlik için en iyi yöntemler: PTS'leri yönetmek içingüvenlik en iyi yöntemleri hakkında bilgi sahibi olun. Bunları yalnızca gerektiğinde kullanın ve her zaman düzenli olarak döndürün.
PAT oluşturma
Kuruluşunuzda oturum açın (
https://dev.azure.com/{Your_Organization}
).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, Azure DevOps'ta kimlik doğrulaması yapmak üzere bir derleme ve yayın aracısı için belirteç oluşturmak için belirtecin kapsamını Aracı Havuzları (Okuma ve yönetme) olarak ayarlayın. Denetim günlüğü olaylarını okumak ve akışları yönetmek veya 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. Öyleyse, 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ı bir 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'e parolanızla aynı dikkatle davranın ve gizli tutun.
- Microsoft Entra Id tarafından desteklenen kuruluşlar için 90 gün içinde yeni PAT'nizle oturum açın; aksi takdirde PAT etkin değildir. 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: oluşturma sırasında ilk ve sona erme tarihinden yedi gün önceki ikinci bildirim.
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. Aşağıda bazı örnekler verilmiştir:
- 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. - Siz veya bir yönetici bir Azure App Service web uygulaması dağıtımı ayarladığınızda "Servis Kancaları: Azure App Service: Web uygulaması dağıtımı" 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 Entegrasyonu Mesajlaşma Uzantısı ayarlandığında "Microsoft Teams Entegrasyonu" adlı bir belirteç oluşturulur.
Uyarı
- Hatalı olduğunu düşünüyorsanız, PAT'i iptal edin (ve parolanızı değiştirin).
- Kuruluşunuza bilinmeyen bir kaynağın veya konumun erişip erişmediğini görmek için Microsoft Entra kullanıcısı olup olmadığınız yöneticinize danışın.
- Genel GitHub depolarına yanlışlıkla yapılan PAT iadeleriyle ilgili SSS bölümünü gözden geçirin.
PAT kullanma
PAT'niz, parola gibi dijital kimliğiniz olarak görev alır. Tek seferlik istekleri gerçekleştirmek veya bir uygulamanın prototipini yerel olarak oluşturmak için HıZLı bir yol olarak PAT'leri kullanabilirsiniz.
Önemli
Kodunuz çalışırken, temel kimlik doğrulamadan Microsoft Entra OAuthgeçiş yapmak için iyi bir zamandır. Bu makalede daha fazla belirtilmediği sürece, Pat'in kullanıldığı her yerde Microsoft Entra ID belirteçlerini kullanabilirsiniz.
REST API'lerinin kimliğini doğrulamak istekleri doğrulamak ve iş akışlarını otomatikleştirmek için kodunuzda pat kullanabilirsiniz. Bunu yapmak için HTTP isteklerinizin yetkilendirme üst bilgisine PAT'yi ekleyin.
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());
}
}
PAT'leri kullanma hakkında daha fazla örnek aşağıdaki makalelerde bulunabilir:
- Git depolarınızla kimlik doğrulaması
- Git kimlik bilgileri yöneticilerini (GCM) Git depolarına bağlanacak şekilde ayarlama
- Mac'te NuGet kullanma
- Raporlama istemcilerinin kimliğini doğrulama
- Azure DevOps CLI ile çalışmaya başlama
PAT'i değiştirme
Aşağıdaki adımları izleyerek:
- Öncekini geçersiz kılan yeni bir belirteç oluşturmak için PAT'yi yeniden oluşturun.
- Geçerlilik süresini artırmak için PAT'yi genişletin.
- İzinlerini değiştirmek için PAT'nin kapsamını değiştirin.
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 şu ve diğer nedenlerle istediğiniz zaman iptal edebilirsiniz:
- PAT'in güvenliğinin ihlal edilmiş olduğundan şüpheleniyorsanız, iptal edin.
- Artık gerekli olmadığında PAT'i iptal etme.
- Güvenlik ilkelerini veya uyumluluk gereksinimlerini zorunlu kılmak için PAT'yi iptal edin.
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 PAT'lerin biçimini önemli ölçüde değiştirdik. Bu değişiklikler daha fazla güvenlik avantajı sağlar ve
Önemli değişiklikler:
- Artan belirteç uzunluğu: Yeni belirteçler artık 84 karakter uzunluğundadır ve 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.
Önemli
Her iki biçim de öngörülebilir gelecek için geçerli olmaya devam ediyor, ancak müşterilerin yeni 84 karakterlik biçime geçiş yapmaları için etkin bir şekilde 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üşünüyoruz.
PAT'leri kullanmak için en iyi yöntemler
Alternatifleri göz önünde bulundurun
- Daha uzun ömürlü bir PAT oluşturmak yerine bir saat boyunca geçerli anlık istekler için Azure CLI aracılığıyla bir Microsoft Entra jetonu alın.
- Kimlik bilgisi yönetimi basitleştirmesi için Git Kimlik Bilgileri Yöneticisi
veya Azure Artifacts Credential Manager Microsoft Entra belirteçlerinigibi kimlik bilgileri yöneticilerini kullanın. Bu araçlar, PAT'ler yerine varsayılan kimlik doğrulama yöntemi olarak kullanma seçenekleri sunabilir.
PAT oluşturma
- PAT adına kişisel verileri koymaktan kaçının. PAT belirteci dizesini belirtecinizin adı olarak yeniden adlandırmayın.
- Birden çok kuruluşa erişmesi gerekmiyorsa yalnızca PAT'nizin erişmesi gereken kuruluşu seçin. Birden çok kuruluşa erişim gerektiren iş akışları için bu iş akışı için ayrı bir genel PAT oluşturun.
- Her PAT için yalnızca gerekli kapsamları seçin. Mümkünse, her iş akışı için tam kapsamlı tek bir PAT yerine daha az kapsamlı birden çok PAT oluşturun. PAT'nizin yalnızca okuma izinlerine ihtiyacı varsa, gerekli olana kadar yazma izinleri sağlamayın.
- PAT yaşam sürelerini kısa tutun (haftalık idealdir, daha kısa bile daha iyidir) ve bunları kullanıcı arabirimi veya PAT Yaşam Döngüsü Yönetimi API'leriaracılığıyla düzenli olarak döndürün veya yeniden oluşturun.
PAT'leri yönetme
- Her zaman PAT'lerinizi Azure KeyVaultgibi güvenli bir anahtar yönetimi çözümünde depolayın.
- Artık gerekli olmadığında, PAT'leri iptal edin. Kiracı yöneticileri KURULUŞ kullanıcıları için PAT'leri iptal edebilir PAT ele geçirilirse.
- Birinci taraf araçlarımız sayesinde daha iyi sızdırılan gizli dizi algılama ve geri çekme için yeni PAT biçimi'in kullanımı için PAT'lerinizi değiştirin.
Yöneticiler için
Kiracı yöneticileri genel PAT oluşturma, tam kapsamlı PAT oluşturma ve uzun süreli PAT süresini kısıtlamak için ilkeler ayarlayabilir. Ayrıca, politikaların, genel depolarda tespit edilen sızdırılmış PAT'leri otomatik olarak iptal etmelerini etkinleştirmelerini sağlayabilirler. Şirketinizin güvenliğini geliştirmek için bu ilkeleri kullanın.
SSS
S: Pat kapsamındaki bir PAT'yi neden tek bir kuruluşta düzenleyemiyorum veya yeniden oluşturamıyorum?
A: PAT'inizin kapsamının bulunduğu kuruluşta oturum açın. 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 belirli bir 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ığında PAT 1 saat içinde geçersiz 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çersizdir. Hizmetleri çalışır durumda tutmak için PAT'yi başka bir kullanıcı veya hizmet hesabına döndürmenizi öneririz.
S: REST API aracılığıyla PAT yenilemenin bir yolu var mı?
Y: Evet,
S: PAT'leri tüm Azure DevOps REST API'leriyle kullanabilir miyim?
Y: Hayır. Temel kimlik doğrulamasını çoğu Azure DevOps REST API'siyle kullanabilirsiniz, ancak
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 sorunu 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, PAT'nin ApiKey olarak geçirilmesini 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ı 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ışınızda kimlik doğrulaması yapmak için NuGet Authenticate görevini kullanın. örnekbakı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. 30 günde bir oturum açmak birçok kullanıcı 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 istemini tamamlayın. PAT'niz hala çalışmıyorsa süresinin dolduğunu denetleyin.
IIS Temel Kimlik Doğrulaması'nın etkinleştirilmesi, Azure DevOps Server için PAT'lerin kullanılmasını geçersiz kılmasını sağlar. Daha fazla bilgi için bkz. Şirket içi Azure DevOps ile IIS Temel Kimlik Doğrulamasını Kullanma.
S: Dağıtım amacıyla belirli bir kişiye bağlı olmayan erişim anahtarları Nasıl yaparım??
Y: Azure DevOps'ta, Hizmet Sorumlularını veya Yönetilen Kimlikleri kullanarak belirli bir kişiye bağlı olmayan erişim anahtarları oluşturabilirsiniz. Daha fazla bilgi için bkz. Hizmet bağlantılarını yönetme ve Azure Key Vault gizli dizilerini Azure Pipelinesiçinde kullanma.
İlgili makaleler
- kullanıcılar için kişisel erişim belirteçlerini yönetmek için ilkeleri kullanma
- Kullanıcı PAT'lerini iptal etme (yöneticiler için)
- Güvenlik, kimlik doğrulaması ve yetkilendirme hakkında bilgi edinin
- Azure DevOps için varsayılan izinleri ve erişimi gözden geçirin
- REST API kullanarak kişisel erişim belirteçlerini (PAT) yönetme
- Azure DevOps'ta hizmet sorumlularını ve yönetilen kimlikleri yönetme