Kişisel erişim belirteçlerini kullanma

Azure DevOps Hizmetleri | Azure DevOps Server | Azure DevOps Server 2022

Kişisel erişim belirteci (PAT), Azure DevOps kimlik doğrulaması için alternatif bir paroladır. PAT sizi tanımlar ve kullanabileceğiniz kaynakları ve işlemleri belirler. PAT'ye parolayla aynı özeni gösterme.

Dikkat

Daha güvenli bir kimlik doğrulama yöntemi kullanılabilir olduğunda, PAT'lerden kaçının. Uygulamalar ve otomasyon için mümkün olduğunca Microsoft Entra belirteçleri, yönetilen kimlikleri veya hizmet sorumlularını kullanın.

Bir araç Microsoft Entra kimlik doğrulamasını desteklemiyorsa, en düşük kapsamlara ve en kısa uygulama ömrüne sahip kuruluş kapsamlı bir PAT kullanın.

Important

Azure DevOps genel PAT'leri emekli ediyor. Mevcut tüm genel PAT'ler 1 Aralık 2026'da çalışmayı durduruyor. Şimdi bunları kuruluş kapsamındaki PAT'lere veya Microsoft Entra kimlik doğrulamasına geçirin. Daha fazla bilgi için bkz. Azure DevOps'da Genel Kişisel Erişim Belirteçlerinin Kullanımdan Kaldırılması.

Önkoşullar

  • Azure DevOps bir kuruluşa veya Azure DevOps Server koleksiyonuna erişim.
  • PAT'nin eriştiği kaynaklar ve işlemler için gereken izinler. Bir PAT, sahibinin sahip olduğundan daha fazla izin tanıyamaz.
  • Kuruluşunuzun ilkeleri altında PAT oluşturma izni. Yönetici PAT oluşturmayı, kapsamları ve yaşam ömrünü kısıtlayabilir. Daha fazla bilgi için bkz . İlkelerle PAT'leri yönetme.

PAT oluştur

  1. Kuruluşunuzda oturum açın (https://dev.azure.com/{organization}).

  2. Giriş sayfasında kullanıcı ayarlarını açın ve Kişisel erişim belirteçleri'ni seçin.

    Kişisel erişim belirteçlerinin seçili olduğu kullanıcı ayarlarının ekran görüntüsü.

  3. + Yeni Belirteç'i seçin.

    Yeni Belirteç'in seçili olduğu Kişisel erişim belirteçleri sayfasının ekran görüntüsü.

  4. Bir ad girin, bir kuruluş seçin ve son kullanma tarihi ayarlayın.

    PAT adı, kuruluş ve sona erme bilgileri yapılandırılmış oluşturma iletişim kutusunun ekran görüntüsü.

  5. Yalnızca hedeflenen görevler için gereken kapsamları seçin.

    Örneğin, kendinden barındırılan bir aracıyı kaydetmek için Aracı Havuzları (Oku ve yönet) seçeneğini belirleyin. Yöneticiniz tam kapsamlı PAT'leri kısıtlayabilir veya belirli kapsamlar için bir izin listesi girişi gerektirebilir.

    Yeni pat için gerekli kapsamların seçili olduğu kapsam seçeneklerinin ekran görüntüsü.

  6. Oluştur'u seçin, belirteci kopyalayın ve güvenli bir konumda depolayın. Belirteç değeri bir daha görünmez.

    Güvenli bir yerde saklamak için kopyalanmaya hazır yeni bir PAT'in ekran görüntüsü.

Uyarı

Aşağıdaki ekran görüntülerinde Azure DevOps Hizmetleri gösterilmektedir. Azure DevOps Server arabirimi biraz farklı olabilir.

  1. Azure DevOps Server web portalınızda (https://{server}/{collection} veya http://{server}:{port}/tfs/{collection}) oturum açın.

  2. Giriş sayfasında kullanıcı ayarlarını açın ve Kişisel erişim belirteçleri'ni seçin.

    Kişisel erişim belirteçlerinin seçili olduğu kullanıcı ayarlarının ekran görüntüsü.

  3. + Yeni Belirteç'i seçin.

    Yeni Belirteç'in seçili olduğu Kişisel erişim belirteçleri sayfasının ekran görüntüsü.

  4. Bir ad girin, koleksiyonu seçin ve bir son kullanma tarihi ayarlayın.

    PAT adı, koleksiyon ve sona erme tarihinin yapılandırıldığı oluşturma iletişim kutusunun ekran görüntüsü.

  5. Yalnızca hedeflenen görevler için gereken kapsamları seçin.

    Örneğin, kendinden barındırılan bir aracıyı kaydetmek için Aracı Havuzları (Oku ve yönet) seçeneğini belirleyin.

    Yeni pat için gerekli kapsamların seçili olduğu kapsam seçeneklerinin ekran görüntüsü.

  6. Oluştur'u seçin, belirteci kopyalayın ve güvenli bir konumda depolayın. Belirteç değeri bir daha görünmez.

    Güvenli bir yerde saklamak için kopyalamaya hazır yeni bir PAT’in ekran görüntüsü.

Microsoft Entra ID ile desteklenen kuruluşlarda, 90 gün içinde yeni bir PAT ile oturum açın; aksi takdirde PAT devre dışı kalır. Daha fazla bilgi için bkz . Koşullu Erişim için kullanıcı oturum açma sıklığı.

Bildirimler

Azure DevOps, pat oluşturduğunuzda bir bildirim ve süresi dolmadan önce başka bir bildirim gönderir.

PAT oluşturulduğunu onaylayan bir e-postanın ekran görüntüsü.

Bir kuruluş ilkesi artık PAT'yi yeniden oluşturmanıza izin vermediyse, süre sonu e-postası kısıtlamayı tanımlar. İzin ver listesi girdisine ihtiyacınız varsa proje koleksiyonu yöneticinize başvurun .

E-posta yapılandırması hakkında 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 bildirim, bir yöneticinin veya aracın sizin için bir PAT oluşturduğu anlamına gelebilir. Yaygın belirteç adları şunlardır:

  • git: https://dev.azure.com/{organization} on {machine}, Git bir Azure Repos deposuna bağlandığında oluşturulur.
  • Service Hooks: Azure App Service: Deploy web app, bir Azure App Service dağıtımı yapılandırıldığında oluşturulur.
  • Microsoft Teams Integration, Microsoft Teams tümleştirmesi yapılandırıldığında oluşturulur.

Bir PAT’yi tanımıyorsanız, onu geçersiz kılın ve parolanızı değiştirin. Microsoft Entra hesabı için yöneticinizden tanıdık olmayan oturum açma etkinliğini gözden geçirmesini isteyin.

Bir PAT kullan.

Tek seferlik istekler, yerel prototipler veya Microsoft Entra kimlik doğrulamasını desteklemeyen araçlar için PAT kullanın. PAT'leri üretim uygulamaları veya hizmetleri için uzun vadeli kimlik bilgileri olarak kullanmayın.

Azure DevOps, bir PAT’i HTTP Basic yetkilendirme üst bilgisi aracılığıyla kabul eder. Kullanıcı adı boş olabilir. Base64 dizesini kodlayın :{PAT}ve bu üst bilgide elde edilen değeri kullanın:

Authorization: Basic BASE64_ENCODED_PAT

Aşağıdaki örnekler, ortam değişkeninin AZURE_DEVOPS_PAT güvenli bir gizli dizi kaynağından doldurulmasını bekler.

$patBytes = [Text.Encoding]::ASCII.GetBytes(":$env:AZURE_DEVOPS_PAT")
$headers = @{ Authorization = "Basic $([Convert]::ToBase64String($patBytes))" }

Invoke-RestMethod `
  -Uri "https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=7.1" `
  -Headers $headers

Bir prototip çalıştıktan sonra, onu devredilmiş kullanıcı erişimi için Microsoft Entra OAuth’a veya uygulama erişimi için bir hizmet sorumlusuna ya da yönetilen kimliğe geçirin.

PAT'i değiştirme

PAT'nin adını, süre sonunu veya kapsamlarını değiştirebilirsiniz. PAT'yi yeniden oluşturmak yeni bir belirteç değeri oluşturur ve önceki değeri geçersiz hale döndürür. Süresi dolmuş veya iptal edilmiş bir PAT'yi değiştiremez veya yeniden oluşturamazsınız; yerine yeni bir tane oluşturun.

  1. Giriş sayfasında kullanıcı ayarlarını açın ve Kişisel erişim belirteçleri'ni seçin.

  2. PAT'yi ve ardından Düzenle'yi seçin.

    Düzenle'nin seçili olduğu mevcut PAT'nin ekran görüntüsü.

  3. Belirteç adını, süre sonunu veya kapsamları değiştirin ve kaydet'i seçin.

    Kaydedilmeye hazır güncelleştirilmiş PAT ayarlarının ekran görüntüsü.

PAT'i iptal et

Güvenliği aşıldığında, artık gerekli olmadığında veya gerekenden daha fazla erişime sahip olduğunda PAT'yi iptal edin.

  1. Giriş sayfasında kullanıcı ayarlarını açın ve Kişisel erişim belirteçleri'ni seçin.

  2. PAT'yi ve ardından İptal Et'i seçin.

    İptal Et'in seçili olduğu mevcut PAT'nin ekran görüntüsü.

  3. Onay iletişim kutusunda İptal Et'i seçin.

    PAT'yi iptal etme onay iletişim kutusunun ekran görüntüsü.

Süresi dolan veya iptal edilen PAT'yi değiştirme

PAT'nin süresi dolduktan veya iptal edildikten sonra, Azure DevOps bunu kullanan sonraki kimlik doğrulama girişimlerini reddeder. İşlem hattı, betik, paket istemcisi veya Git işlemi genellikle bir sonraki kimlik doğrulamasında başarısız olur. Azure DevOps iptal işleminin önceden kurulmuş olan tüm bağlantıları sonlandırdığını garanti etmez.

PAT'nin süresi dolmadan önce döndürme

Pat'i önlenebilir bir hizmet kesintisi olmadan değiştirmek için:

  1. Yalnızca gerekli kapsamlara sahip ve kısa bir geçerlilik süresi olan kuruluş kapsamındaki bir PAT oluşturun.

  2. Yeni değeri gizli değer deponuzda saklayın. GIT uzak URL'lerine, , kaynak koduna, .git/configişlem hattı YAML'sine veya günlüklere PAT eklemeyin.

  3. Her bağımlılığı güncelleştirmeden önce yeni PAT'yi üretim dışı bir işlem veya tek bir tümleştirmeyle test edin.

  4. Eski PAT'yi depolayan her hizmeti veya aracı güncelleştirin:

    Integration Kimlik bilgilerinin güncelleştirileceği yer
    Git Git Credential Manager veya başka bir güvenli kimlik bilgileri yöneticisi
    Azure Pipelines Gizli dizi değişkeni, değişken grubu veya hizmet bağlantısı
    Azure Artifacts Azure Artifacts Kimlik Bilgisi Sağlayıcısı veya paket yöneticisinin güvenli yapılandırması
    Betikler ve REST istemcileri Gizli deposu veya korumalı ortam değişkeni
    Üçüncü taraf araçlar Aracın güvenli kimlik bilgisi deposu
  5. Tüm güncelleştirilmiş tümleştirmeleri test edin. Etkilenen işlem hattını, Git işlemini, paket işlemini, betiği veya API isteğini çalıştırın ve kimlik doğrulama hatalarını denetleyin.

  6. Eski PAT'yi iptal et.

Her PAT'nin sahibinin, amacının, kapsamlarının, süre sonunun ve bağımlı tümleştirmelerin envanterini tutun. Son kullanma tarihinden önce kuruluşunuzun ilkesine ve senaryonun riskine göre PAT'leri değiştirin.

Sürenin dolması veya iptal sonrasında kurtarma

PAT beklenmedik bir şekilde çalışmayı durdurursa:

  1. Kişisel erişim belirteçleri sayfasında PAT'in durumunu ve süre sonunu denetleyin.
  2. Yalnızca etkilenen tümleştirmelerin gerektirdiği kapsamlarla yeni bir PAT oluşturun.
  3. Kullanılamayan PAT'yi depolayan tümleştirmeleri güncelleştirin.
  4. Her entegrasyonu test edin ve kimlik doğrulama hataları açısından bir sonraki zamanlanmış işlemini izleyin.

Hatanın nedeni belirsizse PAT denetim olaylarını gözden geçirerek PAT'nin süresinin dolduğunu, güncelleştirildiğini veya iptal edilip edilmediğini belirleyin.

Yaşam Döngüsü Yönetimi API'leri ile PAT'leri yönetme

Kendi PAT'lerinizi program aracılığıyla listelemek, oluşturmak, güncelleştirmek ve iptal etmek için PAT Yaşam Döngüsü Yönetimi API'lerini kullanın.

Bu API'ler, kullanıcı tarafından yetkilendirilmiş bir akıştan alınan Microsoft Entra erişim belirteci gerektirir. kapsamını kullanın. Hizmet sorumluları ve yönetilen kimlikler, bir kullanıcıyı temsil etmedikleri için PAT oluşturamaz veya yönetemez.

Operation İstek
PAT'leri listele GET https://vssps.dev.azure.com/{organization}/_apis/tokens/pats?api-version=7.1
PAT oluştur POST https://vssps.dev.azure.com/{organization}/_apis/tokens/pats?api-version=7.1
PAT'i iptal et DELETE https://vssps.dev.azure.com/{organization}/_apis/tokens/pats?authorizationId={authorizationId}&api-version=7.1

Microsoft Entra belirtecini taşıyıcı belirteç olarak gönderin. Oluşturma isteği şu gövde şeklini kullanır:

{
  "displayName": "CI build access",
  "scope": "vso.build",
  "validTo": "{expiration-in-UTC}",
  "allOrgs": false
}

Liste yanıtı dizideki patTokens belirteçleri döndürür. Oluşturma yanıtı, gizli anahtarı yalnızca bir kez patToken.token içinde döndürür. Bu değeri güvenli bir şekilde depolayın ve hiçbir zaman günlüklere yazmayın. Eski belirteci geçersiz kılmak için, onun authorizationId öğesini tabloda gösterildiği gibi sorgu parametresi olarak iletin.

Tam şemalar ve örnekler için bkz . PAT'ları listeleme, PAT Oluşturma ve PAT'yi iptal etme.

PAT denetim olaylarını gözden geçirme

Azure DevOps Hizmetleri, PAT yaşam döngüsü olaylarını kuruluş denetim günlüğüne kaydeder. Kuruluş ayarları'ndaDenetim'i seçin ve ardından şu eylemleri filtreleyin:

Action Event
PAT oluşturuldu Token.PatCreateEvent
PAT'nin süresi doluyor Token.PatExpiredEvent
PAT, herkese açık bir depoda bulunur Token.PatPublicDiscoveryEvent
Kullanıcı PAT'i iptal eder Token.PatRevokeEvent
Azure DevOps PAT'i iptal eder Token.PatSystemRevokeEvent
Bir PAT değiştirildi veya yeniden oluşturuldu Token.PatUpdateEvent

Belirteç erişim olayları şu anda günlüğe kaydedilmemiş. PAT’in ne zaman ya da kullanılıp kullanılmadığını belirlemek için değil, yaşam döngüsündeki değişiklikleri araştırmak için denetim günlüğünü kullanın.

Denetim günlüğü saklama

Denetim olayları 90 gün boyunca saklanır ve ardından silinir. Tutma süresi ayarlanamaz. Olayları daha uzun süre saklamak için, bunları CSV veya JSON'a aktarın veya dış güvenlik bilgileri ve olay yönetimi (SIEM) sistemine bir denetim akışı yapılandırın.

Daha fazla bilgi için bkz. Denetim günlüklerine erişme, dışa aktarma ve filtreleme ve Azure DevOps denetim olayları.

PAT ilkelerini yapılandırma

Kiracı yöneticileri genel PTS'leri ve tam kapsamlı PTS'leri kısıtlayabilir, maksimum PAT ömrü ayarlayabilir ve sızdırılan PTS'lerin otomatik iptalini denetleyebilir. Kuruluş ayarları>Microsoft Entra'nda kiracı düzeyinde PAT ilkelerini yapılandırın.

Kuruluş sahipleri, belirli bir kuruluş için PAT oluşturulmasını Kuruluş ayarları>İlkeler bölümünde kısıtlayabilir. Roller, ilke davranışı ve izin listesi yordamları için bkz. İlkelerle PAT'leri yönetme.

PAT biçimi

PAT dizeleri, gizli bilgi algılamayı iyileştiren ve yanlış pozitifleri azaltan tanımlanabilir bir biçim kullanır.

  • PAT'ler 52 rastgele karakter de dahil olmak üzere 84 karakter uzunluğundadır.
  • Azure DevOps PAT'lar 76 ile 80 arasında konumlarda sabit AZDO imzayı içerir.

Tümleştirmeniz PAT'leri doğrularsa 84 karakterlik biçimi destekleyin. Sızdırılan belirteç denetimleri için bkz. Sızdırılan PAT'leri otomatik olarak iptal etme.

PAT'leri kullanmak için en iyi yöntemler

Alternatifleri göz önünde bulundurun

PAT oluşturma

  • Yalnızca kuruluş kapsamlı PAT'ler oluşturun. Global PAT'ler 1 Aralık 2026'da çalışmayı durduruyor.
  • Her araç veya iş akışı için farklı bir PAT kullanın.
  • Yalnızca görev için gereken kapsamları seçin.
  • Ömrü pratik olduğu kadar kısa tutun.
  • Görünen adına kişisel verileri veya belirteç değerinin herhangi bir bölümünü eklemeyin.

PAT'leri yönetme

  • PAT'leri paylaşmayın.
  • PAT'leri Azure Key Vault gibi güvenli bir gizli dizi deposunda depolayın.
  • SÜRESI dolmadan önce PAT'leri değiştirin ve artık gerekli olmadığında iptal edin.
  • Bir PAT açığa çıkarsa veya ele geçirilirse hemen iptal edin.

Yöneticiler için

Riskli PAT'leri gözden geçirme ve yanıtlama

Güvenlik gözden geçirmenizin bir parçası olarak:

  1. Tam kapsamlara, uzun kullanım ömrüne, genel erişime sahip veya belgelenmiş sahip ve amaç içermeyen PAT'leri tanımlayın.
  2. Denetim günlüğünde PAT oluşturma, güncelleştirme, genel bulma, süre sonu ve iptal olaylarını gözden geçirin. Belirteç erişimi günlüğe kaydedilmediğinden, bir PAT'yi etkin veya güncelliğini yitirmiş olarak sınıflandırmak için denetim günlüğünü kullanmayın.
  3. Açığa çıkan, güvenliği ihlal edilmiş veya gereksiz PAT'leri iptal edin. Çıkarma için, kullanıcının PAT'lerini iptal etmek ve etkilenen tümleştirmeleri sahiplerine bildirmek için desteklenen Belirteç Yönetimi API'lerini kullanın.
  4. Genel ve tam kapsamlı PTS'leri kısıtlamak, maksimum kullanım ömrü ayarlamak ve sızdırılan PTS'lerin otomatik iptalini denetlemek için kiracı ve kuruluş PAT ilkelerini yapılandırın.
  5. Bekletme gereksinimleriniz 90 günü aştığında denetim olaylarını dışarı aktarın veya bir denetim akışı yapılandırın.

SSS

Tek bir kuruluş kapsamına sahip bir PAT’i neden düzenleyemiyor veya yeniden oluşturamıyorum?

PAT'nin kapsamına dahil olduğu kuruluşta oturum açın. Erişim kapsamı filtresini değiştirerek, aynı Microsoft Entra kiracıdaki herhangi bir kuruluştaki PTS'lerinizi listeleyebilirsiniz, ancak kuruluş kapsamındaki pat'leri yalnızca o kuruluştan düzenleyebilirsiniz.

Kullanıcı hesabı devre dışı bırakıldığında PAT'lere ne olur?

Bir hesap devre dışı bırakıldığında veya kuruluştan kaldırıldığında, bu hesabın PAT'leri artık kuruluşun kaynaklarına erişemez. Azure DevOps, PAT'leri otomatik olarak silmez. Erişim geri yüklenirse, süresi dolmamış veya iptal edilmemiş bir PAT kullanıcının geçerli izinleriyle çalışır.

TÜM Azure DevOps REST API'leriyle PAT kullanabilir miyim?

Hayır. PAT'lar çoğu Azure DevOps REST API'siyle çalışır. Kuruluşlar, Profiller ve PAT Yaşam Döngüsü Yönetimi API'leri de dahil olmak üzere bazı API'ler Microsoft Entra belirteçleri gerektirir.

Genel bir GitHub deposuna PAT işlersem ne olur?

Azure DevOps, sızdırılan PAT'ler için genel GitHub depolarını tarar. Bir belirteç algıladığında Azure DevOps sahibine bildirir ve bir denetim olayı kaydeder. Kiracı ilkesi otomatik iptali devre dışı bırakmadığı sürece Azure DevOps sızdırılan PAT'yi iptal eder. Daha fazla bilgi için bkz Sızdırılan PAT'leri otomatik olarak iptal etme.

NuGet paketlerini yayımlamak için API anahtarı olarak PAT kullanabilir miyim?

Hayır. Azure Artifacts, PAT'nin API anahtarı olarak geçirilmesini desteklemez. Yerel geliştirme ortamında Azure Artifacts Kimlik Bilgisi Sağlayıcısı'nı yükleyin. Azure Pipelines NuGet Kimlik Doğrulaması görevini kullanın.

Örnekler için bkz. dotnet ile yayımlama, NuGet.exeile yayımlama ve NuGet paketlerini Azure Pipelines ile yayımlama.

PAT'im neden çalışmayı durdurdu?

PAT'nin süresinin dolduğunu, iptal edilip edilmediğini, etkin olmadığını, kapsamlarının yetersiz olup olmadığını veya izinleri değiştirilmiş bir kullanıcıya ait olup olmadığını denetleyin. Kuruluşunuz Microsoft Entra ID tarafından destekleniyorsa Azure DevOps'ta oturum açın, tam kimlik doğrulama istemini tamamlayın ve ardından yeniden deneyin. Koşullu Erişim yapılandırmanız daha sık oturum açmayı gerektirebilir.

Azure DevOps Server için IIS Temel Kimlik Doğrulaması PAT kimlik doğrulamasını engeller. IIS Temel Kimlik Doğrulaması'nın devre dışı kalmasını sağlayın.

Kullanıcıya bağlı olmayan bir erişim belirtecini nasıl oluşturabilirim?

PAT'ler her zaman bunları oluşturan kullanıcıyla ilişkilendirilir. Kullanıcı olmayan bir kimlik için, uygulama hizmet sorumlusuna veya yönetilen kimliğe verilen Microsoft Entra belirtecini kullanın. İşlem hatları için bir hizmet bağlantısı kullanın.

API aracılığıyla PAT'yi nasıl döndürebilirim?

Yaşam Döngüsü Yönetimi API'leri bir PAT'yi tek bir işlemde yeniden oluşturmaz. Meta verilerini elde etmek için eski PAT’yi listeleyin, gerekli kapsam ve sona erme tarihiyle yeni bir PAT oluşturun, buna bağımlı olan tüm tümleştirmeleri güncelleyin ve test edin, ardından authorizationId öğesini kullanarak eski PAT’yi iptal edin. Doğru yollar için bkz . Yaşam Döngüsü Yönetimi API'leri ile PAT'leri yönetme.

PAT Yaşam Döngüsü Yönetimi API'lerini çağırdığımda neden bir yönetici onay iletisi görüntülüyor?

kiracınızın güvenlik ilkeleri, Microsoft Entra uygulamasının kuruluş kaynaklarına erişebilmesi için yönetici onayı gerektirir. Kiracı yöneticinize başvurun.