Visual Studio Bağlan ed Services kullanarak web uygulamanıza Key Vault ekleme

Bu öğreticide, ister ASP.NET Core ister herhangi bir tür ASP.NET projesi kullanıyor olun, Visual Studio'daki web projelerine yönelik gizli dizilerinizi yönetmek üzere Azure Key Vault kullanmaya başlamak için ihtiyacınız olan her şeyi kolayca eklemeyi öğreneceksiniz. Visual Studio'daki Bağlan Hizmetler özelliğini kullanarak, Visual Studio'ya Azure'da Key Vault'a bağlanmak için ihtiyacınız olan tüm NuGet paketlerini ve yapılandırma ayarlarını otomatik olarak eklemesini sağlayabilirsiniz.

Bağlan Hizmetleri'nin Key Vault'Bağlan etkinleştirmek için projenizde yaptığı değişikliklerle ilgili ayrıntılar için bkz. Key Vault Bağlan Ed Service - ASP.NET projeme veya Key Vault Bağlan Ed Service'e ne oldu - ASP.NET Core projeme ne oldu?

Önkoşullar

Projenize Key Vault desteği ekleme

Başlamadan önce Visual Studio'da oturum açtığınızdan emin olun. Azure aboneliğiniz için kullandığınız hesapla oturum açın. Ardından bir ASP.NET 4.7.1 veya sonraki bir sürümü veya ASP.NET Core web projesi açın ve aşağıdaki adımları uygulayın. Gösterilen adımlar Visual Studio 2022 sürüm 17.4 içindir. Visual Studio'nun diğer sürümleri için akış biraz farklı olabilir.

  1. Çözüm Gezgini'da Key Vault desteğini eklemek istediğiniz projeye sağ tıklayın ve Ekle Bağlan hizmet'i> seçin. Hizmet Bağımlılıkları'nın altında simgeyi + seçin. Projenize ekleyebileceğiniz hizmetlerle birlikte Bağlı Hizmet sayfası görüntülenir.

  2. Kullanılabilir hizmetler menüsünde Azure Key Vault'u seçin ve İleri'ye tıklayın.

  3. Kullanmak istediğiniz aboneliği seçin ve kullanmak istediğiniz bir anahtar kasanız varsa, bunu seçin ve İleri'ye tıklayın.

    Ekran görüntüsü Aboneliğinizi seçme

  4. Mevcut bir Key Vault'nuz yoksa Yeni Anahtar Kasası oluştur'a tıklayın. Kaynak grubunu, konumu ve SKU'yu sağlamanız istenir.

  5. Anahtar Kasasını Yapılandır ekranında, anahtar kasası URI'sine başvuran ortam değişkeninin adını değiştirebilirsiniz. bağlantı dizesi burada depolanmaz; anahtar kasasında depolanır.

    Azure Key Vault'a Bağlan ekranının ekran görüntüsü.

  6. Değişikliklerin özetini gözden geçirmek için İleri'ye ve ardından Son'a tıklayın.

Artık Key Vault bağlantısı kurulur ve gizli dizilerinize kodda erişebilirsiniz. Yeni bir anahtar kasası oluşturduysanız kodda başvurabileceğiniz bir gizli dizi oluşturarak bunu test edin. Azure portalını, PowerShell'i veya Azure CLI'yı kullanarak gizli dizi oluşturabilirsiniz.

.NET için Azure Key Vault Gizli Dizileri istemci kitaplığında gizli dizilerle çalışmanın kod örneklerine bakın - Kod örnekleri.

Anahtar kasasına erişimi yapılandırma

Anahtar kasanız, Visual Studio'da oturum açtığınız hesaptan farklı bir Microsoft hesabında çalışıyorsa (örneğin, anahtar kasası iş hesabınızda çalışıyor, ancak Visual Studio özel hesabınızı kullanıyorsa) Program.cs dosyanızda Visual Studio'nun anahtar kasasına erişemediğini belirten bir hata alırsınız. Bu sorunu çözmek için Azure portalına gidin, anahtar kasanızı açın ve izinleri ayarlamak için Erişim denetimi (IAM) seçeneğini belirleyin. Bkz . Azure rol tabanlı erişim denetimiyle Key Vault anahtarlarına, sertifikalarına ve gizli dizilerine erişim sağlama.

Not

Eski anahtar kasaları eski bir erişim ilkesi modeli kullanabilir. Azure RBAC kullanmak için eski anahtar kasalarını geçirmeniz önerilir. Bkz . Azure rol tabanlı erişim denetimi (RBAC) ve erişim ilkeleri.

ASP.NET Core projeniz nasıl değiştirilir?

Bu bölüm, Visual Studio kullanarak anahtar kasası bağlı hizmetini eklerken bir ASP.NET projesinde yapılan tam değişiklikleri tanımlar.

ASP.NET Core için başvurular eklendi

Proje dosyası .NET başvurularını ve NuGet paket başvurularını etkiler.

Tür Referans
NuGet Microsoft.AspNetCore.AzureKeyVault.HostingStartup

ASP.NET Core için dosyalar eklendi

  • ConnectedService.jsonBağlan Hizmet sağlayıcısı, sürümü ve belgelerin bağlantısı hakkında bazı bilgileri kaydeden eklendi.

ASP.NET Core için proje dosyası değişiklikleri

  • Bağlan Ed Services ItemGroup ve ConnectedServices.json dosyası eklendi.

ASP.NET Core için değişiklikleri launchsettings.json

  • Hem IIS Express profiline hem de web projenizin adıyla eşleşen profile aşağıdaki ortam değişkeni girdileri eklendi:

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

ASP.NET Core için Azure'da yapılan değişiklikler

  • Bir kaynak grubu oluşturdunuz (veya var olan bir grubu kullandınız).
  • Belirtilen kaynak grubunda bir anahtar kasası oluşturuldu.

ASP.NET Framework projeniz nasıl değiştirilir?

Bu bölüm, Visual Studio kullanarak anahtar kasası bağlı hizmetini eklerken bir ASP.NET projesinde yapılan tam değişiklikleri tanımlar.

ASP.NET Framework için başvurular eklendi

.NET başvurularını ve packages.config (NuGet başvuruları) proje dosyasını etkiler.

Tür Referans
.NET; NuGet Azure.Identity
.NET; NuGet Azure.Security.KeyVault.Keys
.NET; NuGet kasayı Azure.Security.key. Sır -larını

Önemli

Varsayılan olarak Visual Studio Kimlik Bilgilerini desteklemeyen Azure.Identity 1.1.1 yüklenir. Visual Studio Kimlik Bilgileri'ni kullanarak paket başvurularını el ile 1.2+'ya güncelleştirebilirsiniz.

ASP.NET Framework için dosyalar eklendi

  • ConnectedService.jsonBağlan Hizmet sağlayıcısı, sürümü ve belgelere bir bağlantı hakkında bazı bilgileri kaydeden eklendi.

ASP.NET Framework için proje dosyası değişiklikleri

  • Bağlan Services ItemGroup ve Bağlan edServices.json dosyası eklendi.
  • Eklenen başvurular bölümünde açıklanan .NET derlemelerine başvurular .

Sonraki adımlar

Bu öğreticiyi izlediyseniz, Key Vault izinleriniz kendi Azure aboneliğinizle çalışacak şekilde ayarlanır, ancak üretim senaryosu için bu istenmeyebilir. Uygulamanız için Key Vault erişimini yönetmek için yönetilen kimlik oluşturabilirsiniz. Bkz . Key Vault'ta Kimlik Doğrulaması Yapma ve Key Vault erişim ilkesi atama.

Key Vault Geliştirici Kılavuzu'nu okuyarak Key Vault geliştirme hakkında daha fazla bilgi edinin.

Hedefiniz ASP.NET Core uygulamasının yapılandırmasını azure anahtar kasasında depolamaksa bkz . ASP.NET Core'da Azure Key Vault yapılandırma sağlayıcısı.