Autentikasi dengan Azure Repos
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Memilih metode autentikasi yang tepat sangat penting untuk akses aman ke repositori Azure Repos dan Azure DevOps Server Git Anda. Baik Anda bekerja dari prompt perintah atau menggunakan klien Git yang mendukung HTTPS atau SSH, penting untuk memilih kredensial yang tidak hanya menyediakan akses yang diperlukan tetapi juga membatasi cakupan untuk apa yang diperlukan untuk tugas Anda.
Selalu cabut kredensial saat kredensial tidak lagi diperlukan untuk menjaga keamanan repositori Anda. Pendekatan ini memastikan bahwa Anda memiliki fleksibilitas untuk bekerja dengan kode Anda dengan aman dan efisien, sekaligus melindunginya dari akses yang tidak sah.
Mekanisme autentikasi
Token Microsoft Entra OAuth
Gunakan Microsoft Entra untuk menghasilkan token untuk mengakses REST API. Token Microsoft Entra dapat digunakan di mana pun token akses pribadi digunakan. Berikut adalah tips bermanfaat tentang cara mendapatkan token akses satu kali dari Azure CLI untuk memanggil git fetch:
$accessToken = az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
git -c http.extraheader="AUTHORIZATION: bearer $accessToken" clone https://dev.azure.com/{yourOrgName}/{yourProjectName}/_git/{yourRepoName}
Tip
Lihat Git Credential Manager (GCM) untuk menghindari memasukkan kredensial Anda setiap kali. Gunakan GCM dengan jenis kredensial default sebagai Oauth
untuk menghasilkan token Microsoft Entra.
Token akses pribadi
Token akses pribadi (PATs) menyediakan akses ke Azure DevOps tanpa menggunakan nama pengguna dan kata sandi Anda secara langsung. Token ini kedaluwarsa dan memungkinkan Anda membatasi cakupan data yang dapat mereka akses.
Gunakan PAT untuk mengautentikasi jika Anda tidak menyiapkan kunci SSH pada sistem Anda atau perlu membatasi izin yang diberikan oleh kredensial.
Interaksi Git memerlukan nama pengguna, yang dapat berupa apa pun kecuali string kosong. Untuk menggunakan PAT dengan autentikasi dasar HTTP, Base64-encode
$MyPat
Anda seperti yang ditunjukkan pada blok kode berikut.
- Windows
- Linux/macOS
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
Saran
Jika Anda menggunakan PATs secara teratur, lihat Git Credential Manager (GCM) untuk menghindari memasukkan kredensial Anda setiap kali. Lebih baik lagi, jelajahi menggunakan GCM dengan jenis kredensial default sebagai Oauth
untuk menghasilkan token Microsoft Entra alih-alih PATs jika memungkinkan.
Kunci SSH
Autentikasi kunci dengan SSH berfungsi melalui pasangan kunci publik dan privat yang Anda buat di komputer Anda. Anda mengaitkan kunci publik dengan nama pengguna Anda dari web. Azure DevOps akan mengenkripsi data yang dikirim kepada Anda dengan kunci tersebut saat Anda bekerja dengan Git. Anda mendekripsi data di komputer Anda dengan kunci privat, yang tidak pernah dibagikan atau dikirim melalui jaringan.
SSH adalah opsi yang bagus jika Anda sudah menyiapkannya di sistem Anda—cukup tambahkan kunci publik ke Azure DevOps dan kloning repositori Anda menggunakan SSH. SSH mungkin lebih disukai bagi mereka yang ada di Linux, macOS, atau Windows yang menjalankan Git untuk Windows yang tidak dapat menggunakan manajer kredensial Git atau token akses pribadi untuk autentikasi HTTPS.
Untuk informasi selengkapnya, lihat Menyiapkan SSH dengan Azure DevOps.
Menggunakan Git Credential Manager untuk menghasilkan token
Gunakan Git Credential Manager (GCM) untuk menghindari memasukkan kredensial Anda setiap kali dan menjaga token Anda lebih aman saat mengakses Azure Repos. Masuk ke portal web, buat token, lalu gunakan token sebagai kata sandi Anda saat Anda menyambungkan ke Azure Repos. Token atau PAT Microsoft Entra dihasilkan sesuai permintaan ketika Anda memiliki manajer kredensial yang diinstal dan disimpan secara lokal untuk digunakan dengan baris perintah Git atau klien lainnya.
Repositori yang ada
Hapus asal yang ada: Jika sebelumnya Anda menambahkan asal menggunakan nama pengguna, hapus dengan menjalankan perintah berikut:
git remote remove origin
Autentikasi dengan PAT: Jika Anda mengalami masalah dengan autentikasi standar, jalankan perintah berikut untuk mengautentikasi melalui baris perintah:
git remote add origin https://dev.azure.com/<PAT>@<company_machineName>:/<project-name>/_git/<repo_name>
git push -u origin --all
path to git repo = /_git/do
mengacu pada struktur jalur URL yang digunakan di Azure DevOps untuk repositori Git. Segmen/_git/
menunjukkan bahwa Anda mengakses repositori Git, dan Anda harus menggantido
dengan nama repositori Anda yang sebenarnya. Misalnya, jika repositori Anda diberi namamy-repo
, jalurnya adalah '/_git/my-repo
'.Repositori Kloning: Jika Anda menggunakan Git dan perlu mengautentikasi, jalankan perintah berikut:
git clone https://{organization}@dev.azure.com/{organization}/_git/{repository}
Ganti
{organization}
dengan nama organisasi Azure DevOps anda dan{repository}
dengan nama repositori Anda.