Bagikan melalui


Menggunakan token akses pribadi

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Token Akses Pribadi (PAT) dapat berfungsi sebagai kata sandi alternatif untuk mengautentikasi ke Azure DevOps. Artikel ini memandu Anda melalui proses pembuatan, pemanfaatan, modifikasi, dan pencabutan PATs untuk Azure DevOps.

Tentang PAT

Token Akses Pribadi (PAT) berfungsi sebagai kredensial keamanan Anda untuk Azure DevOps. PAT ini tidak hanya mengidentifikasi Anda tetapi juga menentukan aksesibilitas dan cakupan akses Anda. Oleh karena itu, PAT sama pentingnya dengan kata sandi dan harus ditangani dengan tingkat kewaspadaan yang sama.

Jika Anda menggunakan alat Microsoft, maka akun Microsoft (MSA) atau ID Microsoft Entra Anda adalah metode yang dikenali dan didukung. Namun, jika Anda menggunakan alat pihak ketiga yang tidak mendukung akun Microsoft atau Microsoft Entra, atau jika Anda enggan berbagi kredensial utama Anda dengan alat-alat ini, PATs adalah alternatif yang lebih aman.

Buat dan kelola PAT dengan dua cara berikut:

Untuk membuat PAT untuk alat non-Microsoft, Anda dapat menggunakan pengelola kredensial Git atau membuatnya secara manual. Kami menyarankan Anda untuk meninjau panduan autentikasi kami untuk membantu Anda memilih mekanisme autentikasi yang sesuai. PATS berfungsi sebagai alternatif mudah untuk proyek yang lebih kecil yang tidak memerlukan solusi yang luas. Kecuali manajer kredensial sedang digunakan, pengguna harus memasukkan kredensial mereka setiap kali.

Membuat PAT

  1. Masuk ke organisasi Anda (https://dev.azure.com/{Your_Organization}).

  2. Dari halaman beranda Anda, buka pengaturan pengguna dan pilih Token akses pribadi.

    Cuplikan layar memperlihatkan pilihan, Token Akses Pribadi.

  3. Pilih + Token Baru.

    Cuplikan layar memperlihatkan pilihan, Token Baru.

  4. Beri nama token Anda, pilih organisasi tempat Anda ingin menggunakan token, lalu atur token Anda kedaluwarsa secara otomatis setelah jumlah hari yang ditetapkan.

    Cuplikan layar memperlihatkan entri informasi token dasar.

  5. Pilih cakupan token ini untuk mengotorisasi tugas spesifik Anda.

    Misalnya, untuk membuat token guna mengaktifkan agen build dan rilis untuk mengautentikasi ke Azure DevOps, batasi cakupan token Anda ke Kumpulan Agen (Baca & kelola). Untuk membaca peristiwa log audit, dan mengelola dan menghapus aliran, pilih Baca Log Audit, lalu pilih Buat.

    Cuplikan layar memperlihatkan cakupan yang dipilih untuk PAT.

    Catatan

    Anda mungkin dibatasi untuk membuat PATs cakupan penuh. Jika demikian, Administrator Azure DevOps Anda di MICROSOFT Entra ID mengaktifkan kebijakan yang membatasi Anda ke serangkaian cakupan tertentu yang ditentukan. Untuk informasi selengkapnya, lihat Mengelola PAT dengan kebijakan/Membatasi pembuatan EK yang tercakup penuh. Untuk PAT khusus yang ditentukan, cakupan yang diperlukan untuk mengakses API Tata Kelola Komponen, vso.governance, tidak dapat dipilih di UI.

  6. Setelah selesai, salin token dan simpan di lokasi yang aman. Untuk keamanan Anda, keamanan tidak ditampilkan lagi.

    Cuplikan layar memperlihatkan cara menyalin token ke clipboard Anda.

Gunakan PAT Anda di mana saja kredensial pengguna Anda diperlukan untuk autentikasi di Azure DevOps.

Penting

  • Tangani PAT dengan perhatian yang sama dengan kata sandi Anda dan rahasiakan.
  • Untuk organisasi yang didukung oleh MICROSOFT Entra ID, Anda perlu masuk dengan PAT baru Anda dalam waktu 90 hari; kegagalan untuk melakukannya membuat PAT tidak aktif. Untuk informasi selengkapnya, lihat Frekuensi masuk pengguna untuk Akses Bersyarat.

Notifications

Selama masa pakai PAT, pengguna menerima dua pemberitahuan - yang pertama pada saat pembuatan dan yang kedua satu tujuh hari sebelum kedaluwarsa.

Setelah membuat PAT, Anda menerima pemberitahuan yang mirip dengan contoh berikut. Pemberitahuan ini berfungsi sebagai konfirmasi bahwa PAT Anda berhasil ditambahkan ke organisasi Anda.

Cuplikan layar memperlihatkan pemberitahuan yang dibuat PAT.

Gambar berikut menunjukkan contoh pemberitahuan tujuh hari sebelum PAT Anda kedaluwarsa.

Cuplikan layar memperlihatkan PAT mendekati pemberitahuan kedaluwarsa.

Pemberitahuan tak terduga

Jika Anda mendapatkan pemberitahuan PAT yang tidak terduga, itu mungkin berarti bahwa administrator atau alat membuat PAT untuk Anda. Berikut adalah beberapa contoh.

  • Token bernama "git: https://dev.azure.com/{Your_Organization} on YourMachine" akan dibuat saat Anda terhubung ke repositori Azure DevOps Git melalui git.exe.
  • Token bernama "Service Hooks: : Azure App Service: : Deploy web app" akan dibuat saat penyebaran aplikasi web Azure App Service disiapkan oleh Anda atau administrator.
  • Token bernama "WebAppLoadTestCDIntToken" dibuat saat pengujian beban web disiapkan sebagai bagian dari alur oleh Anda atau administrator.
  • Token bernama "Integrasi Microsoft Teams" dibuat saat Ekstensi Olahpesan Integrasi Microsoft Teams disiapkan.

Peringatan

Jika Anda menduga bahwa PAT ada kesalahan, pertimbangkan untuk mencabut PAT dan mengubah kata sandi Anda. Sebagai pengguna Microsoft Entra, hubungi administrator Anda untuk melihat apakah organisasi Anda digunakan oleh sumber atau lokasi yang tidak diketahui. Selain itu, lihat FAQ tentang check-in PAT yang tidak disengaja ke repositori GitHub publik.

Menggunakan PAT

PAT Anda berfungsi sebagai identitas digital Anda, mewakili Anda ketika digunakan, seperti kata sandi.

Git

Interaksi Git memerlukan nama pengguna, yang dapat berupa apa pun kecuali string kosong. Untuk menggunakan PAT dengan autentikasi dasar HTTP, gunakan Base64-encode untuk $MyPat, yang disertakan dalam blok kode berikut.

Di PowerShell, masukkan kode berikut.

$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

Agar token Anda lebih aman, gunakan manajer info masuk sehingga Anda tidak perlu memasukkan kredensial Anda setiap saat. Kami merekomendasikan Git Credential Manager. Git untuk Windows diperlukan.

Repositori yang ada

Untuk repositori yang ada, jika Anda sudah menambahkan asal menggunakan nama pengguna, jalankan perintah berikut terlebih dahulu.

git remote remove origin

Jika tidak, jalankan perintah berikut.

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

Menggunakan PAT dalam kode Anda

Anda dapat menggunakan PAT dalam kode Anda.

Untuk menyediakan PAT melalui header HTTP, pertama-tama konversikan ke Base64 string. Contoh berikut menunjukkan cara mengonversi ke Base64 menggunakan C#.


Authorization: Basic BASE64_USERNAME_PAT_STRING

String yang dihasilkan kemudian dapat disediakan sebagai header HTTP dalam format berikut.

Sampel berikut menggunakan kelas HttpClient di C#.

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());
    }
}

Tip

Saat Anda menggunakan variabel, tambahkan $ di awal string, seperti dalam contoh berikut.

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());
   }
}

Saat kode Anda berfungsi, saat yang tepat untuk beralih dari autentikasi dasar ke OAuth.

Untuk informasi selengkapnya dan contoh cara menggunakan PATs, lihat artikel berikut ini:

Mengubah PAT

Anda dapat meregenerasi, memperluas PAT, atau mengubah cakupannya. Setelah diregenerasi, PAT sebelumnya menjadi tidak sah.

  1. Dari beranda Anda, buka pengaturan pengguna Anda, lalu pilih Profil.

    Cuplikan layar memperlihatkan urutan tombol untuk memilih untuk mengubah PAT.

  2. Di bawah Keamanan, pilih Token akses pribadi. Pilih token yang ingin Anda ubah, lalu Edit.

    Cuplikan layar memperlihatkan tombol Edit yang disorot untuk mengubah PAT.

  3. Edit nama token, kedaluwarsa token, atau cakupan akses yang terkait dengan token, lalu pilih Simpan.

    Cuplikan layar memperlihatkan PAT yang dimodifikasi.

Mencabut PAT

Anda dapat mencabut PAT kapan saja, karena berbagai alasan.

  1. Dari beranda Anda, buka pengaturan pengguna Anda, lalu pilih Profil.

    Cuplikan layar memperlihatkan urutan tombol untuk memilih, Layanan Tim, halaman Pratinjau, dan mencabut PAT.

  2. Di bawah Keamanan, pilih Token akses pribadi. Pilih token yang ingin Anda cabut aksesnya, lalu pilih Cabut.

    Cuplikan layar memperlihatkan pilihan untuk mencabut satu token atau semua token.

  3. Pilih Cabut dalam dialog konfirmasi.

    Cuplikan layar memperlihatkan layar konfirmasi untuk mencabut PAT.

Untuk informasi selengkapnya, lihat Mencabut PAT pengguna untuk admin.

Perubahan pada format

Mulai Juli 2024, kami membuat perubahan signifikan pada format PATs yang dikeluarkan oleh Azure DevOps. Perubahan ini memberikan lebih banyak manfaat keamanan dan meningkatkan alat deteksi rahasia yang tersedia melalui penawaran mitra kami, seperti GitHub Advanced Security untuk Azure DevOps. Perubahan format PAT ini mengikuti format baru yang direkomendasikan di semua produk Microsoft. Kami mengantisipasi bahwa dimasukkannya bit yang lebih dapat diidentifikasi akan meningkatkan tingkat deteksi positif palsu dari alat deteksi rahasia ini dan memungkinkan kami untuk mengurangi kebocoran yang terdeteksi dengan lebih cepat dengan lebih baik.

Perubahan kunci:

  • Panjang token yang ditingkatkan: Token baru lebih panjang, sekarang totalnya 84 karakter. Dari jumlah ini, 52 karakter adalah data acak. Peningkatan panjang ini meningkatkan entropi keseluruhan, membuat token lebih tahan terhadap potensi serangan brute force.
  • Tanda tangan tetap: Token yang dikeluarkan oleh layanan kami menyertakan tanda tangan tetap AZDO pada posisi 76-80.

Tindakan yang diperlukan:

  • Regenerasi PAT yang ada: Kami sangat menyarankan untuk meregenerasi semua PAT yang saat ini digunakan untuk memanfaatkan peningkatan keamanan ini.
  • Dukungan integrator: Integrator harus memperbarui sistem mereka untuk mengakomodasi panjang token baru dan yang sudah ada.

Karena kedua format tetap valid untuk masa depan yang dapat diperkirakan, kami secara aktif mendorong pelanggan untuk beralih ke format 84 karakter baru. Ketika adopsi format baru meningkat, kami akan mempertimbangkan untuk menghentikan format 52 karakter yang lebih lama dan semua token yang dikeluarkan dalam gaya tersebut.

Tanya Jawab Umum

T: Mengapa saya tidak dapat mengedit atau meregenerasi PAT yang dicakup ke satu organisasi?

A: Pastikan Anda masuk ke organisasi tempat PAT Anda dicakup. Anda dapat melihat semua PAT saat masuk ke organisasi mana pun di ID Microsoft Entra yang sama, tetapi Anda hanya dapat mengedit token cakupan organisasi saat Masuk ke organisasi tempat mereka tercakup.

T: Apa yang terjadi pada PAT jika akun pengguna dinonaktifkan?

A: Setelah pengguna dihapus dari Azure DevOps, PAT tidak valid dalam waktu 1 jam. Jika organisasi Anda tersambung ke ID Microsoft Entra, PAT juga tidak valid di ID Microsoft Entra, karena milik pengguna. Kami menyarankan agar pengguna memutar PAT mereka ke pengguna atau akun layanan lain untuk menjaga layanan tetap berjalan.

T: Apakah ada cara untuk memperbarui PAT melalui REST API?

A: Ya, ada cara untuk memperbarui, mengelola, dan membuat PATs menggunakan PAT Lifecycle Management API kami. Untuk informasi selengkapnya, lihat Mengelola PAT menggunakan REST API dan FAQ kami.

T: Dapatkah saya menggunakan autentikasi dasar dengan semua REST API Azure DevOps?

J: Tidak. Anda dapat menggunakan autentikasi dasar dengan sebagian besar REST API Azure DevOps, tetapi organisasi dan profil hanya mendukung OAuth. Untuk informasi selengkapnya, lihat Mengelola PAT menggunakan REST API.

T: Apa yang terjadi jika saya secara tidak sengaja memeriksa PAT saya ke repositori publik di GitHub?

A: Azure DevOps memindai PAT yang diperiksa ke repositori publik di GitHub. Ketika kami menemukan token bocor, kami segera mengirim pemberitahuan email terperinci ke pemilik token dan mencatat peristiwa ke log audit organisasi Azure DevOps Anda. Kecuali Anda menonaktifkan kebijakan Token akses pribadi yang dicabut secara otomatis, kami segera mencabut PAT yang bocor. Kami mendorong pengguna yang terpengaruh untuk segera melakukan mitigasi dengan mencabut token yang bocor dan menggantinya dengan token baru.

Untuk informasi selengkapnya, lihat Mencabut TRO yang bocor secara otomatis.

T: Dapatkah saya menggunakan token akses pribadi sebagai ApiKey untuk menerbitkan paket NuGet ke umpan Azure Artifacts menggunakan baris perintah dotnet/nuget.exe?

J: Tidak. Azure Artifacts tidak mendukung penerusan token akses pribadi sebagai ApiKey. Saat menggunakan lingkungan pengembangan lokal, sebaiknya instal Penyedia Kredensial Artefak Azure untuk mengautentikasi dengan Azure Artifacts. Untuk mengetahui informasi selengkapnya, lihat contoh berikut: dotnet, NuGet.exe. Jika Anda ingin menerbitkan paket menggunakan Azure Pipelines, gunakan tugas NuGet Authenticate untuk mengautentikasi dengan contoh umpan Anda.

T: Mengapa PAT saya berhenti bekerja?

A: Autentikasi PAT mengharuskan Anda untuk secara teratur masuk ke Azure DevOps menggunakan alur autentikasi lengkap. Setiap 30 hari sekali cukup untuk banyak orang, tetapi Anda mungkin perlu masuk lebih sering daripada itu tergantung pada konfigurasi Microsoft Entra Anda. Jika PAT Anda berhenti berfungsi, pertama-tama coba masuk ke organisasi Anda, pastikan Anda melalui perintah autentikasi lengkap. Jika PAT Anda masih tidak berfungsi setelah itu, periksa untuk melihat apakah PAT Anda telah kedaluwarsa.