Bagikan melalui


Meningkatkan ketahanan autentikasi dan otorisasi dalam aplikasi daemon yang Anda kembangkan

Pelajari cara menggunakan platform identitas Microsoft dan MICROSOFT Entra ID untuk meningkatkan ketahanan aplikasi daemon. Temukan informasi tentang proses latar belakang, layanan, server ke aplikasi server, dan aplikasi tanpa pengguna.

Lihat, Apa itu platform identitas Microsoft?

Diagram berikut mengilustrasikan aplikasi daemon yang melakukan panggilan ke platform identitas Microsoft.

A daemon application making a call to Microsoft identity platform.

Identitas terkelola untuk sumber daya Azure

Jika Anda membangun aplikasi daemon di Microsoft Azure, gunakan identitas terkelola untuk sumber daya Azure, yang menangani rahasia dan kredensial. Fitur ini meningkatkan ketahanan dengan menangani kedaluwarsa sertifikat, rotasi, atau kepercayaan.

Lihat, Apa itu identitas terkelola untuk sumber daya Azure?

Identitas terkelola menggunakan token akses berumur panjang dan informasi dari platform identitas Microsoft untuk memperoleh token baru sebelum token kedaluwarsa. Aplikasi Anda berjalan saat memperoleh token baru.

Identitas terkelola menggunakan titik akhir regional, yang membantu mencegah kegagalan di luar wilayah dengan mengonsolidasikan dependensi layanan. Titik akhir regional membantu menjaga lalu lintas di area geografis. Misalnya, jika sumber daya Azure Anda berada di WestUS2, semua lalu lintas tetap berada di WestUS2.

Pustaka Autentikasi Microsoft

Jika Anda mengembangkan aplikasi daemon dan tidak menggunakan identitas terkelola, gunakan Microsoft Authentication Library (MSAL) untuk autentikasi dan otorisasi. MSAL memudahkan proses penyediaan kredensial klien. Misalnya, aplikasi Anda tidak perlu membuat dan menandatangani pernyataan token web JSON dengan kredensial berbasis sertifikat.

Lihat, Gambaran Umum Microsoft Authentication Library (MSAL)

Microsoft.Identity.Web untuk pengembang .NET

Jika Anda mengembangkan aplikasi daemon di ASP.NET Core, gunakan pustaka Microsoft.Identity.Web untuk memudahkan otorisasi. Ini termasuk strategi cache token terdistribusi untuk aplikasi terdistribusi yang berjalan di beberapa wilayah.

Pelajari lebih lanjut:

Cache dan simpan token

Jika Anda tidak menggunakan MSAL untuk autentikasi dan otorisasi, ada praktik terbaik untuk penembolokan dan penyimpanan token. MSAL menerapkan dan mengikuti praktik terbaik ini.

Aplikasi memperoleh token dari Penyedia Identitas (IdP) untuk mengotorisasi aplikasi untuk memanggil API yang dilindungi. Saat aplikasi Anda menerima token, respons dengan token berisi expires\_in properti yang memberi tahu aplikasi berapa lama untuk cache, dan menggunakan kembali, token. Pastikan aplikasi menggunakan expires\_in properti untuk menentukan masa pakai token. Konfirmasikan aplikasi tidak mencoba mendekode token akses API. Menggunakan token yang di-cache mencegah lalu lintas yang tidak perlu antara aplikasi dan platform identitas Microsoft. Pengguna masuk ke aplikasi Anda untuk masa pakai token.

Kode kesalahan HTTP 429 dan 5xx

Gunakan bagian berikut untuk mempelajari tentang kode kesalahan HTTP 429 dan 5xx

HTTP 429

Ada kesalahan HTTP yang memengaruhi ketahanan. Jika aplikasi Anda menerima kode kesalahan HTTP 429, Terlalu Banyak Permintaan, platform identitas Microsoft membatasi permintaan Anda, yang mencegah aplikasi Anda menerima token. Pastikan aplikasi Anda tidak mencoba memperoleh token hingga waktu di bidang respons Coba Lagi-Setelah kedaluwarsa. Kesalahan 429 sering menunjukkan aplikasi tidak menyimpan cache dan menggunakan kembali token dengan benar.

HTTP 5xx

Jika aplikasi menerima kode kesalahan HTTP 5x, aplikasi tidak boleh memasukkan perulangan coba lagi yang cepat. Pastikan aplikasi menunggu hingga bidang Coba Lagi-Setelah kedaluwarsa. Jika respons tidak menyediakan header Coba Lagi-Setelah, gunakan coba lagi back-off eksponensial dengan coba lagi pertama, setidaknya 5 detik setelah respons.

Ketika permintaan habis, konfirmasikan bahwa aplikasi tidak segera mencoba kembali. Gunakan coba lagi back-off eksponensial yang dikutip sebelumnya.

Langkah berikutnya