Menggunakan identitas Terkelola untuk Azure dengan Service Fabric

Tantangan umum saat membangun aplikasi cloud adalah cara mengelola kredensial dengan aman dalam kode Anda untuk mengautentikasi ke berbagai layanan tanpa menyimpannya secara lokal di stasiun kerja pengembang atau di kontrol sumber. Identitas terkelola untuk Azure memecahkan masalah ini untuk semua sumber daya Anda di ID Microsoft Entra dengan memberi mereka identitas terkelola secara otomatis dalam ID Microsoft Entra. Anda dapat menggunakan identitas layanan untuk mengautentikasi ke layanan apa pun yang mendukung autentikasi Microsoft Entra, termasuk Key Vault, tanpa kredensial apa pun yang disimpan dalam kode Anda.

Identitas terkelola untuk sumber daya Azure gratis dengan ID Microsoft Entra untuk langganan Azure. Tidak ada biaya tambahan.

Catatan

Identitas terkelola untuk Azure adalah nama baru untuk layanan yang sebelumnya dikenal sebagai Managed Service Identity (MSI).

Konsep

Identitas yang dikelola untuk Azure didasarkan pada beberapa konsep penting:

  • ID Klien - pengidentifikasi unik yang dihasilkan oleh ID Microsoft Entra yang terkait dengan aplikasi dan perwakilan layanan selama provisi awalnya (juga lihat ID Aplikasi (klien).)

  • ID Utama - ID objek dari objek utama layanan untuk identitas terkelola Anda yang digunakan untuk memberikan akses berbasis peran ke sumber daya Azure.

  • Perwakilan Layanan - objek Microsoft Entra, yang mewakili proyeksi aplikasi Microsoft Entra dalam penyewa tertentu (juga lihat perwakilan layanan.)

Ada dua jenis identitas terkelola:

  • Identitas terkelola yang ditetapkan sistem diaktifkan langsung pada contoh layanan Azure. Siklus hidup identitas yang ditetapkan sistem unik untuk contoh layanan Azure yang diaktifkan.
  • Identitas terkelola yang ditetapkan pengguna dibuat sebagai sumber daya Azure yang berdiri sendiri. Identitas dapat ditetapkan ke satu atau beberapa instans layanan Azure dan dikelola secara terpisah dari siklus hidup instans tersebut.

Untuk lebih memahami perbedaan antara jenis identitas terkelola, lihat Bagaimana cara kerja identitas terkelola untuk sumber daya Azure?.

Skenario yang didukung untuk aplikasi Service Fabric

Identitas terkelola untuk Microsoft Service Fabric hanya didukung dalam kluster Microsoft Service Fabric yang diserbarkan Azure, dan hanya untuk aplikasi yang digunakan sebagai sumber daya Azure. Aplikasi yang tidak disebarkan sebagai sumber daya Azure tidak dapat ditetapkan identitasnya. Secara konseptual, dukungan untuk identitas terkelola dalam klaster Kain Layanan Azure terdiri dari dua fase:

  1. Tetapkan satu atau lebih identitas terkelola ke sumber daya aplikasi; sebuah aplikasi dapat diberi identitas yang ditetapkan sistem tunggal, dan/atau hingga 32 identitas yang ditetapkan pengguna, masing-masing.

  2. Dalam definisi aplikasi, petakan salah satu identitas yang ditetapkan ke aplikasi untuk setiap layanan yang terdiri dari aplikasi.

Identitas yang ditetapkan sistem dari suatu aplikasi adalah unik untuk aplikasi itu; identitas yang ditetapkan pengguna adalah sumber daya yang berdiri sendiri, yang dapat ditetapkan ke beberapa aplikasi. Dalam aplikasi, satu identitas (baik yang ditetapkan sistem atau ditetapkan pengguna) dapat ditetapkan ke beberapa layanan aplikasi, tetapi setiap layanan individu hanya dapat diberi satu identitas. Terakhir, layanan harus diberi identitas secara eksplisit untuk memiliki akses ke fitur ini. Akibatnya, pemetaan identitas aplikasi ke layanan konstituennya memungkinkan isolasi dalam aplikasi—layanan hanya dapat menggunakan identitas yang dipetakan padanya.

Skenario berikut ini didukung untuk fitur ini:

  • Menerapkan aplikasi baru dengan satu atau beberapa layanan dan satu atau lebih identitas yang ditetapkan

  • Tetapkan satu atau beberapa identitas terkelola ke aplikasi yang sudah ada (yang disebarkan Azure) untuk mengakses sumber daya Azure

Skenario berikut tidak didukung atau tidak disarankan. Tindakan ini mungkin tidak diblokir, tetapi dapat menyebabkan gangguan pada aplikasi Anda:

  • Menghapus atau mengubah identitas yang ditetapkan ke aplikasi. Jika Anda perlu membuat perubahan, kirimkan penyebaran terpisah untuk terlebih dahulu menambahkan penetapan identitas baru, dan kemudian menghapus yang sebelumnya ditetapkan. Penghapusan identitas dari aplikasi yang sudah ada dapat menimbulkan efek yang tidak diinginkan, termasuk membiarkan aplikasi Anda dalam status yang tidak dapat diupgrade. Aman untuk menghapus aplikasi sekaligus jika penghapusan identitas diperlukan. Menghapus aplikasi akan menghapus identitas yang ditetapkan sistem yang terkait dengan aplikasi tersebut dan menghapus semua asosiasi dengan identitas yang ditetapkan pengguna yang ditetapkan ke aplikasi.

  • Service Fabric tidak mendukung identitas terkelola di AzureServiceTokenProvider yang tidak digunakan lagi. Sebagai gantinya, gunakan identitas terkelola di Service Fabric dengan menggunakan Azure Identity SDK

Langkah berikutnya