Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Artikel ini menjelaskan metode autentikasi untuk integrasi Azure DevOps dan membantu Anda memilih opsi terbaik untuk skenario Anda. Pendekatan autentikasi modern seperti Microsoft Entra ID memberikan keamanan yang ditingkatkan dan merupakan pendekatan terbaik untuk aplikasi baru.
Gunakan autentikasi Microsoft Entra ID untuk aplikasi baru yang terintegrasi dengan Azure DevOps Services. Gunakan token akses pribadi dengan hemat, dan hanya saat Microsoft Entra ID tidak tersedia.
Penting
Pertimbangkan untuk menggunakan token Microsoft Entra yang lebih aman dibandingkan dengan token akses pribadi yang memiliki risiko lebih tinggi. Untuk informasi selengkapnya, lihat Mengurangi penggunaan PAT. Tinjau panduan autentikasi untuk memilih mekanisme autentikasi yang tepat untuk kebutuhan Anda.
OAuth 2.0 dan autentikasi Microsoft Entra ID hanya tersedia untuk Layanan Azure DevOps, tidak Azure DevOps Server.
Untuk skenario lokal, gunakan pustaka klien .NET, otentikasi Windows, atau token akses personal.
Petunjuk
Anda dapat menggunakan AI untuk membantu Anda dalam tugas ini nanti dalam artikel ini, atau lihat Mengaktifkan dukungan AI dengan Azure DevOps MCP Server untuk memulai.
Metode autentikasi berdasarkan skenario
Pilih metode autentikasi yang sesuai berdasarkan jenis dan persyaratan aplikasi Anda.
| Jenis aplikasi | Deskripsi | Contoh | Metode yang direkomendasikan | Sampel kode |
|---|---|---|---|---|
| Aplikasi web/desktop | Aplikasi interaktif menggunakan kerangka kerja saat ini | Aplikasi React, aplikasi desktop .NET | Microsoft Entra OAuth dengan Microsoft Authentication Library (MSAL) | Aplikasi konsol klien terkelola |
| Aplikasi layanan/latar belakang | Aplikasi yang berjalan tanpa interaksi pengguna | Azure Functions, layanan latar belakang | Prinsipal layanan dan identitas terkelola | Prinsipal layanan |
| Aplikasi klien warisan | Aplikasi yang sudah ada menggunakan pustaka klien | Aplikasi konsol dengan pustaka .NET untuk Azure DevOps | pustaka klien .NET dengan OAuth | aplikasi konsol pustaka klien |
| Aplikasi headless/CLI | Alat baris perintah noninteraktif | Membuat skrip, alat otomatisasi | Alur pemberian otorisasi perangkat | profil Perangkat |
| ekstensi Azure DevOps | Ekstensi yang berjalan dalam Azure DevOps | Widget dasbor kustom dan formulir item kerja | Azure DevOps ekstensi web SDK | Menambahkan widget dasbor |
| aplikasi Azure DevOps Server | Integrasi Azure DevOps Server di Tempat | Ekstensi server khusus | Pustaka klien .NET atau Autentikasi Windows | aplikasi konsol pustaka klien |
| Skrip pribadi/ad hoc | Skrip cepat untuk penggunaan pribadi | Skrip PowerShell, perintah curl | Token akses pribadi | Mulai menggunakan REST API |
| Azure Pipelines | Akses Azure DevOps dari pipeline | Mengonsumsi artefak dari organisasi yang berbeda | koneksi layanan Azure DevOps | Tambahkan koneksi layanan Azure DevOps Microsoft Entra |
Saran untuk memulai
Bagian berikut ini memberikan rekomendasi untuk memulai dalam skenario yang berbeda.
Aplikasi baru
- integrasi Build Azure DevOps dengan aplikasi OAuth Microsoft Entra untuk keamanan terbaik dan kompatibilitas di masa mendatang.
- Gunakan prinsip layanan atau identitas terkelola untuk skenario antar layanan.
- Hindari token akses pribadi dalam aplikasi produksi.
Aplikasi yang ada
- Rencanakan migrasi dari token akses pribadi ke autentikasi Microsoft Entra ID.
- Pertimbangkan garis waktu migrasi authentication untuk peningkatan Azure DevOps dan mengurangi penggunaan token akses pribadi.
- Tinjau pendekatan autentikasi Anda saat ini terhadap praktik terbaik keamanan.
Azure DevOps Server
- Gunakan pustaka klien .NET dengan Autentikasi Windows jika memungkinkan.
- Gunakan token akses pribadi untuk skenario Azure DevOps Server saat dapat diterima.
- Rencanakan migrasi Layanan Azure DevOps di masa mendatang untuk memanfaatkan autentikasi modern.
Tanya jawab umum (FAQ)
Haruskah saya menggunakan Microsoft Entra ID OAuth atau token akses pribadi?
Gunakan Microsoft Entra ID OAuth dalam skenario berikut:
- Aplikasi dan integrasi baru.
- Beban kerja produksi yang memerlukan keamanan yang kuat.
- Aplikasi yang membutuhkan integrasi identitas perusahaan.
- Proyek jangka panjang dengan persyaratan kepatuhan.
Gunakan token akses pribadi hanya dalam skenario berikut:
- Skrip pribadi dan tugas ad hoc.
- Aplikasi warisan selama perencanaan migrasi.
- Skenario Azure DevOps Server di mana autentikasi modern tidak tersedia.
Haruskah saya menggunakan perwakilan layanan atau delegasi pengguna untuk autentikasi?
Gunakan perwakilan layanan atau identitas terkelola dalam skenario berikut:
- Bangun aplikasi yang beroperasi secara independen (layanan latar belakang, otomatisasi).
- Buat aplikasi yang tidak memerlukan interaksi pengguna.
- Menerapkan komunikasi layanan ke layanan.
- Bangun alur integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) atau alur kerja otomatis.
Gunakan delegasi pengguna (OAuth dengan persetujuan pengguna) dalam skenario berikut:
- Membangun aplikasi yang bertindak untuk pengguna manusia.
- Buat aplikasi interaktif tempat pengguna masuk dengan kredensial mereka sendiri.
- Terapkan fitur yang memerlukan izin khusus pengguna.
- Buat aplikasi yang menghormati hak akses individual pengguna.
Bagaimana cara mengautentikasi dengan Azure DevOps Services dan Azure DevOps Server?
Buat jalur autentikasi terpisah untuk setiap layanan:
- Azure DevOps Services: Gunakan Microsoft Entra ID OAuth.
- Azure DevOps Server: Gunakan pustaka klien .NET dengan Autentikasi Windows atau token akses pribadi.
requestContext Gunakan metode untuk mendeteksi jenis layanan, dan menerapkan metode autentikasi yang sesuai.
Mengapa akun layanan saya tidak dapat mengakses AZURE DEVOPS API?
Berikut adalah beberapa masalah umum yang memengaruhi akses akun layanan:
- Akun layanan tidak "terwujud": Gunakan metode masuk yang benar. Akun layanan memerlukan izin masuk interaktif atau pendaftaran Microsoft Entra ID yang tepat.
- Izin Tidak Mencukupi: Pastikan akun layanan memiliki izin Azure DevOps yang sesuai.
- Metode autentikasi: Gunakan perwakilan layanan atau identitas terkelola alih-alih mencoba mengautentikasi sebagai akun layanan.
Bagaimana cara bermigrasi dari token akses pribadi ke autentikasi modern?
Ikuti langkah-langkah ini:
Identifikasi penggunaan token akses pribadi saat ini di aplikasi Anda.
Pilih metode autentikasi alternatif:
- Microsoft Entra ID OAuth untuk skenario yang didelegasikan pengguna
- Prinsipal layanan untuk skenario antar-layanan
- koneksi layanan Azure DevOps
Perbarui kode autentikasi dengan menggunakan sampel autentikasi migrasi Azure DevOps.
Uji perubahan secara menyeluruh sebelum Anda menghapus dependensi token akses pribadi apa pun.
Pantau dan validasi metode autentikasi baru.
Mengapa saya tidak boleh mendekode atau membaca klaim dari token autentikasi?
Token autentikasi hanya ada untuk membuktikan siapa pemanggil dan apa yang diizinkan untuk mereka lakukan. Ini bukan antarmuka data yang stabil atau skema yang dapat Anda andalkan.
Klaim token tidak pernah didokumenkan secara publik, dan Azure DevOps berhak mengubah, mengganti nama, menghapus, atau mengenkripsinya kapan saja tanpa pemberitahuan. Mulai musim panas 2025, Azure DevOps mengenkripsi token autentikasi lebih lanjut, yang berarti klien tidak dapat membaca payload token. Aplikasi apa pun yang mendekode token untuk mengekstrak klaim rusak.
Alih-alih membaca klaim token, ikuti praktik berikut:
- Perlakukan token sebagai buram — berikan di header otorisasi, tetapi jangan dekode atau periksa.
- Gunakan REST API yang didukung — ambil data pengguna atau organisasi dari REST API Azure DevOps, yang menyediakan kontrak dan dokumentasi yang stabil.
- Asumsikan klaim apa pun dapat berubah — jika Anda menemukan diri Anda mengurai konten token untuk membaca nilai, letakkan logika tersebut dalam panggilan API sebagai gantinya.
Perubahan ini tidak memengaruhi aplikasi yang sudah memperlakukan token sebagai buram.
Prosedur implementasi
Setelah Anda memilih metode autentikasi untuk skenario Anda, selesaikan langkah-langkah implementasi:
- Aplikasi baru: integrasi Build Azure DevOps dengan aplikasi OAuth Microsoft Entra
- Aplikasi Layanan: Gunakan prinsipal layanan dan identitas terkelola di Azure DevOps
- Skrip pribadi: Menggunakan token akses pribadi
- Azure Pipelines: Access Azure DevOps dengan identitas beban kerja Entra
Menggunakan AI untuk memilih metode autentikasi
Jika Anda menyambungkan Azure DevOps MCP Server ke agen AI Anda dalam mode agen, Anda dapat menggunakan perintah bahasa alami untuk mendapatkan rekomendasi autentikasi untuk skenario Anda.
| Tugas | Contoh tanggapan |
|---|---|
| Pilih autentikasi untuk layanan latar belakang | Which authentication method should I use for a background Azure Function that needs to access Azure DevOps APIs? |
| Membandingkan opsi autentikasi | Help me choose between service principals, managed identities, and personal access tokens for my Azure DevOps integration |
| Autentikasi untuk aplikasi web | I'm building a React web app that needs to access Azure DevOps on behalf of signed-in users — what authentication approach should I use? |
| Migrasi dari PATs | Help me plan a migration from personal access tokens to Microsoft Entra ID authentication for my Azure DevOps integrations |
| Autentikasi untuk CI/CD | What's the most secure way to authenticate Azure DevOps REST API calls from a GitHub Actions workflow? |
| Memecahkan masalah kegagalan autentikasi | I'm getting 401 errors when calling the Azure DevOps REST API with my token — help me diagnose the issue |
Nota
Mode agen dan Server MCP menggunakan bahasa alami, sehingga Anda dapat menyesuaikan perintah ini atau mengajukan pertanyaan tindak lanjut untuk memperbaiki hasilnya.
Konten terkait
- OAuth 2.0 untuk Azure DevOps
- Referensi REST API Azure DevOps Services
- Keamanan dan identitas dalam Azure DevOps
- gambaran umum perlindungan data Azure DevOps
- Akses Azure DevOps dengan identitas beban kerja Entra