Bagikan melalui


Mengautentikasi aplikasi .NET ke layanan Azure selama pengembangan lokal menggunakan akun pengembang

Selama pengembangan lokal, aplikasi perlu mengautentikasi ke Azure untuk menggunakan layanan Azure yang berbeda. Autentikasi secara lokal menggunakan salah satu pendekatan ini:

Artikel ini menjelaskan cara mengautentikasi menggunakan akun pengembang dengan alat yang didukung oleh pustaka Azure Identity. Di bagian depan, Anda mempelajari:

  • Cara menggunakan grup Microsoft Entra untuk mengelola izin secara efisien untuk beberapa akun pengembang.
  • Cara menetapkan peran untuk akun pengembang guna membatasi izin.
  • Cara login ke alat pengembangan lokal yang didukung.
  • Cara mengautentikasi menggunakan akun pengembang dari kode aplikasi Anda.

Alat pengembang yang didukung untuk autentikasi

Agar aplikasi dapat mengautentikasi ke Azure selama pengembangan lokal menggunakan kredensial Azure pengembang, pengembang harus masuk ke Azure dari salah satu alat pengembang berikut:

  • Azure CLI
  • Azure Developer CLI
  • Azure PowerShell
  • Visual Studio
  • Visual Studio Code

Pustaka Azure Identity dapat mendeteksi bahwa pengembang masuk dari salah satu alat ini. Pustaka kemudian dapat memperoleh token akses Microsoft Entra melalui alat untuk mengautentikasi aplikasi ke Azure sebagai pengguna yang masuk.

Pendekatan ini memanfaatkan akun Azure pengembang yang ada untuk menyederhanakan proses autentikasi. Namun, akun pengembang kemungkinan memiliki lebih banyak izin daripada yang diperlukan oleh aplikasi, sehingga melebihi izin yang digunakan oleh aplikasi saat produksi. Sebagai pilihan lain, Anda dapat membuat prinsipal layanan aplikasi untuk digunakan selama pengembangan lokal, yang dapat dibatasi agar hanya memiliki akses yang dibutuhkan oleh aplikasi.

Membuat grup Microsoft Entra untuk pengembangan lokal

Buat grup Microsoft Entra untuk menyertakan peran (izin) yang dibutuhkan aplikasi dalam pengembangan lokal, daripada memberikan peran tersebut ke objek perwakilan layanan individual. Pendekatan ini menawarkan keuntungan berikut:

  • Setiap pengembang memiliki peran yang sama yang ditetapkan di tingkat grup.
  • Jika peran baru diperlukan untuk aplikasi, peran tersebut hanya perlu ditambahkan ke grup untuk aplikasi.
  • Jika pengembang baru bergabung dengan tim, perwakilan layanan aplikasi baru dibuat untuk pengembang dan ditambahkan ke grup, memastikan pengembang memiliki izin yang tepat untuk mengerjakan aplikasi.
  • Portal Azure
  • Azure CLI
  1. Navigasikan ke halaman ringkasan ID Microsoft Entra di portal Microsoft Azure.

  2. Pilih Semua grup dari menu sebelah kiri.

  3. Pada halaman Grup, pilih Grup baru.

  4. Pada halaman grup baru , isi bidang formulir berikut ini:

    • Jenis grup: Pilih Keamanan.
    • Nama grup: Masukkan nama untuk grup yang menyertakan referensi ke nama aplikasi atau lingkungan.
    • Deskripsi grup: Masukkan deskripsi yang menjelaskan tujuan grup.

    Cuplikan layar yang menunjukkan cara membuat grup di portal Microsoft Azure.

  5. Pilih link Tidak ada anggota yang dipilih di bawah Anggota untuk menambahkan anggota ke grup.

  6. Di panel pop-up yang terbuka, cari prinsipal layanan yang Anda buat sebelumnya dan pilih dari hasil yang sudah difilter. Pilih tombol Pilih di bagian bawah panel untuk mengonfirmasi pilihan Anda.

  7. Pilih Buat di bagian bawah halaman grup baru untuk membuat grup dan kembali ke halaman Semua grup. Jika Anda tidak melihat grup baru tercantum, tunggu sebentar dan refresh halaman.

Menetapkan peran ke grup

Selanjutnya, tentukan peran (izin) apa yang dibutuhkan aplikasi Anda pada sumber daya apa dan tetapkan peran tersebut ke grup Microsoft Entra yang Anda buat. Grup dapat diberi peranan di ruang lingkup sumber daya, grup sumber daya, atau langganan. Contoh ini menunjukkan cara menetapkan peran di cakupan grup sumber daya, karena sebagian besar aplikasi mengelompokkan semua sumber daya Azure mereka ke dalam satu grup sumber daya.

  • Portal Azure
  • Azure CLI
  1. Di portal Microsoft Azure, buka halaman Gambaran Umum grup sumber daya yang berisi aplikasi Anda.

  2. Pilih kontrol akses (IAM) dari navigasi kiri.

  3. Pada halaman kontrol akses (IAM), pilih + Tambahkan lalu pilih Tambahkan penetapan peran dari menu drop-down. Halaman Tambahkan penugasan peran menyediakan berbagai tab untuk mengonfigurasi dan menetapkan peran.

  4. Pada tab Peran, gunakan kotak pencarian untuk menemukan peran yang ingin Anda tetapkan. Pilih peran, lalu pilih Berikutnya.

  5. Pada tab Anggota:

    • Untuk Menetapkan akses ke nilai, pilih Pengguna, grup, atau perwakilan layanan .
    • Untuk nilai anggota , pilih + Pilih anggota untuk membuka panel samping Pilih anggota.
    • Cari grup Microsoft Entra yang Anda buat sebelumnya dan pilih dari hasil yang difilter. Pilih Pilih untuk memilih grup dan menutup panel flyout.
    • Pilih Tinjau + tetapkan di bagian bawah tab Anggota.

    Cuplikan layar memperlihatkan cara menetapkan peran ke grup Microsoft Entra.

  6. Pada tab Tinjau + tetapkan, pilih Tinjau + tetapkan di bagian bawah halaman.

Masuk ke Azure menggunakan alat pengembang

Selanjutnya, masuk ke Azure menggunakan salah satu dari beberapa alat pengembang yang dapat digunakan untuk melakukan autentikasi di lingkungan pengembangan Anda. Akun yang Anda autentikasi juga harus ada di grup Microsoft Entra yang Anda buat dan konfigurasikan sebelumnya.

Pengembang yang menggunakan Visual Studio 2017 atau yang lebih baru dapat mengautentikasi menggunakan akun pengembang mereka melalui IDE. Aplikasi yang menggunakan DefaultAzureCredential atau VisualStudioCredential dapat menemukan dan menggunakan akun ini untuk mengautentikasi permintaan aplikasi saat berjalan secara lokal. Akun ini juga digunakan saat Anda menerbitkan aplikasi langsung dari Visual Studio ke Azure.

Penting

Anda harus menginstal Azure pengembangan beban kerja untuk mengaktifkan alat Visual Studio bagi autentikasi, pengembangan, dan penyebaran Azure.

  1. Di dalam Visual Studio, navigasikan ke Alat>Opsi untuk membuka dialog opsi.

  2. Dalam kotak Opsi Pencarian di bagian atas, ketik Azure untuk memfilter opsi yang tersedia.

  3. Di bawah Autentikasi Layanan Azure, pilih Pilihan Akun.

  4. Pilih menu drop-down di bawah Pilih akun dan pilih untuk menambahkan akun Microsoft.

  5. Di jendela yang terbuka, masukkan kredensial untuk akun Azure yang Anda inginkan, lalu konfirmasi input Anda.

    Cuplikan layar memperlihatkan cara masuk ke Azure menggunakan Visual Studio.

  6. Pilih OK untuk menutup kotak dialog opsi.

Mengautentikasi ke layanan Azure dari aplikasi Anda

Pustaka Azure Identity menyediakan implementasi TokenCredential yang mendukung berbagai skenario dan alur autentikasi Microsoft Entra. Langkah-langkah di depan menunjukkan cara menggunakan DefaultAzureCredential atau kredensial alat pengembangan tertentu saat bekerja dengan akun pengguna secara lokal.

Menerapkan kode

Selesaikan langkah-langkah berikut:

  1. Tambahkan referensi ke paket Azure.Identity dan Microsoft.Extensions.Azure di proyek Anda:

    dotnet add package Azure.Identity
    dotnet add package Microsoft.Extensions.Azure
    
  2. Di Program.cs, tambahkan using direktif untuk namespace Azure.Identity dan Microsoft.Extensions.Azure.

  3. Daftarkan klien layanan Azure menggunakan metode ekstensi yang diawali dengan Add.

    Layanan Azure diakses menggunakan kelas klien khusus dari pustaka klien Azure SDK. Daftarkan jenis klien ini sehingga Anda dapat mengaksesnya melalui injeksi dependensi di seluruh aplikasi Anda.

  4. Teruskan instans TokenCredential ke metode UseCredential. Contoh umumnya TokenCredential meliputi:

    • Instans DefaultAzureCredential yang telah dioptimalkan untuk pengembangan lokal. Contoh ini mengatur variabel AZURE_TOKEN_CREDENTIALS lingkungan ke dev. Untuk informasi selengkapnya, lihat Mengecualikan kategori jenis kredensial.

      builder.Services.AddAzureClients(clientBuilder =>
      {
          clientBuilder.AddBlobServiceClient(
              new Uri("https://<account-name>.blob.core.windows.net"));
      
          DefaultAzureCredential credential = new(
              DefaultAzureCredential.DefaultEnvironmentVariableName);
          clientBuilder.UseCredential(credential);
      });
      
    • Instans kredensial yang sesuai dengan alat pengembangan tertentu, seperti VisualStudioCredential.

      builder.Services.AddAzureClients(clientBuilder =>
      {
          clientBuilder.AddBlobServiceClient(
              new Uri("https://<account-name>.blob.core.windows.net"));
      
          VisualStudioCredential credential = new();
          clientBuilder.UseCredential(credential);
      });
      

    Petunjuk / Saran

    Utamakan penggunaan instans lokal yang dioptimalkan untuk pengembangan daripada kredensial khusus alat ketika tim Anda menggunakan beberapa alat pengembangan untuk mengautentikasi dengan Azure.