Menambahkan Key Vault ke aplikasi web Anda dengan menggunakan Visual Studio Connected Services (Layanan Terhubung Studio Visual)

Dalam tutorial ini, Anda akan mempelajari cara dengan mudah menambahkan semua yang Anda butuhkan untuk mulai menggunakan Azure Key Vault untuk mengelola rahasia Anda untuk proyek web di Visual Studio, apakah Anda menggunakan ASP.NET Core atau semua jenis proyek ASP.NET. Dengan menggunakan fitur Connected Services di Visual Studio, Anda dapat menambahkan semua paket dan pengaturan konfigurasi NuGet secara otomatis yang perlu Anda sambungkan ke Key Vault di Azure.

Untuk detail tentang perubahan yang Koneksi dilakukan Layanan dalam proyek Anda untuk mengaktifkan Key Vault, lihat Layanan Koneksi Key Vault - Apa yang terjadi pada proyek ASP.NET saya atau Layanan Koneksi Key Vault - Apa yang terjadi pada proyek inti ASP.NET saya.

Prasyarat

Menambahkan dukungan Key Vault ke proyek Anda

Sebelum memulai, pastikan Anda masuk ke Visual Studio. Masuk dengan akun yang sama dengan yang Anda gunakan untuk langganan Azure. Kemudian buka proyek web ASP.NET 4.7.1 atau yang lebih baru, atau ASP.NET Core, dan lakukan langkah-langkah berikut. Langkah-langkah yang ditampilkan adalah untuk Visual Studio 2022 versi 17.4. Alur mungkin sedikit berbeda untuk versi Visual Studio lainnya.

  1. Di Penjelajah Solusi, klik kanan proyek yang ingin Anda tambahkan dukungan Key Vault, dan pilih Tambahkan> Koneksi Layanan. Di bawah Dependensi Layanan, pilih + ikon . Halaman Layanan Tersambung muncul dengan layanan yang bisa Anda tambahkan ke proyek Anda.

  2. Di menu layanan yang tersedia, pilih Azure Key Vault dan klik Berikutnya.

    Pilih

  3. Pilih langganan yang ingin Anda gunakan, lalu jika Anda sudah memiliki brankas kunci yang ingin Anda gunakan, pilih dan klik Berikutnya.

    Cuplikan layar Pilih langganan Anda

  4. Jika Anda tidak memiliki Key Vault yang sudah ada, klik Buat Key Vault baru. Anda akan diminta untuk menyediakan grup sumber daya, lokasi, dan SKU.

    Cuplikan layar

  5. Di layar Konfigurasi Key Vault, Anda dapat mengubah nama variabel lingkungan yang mereferensikan URI Key Vault. string koneksi tidak disimpan di sini; disimpan di brankas kunci.

    Cuplikan layar Koneksi ke Azure Key Vault.

  6. Klik Berikutnya untuk meninjau ringkasan perubahan lalu Selesai.

Sekarang, koneksi ke Key Vault dibuat dan Anda dapat mengakses rahasia Anda dalam kode. Jika Anda baru saja membuat brankas kunci baru, uji dengan membuat rahasia yang dapat Anda referensikan dalam kode. Anda dapat membuat rahasia dengan menggunakan portal Microsoft Azure, PowerShell, atau CLI Azure.

Lihat contoh kode bekerja dengan rahasia di pustaka klien Rahasia Azure Key Vault untuk .NET - Contoh kode.

Mengonfigurasi akses ke brankas kunci

Jika brankas kunci Anda berjalan di akun Microsoft yang berbeda dari yang Anda masuki ke Visual Studio (misalnya, brankas kunci berjalan di akun kerja Anda, tetapi Visual Studio menggunakan akun privat Anda) Anda mendapatkan kesalahan dalam file Program.cs Anda, visual Studio tidak bisa mendapatkan akses ke brankas kunci. Untuk memperbaiki masalah ini, buka portal Azure, buka brankas kunci Anda, dan pilih Kontrol akses (IAM) untuk mengatur izin. Lihat Menyediakan akses ke kunci, sertifikat, dan rahasia Key Vault dengan kontrol akses berbasis peran Azure (RBAC).

Catatan

Brankas kunci yang lebih lama mungkin menggunakan model kebijakan akses warisan. Disarankan untuk memigrasikan brankas kunci yang lebih lama untuk menggunakan Azure RBAC. Lihat Kontrol akses berbasis peran Azure (RBAC) vs. kebijakan akses.

Bagaimana proyek ASP.NET Core Anda dimodifikasi

Bagian ini mengidentifikasi perubahan yang tepat yang dilakukan pada proyek ASP.NET saat menambahkan layanan terhubung brankas kunci menggunakan Visual Studio.

Menambahkan referensi untuk ASP.NET Core

Mempengaruhi referensi .NET file proyek dan referensi paket NuGet.

Jenis Referensi
NuGet Microsoft.AspNetCore.AzureKeyVault.HostingStartup

Menambahkan berkas untuk ASP.NET Core

  • ConnectedService.json ditambahkan, yang merekam informasi tentang penyedia Layanan Tersambung, versi, dan link dokumentasinya.

Perubahan file proyek untuk ASP.NET Core

  • Menambahkan ItemGroup Layanan Tersambung dan file ConnectedServices.json.

Perubahan launchsettings.json untuk ASP.NET Core

  • Menambahkan entri variabel lingkungan berikut ke profil IIS Express dan profil yang cocok dengan nama proyek web Anda:

      "environmentVariables": {
        "ASPNETCORE_HOSTINGSTARTUP__KEYVAULT__CONFIGURATIONENABLED": "true",
        "ASPNETCORE_HOSTINGSTARTUP__KEYVAULT__CONFIGURATIONVAULT": "<your keyvault URL>"
      }
    

Perubahan pada Azure for ASP.NET Core

  • Membuat grup sumber daya (atau menggunakan grup sumber daya yang sudah ada).
  • Membuat brankas kunci di grup sumber daya yang ditentukan.

Bagaimana proyek ASP.NET Framework Anda dimodifikasi

Bagian ini mengidentifikasi perubahan yang tepat yang dilakukan pada proyek ASP.NET saat menambahkan layanan terhubung brankas kunci menggunakan Visual Studio.

Menambahkan referensi untuk ASP.NET Framework

Mempengaruhi referensi .NET file proyek dan packages.config (referensi paket NuGet).

Jenis Referensi
.NET; NuGet Azure.Identity
.NET; NuGet Azure.Security.KeyVault.Keys
.NET; NuGet Azure.Security.key vault. Rahasia

Penting

Secara default, Azure.Identity 1.1.1 dipasang, yang tidak mendukung Mandat Visual Studio. Anda dapat memperbarui referensi paket secara manual ke 1.2+ menggunakan Mandat Visual Studio.

Menambahkan file untuk ASP.NET Framework

  • ConnectedService.json ditambahkan, yang merekam informasi tentang penyedia Layanan Tersambung, versi, dan link ke dokumentasinya.

Perubahan file proyek untuk ASP.NET Framework

  • Menambahkan ItemGroup Layanan Tersambung dan file ConnectedServices.json.
  • Referensi ke kumpulan .NET yang dijelaskan di bagian Menambahkan referensi.

Langkah berikutnya

Jika Anda mengikuti tutorial ini, izin Key Vault Anda disiapkan untuk dijalankan dengan langganan Azure Anda sendiri, tetapi itu mungkin tidak diinginkan untuk skenario produksi. Anda dapat membuat identitas terkelola untuk mengelola akses Key Vault untuk aplikasi Anda. Lihat Cara Mengautentikasi ke Key Vault dan Menetapkan kebijakan akses Key Vault.

Pelajari selengkapnya tentang pengembangan Key Vault dengan membaca Panduan Pengembang Key Vault.

Jika tujuan Anda adalah menyimpan konfigurasi untuk aplikasi ASP.NET Core di brankas kunci Azure, lihat Penyedia konfigurasi Azure Key Vault di ASP.NET Core.