Bagikan melalui


Metode autentikasi untuk Azure DevOps

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

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:

  1. Identifikasi penggunaan token akses pribadi saat ini di aplikasi Anda.

  2. Pilih metode autentikasi alternatif:

    • Microsoft Entra ID OAuth untuk skenario yang didelegasikan pengguna
    • Prinsipal layanan untuk skenario antar-layanan
  3. Perbarui kode autentikasi dengan menggunakan sampel autentikasi migrasi Azure DevOps.

  4. Uji perubahan secara menyeluruh sebelum Anda menghapus dependensi token akses pribadi apa pun.

  5. Pantau dan validasi metode autentikasi baru.

Prosedur implementasi

Setelah Anda memilih metode autentikasi untuk skenario Anda, selesaikan implementasi: