Menggunakan identitas terkelola untuk mengakses Azure App Configuration

Identitas terkelola Microsoft Entra menyederhanakan manajemen rahasia untuk aplikasi cloud Anda. Dengan identitas terkelola, kode Anda dapat menggunakan prinsipal layanan yang dibuat untuk layanan Azure yang dijalankannya. Anda menggunakan identitas terkelola alih-alih info masuk terpisah yang disimpan di Azure Key Vault atau string koneksi lokal.

Azure App Configuration dan pustaka klien .NET, .NET Framework, dan Java Spring memiliki dukungan identitas terkelola yang terpasang di dalamnya. Meskipun Anda tidak diharuskan menggunakannya, identitas terkelola menghilangkan kebutuhan akan token akses yang berisi rahasia. Kode Anda hanya dapat mengakses penyimpanan App Configuration dengan hanya menggunakan titik akhir layanan. Anda dapat menyematkan URL ini dalam kode Anda secara langsung tanpa mengekspos rahasia apa pun.

Artikel ini memperlihatkan bagaimana Anda dapat memanfaatkan identitas terkelola untuk mengakses App Configuration. Tutorial dibangun pada aplikasi web yang diperkenalkan di panduan mulai cepat. Sebelum melanjutkan, selesaikan Membuat aplikasi ASP.NET Core dengan App Configuration terlebih dahulu.

Artikel ini memperlihatkan bagaimana Anda dapat memanfaatkan identitas terkelola untuk mengakses App Configuration. Tutorial dibangun pada aplikasi web yang diperkenalkan di panduan mulai cepat. Sebelum melanjutkan, Buat aplikasi Java Spring dengan Azure App Configuration terlebih dahulu.

Penting

Identitas terkelola tidak dapat digunakan untuk mengautentikasi aplikasi yang berjalan secara lokal. Aplikasi Anda harus disebarkan ke layanan Azure yang mendukung Identitas Terkelola. Artikel ini menggunakan Azure App Service sebagai contoh. Namun, konsep yang sama berlaku untuk layanan Azure lainnya yang mendukung identitas terkelola. Misalnya, Azure Kubernetes Service, Azure Virtual Machine, dan Azure Container Instances. Jika beban kerja Anda dihosting di salah satu layanan tersebut, Anda juga dapat memanfaatkan dukungan identitas terkelola layanan tersebut.

Anda dapat menggunakan penyunting kode apa pun untuk melakukan langkah-langkah dalam tutorial ini. Visual Studio Code adalah opsi luar biasa yang tersedia di platform Windows, macOS, dan Linux.

Dalam artikel ini, Anda akan mempelajari cara:

  • Memberikan akses identitas terkelola ke App Configuration.
  • Konfigurasikan aplikasi Anda untuk menggunakan identitas terkelola saat Anda terhubung ke App Configuration.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan:

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Menambahkan identitas terkelola

Untuk menyiapkan identitas terkelola di portal, Anda terlebih dahulu membuat aplikasi lalu mengaktifkan fitur tersebut.

  1. Akses sumber daya App Services Anda di portal Microsoft Azure. Jika Anda tidak memiliki sumber daya App Services yang sudah ada untuk digunakan, buatlah satu.

  2. Gulir ke bawah ke grup Pengaturan di panel kiri, dan pilih Identitas.

  3. Pada tab Sistem yang ditetapkan, alihkan Status ke Aktif dan pilih Simpan.

  4. Saat diminta, jawab Ya untuk mengaktifkan identitas terkelola yang ditetapkan sistem.

    Screenshot of how to add a managed identity in App Service.

Memberikan akses ke App Configuration

Langkah-langkah berikut menjelaskan cara menetapkan peran Pembaca Data Konfigurasi Aplikasi ke App Service. Untuk langkah-langkah mendetail, lihat Menetapkan peran Azure menggunakan portal Azure.

  1. Di portal Azure, pilih penyimpanan App Configuration Anda.

  2. Pilih Kontrol Akses (IAM) .

  3. Pilih Tambahkan Tambahkan>penetapan peran.

    Screenshot that shows the Access control (IAM) page with Add role assignment menu open.

    Jika Anda tidak memiliki izin untuk menetapkan peran, opsi Tambahkan penetapan peran akan dinonaktifkan. Untuk informasi selengkapnya, lihat Peran bawaan Azure.

  4. Pada tab Peran, pilih peran Pembaca Data Konfigurasi Aplikasi, lalu pilih Berikutnya.

    Screenshot that shows the Add role assignment page with Role tab selected.

  5. Pada tab Anggota, pilih Identitas terkelola, lalu pilih Pilih anggota.

    Screenshot that shows the Add role assignment page with Members tab selected.

  6. Pilih langganan Azure Anda, untuk Identitas terkelola pilih App Service, lalu pilih nama App Service Anda.

    Screenshot that shows the select managed identities page.

  7. Di tab Tinjau + tetapkan, pilih Tinjau + tetapkan untuk menetapkan peran.

Menggunakan identitas terkelola

  1. Tambahkan referensi ke paket Azure.Identity:

    dotnet add package Azure.Identity
    
  2. Temukan titik akhir ke penyimpanan App Configuration Anda. URL ini tercantum di tab Kunci akses untuk penyimpanan di portal Microsoft Azure.

  3. Buka file appsettings.json dan tambahkan skrip berikut. Ganti <service_endpoint>, termasuk tanda kurung, dengan URL ke penyimpanan App Configuration Anda.

    "AppConfig": {
        "Endpoint": "<service_endpoint>"
    }
    
  4. Buka file Program.cs dan tambahkan referensi ke namespace Azure.Identity dan Microsoft.Azure.Services.AppAuthentication:

    using Azure.Identity;
    
  5. Untuk mengakses nilai yang disimpan di App Configuration, perbarui Builder konfigurasi untuk menggunakan AddAzureAppConfiguration() metode .

    var builder = WebApplication.CreateBuilder(args);
    
    builder.Configuration.AddAzureAppConfiguration(options =>
        options.Connect(
            new Uri(builder.Configuration["AppConfig:Endpoint"]),
            new ManagedIdentityCredential()));
    

    Catatan

    Jika Anda ingin menggunakan identitas terkelola yang ditetapkan pengguna, pastikan untuk menentukan clientId saat membuat ManagedIdentityCredential.

    new ManagedIdentityCredential("<your_clientId>")
    

    Seperti yang dijelaskan dalam Tanya Jawab Umum Sumber Daya Terkelola untuk Sumber Daya Azure, ada cara default untuk menyelesaikan identitas terkelola yang digunakan. Dalam hal ini, pustaka Azure Identity memaksa Anda untuk menentukan identitas yang diinginkan untuk menghindari kemungkinan masalah runtime di masa mendatang. Misalnya, jika identitas terkelola baru yang ditetapkan pengguna ditambahkan atau jika identitas terkelola yang ditetapkan sistem diaktifkan. Jadi, Anda perlu menentukan clientId meskipun hanya satu identitas terkelola yang ditetapkan pengguna yang ditentukan, dan tidak ada identitas terkelola yang ditetapkan sistem.

  1. Temukan titik akhir ke penyimpanan App Configuration Anda. URL ini tercantum di tab Gambaran Umum untuk penyimpanan di portal Azure.

  2. Buka bootstrap.properties, hapus properti string koneksi dan ganti dengan titik akhir untuk Identitas yang Ditetapkan Sistem:

spring.cloud.azure.appconfiguration.stores[0].endpoint=<service_endpoint>

untuk Identitas yang Ditetapkan Pengguna:

spring.cloud.azure.appconfiguration.stores[0].endpoint=<service_endpoint>
spring.cloud.azure.credential.managed-identity-enabled= true
spring.cloud.azure.credential.client-id= <client_id>

Catatan

Untuk informasi selengkapnya, lihat Autentikasi Spring Cloud Azure.

Menyebarkan aplikasi Anda

Anda harus menyebarkan aplikasi ke layanan Azure saat menggunakan identitas terkelola. Identitas terkelola tidak dapat digunakan untuk autentikasi aplikasi yang berjalan secara lokal. Untuk menyebarkan aplikasi .NET Core yang Anda buat di aplikasi Buat ASP.NET Core dengan mulai cepat App Configuration dan dimodifikasi untuk menggunakan identitas terkelola, ikuti panduan di Publikasikan aplikasi web Anda.

Menggunakan identitas terkelola mengharuskan Anda untuk menyebarkan aplikasi Anda ke layanan Azure. Identitas terkelola tidak dapat digunakan untuk autentikasi aplikasi yang berjalan secara lokal. Untuk menyebarkan aplikasi Spring yang Anda buat di mulai cepat Buat aplikasi Java Spring dengan Azure App Configuration dan dimodifikasi untuk menggunakan identitas terkelola, ikuti panduan di Publikasikan aplikasi web Anda.

Selain App Service, banyak layanan Azure lainnya mendukung identitas yang dikelola. Untuk informasi selengkapnya, lihat Layanan yang mendukung identitas terkelola untuk sumber daya Azure.

Membersihkan sumber daya

Jika Anda tidak ingin terus menggunakan sumber daya yang dibuat dalam artikel ini, hapus grup sumber daya yang Anda buat di sini untuk menghindari biaya.

Penting

Penghapusan grup sumber daya tidak bisa dipulihkan. Grup sumber daya dan semua sumber daya yang ada di dalamnya akan dihapus secara permanen. Pastikan Anda tidak menghapus grup atau sumber daya yang salah secara tidak sengaja. Jika Anda membuat sumber daya untuk artikel ini dalam grup sumber daya yang ada yang berisi sumber daya lain yang ingin disimpan, hapus setiap sumber daya satu per satu dari panelnya masing-masing, bukan menghapus grup sumber daya.

  1. Masuk ke portal Azure, lalu pilih Grup sumber daya.
  2. Dalam kotak Filter menurut nama, masukkan nama grup sumber daya Anda.
  3. Dalam daftar hasil, pilih nama grup sumber daya untuk melihat gambaran umum.
  4. Pilih Hapus grup sumber daya.
  5. Anda akan diminta untuk mengonfirmasi penghapusan grup sumber daya. Masukkan nama grup sumber daya Anda untuk mengonfirmasi, dan pilih Hapus.

Setelah beberapa saat, grup sumber daya dan semua sumber dayanya akan dihapus.

Langkah berikutnya

Dalam tutorial ini, Anda menambahkan identitas terkelola Azure untuk mengalirkan akses ke App Configuration dan meningkatkan manajemen info masuk untuk aplikasi Anda. Untuk mempelajari selengkapnya tentang cara menggunakan App Configuration, lanjutkan ke sampel Azure CLI.