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.
Aplikasi dapat menggunakan pustaka identitas Azure untuk mengautentikasi ke Microsoft Entra ID, yang memungkinkan aplikasi mengakses layanan dan sumber daya Azure. Persyaratan autentikasi ini berlaku apakah aplikasi disebarkan ke Azure, dihosting secara lokal, atau berjalan secara lokal di stasiun kerja pengembang. Artikel ini menjelaskan pendekatan yang direkomendasikan untuk mengautentikasi aplikasi untuk Microsoft Entra ID di berbagai lingkungan saat menggunakan pustaka klien Azure SDK.
Pendekatan yang direkomendasikan untuk autentikasi aplikasi
Autentikasi berbasis token melalui Microsoft Entra ID adalah pendekatan yang direkomendasikan untuk mengautentikasi aplikasi ke Azure, alih-alih menggunakan string koneksi atau opsi berbasis kunci. Pustaka identitas Azure menyediakan kelas yang mendukung autentikasi berbasis token dan memungkinkan aplikasi untuk mengautentikasi ke sumber daya Azure apakah aplikasi berjalan secara lokal, di Azure, atau di server lokal.
Keuntungan autentikasi berbasis token
Autentikasi berbasis token menawarkan keuntungan berikut daripada string koneksi:
- Autentikasi berbasis token memastikan bahwa hanya aplikasi tertentu yang dimaksudkan untuk mengakses sumber daya Azure yang dapat mengaksesnya, sedangkan siapa pun atau aplikasi apa pun dengan connection string dapat terhubung ke sumber daya Azure.
- Autentikasi berbasis token memungkinkan Anda membatasi akses sumber daya Azure hanya untuk izin tertentu yang diperlukan oleh aplikasi. Pendekatan ini mengikuti prinsip hak istimewa paling sedikit. Sebaliknya, connection string memberikan hak penuh atas sumber daya Azure.
- Saat Anda menggunakan identitas managed untuk autentikasi berbasis token, Azure menangani fungsi administratif untuk Anda, sehingga Anda tidak perlu khawatir tentang tugas seperti mengamankan atau memutar rahasia. Pendekatan ini membuat aplikasi lebih aman karena tidak ada connection string atau rahasia aplikasi yang dapat disusupi.
- Pustaka identitas Azure memperoleh dan mengelola token Microsoft Entra untuk Anda.
Batasi penggunaan string koneksi untuk skenario di mana autentikasi berbasis token bukan opsi, aplikasi bukti konsep awal, atau prototipe pengembangan yang tidak mengakses data produksi atau sensitif. Jika memungkinkan, gunakan kelas autentikasi berbasis token yang tersedia di pustaka identitas Azure untuk mengautentikasi ke sumber daya Azure.
Autentikasi di berbagai lingkungan
Jenis autentikasi berbasis token tertentu yang harus digunakan aplikasi untuk mengautentikasi ke sumber daya Azure bergantung pada tempat aplikasi berjalan. Diagram berikut menyediakan panduan untuk skenario dan lingkungan yang berbeda:
Saat aplikasi:
- Hosted di Azure: Aplikasi harus mengautentikasi ke sumber daya Azure dengan menggunakan identitas terkelola. Untuk informasi selengkapnya, lihat bagian Authentication untuk aplikasi yang dihosting Azure.
- Running secara lokal selama pengembangan: Aplikasi dapat mengautentikasi ke Azure dengan menggunakan akun pengembang, broker, atau prinsipal layanan. Untuk informasi selengkapnya, lihat bagian Autentikasi selama pengembangan lokal .
- Dihosting di lokal: Aplikasi harus mengotentikasi sumber daya Azure menggunakan perwakilan layanan aplikasi, atau identitas terkelola dalam kasus Azure Arc. Alur kerja lokal dibahas secara lebih rinci di Autentikasi untuk aplikasi yang dihost di lokal.
Autentikasi untuk aplikasi yang dihosting Azure
Saat Anda menghosting aplikasi di Azure, aplikasi dapat menggunakan identitas terkelola untuk mengautentikasi ke sumber daya Azure tanpa perlu mengelola kredensial apa pun. Dua jenis identitas terkelola tersedia: ditetapkan pengguna dan ditetapkan sistem.
Gunakan identitas terkelola yang ditetapkan pengguna
Anda dapat membuat identitas terkelola yang ditetapkan pengguna sebagai sumber daya Azure mandiri. Anda kemudian dapat menetapkannya ke satu atau beberapa sumber daya Azure sehingga sumber daya tersebut dapat berbagi identitas dan izin yang sama. Untuk mengautentikasi dengan menggunakan identitas terkelola yang ditetapkan pengguna, buat identitas, tetapkan ke sumber daya Azure Anda, lalu konfigurasikan aplikasi Anda untuk menggunakan identitas ini untuk autentikasi dengan menentukan ID klien, ID sumber daya, atau ID objeknya.
Gunakan identitas terkelola yang ditetapkan sistem
Anda dapat mengaktifkan identitas terkelola yang ditetapkan sistem langsung pada sumber daya Azure. Identitas terkait dengan siklus hidup sumber daya tersebut dan secara otomatis dihapus saat sumber daya dihapus. Untuk mengautentikasi dengan menggunakan identitas terkelola yang ditetapkan sistem, aktifkan identitas pada sumber daya Azure Anda lalu konfigurasikan aplikasi Anda untuk menggunakan identitas ini untuk autentikasi.
Autentikasi selama pengembangan lokal
Selama pengembangan lokal, Anda dapat mengautentikasi sumber daya Azure dengan menggunakan kredensial pengembang, broker, atau prinsipal layanan. Dengan menggunakan salah satu metode ini, Anda dapat menguji logika autentikasi aplikasi tanpa menyebarkannya ke Azure.
Menggunakan kredensial pengembang
Anda dapat menggunakan kredensial Azure Anda sendiri untuk mengautentikasi ke sumber daya Azure selama pengembangan lokal. Biasanya, Anda menggunakan alat pengembangan seperti Azure CLI, Azure Developer CLI, Azure PowerShell, Visual Studio Code, atau IntelliJ IDEA. Alat-alat ini dapat memberi aplikasi Anda token yang diperlukan untuk mengakses layanan Azure. Metode ini nyaman tetapi Anda harus menggunakannya hanya untuk tujuan pengembangan.
Menggunakan broker
Autentikasi broker mengumpulkan kredensial pengguna menggunakan broker autentikasi sistem untuk mengautentikasi aplikasi. Broker autentikasi sistem berjalan pada komputer pengguna dan mengelola jabat tangan autentikasi dan pemeliharaan token untuk semua akun yang terhubung.
Menggunakan perwakilan layanan
Anda dapat membuat perwakilan layanan di penyewa Microsoft Entra untuk mewakili aplikasi dan mengautentikasi ke sumber daya Azure. Anda dapat mengonfigurasi aplikasi Anda untuk menggunakan kredensial prinsipal layanan selama pengembangan lokal. Metode ini lebih aman daripada menggunakan kredensial pengembang dan lebih dekat dengan cara aplikasi Anda mengautentikasi dalam produksi. Namun, masih kurang ideal daripada menggunakan identitas terkelola karena kebutuhan akan rahasia.
Autentikasi untuk aplikasi yang dihosting secara lokal
Untuk aplikasi yang di-hosting di lokasi, Anda dapat menggunakan prinsipal layanan untuk mengautentikasi ke sumber daya Azure. Ini melibatkan pembuatan perwakilan layanan di Microsoft Entra ID, menetapkannya izin yang diperlukan, dan mengonfigurasi aplikasi Anda untuk menggunakan kredensialnya. Metode ini memungkinkan aplikasi lokal Anda mengakses layanan Azure dengan aman.