Memigrasikan aplikasi untuk menggunakan koneksi tanpa kata sandi dengan Azure Blob 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.
Mengonfigurasikan peran dan pengguna untuk autentikasi pengembangan lokal
Saat mengembangkan secara lokal, pastikan bahwa akun pengguna yang mengakses data blob memiliki izin yang benar. Anda akan memerlukan Kontributor Data Blob Penyimpanan untuk membaca dan menulis data blob. 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. Anda dapat mempelajari selengkapnya tentang cakupan yang tersedia untuk penetapan peran di halaman gambaran umum cakupan.
Dalam skenario ini, Anda akan menetapkan izin ke akun pengguna, yang tercakup ke akun penyimpanan, untuk mengikuti Prinsip Hak Istimewa Paling Rendah. Praktik ini hanya memberi pengguna izin minimum yang diperlukan dan menciptakan lingkungan produksi yang lebih aman.
Contoh berikut akan menetapkan peran Kontributor Data Blob Penyimpanan ke akun pengguna Anda, yang menyediakan akses baca dan tulis ke data blob di akun penyimpanan Anda.
Penting
Dalam kebanyakan kasus, dibutuhkan 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.
Di portal Azure, temukan akun penyimpanan Anda menggunakan bilah pencarian utama atau navigasi kiri.
Di halaman gambaran umum akun penyimpanan, pilih Kontrol akses (IAM) dari menu kiri.
Di halaman Kontrol akses (IAM), pilih tab Penetapan peran.
Pilih + Tambahkan dari menu atas lalu Tambahkan penetapan peran dari menu drop-down yang dihasilkan.
Gunakan kotak pencarian untuk memfilter hasil ke peran yang diinginkan. Untuk contoh ini, cari Kontributor Data Blob Penyimpanan dan pilih hasil yang cocok, lalu pilih Berikutnya.
Di bagian Tetapkan akses ke, pilih Pengguna, grup, atau perwakilan layanan, lalu pilih + Pilih anggota.
Dalam dialog, cari nama pengguna Microsoft Entra Anda (biasanya alamat email user@domain Anda) lalu pilih Pilih di bagian bawah dialog.
Pilih Tinjau + tetapkan untuk masuk ke halaman akhir, lalu Tinjau + tetapkan lagi untuk menyelesaikan proses.
Masuk dan migrasikan kode aplikasi untuk menggunakan koneksi tanpa kata sandi
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
Selanjutnya, perbarui kode Anda untuk menggunakan koneksi tanpa kata sandi.
Untuk digunakan
DefaultAzureCredential
dalam aplikasi .NET, instalAzure.Identity
paket:dotnet add package Azure.Identity
Di bagian atas file Anda, tambahkan kode berikut:
using Azure.Identity;
Identifikasi lokasi dalam kode Anda yang membuat
BlobServiceClient
untuk menyambungkan ke Azure Blob Storage. Perbarui kode berikut agar sesuai dengan contoh berikut:DefaultAzureCredential credential = new(); BlobServiceClient blobServiceClient = new( new Uri($"https://{storageAccountName}.blob.core.windows.net"), credential);
Pastikan untuk memperbarui nama akun penyimpanan di URI
BlobServiceClient
Anda. Anda dapat menemukan nama akun penyimpanan di halaman gambaran umum portal Azure.
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 untuk pengguna dev lokal Anda di Azure memungkinkan aplikasi Anda terhubung 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 yang mengikuti menjelaskan cara mengonfigurasi aplikasi yang disebarkan untuk menyambungkan ke Azure Blob Storage menggunakan 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.
- Di bagian atas portal Azure, cari Identitas terkelola. Pilih hasil Identitas Terkelola.
- Pilih + Buat di bagian atas halaman gambaran umum Identitas Terkelola.
- 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.
- Pilih Tinjau + buat di bagian bawah halaman.
- 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.
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
Navigasi ke halaman gambaran umum aplikasi web Anda.
Pilih Identitas dari navigasi kiri.
Pada halaman Identitas , beralihlah ke tab Pengguna yang ditetapkan.
Pilih + Tambahkan untuk membuka flyout Tambahkan identitas terkelola yang ditetapkan pengguna.
Pilih langganan yang Anda gunakan sebelumnya untuk membuat identitas.
Cari MigrationIdentity menurut nama dan pilih dari hasil pencarian.
Pilih Tambahkan untuk mengaitkan identitas dengan aplikasi Anda.
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.
Buka halaman gambaran umum akun penyimpanan dan pilih Kontrol Akses (IAM) dari navigasi kiri.
Pilih Tambahkan penetapan peran
Dalam kotak pencarian Peran, cari Kontributor Data Blob Penyimpanan, yang merupakan peran umum yang digunakan untuk mengelola operasi data untuk blob. Anda dapat menetapkan peran apa pun yang sesuai untuk kasus penggunaan Anda. Pilih Kontributor Data Blob Penyimpanan dari daftar, lalu pilih Berikutnya.
Di layar Tambahkan penetapan peran, untuk opsi Tetapkan akses ke, pilih Identitas terkelola. Lalu, pilih +Pilih anggota.
Di flyout, cari identitas terkelola yang Anda buat berdasarkan nama dan pilih dari hasilnya. Pilih Pilih untuk menutup menu flyout.
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.
Pada halaman gambaran umum identitas terkelola, salin nilai ID klien ke clipboard Anda.
Terapkan perubahan khusus bahasa berikut:
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:
- Mengotorisasi akses ke blob menggunakan ID Microsoft Entra
- Untuk mempelajari selengkapnya tentang .NET Core, lihat Mulai menggunakan .NET dalam 10 menit.