Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide Azure Uygulama Yapılandırma hizmetini Azure Key Vault ile birlikte kullanacaksınız. Uygulama Yapılandırması ve Key Vault, çoğu uygulama dağıtımında yan yana kullanılan tamamlayıcı hizmetlerdir.
Uygulamanız, Uygulama Yapılandırması'nda depolanan diğer anahtarlarda olduğu gibi Key Vault başvurularını almak için Uygulama Yapılandırması istemci sağlayıcısını kullanabilir. Uygulama Yapılandırması'na bir Key Vault başvurusu eklediğinizde, Uygulama Yapılandırması Key Vault'ta depolanan değere başvuran bir anahtar oluşturur. Uygulama Yapılandırması'nın depoladığı değer bir Key Vault değeri veya kimlik bilgisi değildir. Bunun yerine, Key Vault'taki değere başvuran bir URI'dir. İstemci hizmet sağlayıcısı anahtarı bir Key Vault referansı olarak tanıdığında, değerini almak için Key Vault'u kullanır.
Uygulamanız hem Uygulama Yapılandırması hem de Key Vault'ta doğru kimlik doğrulaması yapmakla sorumludur. İki hizmet doğrudan iletişim kurmaz.
Bu öğreticide, kodunuzda Key Vault başvurularını nasıl uygulayabileceğiniz gösterilmektedir. Önkoşullarda listelenen ASP.NET Core hızlı başlangıcında sunulan web uygulamasını temel alır. Devam etmeden önce bu hızlı başlangıcı tamamlayın.
Bu öğreticideki adımları gerçekleştirmek için herhangi bir kod düzenleyicisini kullanabilirsiniz. Örneğin Visual Studio Code, Windows, macOS ve Linux işletim sistemlerinde kullanılabilen platformlar arası bir kod düzenleyicisidir.
Bu eğitimde, siz:
- Key Vault'ta depolanan bir değere başvuran bir Uygulama Yapılandırması anahtarı oluşturun.
- ASP.NET Core web uygulamasından bu anahtarın değerine erişin.
Önkoşullar
Uygulama Yapılandırması ile ASP.NET Core uygulaması oluşturma hızlı başlangıç kılavuzunu tamamlayın.
Anahtar kasası oluştur
Azure portalına gidin ve kaynak oluştur'u seçin.
Arama kutusuna Key Vault yazın. Sonuç listesinde Key Vault'ı seçin.
Key Vault sayfasında Oluştur'u seçin.
Anahtar kasası oluştur sayfasında aşağıdaki bilgileri girin:
- Abonelik için: Bir abonelik seçin.
- Kaynak grubu için: Var olan bir kaynak grubunun adını girin veya Yeni oluştur'u seçin ve bir kaynak grubu adı girin.
- Anahtar kasası adı için benzersiz bir ad girin.
- Bölge: Bir konum seçin.
Diğer seçenekler için varsayılan değerleri kullanın.
Seçin, gözden geçir ve oluştur.
Sistem girişlerinizi doğrulayıp görüntüledikten sonra Oluştur'u seçin.
Bu noktada, azure hesabınız bu yeni kasaya erişme yetkisi olan tek hesaptır.
Key Vault’a gizli dizi ekleme
Uygulamanızda Key Vault alma işlemini test etmek için önce aşağıdaki adımları uygulayarak kasaya bir gizli dizi ekleyin. Eklediğiniz gizli İleti olarak adlandırılır ve değeri "Key Vault'tan Merhaba"dır.
Key Vault kaynak menüsünde Nesneler>Gizli Diziler'i seçin.
Oluştur/İçeri Aktar'ı seçin.
Gizli dizi oluştur iletişim kutusunda aşağıdaki değerleri girin:
- Karşıya yükleme seçenekleri için: El ile yazın.
- Ad için: İleti girin.
- Gizli değer için: Key Vault'tan Merhaba yazın.
Diğer seçenekler için varsayılan değerleri kullanın.
Oluştur'u belirleyin.
Uygulama Yapılandırması key vault başvurusu ekleme
Azure Portal’ında oturum açın. Tüm kaynaklar'ı seçin ve ardından hızlı başlangıçta oluşturduğunuz Uygulama Yapılandırma deposu'na tıklayın.
Yapılandırma gezgini'ne tıklayın.
Oluştur>Key Vault başvurusu'nu seçin ve aşağıdaki değerleri girin:
- Anahtar için: TestApp:Settings:KeyVaultMessage değerini girin.
- Etiket için: Değeri boş bırakın.
- Abonelik, Kaynak grubu ve Key Vault için: Bu öğreticinin önceki bölümlerinde anahtar kasasını oluştururken kullandığınız değerleri girin.
- Gizli için: Önceki bölümde oluşturduğunuz İleti adını taşıyan gizliyi seçin.
Kodunuzu Key Vault başvurusu kullanacak şekilde güncelleştirme
Hızlı başlangıçta oluşturduğunuz ASP.NET Core web uygulaması projesini içeren klasöre gidin.
Komut isteminde aşağıdaki komutu çalıştırın. Bu komut, proje dosyanıza NuGet paket başvurusunu ekler
Azure.Identityveya güncelleştirir.dotnet add package Azure.IdentityProgram.cs dosyasını açın.
usingyönergesi bölümünde,Azure.Identityad alanından türleri içeri aktarmak için aşağıdaki satırı ekleyin:using Azure.Identity;Program.cs yöntemine çağrısını
AddAzureAppConfigurationaşağıdaki koddaki çağrıyla değiştirin. Güncellenmiş olan çağrıConfigureKeyVaultseçeneğini içerir. Bu seçenek, kimlik doğrulaması yapmak için gereken kimlik bilgilerini anahtar kasanıza iletmek üzereSetCredentialyöntemini kullanır.var builder = WebApplication.CreateBuilder(args); // Retrieve the App Configuration endpoint. string endpoint = builder.Configuration.GetValue<string>("Endpoints:AppConfiguration") // Load the configuration from App Configuration. builder.Configuration.AddAzureAppConfiguration(options => { options.Connect(new Uri(endpoint), new DefaultAzureCredential()); options.ConfigureKeyVault(keyVaultOptions => { keyVaultOptions.SetCredential(new DefaultAzureCredential()); }); });İpucu
Birden çok anahtar kasanız varsa, sistem tümü için aynı kimlik bilgilerini kullanır. Anahtar kasalarınız farklı kimlik bilgileri gerektiriyorsa, sınıfın
RegisterveyaSetSecretResolveryöntemleriniAzureAppConfigurationKeyVaultOptionskullanarak bunları ayarlayabilirsiniz.Kodunuzdaki Key Vault başvurularının değerlerine erişmek için projenizdeki Sayfalar klasörüne gidin. Index.cshtml dosyasını açın ve içeriğini aşağıdaki kodla değiştirin. Önceki bloktaki kod, Uygulama Yapılandırması bağlantısını başlatır ve Key Vault bağlantısını ayarlar. Sonuç olarak, Index.cshtml dosyasında Key Vault başvurularının değerlerine normal Uygulama Yapılandırma anahtarlarının değerlerine erişdiğiniz gibi erişebilirsiniz.
@page @using Microsoft.Extensions.Configuration @inject IConfiguration Configuration <style> body { background-color: @Configuration["TestApp:Settings:BackgroundColor"] } h1 { color: @Configuration["TestApp:Settings:FontColor"]; font-size: @Configuration["TestApp:Settings:FontSize"]px; } </style> <h1>@Configuration["TestApp:Settings:Message"] and @Configuration["TestApp:Settings:KeyVaultMessage"]</h1>Bu kod, Key Vault başvurusunun
TestApp:Settings:KeyVaultMessagedeğerine, yapılandırma değerine eriştiği şekilde erişirTestApp:Settings:Message.
Uygulamanıza Key Vault erişimi verme
Uygulama Yapılandırması anahtar kasanıza erişmez. Bunun yerine, uygulamanız doğrudan Key Vault'tan okur; bu nedenle, uygulamanıza Key Vault'taki sırlara erişim vermeniz gerekir. Bu şekilde, sırlar her zaman uygulamanızla kalır. Erişim vermek için Key Vault erişim ilkesi veya Azure rol tabanlı erişim denetimi kullanabilirsiniz.
Bu öğreticideki kod, kimlik doğrulaması için sınıfını DefaultAzureCredential kullanır. Bu toplanan belirteç kimlik bilgisi, EnvironmentCredential, ManagedIdentityCredential, SharedTokenCacheCredential ve VisualStudioCredential gibi çeşitli kimlik bilgisi türlerini otomatik olarak dener. Daha fazla bilgi için bkz . DefaultAzureCredential Sınıfı.
DefaultAzureCredential öğesini herhangi bir açık kimlik bilgisi türüyle değiştirebilirsiniz. Ancak kullandığınızda DefaultAzureCredentialkodunuz yerel ve Azure ortamlarında çalıştırılabilir. Örneğin, uygulamanız Azure'da çalıştırıldığında DefaultAzureCredential, ManagedIdentityCredential kullanır. Ancak yerel geliştirme için Visual Studio kullandığınızda, DefaultAzureCredential otomatik olarak SharedTokenCacheCredential veya VisualStudioCredential öğesine geri döner.
Alternatif olarak, , AZURE_TENANT_IDve AZURE_CLIENT_ID ortam değişkenlerini ayarlayabilirsinizAZURE_CLIENT_SECRET. Bunu yaptığınızda, DefaultAzureCredential bu değişkenleri kullanır ve EnvironmentCredential anahtar kasanızla kimlik doğrulaması yapar.
Uygulamanızı Azure App Service, Azure Kubernetes Service veya Azure Container Instance gibi yönetilen kimliği etkinleştirilmiş bir Azure hizmetine dağıttığınızda, Azure hizmetinin yönetilen kimliğine anahtar kasanıza erişme izni verirsiniz.
DefaultAzureCredential , uygulamanız Azure'da çalışırken otomatik olarak kullanır ManagedIdentityCredential . Hem Uygulama Yapılandırması hem de Key Vault ile kimlik doğrulaması yapmak için aynı yönetilen kimliği kullanabilirsiniz. Daha fazla bilgi için bkz. Uygulama Yapılandırmasına erişmek için yönetilen kimlikleri kullanma.
Uygulamayı yerel olarak derleme ve çalıştırma
.NET CLI kullanarak uygulamayı derlemek için komut isteminde aşağıdaki komutu çalıştırın:
dotnet buildDerleme tamamlandıktan sonra web uygulamasını yerel olarak çalıştırmak için aşağıdaki komutu kullanın:
dotnet runKomutun
dotnet runçıktısında, web uygulamasının dinlediği URL'yi bulun, örneğinhttp://localhost:5292. Bir tarayıcı açın ve bu URL'ye gidin.
Web sayfasındaki metin aşağıdaki bileşenleri içerir:
- Uygulama Yapılandırma deponuzdaki
TestApp:Settings:Messageanahtarla ilişkili değer - Anahtar kasanızda depolanan İleti sırrının değeri
- Uygulama Yapılandırma deponuzdaki
Kaynakları temizleme
Bu makalede oluşturulan kaynakları kullanmaya devam etmek istemiyorsanız ücretlerden kaçınmak için burada oluşturduğunuz kaynak grubunu silin.
Önemli
Silinen kaynak grupları geri alınamaz. Kaynak grubu ve içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. Bu makalenin kaynaklarını, saklamak istediğiniz diğer kaynakları içeren bir kaynak grubu içinde oluşturduysanız, kaynak grubunu silmek yerine her kaynağı ilgili bölmeden tek tek silin.
- Azure portalında oturum açın ve Kaynak grupları'nı seçin.
- Ada göre filtrele kutusuna kaynak grubunuzun adını girin.
- Genel bir bakış görmek için sonuç listesinde kaynak grubu adını seçin.
- Kaynak grubunu sil'i seçin.
- Kaynak grubunun silinmesini onaylamanız istenir. Onaylamak için kaynak grubunuzun adını girin ve Sil'i seçin.
Birkaç dakika sonra kaynak grubu ve tüm kaynakları silinir.