Bagikan melalui


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

Saat membuat aplikasi cloud, pengembang perlu men-debug dan menguji aplikasi di stasiun kerja lokal mereka. Saat aplikasi dijalankan di stasiun kerja pengembang selama pengembangan lokal, aplikasi masih harus mengautentikasi ke setiap layanan Azure yang digunakan oleh aplikasi. Artikel ini membahas cara menggunakan kredensial Azure pengembang untuk mengautentikasi aplikasi ke Azure selama pengembangan lokal.

Diagram yang menunjukkan bagaimana aplikasi yang berjalan di pengembang lokal akan mendapatkan perwakilan layanan aplikasi dari file .env lalu menggunakan identitas tersebut 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 ekstensi Alat Azure Visual Studio Code, Azure CLI, atau Azure PowerShell. Azure SDK untuk .NET dapat mendeteksi bahwa pengembang masuk dari salah satu alat ini lalu mendapatkan kredensial yang diperlukan dari cache kredensial 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 akan memiliki lebih banyak izin daripada yang diperlukan oleh aplikasi, oleh karena itu melebihi izin yang akan dijalankan aplikasi dalam produksi. Sebagai alternatif, Anda dapat membuat perwakilan layanan aplikasi untuk digunakan selama pengembangan lokal yang dapat dilingkup agar hanya memiliki akses yang diperlukan oleh aplikasi.

1 - Membuat grup Microsoft Azure AD untuk pengembangan lokal

Karena hampir selalu ada beberapa pengembang yang mengerjakan aplikasi, disarankan untuk terlebih dahulu membuat grup Microsoft Azure AD untuk merangkum peran (izin) yang dibutuhkan aplikasi dalam pengembangan lokal. 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 Azure AD untuk aplikasi.
  • Jika pengembang baru bergabung dengan tim, mereka hanya harus ditambahkan ke grup Azure AD yang benar untuk mendapatkan izin yang benar untuk bekerja di aplikasi.

Jika Anda memiliki grup Azure AD yang sudah ada untuk tim pengembangan, Anda bisa menggunakan grup tersebut. Jika tidak, selesaikan langkah-langkah berikut untuk membuat grup Azure AD.

Petunjuk Cuplikan layar
Navigasi ke halaman Azure Active Directory di portal Microsoft Azure dengan mengetik Azure Active Directory ke dalam kotak pencarian di bagian atas halaman lalu pilih Azure Active Directory dari bawah layanan. Cuplikan layar memperlihatkan cara menggunakan bilah pencarian teratas di portal Azure untuk mencari dan menavigasi ke halaman Azure Active Directory.
Pada halaman Azure Active Directory, pilih Grup dari menu sebelah kiri. Cuplikan layar memperlihatkan lokasi item menu Grup di menu sebelah kiri halaman Direktori Default Azure Active Directory.
Pada halaman Semua grup, pilih Grup baru. Cuplikan layar memperlihatkan lokasi tombol Grup Baru di halaman Semua grup.
Pada halaman Grup Baru:
  1. Jenis grupKeaman
  2. Nama grup → Nama untuk grup keamanan, biasanya dibuat dari nama aplikasi. Akan 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 mengisi formulir untuk membuat grup Azure Active Directory baru untuk aplikasi. Cuplikan layar ini juga memperlihatkan lokasi tautan untuk dipilih untuk menambahkan anggota ke grup ini
Pada kotak dialog Tambahkan anggota :
  1. Gunakan kotak pencarian untuk memfilter daftar nama pengguna dalam daftar.
  2. Pilih pengguna untuk pengembangan lokal untuk aplikasi ini. Saat objek dipilih, objek akan berpindah ke daftar Item terpilih di bagian bawah dialog.
  3. Ketika selesai, pilih tombol Pilih.
Cuplikan layar kotak dialog Tambahkan anggota memperlihatkan cara memilih akun pengembang untuk disertakan dalam grup.
Pada 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 Microsoft Azure.
Cuplikan layar halaman Grup Baru memperlihatkan cara menyelesaikan proses dengan memilih tombol Buat.

2 - Menetapkan peran ke grup Azure AD

Selanjutnya, Anda perlu menentukan peran (izin) apa yang dibutuhkan aplikasi Anda pada sumber daya apa dan menetapkan peran tersebut ke aplikasi Anda. Dalam contoh ini, peran akan ditetapkan ke grup Azure Active Directory yang dibuat di langkah 1. Peran dapat diberi peran di sumber daya, grup sumber daya, atau cakupan langganan. Contoh ini akan 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.

Petunjuk Cuplikan layar
Temukan grup sumber daya untuk aplikasi Anda dengan mencari nama grup sumber daya menggunakan kotak pencarian di bagian atas portal Microsoft 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 akan terbuka di sisi kanan portal Microsoft Azure.
Cuplikan layar memperlihatkan tombol radio untuk memilih untuk menetapkan peran ke grup Microsoft Azure AD dan tautan yang digunakan untuk memilih grup untuk menetapkan peran.
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 grup Azure AD pengembangan lokal yang Anda buat untuk aplikasi.
  2. Pilih grup Azure AD pengembangan lokal yang terkait dengan aplikasi Anda.
Pilih Pilih di bagian bawah dialog untuk melanjutkan.
Cuplikan layar memperlihatkan cara memfilter dan memilih grup Microsoft Azure AD untuk aplikasi dalam kotak dialog Pilih anggota.
Grup Azure AD sekarang akan ditampilkan seperti yang dipilih di 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 .NET Tooling

Selanjutnya Anda perlu masuk ke Azure menggunakan salah satu dari beberapa opsi alat .NET. Akun yang Anda masuki juga harus ada di grup Azure Active Directory yang Anda buat dan konfigurasi sebelumnya.

Di menu atas Visual Studio, navigasi ke Alat>Opsi untuk membuka dialog opsi. Di bilah pencarian di kiri atas, ketik Azure untuk memfilter opsi. Di bawah Autentikasi Layanan Azure, pilih Pilihan Akun.

Pilih menu drop-down di bawah Pilih akun dan pilih untuk menambahkan Akun Microsoft. Jendela akan terbuka yang 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.

4 - Menerapkan DefaultAzureCredential di aplikasi Anda

DefaultAzureCredential mendukung beberapa metode autentikasi dan menentukan metode autentikasi yang digunakan saat runtime bahasa umum. Dengan cara ini, aplikasi Anda dapat menggunakan metode autentikasi yang berbeda di lingkungan yang berbeda tanpa menerapkan kode khusus lingkungan.

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

Untuk mengimplementasikan DefaultAzureCredential, pertama-tama tambahkan Azure.Identity dan paket Microsoft.Extensions.Azure secara opsional ke aplikasi Anda. Anda dapat melakukan ini menggunakan baris perintah atau Manajer Paket NuGet.

Buka lingkungan terminal pilihan Anda di direktori proyek aplikasi dan masukkan perintah di bawah ini.

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

Layanan Azure umumnya diakses menggunakan kelas klien yang sesuai dari SDK. Kelas dan layanan kustom Anda sendiri harus terdaftar dalam file Program.cs sehingga dapat diakses melalui injeksi dependensi di seluruh aplikasi Anda. Di dalam Program.cs, ikuti langkah-langkah di bawah ini untuk menyiapkan dengan benar layanan Anda dan DefaultAzureCredential.

  1. Sertakan Azure.Identity namespace layanan dan Microsoft.Extensions.Azure dengan direktif using .
  2. Daftarkan layanan Azure menggunakan metode pembantu yang relevan.
  3. Teruskan instans DefaultAzureCredential objek ke UseCredential metode .

Contoh ini ditampilkan di segmen kode berikut.

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

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

Atau, Anda juga dapat menggunakan DefaultAzureCredential layanan Anda secara lebih langsung tanpa bantuan metode pendaftaran Azure tambahan, seperti yang terlihat di bawah ini.

using Azure.Identity;

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

Ketika kode di atas dijalankan di stasiun kerja lokal Anda selama pengembangan lokal, kode tersebut akan melihat variabel lingkungan untuk perwakilan layanan aplikasi atau di Visual Studio, VS Code, Azure CLI, atau Azure PowerShell untuk serangkaian kredensial pengembang, yang salah satunya 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.