Kişisel erişim belirteçlerini kullanma

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure DevOps'ta kimlik doğrulaması yapmak için alternatif parola olarak kişisel erişim belirteci (PAT) kullanabilirsiniz. Bu makalede, Azure DevOps için PAT'leri oluşturma, kullanma, değiştirme ve iptal etme adımları gösterilmektedir.

Aşağıdaki videoda PAT oluşturma ve kullanma gösterilmektedir.

PAT’ler Hakkında

Kişisel erişim belirteci Azure DevOps için güvenlik kimlik bilgilerinizi içerir. PAT sizi, erişilebilir kuruluşlarınızı ve erişim kapsamlarınızı tanımlar. Bu nedenle bunlar parola kadar kritiktir, dolayısıyla bunlara aynı şekilde yaklaşmanız gerekir.

Microsoft araçlarıyla çalışıyorsanız, Microsoft hesabınız (MSA) veya Microsoft Entra ID kabul edilebilir ve iyi desteklenen bir yaklaşımdır. Microsoft veya Microsoft Entra hesaplarını desteklemeyen üçüncü taraf araçlarıyla çalışıyorsanız ya da aracı birincil kimlik bilgilerinizi vermek istemiyorsanız, riskinizi sınırlamak için PAT’leri kullanın.

PAT’lerinizi şu yollardan biriyle oluşturabilir ve yönetebilirsiniz:

  • bu makalede ayrıntılarıyla açıklanan kullanıcı ayarlarınızdaki kullanıcı arabirimi
  • PAT Yaşam Döngüsü Yönetimi API'sini aracılığıyla

Microsoft dışı araçlar için PAT'leri ayarlamak için Git kimlik bilgileri yöneticilerini kullanın veya bunları el ile oluşturun. Doğru kimlik doğrulama mekanizmasını seçmenize yardımcı olması için kimlik doğrulama kılavuzumuzu gözden geçirmenizi öneririz. Bu kadar güçlü bir çözüm gerektirmeyen daha küçük projelerde PAT’ler basit bir alternatiftir. Kullanıcılarınız kimlik bilgileri yöneticisi kullanmadığı sürece her seferinde kimlik bilgilerini girmeleri gerekir.

PAT oluşturma

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

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

    Kişisel Erişim Belirteçleri seçimini gösteren ekran görüntüsü.

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

    Yeni Belirteç seçimini gösteren ekran görüntüsü.

  4. 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.

    Temel belirteç bilgilerinin girişini gösteren ekran görüntüsü.

  5. 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 Services'te 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.

    PAT için seçili kapsamları gösteren ekran görüntüsü.

    Not

    Tam kapsamlı PAT oluşturmanız kısıtlanmış olabilir. Bu durumda Microsoft Entra ID'de Azure DevOps Yöneticiniz sizi özel olarak tanımlanmış belirli bir kapsam kümesiyle sınırlayan bir ilkeyi etkinleştirmiştir. 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.governanceerişmek için gereken kapsam kullanıcı arabiriminde seçilemez.

  6. İşiniz bittiğinde belirteci kopyalayın ve güvenli bir konumda depolayın. Güvenliğiniz için yeniden görüntülenmez.

    Belirtecin panonuza nasıl kopyalanmasını gösteren ekran görüntüsü.

Uyarı

Pat'i parolanız gibi değerlendirin ve kullanın ve gizli tutun.

Azure DevOps'ta kimlik doğrulaması için kullanıcı kimlik bilgilerinizin gerekli olduğu her yerde PAT'nizi kullanın.

Önemli

Microsoft Entra Id destekli kuruluşlar için yeni PAT'nizle oturum açmak için 90 gününüz vardır, aksi takdirde etkin olmadığı kabul edilir. Daha fazla bilgi için bkz . Koşullu Erişim için kullanıcı oturum açma sıklığı.

Notifications

Kullanıcılar pat yaşam süresi boyunca iki bildirim alır: biri oluşturuldukten sonra ve diğeri süre sonundan 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 eklendiğini onaylar.

PAT tarafından oluşturulan bildirimi gösteren ekran görüntüsü.

Aşağıdaki görüntüde PAT'nizin süresi dolmadan önceki yedi günlük bildirimin bir örneği gösterilmektedir.

PAT yakın süre sonu bildirimini gösteren ekran görüntüsü.

Beklenmeyen bildirim

Beklenmeyen bir PAT bildirimi alırsanız, bir yönetici veya araç sizin yerinize bir PAT oluşturmuş olabilir. Aşağıdaki örneklere bakın.

  • git.exe aracılığıyla bir Azure DevOps Git deposuna bağlandığınızda. "git: https://MyOrganization.visualstudio.com/ MyMachine üzerinde" gibi görünen ada sahip bir belirteç oluşturur.
  • Siz veya bir yönetici Azure Uygulaması Service web uygulaması dağıtımı ayarladığınızda, "Hizmet Kancaları: : Azure Uygulaması Hizmeti: : Web uygulamasını dağıtma" gibi görünen ada sahip bir belirteç oluşturur.
  • Siz veya bir yönetici bir işlem hattının parçası olarak web yük testi ayarladığınızda, "WebAppLoadTestCDIntToken" gibi bir görünen ada sahip bir belirteç oluşturur.
  • Bir Microsoft Teams Integration Messaging Uzantısı ayarlandığında, "Microsoft Teams Tümleştirmesi" gibi bir görünen ada sahip bir belirteç oluşturur.

Uyarı

Bir PAT'nin hatayla var olduğuna inanıyorsanız PAT'yi iptal etmenizi öneririz. Ardından parolanızı değiştirin. Microsoft Entra kullanıcısı olarak, kuruluşunuzun bilinmeyen bir kaynaktan veya konumdan kullanılıp kullanılmadığını öğrenmek için yöneticinize başvurun. Pat'i genel GitHub deposunda yanlışlıkla denetleme hakkında SSS bölümüne de bakın.

PAT kullanma

PAT'niz sizin kimliğinizdir ve parola gibi kullandığınızda sizi temsil eder.

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 $MyPatkullanı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://<PAT>@<company_machineName>.visualstudio.com:/<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 istiyorsanız, önce base64 dizesine dönüştürün. Aşağıdaki örnekte C# kullanarak Base64'e nasıl dönüştürüldüğü 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:

PAT'i değiştirme

PAT'yi yeniden oluşturabilir veya genişletebilir ve kapsamını değiştirebilirsiniz. Yeniden oluşturma işleminden sonra, önceki PAT artık yetkilendirillenmemiştir.

  1. Giriş sayfanızdan kullanıcı ayarlarınızı açın ve profil'i seçin.

    PAT'yi değiştirmek için seçebileceğiniz düğme sırasını gösteren ekran görüntüsü.

  2. 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.

    PAT'yi değiştirmek için vurgulanmış Düzenle düğmesini gösteren ekran görüntüsü.

  3. Belirteç adını, belirteç süre sonunu veya belirteçle ilişkili erişim kapsamını düzenleyin ve kaydet'i seçin.

    Değiştirilmiş PAT'i gösteren ekran görüntüsü.

PAT'i iptal etme

Pat'i çeşitli nedenlerle istediğiniz zaman iptal edebilirsiniz.

  1. Giriş sayfanızdan kullanıcı ayarlarınızı açın ve profil'i seçin.

    Seçecek düğmelerin sırasını, Team Services'ı, Önizleme sayfasını ve PAT'yi iptal etme işlemini gösteren ekran görüntüsü.

  2. 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.

    Tek bir belirteci veya tüm belirteçleri iptal etme seçimini gösteren ekran görüntüsü.

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

    PAT'yi iptal etmek için onay ekranını gösteren ekran görüntüsü.

SSS

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. 30 günde bir çoğu için yeterli olsa da, 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.