Kişisel erişim belirteçleri kullanmaUse personal access tokens

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2017Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2017

Kişisel erişim belirteci (PAT), Azure DevOps 'da kimlik doğrulaması yapmak için alternatif bir parola olarak kullanılır.A personal access token (PAT) is used as an alternate password to authenticate into Azure DevOps. Azure DevOps için PATs oluşturma, kullanma, değiştirme ve iptal etme hakkında bilgi edinin.Learn how to create, use, modify, and revoke PATs for Azure DevOps.

Microsoft araçları içinde çalışıyorsanız, Microsoft hesabı (MSA) veya Azure Active Directory (Azure AD), kabul edilebilir ve iyi desteklenen bir yaklaşımdır.If you're working within Microsoft tools, then your Microsoft account (MSA) or Azure Active Directory (Azure AD) is an acceptable and well-supported approach. Ancak, Microsoft veya Azure AD hesaplarını desteklemeyen üçüncü taraf araçlarla çalışıyorsanız veya araca birincil kimlik bilgilerinizi sağlamak istemiyorsanız, riski sınırlamak için PATs 'yi kullanabilirsiniz.But, if you're working with third-party tools that don't support Microsoft or Azure AD accounts – or you don't want to provide your primary credentials to the tool – you can make use of PATs to limit your risk.

PATs 'ler ihtiyacınız olduğunda kolayca oluşturulur ve bunu yapmazsanız kolayca iptal edebilirsiniz.PATs are easy to create when you need them and easy to revoke when you don’t. Microsoft dışı araçlara yönelik PATs 'leri ayarlamak için Git kimlik bilgileri yöneticilerini kullanın veya el ile oluşturun.To set up PATs for non-Microsoft tools, use Git credential managers or create them manually. Doğru kimlik doğrulama mekanizmasını seçmenize yardımcı olması için kimlik doğrulama kılavuzumuzu incelemenizi öneririz.We recommend that you review our authentication guidance to help you choose the correct authentication mechanism. Daha az sağlam bir çözüm gerektiren daha küçük projeler için, PATs 'ler basit bir alternatiftir.For smaller projects that require a less robust solution, PATs are a simple alternative. Kullanıcılarınız kimlik bilgileri Yöneticisi kullanmadıkça, her seferinde kimlik bilgilerini girmeleri gerekir.Unless your users are using a credential manager, they have to enter their credentials each time.

PAT oluşturmaCreate a PAT

Not

Yeni Hesap Yöneticisi sayfası için yeni kullanıcı arabirimini etkinleştirmek üzere, bkz. özellikleri yönetme veya etkinleştirme.To enable the new user interface for the New account manager page, see Manage or enable features.

  1. Azure DevOps 'da () kuruluşunuzda oturum açın https://dev.azure.com/{yourorganization}Sign in to your organization in Azure DevOps (https://dev.azure.com/{yourorganization})

  2. Giriş sayfanızda, kullanıcı ayarlarınızı açın ve ardından kişisel erişim belirteçleri' ni seçin.From your home page, open your user settings, and then select Personal access tokens.

    Kişisel erişim belirteçleri seçin

  3. Ardından + Yeni belirteç' ı seçin.And then select + New Token.

    Oluşturulacak yeni belirteci seçin

  4. Belirtecinizi adlandırın, belirteci kullanmak istediğiniz kuruluşu seçin ve ardından belirtecinizin bir kullanım ömrü seçin.Name your token, select the organization where you want to use the token, and then choose a lifespan for your token.

    Temel belirteç bilgilerini girin

  5. Belirli görevleriniz için yetkilendirmek üzere bu belirtecin kapsamlarını seçin.Select the scopes for this token to authorize for your specific tasks.

    Örneğin, bir derleme ve yayın aracısının Azure DevOps Services kimlik doğrulaması yapmasını etkinleştirmek üzere bir belirteç oluşturmak için belirtecin kapsamını Aracı havuzlarıyla sınırlayın (oku & Yönet).For example, to create a token to enable a build and release agent to authenticate to Azure DevOps Services, limit your token's scope to Agent Pools (Read & manage). Denetim günlüğü olaylarını okumak ve akışları yönetmek ve silmek için Denetim günlüğü oku' nı seçin ve ardından Oluştur' u seçin.To read audit log events, and manage and delete streams, select Read Audit Log, and then select Create.

    PAT için kapsamları seçin

  6. İşiniz bittiğinde, belirteci kopyalamadığınızdan emin olun.When you're done, make sure to copy the token. Güvenlik için yeniden gösterilmeyecektir.For your security, it won't be shown again. Parolanız olarak bu belirteci kullanın.Use this token as your password.

    Belirteci panonuza kopyalayın

  1. Web portalınızda () oturum açın https://{server}:8080/tfs/ .Sign in to your web portal (https://{server}:8080/tfs/).

  2. Giriş sayfanıza profilinizi açın.From your home page, open your profile. Güvenlik ayrıntılarına gidin.Go to your security details.

    Giriş sayfasında, profilinizi açın, güvenlik ' e gidin

  3. Kişisel erişim belirteci oluşturun.Create a personal access token.

    Kişisel erişim belirteci ekleme

  4. Belirtecinizi adlandırın.Name your token. Belirteciniz için bir kullanım ömrü seçin.Select a lifespan for your token.

    Birden fazla kuruluşunuz varsa, belirteci kullanmak istediğiniz organizasyonu da seçebilirsiniz.If you have more than one organization, you can also select the organization where you want to use the token.

    Belirtecinizi adlandırın, bir lifespan seçin.

  5. Belirli görevleriniz için yetkilendirmek üzere bu belirtecin kapsamlarını seçin.Select the scopes for this token to authorize for your specific tasks.

    Örneğin, kimlik doğrulaması yapmak için bir derleme ve sürüm aracısının kimliğini etkinleştirmek üzere bir belirteç oluşturmak için, belirtecinizin kapsamını Aracı havuzlarıyla sınırlayın (okuma, yönetme).For example, to create a token to enable a build and release agent to authenticate, limit your token's scope to Agent Pools (read, manage).

  6. İşiniz bittiğinde, belirteci kopyalamadığınızdan emin olun.When you're done, make sure to copy the token. Güvenlik için yeniden gösterilmeyecektir.For your security, it won't be shown again. Parolanız olarak bu belirteci kullanın.Use this token as your password. Kapat’ı seçin.Select Close.

    Git araçlarınız veya uygulamalarınız için parola olarak bir belirteç kullanın


PAT oluşturulduktan sonra, Azure DevOps 'da kimlik doğrulaması için Kullanıcı kimlik bilgilerinizin gerektiği her yerde kullanabilirsiniz.Once your PAT is created, you can use it anywhere your user credentials are required for authentication in Azure DevOps.

BildirimlerNotifications

Kullanıcılar, bir PAT 'in yaşam süresi boyunca, son tarihten önce yedi gün önce iki bildirim alırlar.Users receive two notifications during the lifetime of a PAT - one upon creation and the other seven days before the expiration.

Bir PAT oluşturduktan sonra, aşağıdaki örneğe benzer bir bildirim alırsınız.After you create a PAT, you receive a notification similar to the following example.

PAT oluşturma bildirimi

PAT süresinin dolmasına yedi gün önce, aşağıdaki örneğe benzer bir bildirim alırsınız.Seven days before your PAT expires, you receive a notification similar to the following example.

Son kullanım süresi sonu bildirimi

Beklenmeyen bildirimUnexpected notification

Beklenmeyen bir PAT bildirimi alırsanız, bir yönetici veya araç sizin adınıza bir PAT oluşturmuş olabilir.If you receive an unexpected PAT notification, an administrator or tool might have created a PAT on your behalf. Aşağıdaki örneklere bakın.See the following examples.

  • git.exe aracılığıyla bir Azure DevOps git deposuna bağlandığınızda.When you connect to an Azure DevOps Git repo through git.exe. "git: MyMachine" gibi görünen ada sahip bir belirteç oluşturur https://MyOrganization.visualstudio.com/ .it creates a token with a display name like "git: https://MyOrganization.visualstudio.com/ on MyMachine."
  • Siz veya bir yönetici Azure App Service Web uygulaması dağıtımı ayarlarsa, "hizmet kancaları:: Azure App Service:: Web uygulaması dağıtma" gibi görünen ada sahip bir belirteç oluşturur.When you or an administrator sets up an Azure App Service web app deployment, it creates a token with a display name like "Service Hooks: : Azure App Service: : Deploy web app."
  • Siz veya bir yönetici, Web yük testini bir işlem hattının parçası olarak ayarladığınızda, "Webapploadtestcdınttoken" gibi görünen ada sahip bir belirteç oluşturur.When you or an administrator sets up web load testing, as part of a pipeline, it creates a token with a display name like "WebAppLoadTestCDIntToken".
  • Bir Microsoft ekipleri tümleştirme mesajlaşma uzantısı ayarlandığında, "Microsoft ekipleri tümleştirmesi" gibi görünen ada sahip bir belirteç oluşturur.When a Microsoft Teams Integration Messaging Extension is set up, it creates a token with a display name like "Microsoft Teams Integration".

Bir PAT 'nin hatada bulunduğunu düşünüyorsanız, Pat 'yi iptaletmeniz önerilir.If you believe that a PAT exists in error, we suggest that you revoke the PAT. Ardından parolanızı değiştirin.Then, change your password. Bir Azure AD kullanıcısı olarak, kuruluşunuzun bilinmeyen bir kaynaktan mı yoksa konumdan mı kullanıldığını öğrenmek için yöneticinize başvurun.As an Azure AD user, check with your administrator to see if your organization was used from an unknown source or location. Ayrıca, herkese açık bir GitHub deposuna yanlışlıkla iade etmehakkında SSS bölümüne bakın.See also the FAQ about accidentally checking in a PAT to a public GitHub repository.

PAT kullanmaUse a PAT

Belirteciniz kimliğiniz ve ne zaman kullanıldığını temsil eder.Your token is your identity and represents you when it's used. Parola gibi bir PAT değerlendirin ve kullanın.Treat and use a PAT like your password.

  1. Git etkileşimleri, boş dize dışında hiçbir şey olabilen bir Kullanıcı adı gerektirir.Git interactions require a username, which can be anything except the empty string. PAT, parola olarak kullanılır.The PAT is used as the password. Ayrıca, HTTP temel kimlik doğrulaması ile kullanmak için Kullanıcı adı ve PAT ile Base64 kodlamanız gerekir.Additionally, you have to Base64-encode the username and PAT to use it with HTTP basic authentication. Linux veya macOS 'ta, Bash 'de şunu girebilirsiniz:On Linux or macOS, in Bash, you can enter:
MY_PAT=yourPAT      # replace "yourPAT" with your actual PAT
B64_PAT=$(printf "%s"":$MY_PAT" | base64)
git -c http.extraHeader="Authorization: Basic ${B64_PAT}" clone https://dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName

Windows 'ta, PowerShell 'de benzer bir şey yapabilirsiniz:On Windows, you can do something similar in PowerShell:

$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

Belirtecinizi daha güvenli tutmak için kimlik bilgileri yöneticilerini kullanarak her seferinde kimlik bilgilerinizi girmeniz gerekmez.To keep your token more secure, use credential managers so you don't have to enter your credentials every time. Aşağıdaki kimlik bilgileri Yöneticisi önerilir:We recommend the following credential manager:

Kodunuzda bir PAT kullanınUse a PAT in your code

Kıvrımlı kullanarak derlemelerin listesini alan aşağıdaki örneğe bakın.See the following sample that gets a list of builds using curl.

curl -u username[:{personalaccesstoken}] https://dev.azure.com/{organization}/_apis/build-release/builds

Bir HTTP üst bilgisi aracılığıyla PAT sağlamak istiyorsanız, önce bunu bir Base64 dizesine dönüştürün (aşağıdaki örnekte C# kullanarak Base64 'e dönüştürme gösterilmiştir).If you wish to provide the PAT through an HTTP header, first convert it to a Base64 string (the following example shows how to convert to Base64 using C#). Elde edilen dize, daha sonra aşağıdaki biçimde bir HTTP üst bilgisi olarak sağlanalabilir:The resulting string can then be provided as an HTTP header in the following format:
Authorization: Basic BASE64_USERNAME_PAT_STRING
Burada, HttpClient sınıfınıkullanan C# ' de bulunur.Here it is in C# using the HttpClient class.

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şlangıcında bir "$" ekleyin.When you're using variables, add a "$" at the beginning of the string, like in the following example.

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ı ile OAutharasında geçiş yapmak iyi bir zamandır.When your code is working, it's a good time to switch from basic auth to OAuth.

TFS için IIS temel kimlik doğrulamasını etkinleştirirseniz, PATs 'ler geçerli değildir.If you enable IIS Basic Authentication for TFS, PATs aren't valid. Daha fazla bilgi için bkz. Şirket ıçı TFS Ile IIS temel kimlik doğrulaması kullanma.For more information, see Using IIS Basic Authentication with TFS on-premises.

PATs 'lerin nasıl kullanılacağına ilişkin daha fazla örnek için bkz. Git kimlik bilgileri yöneticileri, REST API 'ler, Mac 'te NuGet, [Raporlama istemcileriveya Azure DevOps CLI ile çalışmaya başlama.For more examples of how to use PATs, see Git credential managers, REST APIs, NuGet on a Mac, [Reporting clients, or Get started with Azure DevOps CLI.

Bir PAT 'yi değiştirmeModify a PAT

Bir PAT yeniden oluşturabilir veya genişletebilir ve kapsamınıdeğiştirebilirsiniz.You can regenerate or extend a PAT, and modify its scope.

Not

Yeni Hesap Yöneticisi sayfası için yeni kullanıcı arabirimini etkinleştirmek üzere, bkz. özellikleri yönetme veya etkinleştirme.To enable the new user interface for the New account manager page, see Manage or enable features.

  1. Giriş sayfanızda, kullanıcı ayarlarınızı açın ve profil' i seçin.From your home page, open your user settings, and then select Profile.

    Profil ekip Hizmetleri, Önizleme sayfası, bir PAT 'yi değiştirme.

  2. Güvenlik altında, kişisel erişim belirteçleri' ni seçin.Under Security, select Personal access tokens. Değiştirmek istediğiniz belirteci seçin ve ardından Düzenle' yi seçin.Select the token for which you want to modify, and then select Edit.

    PAT 'yi değiştirmek için Düzenle 'yi seçin

  3. Belirteç adını, uygulanan organizasyonu, belirteç süre sonu veya belirteçle ilişkili erişimin kapsamını düzenleyin ve ardından Kaydet' i seçin.Edit the token name, organization it applies to, token expiration, or the scope of access that's associated with the token, and then select Save.

    PAT 'yi değiştirme ve kaydetme

PAT iptal etmeRevoke a PAT

Çeşitli nedenlerle bir PAT 'yi dilediğiniz zaman iptal edebilirsiniz.You can revoke a PAT at any time, for various reasons.

Not

Yeni Hesap Yöneticisi sayfası için yeni kullanıcı arabirimini etkinleştirmek üzere, bkz. özellikleri yönetme veya etkinleştirme.To enable the new user interface for the New account manager page, see Manage or enable features.

  1. Giriş sayfanızda, kullanıcı ayarlarınızı açın ve profil' i seçin.From your home page, open your user settings, and then select Profile.

    Profil ekip Hizmetleri, Önizleme sayfası, bir PAT iptal etme.

  2. Güvenlik altında, kişisel erişim belirteçleri' ni seçin.Under Security, select Personal access tokens. Erişimini iptal etmek istediğiniz belirteci seçin ve ardından iptal' i seçin.Select the token for which you want to revoke access, and then select Revoke.

    Belirteci veya tüm belirteçleri iptal etme

  3. Onay iletişim kutusunda iptal ' i seçin.Select Revoke in the confirmation dialog.

    İptali Onayla

SSSFAQs

S: REST API aracılığıyla bir PAT yenilemek için bir yol var mı?Q: Is there a way to renew a PAT via REST API?

Y: Hayır, bir PAT yenilemek için REST API yok.A: No, we don't have a REST API to renew a PAT. Kullanıcı arabirimi (UI) içinde yalnızca bir PAT oluşturabilirsiniz.You can only regenerate a PAT within the user interface (UI).

S: tüm Azure DevOps REST API 'Leriyle temel kimlik doğrulaması kullanabilir miyim?Q: Can I use basic auth with all of Azure DevOps REST APIs?

C: Hayır.A: No. Temel kimlik doğrulama 'yı bunlardan büyük bir şekilde kullanabilirsiniz, ancak kuruluşlar ve profiller yalnızca OAuth'ı destekler.You can use basic auth with most of them, but organizations and profiles only support OAuth.

S: bu sitemi GitHub 'da yanlışlıkla ortak bir depoya denetsem ne olur?Q: What happens if I accidentally check my PAT into a public repository on GitHub?

Y: Azure DevOps, GitHub 'da ortak depolara işaretlenmiş PATs 'leri tarar.A: Azure DevOps scans for PATs checked into public repositories on GitHub. Sızan bir belirteç bulunduğunda, belirteç sahibine ayrıntılı bir e-posta bildirimi gönderir ve Azure DevOps kuruluşunuzun denetim günlüğünebir olay kaydedilir.When a leaked token is discovered, we immediately send a detailed email notification to the token owner and log an event to your Azure DevOps organization's audit log. Etkilenen kullanıcıların , sızdırılan ' i döndürerek veya iptalederek hemen hafifletmek önerilir.We encourage impacted users to mitigate immediately by rotating or revoking the leaked PAT.