Bagikan melalui


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

Pengembang perlu men-debug dan menguji aplikasi cloud di stasiun kerja lokal mereka. Saat aplikasi berjalan di stasiun kerja pengembang selama pengembangan lokal, aplikasi harus tetap mengautentikasi ke layanan Azure apa pun yang digunakan oleh aplikasi. Artikel ini membahas cara menggunakan kredensial Azure pengembang untuk mengautentikasi aplikasi ke Azure selama pengembangan lokal.

Diagram memperlihatkan aplikasi yang berjalan dalam pengembangan lokal menggunakan identitas alat pengembang untuk menyambungkan ke sumber daya Azure.

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

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

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 paling mudah disiapkan untuk tim pengembangan karena memanfaatkan akun Azure pengembang yang ada. Namun, akun pengembang kemungkinan memiliki lebih banyak izin daripada yang diperlukan oleh aplikasi, oleh karena itu melebihi izin yang dijalankan aplikasi dalam produksi. Sebagai alternatif, Anda dapat membuat perwakilan layanan aplikasi untuk digunakan selama pengembangan lokal, yang dapat dilingkupkan agar hanya memiliki akses yang diperlukan oleh aplikasi.

1 - Membuat grup Microsoft Entra untuk pengembangan lokal

Karena hampir selalu ada beberapa pengembang yang mengerjakan aplikasi, grup Microsoft Entra disarankan untuk merangkum peran (izin) yang dibutuhkan aplikasi dalam pengembangan lokal. Pendekatan ini menawarkan keuntungan berikut:

  • Setiap pengembang diyakinkan untuk memiliki peran yang sama yang ditetapkan karena peran 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, mereka mendapatkan izin yang diperlukan untuk mengerjakan aplikasi setelah ditambahkan ke grup.

Jika Anda memiliki grup Microsoft Entra yang sudah ada untuk tim pengembangan, Anda dapat menggunakan grup tersebut. Jika tidak, selesaikan langkah-langkah berikut untuk membuat grup Microsoft Entra.

Petunjuk Cuplikan layar
Navigasi ke halaman ID Microsoft Entra di portal Azure dengan mengetik ID Microsoft Entra ke dalam kotak pencarian di bagian atas halaman. Pilih ID Microsoft Entra di bawah bagian Layanan . Cuplikan layar memperlihatkan cara menggunakan bilah pencarian teratas di portal Azure untuk mencari dan menavigasi ke halaman ID Microsoft Entra.
Pada halaman ID Microsoft Entra, pilih Grup dari menu sebelah kiri. Cuplikan layar memperlihatkan lokasi item menu Grup di menu sebelah kiri halaman Direktori Default MICROSOFT Entra ID.
Pada halaman Semua grup, pilih Grup baru. Cuplikan layar memperlihatkan lokasi tombol Grup Baru di halaman Semua grup.
Pada halaman Grup Baru:
  1. Pilih Keamanan dari menu drop-down Jenis grup.
  2. Nama grup → Nama untuk grup keamanan, biasanya dibuat dari nama aplikasi. Sangat membantu untuk menyertakan string seperti local-dev dalam nama grup untuk menunjukkan tujuan grup.
  3. Deskripsi grup → Deskripsi tujuan grup.
  4. Pilih link Tidak ada anggota yang dipilih di bawah Anggota untuk menambahkan anggota ke grup.
Cuplikan layar memperlihatkan cara membuat grup Microsoft Entra baru. Lokasi tautan yang akan dipilih untuk menambahkan anggota ke grup ini disorot.
Pada kotak dialog Tambahkan anggota :
  1. Gunakan kotak pencarian untuk memfilter daftar nama pengguna dalam daftar.
  2. Pilih satu atau beberapa pengguna untuk pengembangan lokal untuk aplikasi ini. Saat Anda memilih objek, objek berpindah ke daftar Item terpilih di bagian bawah dialog.
  3. Setelah selesai, pilih tombol Pilih .
Cuplikan layar kotak dialog Tambahkan anggota memperlihatkan cara memilih akun pengembang untuk disertakan dalam grup.
Kembali ke halaman Grup baru, pilih Buat untuk membuat grup. Grup akan dibuat dan Anda akan dibawa kembali ke halaman Semua grup . Mungkin perlu waktu hingga 30 detik agar grup muncul, dan Anda mungkin perlu me-refresh halaman karena penembolokan di portal Azure. Cuplikan layar halaman Grup Baru memperlihatkan cara menyelesaikan proses dengan memilih tombol Buat.

Catatan

Secara default, pembuatan grup Microsoft Entra terbatas pada peran istimewa tertentu dalam direktori. Jika Anda tidak dapat membuat grup, hubungi administrator untuk direktori Anda. Jika Anda tidak dapat menambahkan anggota ke grup yang sudah ada, hubungi pemilik grup atau administrator direktori. Untuk mempelajari selengkapnya, lihat Mengelola grup Microsoft Entra dan keanggotaan grup.

2 - Menetapkan peran ke grup Microsoft Entra

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

Petunjuk Cuplikan layar
Temukan grup sumber daya untuk aplikasi Anda dengan mencari nama grup sumber daya menggunakan kotak pencarian di bagian atas portal Azure. Navigasi ke grup sumber daya Anda dengan memilih nama grup sumber daya di bawah judul Grup Sumber Daya dalam kotak dialog. Cuplikan layar memperlihatkan cara menggunakan kotak pencarian teratas di portal Azure untuk menemukan dan menavigasi ke grup sumber daya yang ingin Anda tetapkan perannya (izin).
Pada halaman untuk grup sumber daya, pilih Kontrol akses (IAM) dari menu sebelah kiri. Cuplikan layar halaman grup sumber daya memperlihatkan lokasi item menu Kontrol akses (IAM).
Pada halaman Kontrol akses (IAM):
  1. Pilih tab Penetapan peran.
  2. Pilih + Tambahkan dari menu atas lalu Tambahkan penetapan peran dari menu drop-down yang dihasilkan.
Cuplikan layar memperlihatkan cara menavigasi ke tab penetapan peran dan lokasi tombol yang digunakan untuk menambahkan penetapan peran ke grup sumber daya.
Halaman Tambahkan penetapan peran mencantumkan semua peran yang dapat ditetapkan untuk grup sumber daya.
  1. Gunakan kotak pencarian untuk memfilter daftar ke ukuran yang lebih mudah dikelola. Contoh ini menunjukkan cara memfilter peran Blob Penyimpanan.
  2. Pilih peran yang ingin ditetapkan.
Pilih Berikutnya untuk masuk ke layar berikutnya.
Cuplikan layar memperlihatkan cara memfilter dan memilih penetapan peran yang akan ditambahkan ke grup sumber daya.
Halaman Tambahkan penetapan peran berikutnya memungkinkan Anda menentukan pengguna yang akan ditetapkan perannya.
  1. Pilih Pengguna, grup, atau perwakilan layanan di bawah Tetapkan akses ke.
  2. Pilih + Pilih anggota di bawah Anggota.
Kotak dialog terbuka di sisi kanan portal Azure.
Cuplikan layar memperlihatkan tombol radio untuk memilih untuk menetapkan peran ke grup Microsoft Entra dan tautan yang digunakan untuk memilih grup yang akan ditetapkan perannya.
Dalam dialog Pilih anggota:
  1. Kotak teks Pilih dapat digunakan untuk memfilter daftar pengguna dan grup di langganan Anda. Jika diperlukan, ketik beberapa karakter pertama dari grup Microsoft Entra pengembangan lokal yang Anda buat untuk aplikasi.
  2. Pilih grup Microsoft Entra pengembangan lokal yang terkait dengan aplikasi Anda.
Pilih Pilih di bagian bawah dialog untuk melanjutkan.
Cuplikan layar memperlihatkan cara memfilter dan memilih grup Microsoft Entra untuk aplikasi dalam kotak dialog Pilih anggota.
Grup Microsoft Entra ditampilkan seperti yang dipilih pada layar Tambahkan penetapan peran. Pilih Tinjau + tetapkan untuk masuk ke halaman akhir lalu Tinjau + tetapkan lagi untuk menyelesaikan proses. Cuplikan layar memperlihatkan halaman Tambahkan penetapan peran yang telah selesai dan lokasi tombol Tinjau + tetapkan yang digunakan untuk menyelesaikan proses.

3 - Masuk ke Azure menggunakan alat pengembang

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

  1. Navigasi ke Opsi Alat>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. Jendela terbuka, meminta Anda untuk memilih akun. Masukkan kredensial untuk akun Azure yang Anda inginkan, lalu pilih konfirmasi.

    Cuplikan layar memperlihatkan cara masuk ke Azure menggunakan Visual Studio.

  5. Pilih OK untuk menutup dialog opsi.

4 - Menerapkan DefaultAzureCredential di aplikasi Anda

DefaultAzureCredential adalah urutan mekanisme yang diurutkan dan diurutkan untuk mengautentikasi ke Microsoft Entra. Setiap mekanisme autentikasi adalah kelas yang berasal dari kelas TokenCredential dan dikenal sebagai kredensial. Pada runtime, DefaultAzureCredential upaya untuk mengautentikasi menggunakan kredensial pertama. Jika kredensial tersebut gagal memperoleh token akses, kredensial berikutnya dalam urutan dicoba, dan sebagainya, hingga token akses berhasil diperoleh. Dengan cara ini, aplikasi Anda dapat menggunakan kredensial yang berbeda di lingkungan yang berbeda tanpa menulis kode khusus lingkungan.

Urutan dan lokasi di mana DefaultAzureCredential mencari kredensial ditemukan di DefaultAzureCredential.

Untuk menggunakan DefaultAzureCredential, tambahkan Azure.Identity dan secara opsional paket Microsoft.Extensions.Azure ke aplikasi Anda:

Di terminal pilihan Anda, navigasikan ke direktori proyek aplikasi dan jalankan perintah berikut:

dotnet add package Azure.Identity
dotnet add package Microsoft.Extensions.Azure

Layanan Azure diakses menggunakan kelas klien khusus dari berbagai pustaka klien Azure SDK. Kelas-kelas ini dan layanan kustom Anda sendiri harus didaftarkan sehingga dapat diakses melalui injeksi dependensi di seluruh aplikasi Anda. Di Program.cs, selesaikan langkah-langkah berikut untuk mendaftarkan kelas klien dan DefaultAzureCredential:

  1. Sertakan Azure.Identity namespace layanan dan Microsoft.Extensions.Azure melalui using arahan.
  2. Daftarkan klien layanan Azure menggunakan metode ekstensi -awalan Addyang sesuai.
  3. Teruskan instans DefaultAzureCredential ke UseCredential metode .

Contohnya:

using Microsoft.Extensions.Azure;
using Azure.Identity;

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

Alternatifnya UseCredential adalah membuat instans DefaultAzureCredential secara langsung:

using Azure.Identity;

builder.Services.AddSingleton<BlobServiceClient>(_ =>
    new BlobServiceClient(
        new Uri("https://<account-name>.blob.core.windows.net"),
        new DefaultAzureCredential()));

Saat kode sebelumnya berjalan di stasiun kerja pengembangan lokal Anda, kode tersebut akan melihat variabel lingkungan untuk perwakilan layanan aplikasi atau di alat pengembang yang diinstal secara lokal, seperti Visual Studio, untuk serangkaian kredensial pengembang. Salah satu pendekatan dapat digunakan untuk mengautentikasi aplikasi ke sumber daya Azure selama pengembangan lokal.

Saat disebarkan ke Azure, kode yang sama ini juga dapat mengautentikasi aplikasi Anda ke sumber daya Azure lainnya. DefaultAzureCredential dapat mengambil pengaturan lingkungan dan konfigurasi identitas terkelola untuk mengautentikasi ke layanan lain secara otomatis.