Bagikan melalui


Memigrasikan aplikasi untuk menggunakan koneksi tanpa kata sandi dengan Azure Queue Storage

Permintaan aplikasi ke layanan Azure harus diautentikasi menggunakan konfigurasi seperti kunci akses akun atau koneksi tanpa kata sandi. Namun, Anda harus memprioritaskan koneksi tanpa kata sandi di aplikasi jika memungkinkan. Metode autentikasi tradisional yang menggunakan kata sandi atau kunci rahasia menciptakan risiko dan komplikasi keamanan. Kunjungi koneksi tanpa kata sandi untuk hub layanan Azure untuk mempelajari selengkapnya tentang keuntungan pindah ke koneksi tanpa kata sandi.

Tutorial berikut menjelaskan cara memigrasikan aplikasi yang ada untuk terhubung menggunakan koneksi tanpa kata sandi. Langkah-langkah migrasi yang sama ini harus berlaku apakah Anda menggunakan kunci akses, string koneksi, atau pendekatan berbasis rahasia lainnya.

Mengonfigurasi lingkungan pengembangan lokal Anda

Koneksi tanpa kata sandi dapat dikonfigurasi agar berfungsi untuk lingkungan lokal dan yang dihosting Azure. Di bagian ini, Anda akan menerapkan konfigurasi untuk memungkinkan pengguna individual mengautentikasi ke Azure Queue Storage untuk pengembangan lokal.

Tetapkan peran pengguna

Saat mengembangkan secara lokal, pastikan akun pengguna yang mengakses Queue Storage memiliki izin yang benar. Anda memerlukan peran Kontributor Data Antrean Penyimpanan untuk membaca dan menulis data antrean. Untuk menetapkan sendiri peran ini, Anda harus diberi peran Administrator Akses Pengguna, atau peran lain yang menyertakan tindakan Microsoft.Authorization/roleAssignments/write . Anda dapat menetapkan peran Azure RBAC kepada pengguna menggunakan portal Azure, Azure CLI, atau Azure PowerShell. Pelajari selengkapnya tentang cakupan yang tersedia untuk penetapan peran di halaman gambaran umum cakupan .

Contoh berikut menetapkan peran Kontributor Data Antrean Penyimpanan ke akun pengguna Anda. Peran ini memberikan akses baca dan tulis ke data antrean di akun penyimpanan Anda.

  1. Di portal Azure, temukan akun penyimpanan Anda menggunakan bilah pencarian utama atau navigasi kiri.

  2. Di halaman gambaran umum akun penyimpanan, pilih Kontrol akses (IAM) dari menu kiri.

  3. Di halaman Kontrol akses (IAM), pilih tab Penetapan peran.

  4. Pilih + Tambahkan dari menu atas lalu Tambahkan penetapan peran dari menu drop-down yang dihasilkan.

    Cuplikan layar yang menampilkan cara menetapkan peran.

  5. Gunakan kotak pencarian untuk memfilter hasil ke peran yang diinginkan. Untuk contoh ini, cari Kontributor Data Antrean Penyimpanan dan pilih hasil yang cocok lalu pilih Berikutnya.

  6. Di bagian Tetapkan akses ke, pilih Pengguna, grup, atau perwakilan layanan, lalu pilih + Pilih anggota.

  7. Dalam dialog, cari nama pengguna Microsoft Entra Anda (biasanya alamat email user@domain Anda) lalu pilih Pilih di bagian bawah dialog.

  8. Pilih Tinjau + tetapkan untuk masuk ke halaman akhir, lalu Tinjau + tetapkan lagi untuk menyelesaikan proses.

Penting

Dalam kebanyakan kasus, akan memakan waktu satu atau dua menit agar penetapan peran disebarluaskan di Azure, tetapi dalam kasus yang jarang terjadi mungkin perlu waktu hingga delapan menit. Jika Anda menerima kesalahan autentikasi saat pertama kali menjalankan kode, tunggu beberapa saat dan coba lagi.

Masuk ke Azure secara lokal

Untuk pengembangan lokal, pastikan Anda diautentikasi dengan akun Microsoft Entra yang sama dengan yang Anda tetapkan perannya. Anda dapat mengautentikasi melalui alat pengembangan populer, seperti Azure CLI atau Azure PowerShell. Alat pengembangan yang dapat Anda autentikasi bervariasi di seluruh bahasa.

Masuk ke Azure melalui Azure CLI menggunakan perintah berikut:

az login

Memperbarui kode aplikasi untuk menggunakan koneksi tanpa kata sandi

Pustaka klien Azure Identity, untuk setiap ekosistem berikut, menyediakan kelas yang menangani autentikasi DefaultAzureCredential tanpa kata sandi ke Azure:

DefaultAzureCredential mendukung beberapa metode autentikasi. Metode yang digunakan ditentukan pada runtime. Pendekatan ini memungkinkan aplikasi Anda menggunakan metode autentikasi yang berbeda di lingkungan yang berbeda (lokal vs. produksi) tanpa menerapkan kode spesifik per lingkungan. Lihat tautan sebelumnya untuk pesanan dan lokasi di mana DefaultAzureCredential mencari kredensial.

  1. Untuk digunakan DefaultAzureCredential dalam aplikasi .NET, instal Azure.Identity paket:

    dotnet add package Azure.Identity
    
  2. Di bagian atas file Anda, tambahkan kode berikut:

    using Azure.Identity;
    
  3. Identifikasi lokasi dalam kode Anda yang membuat QueueClient objek untuk disambungkan ke Azure Queue Storage. Perbarui kode berikut agar sesuai dengan contoh berikut:

    DefaultAzureCredential credential = new();
    
    QueueClient queueClient = new(
         new Uri($"https://{storageAccountName}.queue.core.windows.net/{queueName}"),
         new DefaultAzureCredential());
    
  1. Pastikan untuk memperbarui nama akun penyimpanan di URI objek Anda QueueClient . Anda dapat menemukan nama akun penyimpanan di halaman gambaran umum portal Azure.

    Cuplikan layar memperlihatkan cara menemukan nama akun penyimpanan.

Menjalankan aplikasi secara lokal

Setelah menerapkan perubahan kode ini, jalankan aplikasi Anda secara lokal. Konfigurasi baru akan mengambil kredensial lokal Anda, seperti Azure CLI, Visual Studio, atau IntelliJ. Peran yang Anda tetapkan kepada pengguna di Azure memungkinkan aplikasi Anda tersambung ke layanan Azure secara lokal.

Mengonfigurasikan lingkungan hosting Azure

Setelah aplikasi Anda dikonfigurasi untuk menggunakan koneksi tanpa kata sandi dan berjalan secara lokal, kode yang sama dapat mengautentikasi ke layanan Azure setelah disebarkan ke Azure. Bagian berikut menjelaskan cara mengonfigurasi aplikasi yang disebarkan untuk menyambungkan ke Azure Queue Storage menggunakan identitas terkelola. Identitas terkelola memberikan identitas terkelola secara otomatis di Microsoft Entra ID untuk digunakan aplikasi saat menyambung ke sumber daya yang mendukung autentikasi Microsoft Entra. Pelajari selengkapnya tentang identitas terkelola:

Buat identitas terkelola

Anda dapat membuat identitas terkelola yang ditetapkan pengguna menggunakan portal Azure atau Azure CLI. Aplikasi Anda menggunakan identitas untuk mengautentikasi ke layanan lain.

  1. Di bagian atas portal Azure, cari Identitas terkelola. Pilih hasil Identitas Terkelola.
  2. Pilih + Buat di bagian atas halaman gambaran umum Identitas Terkelola.
  3. Pada tab Dasar , masukkan nilai berikut ini:
    • Langganan: Pilih langganan yang Anda inginkan.
    • Grup Sumber Daya: Pilih grup sumber daya yang Anda inginkan.
    • Wilayah: Pilih wilayah di dekat lokasi Anda.
    • Nama: Masukkan nama yang dapat dikenali untuk identitas Anda, seperti MigrationIdentity.
  4. Pilih Tinjau + buat di bagian bawah halaman.
  5. Setelah pemeriksaan validasi selesai, pilih Buat. Azure membuat identitas baru yang ditetapkan pengguna.

Setelah sumber daya dibuat, pilih Buka sumber daya untuk melihat detail identitas terkelola.

Cuplikan layar memperlihatkan cara membuat identitas terkelola yang ditetapkan pengguna.

Mengaitkan identitas terkelola dengan aplikasi web Anda

Anda perlu mengonfigurasi aplikasi web untuk menggunakan identitas terkelola yang Anda buat. Tetapkan identitas ke aplikasi Anda menggunakan portal Azure atau Azure CLI.

Selesaikan langkah-langkah berikut di portal Azure untuk mengaitkan identitas dengan aplikasi Anda. Langkah-langkah yang sama ini berlaku untuk layanan Azure berikut ini:

  • Azure Spring Apps
  • Azure Container Apps
  • Komputer virtual Azure
  • Azure Kubernetes Service
  1. Navigasi ke halaman gambaran umum aplikasi web Anda.

  2. Pilih Identitas dari navigasi kiri.

  3. Pada halaman Identitas , beralihlah ke tab Pengguna yang ditetapkan.

  4. Pilih + Tambahkan untuk membuka flyout Tambahkan identitas terkelola yang ditetapkan pengguna.

  5. Pilih langganan yang Anda gunakan sebelumnya untuk membuat identitas.

  6. Cari MigrationIdentity menurut nama dan pilih dari hasil pencarian.

  7. Pilih Tambahkan untuk mengaitkan identitas dengan aplikasi Anda.

    Cuplikan layar memperlihatkan cara membuat identitas yang ditetapkan pengguna.

Menetapkan peran ke identitas terkelola

Selanjutnya, Anda perlu memberikan izin ke identitas terkelola yang dibuat untuk mengakses akun penyimpanan. Berikan izin dengan menetapkan peran ke identitas terkelola, seperti yang Anda lakukan dengan pengguna pengembangan lokal Anda.

  1. Buka halaman gambaran umum akun penyimpanan dan pilih Kontrol Akses (IAM) dari navigasi kiri.

  2. Pilih Tambahkan penetapan peran

    Cuplikan layar memperlihatkan cara menambahkan peran ke identitas terkelola.

  3. Dalam kotak pencarian Peran , cari Kontributor Data Antrean Penyimpanan, yang merupakan peran umum yang digunakan untuk mengelola operasi data untuk antrean. Anda dapat menetapkan peran apa pun yang sesuai untuk kasus penggunaan Anda. Pilih Kontributor Data Antrean Penyimpanan dari daftar dan pilih Berikutnya.

  4. Di layar Tambahkan penetapan peran, untuk opsi Tetapkan akses ke, pilih Identitas terkelola. Lalu, pilih +Pilih anggota.

  5. Di flyout, cari identitas terkelola yang Anda buat berdasarkan nama dan pilih dari hasilnya. Pilih Pilih untuk menutup menu flyout.

    Cuplikan layar memperlihatkan cara memilih identitas terkelola yang ditetapkan.

  6. Pilih Berikutnya beberapa kali hingga Anda dapat memilih Tinjau + tetapkan untuk menyelesaikan penetapan peran.

Memperbarui kode aplikasi

Anda perlu mengonfigurasi kode aplikasi untuk mencari identitas terkelola tertentu yang Anda buat saat disebarkan ke Azure. Dalam beberapa skenario, secara eksplisit mengatur identitas terkelola untuk aplikasi juga mencegah identitas lingkungan lain terdeteksi dan digunakan secara otomatis.

  1. Pada halaman gambaran umum identitas terkelola, salin nilai ID klien ke clipboard Anda.

  2. Terapkan perubahan khusus bahasa berikut:

    Buat DefaultAzureCredentialOptions objek dan teruskan ke DefaultAzureCredential. Atur properti ManagedIdentityClientId ke ID klien.

    DefaultAzureCredential credential = new(
        new DefaultAzureCredentialOptions
        {
            ManagedIdentityClientId = managedIdentityClientId
        });
    
  3. Sebarkan ulang kode Anda ke Azure setelah melakukan perubahan ini agar pembaruan konfigurasi diterapkan.

Menguji aplikasi

Setelah menyebarkan kode yang diperbarui, telusuri ke aplikasi yang dihosting di browser. Aplikasi Anda harus berhasil terhubung ke akun penyimpanan. Perlu diingat bahwa mungkin perlu waktu beberapa menit agar penetapan peran disebarkan melalui lingkungan Azure Anda. Aplikasi Anda kini dikonfigurasikan untuk berjalan baik secara lokal maupun di lingkungan produksi tanpa pengembang harus mengelola rahasia dalam aplikasi itu sendiri.

Langkah berikutnya

Dalam tutorial ini, Anda belajar cara memigrasikan aplikasi ke koneksi tanpa kata sandi.

Anda dapat membaca sumber daya berikut untuk menjelajahi konsep yang dibahas dalam artikel ini secara lebih mendalam: