Visual Studio Bağlı Hizmetler'i 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ğlı 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.
Key Vault'un etkinleştirilmesi için Bağlı Hizmetler'in projenizde yaptığı değişiklikler hakkında ayrıntılı bilgi için bkz . Key Vault Bağlı Hizmeti - ASP.NET projeme veya Key Vault Bağlı Hizmetime ne oldu - ASP.NET Core projeme ne oldu?
Önkoşullar
- Azure hesabı. Azure hesabınız yoksa Visual Studio aboneleri için Azure avantajlarınızı etkinleştirin veya ücretsiz deneme sürümüne kaydolun.
- Visual Studio 2019 sürüm 16.3 veya üzeri Şimdi indirin.
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.
Çözüm Gezgini Key Vault desteğini eklemek istediğiniz projeye sağ tıklayın ve Bağlı Hizmet Ekle'yi>seçin veya Bağlı Hizmetler düğümüne sağ tıklayın ve Ekle'yi seçin.
Bağlı Hizmetler düğümünü görmüyorsanız Proje>Bağlı Hizmetler> Ekle'yi 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.
Kullanılabilir hizmetler menüsünde Azure Key Vault'u seçin ve İleri'ye tıklayın.
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.
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.
Key Vault Yapılandırma ekranında, Key Vault URI'sine başvuran ortam değişkeninin adını değiştirebilirsiniz. bağlantı dizesi burada depolanmaz; anahtar kasasında depolanır.
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 denetimi (RBAC) ile 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.json
eklendi. Bu, Bağlı Hizmet sağlayıcısı, sürümü ve belgelerin bağlantısı hakkında bazı bilgileri kaydeder.
ASP.NET Core için proje dosyası değişiklikleri
- Bağlı Hizmetler ItemGroup ve
ConnectedServices.json
dosyası eklendi.
ASP.NET Core için değişiklikleri launchsettings.json
Hem Internet Information Services (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.json
eklendi. Bu, Bağlı Hizmet sağlayıcısı, sürümü ve belgelere bir bağlantı hakkında bazı bilgileri kaydeder.
ASP.NET Framework için proje dosyası değişiklikleri
- Bağlı Hizmetler ItemGroup ve ConnectedServices.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ı.