Menggunakan token akses pribadi
| Layanan Azure DevOps Azure DevOps Server 2020 | | Azure DevOps Server 2019 TFS 2018
Anda dapat menggunakan token akses pribadi (PAT) sebagai kata sandi alternatif untuk mengautentikasi ke Azure DevOps. Dalam artikel ini, kami menunjukkan kepada Anda cara membuat, menggunakan, memodifikasi, dan mencabut PATs untuk Azure DevOps.
Tentang PAT
Token akses pribadi berisi kredensial keamanan Anda untuk Azure DevOps. PAT mengidentifikasi Anda, organisasi Anda yang dapat diakses, dan cakupan akses. Dengan demikian, kredensial ini sama pentingnya dengan kata sandi, jadi Anda harus memperlakukannya dengan cara yang sama.
Jika Anda bekerja menggunakan alat Microsoft, akun Microsoft (MSA) atau Azure Active Directory (Azure AD) adalah pendekatan yang dapat diterima dan didukung dengan baik. Namun, jika Anda bekerja menggunakan alat pihak ketiga yang tidak mendukung akun Microsoft atau Azure AD - atau Anda tidak ingin memberikan kredensial utama ke alat tersebut - gunakan PAT untuk membatasi risikonya.
Anda dapat membuat dan mengelola PAT dengan salah satu cara berikut:
- antarmuka pengguna di pengaturan pengguna Anda, yang dijelaskan secara terperinci dalam artikel ini
- melalui API Manajemen Siklus Hidup PAT
Untuk menyiapkan PAT untuk alat non-Microsoft, gunakan manajer kredensial Git atau buat secara manual. Kami menyarankan agar Anda meninjau panduan autentikasi kami untuk membantu Anda memilih mekanisme autentikasi yang benar. Untuk proyek yang lebih kecil yang membutuhkan solusi yang tidak terlalu rumit, PAT adalah alternatif sederhana. Kecuali pengguna Anda menggunakan manajer kredensial, mereka harus selalu memasukkan kredensial secara manual.
Membuat PAT
Catatan
Gambar yang Anda lihat dari portal web Anda mungkin berbeda dari gambar yang Anda lihat di artikel ini. Perbedaan ini dihasilkan dari pembaruan yang dibuat untuk Azure DevOps atau fitur pratinjau yang diaktifkan. Kami telah mengaktifkan fitur halaman Manajer akun baru . Fungsionalitas dasar yang tersedia untuk Anda tetap sama kecuali disebutkan secara eksplisit.
Masuk ke organisasi Anda (
https://dev.azure.com/{yourorganization}).Dari halaman beranda Anda, buka pengaturan
pengguna, lalu pilih Token akses pribadi.
Pilih + Token Baru.

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

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

Catatan
Anda mungkin dibatasi untuk membuat PATs dengan cakupan penuh. Jika demikian, Administrator Azure DevOps Anda di Azure AD telah mengaktifkan kebijakan yang membatasi Anda ke serangkaian cakupan tertentu yang ditentukan. Untuk informasi selengkapnya, lihat Mengelola PAT dengan kebijakan/Membatasi pembuatan PATs dengan cakupan penuh. Untuk PAT yang ditentukan khusus, cakupan yang diperlukan untuk mengakses API Tata Kelola Komponen,
vso.governance, tidak dapat dipilih di UI.Setelah selesai, pastikan untuk menyalin token dan menyimpannya di lokasi yang aman. Untuk keamanan Anda, keamanan tidak akan ditampilkan lagi.

Peringatan
Perlakukan dan gunakan PAT seperti kata sandi Anda dan rahasiakan.
Masuk ke portal web Anda (
https://{server}:8080/tfs/).Dari halaman beranda, buka profil Anda. Buka detail keamanan Anda.

Buat token akses pribadi.

Beri nama token Anda. Pilih masa pakai untuk token Anda.
Jika Anda memiliki lebih dari satu organisasi, Anda juga dapat memilih organisasi tempat Anda ingin menggunakan token.

Pilih cakupan token ini untuk mengotorisasi tugas spesifik Anda.
Misalnya, untuk membuat token guna mengaktifkan agen build dan rilis untuk mengautentikasi, batasi cakupan token Anda ke Kumpulan Agen (baca, kelola).
Setelah selesai, pastikan untuk menyalin token. Untuk keamanan Anda, keamanan tidak akan ditampilkan lagi. Gunakan token ini sebagai kata sandi Anda. Pilih Tutup.

Gunakan PAT Anda di mana saja kredensial pengguna Anda diperlukan untuk autentikasi di Azure DevOps.
Penting
Untuk organisasi yang didukung oleh Azure Active Directory, Anda memiliki waktu 90 hari untuk masuk dengan PAT baru Anda, jika tidak, itu dianggap tidak aktif. Untuk informasi selengkapnya, lihat Frekuensi masuk pengguna untuk Akses Bersyarat.
Pemberitahuan
Pengguna menerima dua pemberitahuan selama masa pakai PAT - satu setelah pembuatan dan tujuh hari lainnya sebelum kedaluwarsa.
Setelah membuat PAT, Anda menerima pemberitahuan yang mirip dengan contoh berikut. Pemberitahuan ini mengonfirmasi bahwa PAT Anda telah ditambahkan ke organisasi Anda.
Gambar berikut menunjukkan contoh pemberitahuan tujuh hari sebelum PAT Anda kedaluwarsa.
Pemberitahuan tak terduga
Jika Anda menerima pemberitahuan PAT yang tidak terduga, administrator atau alat mungkin telah membuat PAT atas nama Anda. Lihat contoh berikut.
- Saat Anda menyambungkan ke repositori Azure DevOps Git melalui git.exe. ini membuat token dengan nama tampilan seperti "git:
https://MyOrganization.visualstudio.com/di MyMachine." - Saat Anda atau administrator menyiapkan penyebaran aplikasi web Azure App Service, ia membuat token dengan nama tampilan seperti "Service Hooks: : Azure App Service: : Deploy web app."
- Saat Anda atau administrator menyiapkan pengujian beban web sebagai bagian dari alur, ia membuat token dengan nama tampilan seperti "WebAppLoadTestCDIntToken".
- Saat Ekstensi Olahpesan Integrasi Microsoft Teams disiapkan, ekstensi ini membuat token dengan nama tampilan seperti "Integrasi Microsoft Teams".
Peringatan
Jika Anda yakin bahwa PAT ada dalam kesalahan, kami sarankan Anda mencabut PAT. Kemudian, ubah kata sandi Anda. Sebagai pengguna Azure AD, tanyakan kepada administrator Anda untuk melihat apakah organisasi Anda digunakan dari sumber atau lokasi yang tidak diketahui. Lihat juga FAQ tentang secara tidak sengaja memeriksa PAT ke repositori GitHub publik.
Menggunakan PAT
PAT Anda adalah identitas Anda dan mewakili Anda ketika Anda menggunakannya, sama 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 dan $MyPat, yang disertakan dalam blok kode berikut.
Di PowerShell, masukkan kode berikut.
$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
Untuk menjaga 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://<PAT>@<company_machineName>.visualstudio.com:/<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, namun perhatikan peringatan berikut.
Peringatan
Beberapa API publik kami saat ini tidak terkait dengan cakupan PAT, dan karenanya hanya dapat digunakan dengan PAT "cakupan penuh". Karena itu, membatasi pembuatan PATs dengan cakupan penuh mungkin memblokir beberapa alur kerja. Kami berupaya mengidentifikasi dan mendokumenkan API yang terpengaruh dan akhirnya mengaitkannya dengan cakupan yang sesuai. Untuk saat ini, alur kerja ini dapat dibuka blokirnya dengan menggunakan daftar izinkan.
Jika Anda ingin memberikan PAT melalui header HTTP, pertama-tama konversikan ke string Base64. 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:
Jika Anda mengaktifkan Autentikasi Dasar IIS untuk TFS, PATs tidak valid. Untuk informasi selengkapnya, lihat Menggunakan Autentikasi Dasar IIS dengan TFS lokal.
Mengubah PAT
Anda dapat meregenerasi atau memperluas PAT, dan memodifikasi cakupannya. Setelah regenerasi, PAT sebelumnya tidak lagi diotorisasi.
Dari halaman beranda Anda, buka pengaturan
pengguna Anda, lalu pilih Profil.
Di bawah Keamanan, pilih Token akses pribadi. Pilih token yang ingin Anda ubah, lalu Edit.
Edit nama token, organisasi yang berlaku untuk, kedaluwarsa token, atau cakupan akses yang terkait dengan token, lalu pilih Simpan.

Mencabut PAT
Anda dapat mencabut PAT kapan saja, karena berbagai alasan.
Dari halaman beranda Anda, buka pengaturan
pengguna Anda, lalu pilih Profil.
Di bawah Keamanan, pilih Token akses pribadi. Pilih token yang ingin Anda cabut aksesnya, lalu pilih Cabut.

Pilih Cabut dalam dialog konfirmasi.

Artikel terkait
- Tentang keamanan, autentikasi, dan otorisasi
- Izin dan akses default untuk Azure DevOps
- Mencabut PATs pengguna (untuk admin)
Tanya Jawab Umum
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 Azure Active Directory (Azure AD), PAT juga tidak valid di Azure AD, karena milik pengguna. Kami menyarankan agar pengguna memutar PAT mereka ke pengguna atau akun layanan lain agar layanan tetap berjalan.
T: Apakah ada cara untuk memperbarui PAT melalui REST API?
A: Ya, ada cara untuk memperbarui, mengelola, dan membuat PAT menggunakan API Manajemen Siklus Hidup PAT kami. Untuk informasi selengkapnya, lihat Mengelola PAT menggunakan REST API dan FAQ kami.
T: Bisakah 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 yang bocor, kami segera mengirim pemberitahuan email terperinci ke pemilik token dan mencatat peristiwa ke log audit organisasi Azure DevOps Anda. Kami mendorong pengguna yang terpengaruh untuk segera mengurangi dengan memutar atau mencabut PAT yang bocor.
Ada kebijakan untuk mengelola TRO yang bocor! Untuk informasi selengkapnya, lihat Mencabut PAT 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, disarankan untuk menginstal Penyedia Kredensial Artefak Azure untuk mengautentikasi dengan Artefak Azure. Lihat contoh berikut untuk detail selengkapnya: dotnet, NuGet.exe. Jika Anda ingin menerbitkan paket menggunakan Azure Pipelines, gunakan tugas NuGet Authenticate untuk mengautentikasi dengan contoh umpan Anda.