Bagikan melalui


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.

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.

GIF animasi memperlihatkan penambahan kunci publik SSH ke Azure DevOps

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 mengganti do dengan nama repositori Anda yang sebenarnya. Misalnya, jika repositori Anda diberi nama my-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.