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.
Layanan Azure DevOps | 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 pendekatan terbaik untuk aplikasi baru.
Penting
Kami merekomendasikan autentikasi ID Microsoft Entra untuk aplikasi baru yang terintegrasi dengan Azure DevOps Services. Gunakan token akses pribadi dengan hemat, dan gunakan hanya saat ID Microsoft Entra tidak tersedia.
OAuth 2.0 dan autentikasi ID Microsoft Entra hanya tersedia untuk Layanan Azure DevOps, bukan Azure DevOps Server.
Untuk skenario lokal, gunakan pustaka klien .NET, autentikasi Windows, atau token akses pribadi.
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 | Perwakilan layanan dan identitas terkelola | Prinsipal layanan |
| Aplikasi klien warisan | Aplikasi yang sudah ada menggunakan pustaka klien | Aplikasi konsol dengan pustaka Azure DevOps .NET | 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 | SDK ekstensi web Azure DevOps | Menambahkan widget dasbor |
| Aplikasi Azure DevOps Server | Integrasi Azure DevOps Server di lokasi | 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 |
Saran untuk memulai
Bagian berikut ini memberikan rekomendasi untuk memulai dalam skenario yang berbeda.
Aplikasi baru
- Bangun integrasi Azure DevOps dengan aplikasi Microsoft Entra OAuth 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 ID Microsoft Entra.
- Pertimbangkan garis waktu migrasi autentikasi untuk peningkatan Azure DevOps dan kurangi 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.
Jawaban pertanyaan-pertanyaan umum
Bagian berikut ini memberikan jawaban atas pertanyaan yang sering diajukan.
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
Hanya gunakan token akses pribadi 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?
Praktik terbaik adalah membuat jalur autentikasi terpisah:
- Layanan Azure DevOps: 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 API Azure DevOps?
Berikut adalah beberapa masalah umum yang dapat memengaruhi akses akun layanan:
- Akun layanan tidak "terwujud": Gunakan metode masuk yang benar. Akun layanan memerlukan izin masuk interaktif atau pendaftaran ID Microsoft Entra yang tepat.
- Izin tidak mencukup: 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
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.
Prosedur implementasi
Setelah Anda memilih metode autentikasi untuk skenario Anda, selesaikan implementasi:
- Aplikasi baru: Membangun integrasi Azure DevOps dengan aplikasi Microsoft Entra OAuth
- Aplikasi layanan: Menggunakan perwakilan layanan dan identitas terkelola di Azure DevOps
- Skrip pribadi: Menggunakan token akses pribadi