öğretici: ASP.NET Core uygulamasındaki Key Vault başvurularını kullanma
Bu öğreticide, Azure Key Vault ile birlikte Azure uygulama yapılandırma hizmetini kullanmayı öğreneceksiniz. Uygulama yapılandırması ve Key Vault, çoğu uygulama dağıtımında yan yana kullanılan tamamlayıcı hizmetlerdir.
Uygulama yapılandırması, Key Vault depolanan değerlere başvuruda bulunan anahtarlar oluşturarak Hizmetleri birlikte kullanmanıza yardımcı olur. Uygulama yapılandırması böyle anahtarlar oluşturduğunda, değerlerinin kendileri yerine Key Vault değerlerinin URI 'Lerini depolar.
Uygulamanız, uygulama yapılandırmasında depolanan diğer anahtarların yaptığı gibi Key Vault başvurularını almak için uygulama yapılandırma istemci sağlayıcısını kullanır. Bu durumda, uygulama yapılandırmasında depolanan değerler Key Vault değerlere başvuran URI 'Lerdir. Bunlar Key Vault değerler veya kimlik bilgileri değildir. İstemci sağlayıcısı anahtarları Key Vault başvuru olarak tanıdığından, değerlerini almak için Key Vault kullanır.
Uygulamanız hem uygulama yapılandırması hem de Key Vault için düzgün şekilde kimlik doğrulaması yapmaktan sorumludur. İki hizmet doğrudan iletişim kurmaz.
Bu öğretici kodunuzda Key Vault başvuruların nasıl uygulanacağını gösterir. Hızlı başlangıçlarda tanıtılan web uygulamasında oluşturulur. devam etmeden önce, önce uygulama yapılandırması ile bir ASP.NET Core uygulaması oluşturun .
Bu öğreticideki adımları uygulamak için herhangi bir kod düzenleyicisi kullanabilirsiniz. örneğin, Visual Studio Code , Windows, macos ve Linux işletim sistemleri için kullanılabilen platformlar arası bir kod düzenleyicisidir.
Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:
- Key Vault depolanan bir değere başvuran bir uygulama yapılandırma anahtarı oluşturun.
- bu anahtarın değerine bir ASP.NET Core web uygulamasından erişin.
Önkoşullar
Bu öğreticiye başlamadan önce .NET Core SDKyükleyebilirsiniz.
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Kasa oluşturma
Azure portal, sol üst köşedeki kaynak oluştur seçeneğini belirleyin:

Arama kutusuna Key Vault yazın ve açılan listeden Key Vault seçin.
Sonuçlar listesinden sol taraftaki Anahtar kasaları ' nı seçin.
Anahtar kasaları' nda Ekle' yi seçin.
Anahtar Kasası oluşturma' da sağ tarafta aşağıdaki bilgileri sağlayın:
- Abonelik seçmek için abonelik ' ı seçin.
- Kaynak grubu' nda, var olan bir kaynak grubu adı girin veya Yeni oluştur ' u seçin ve bir kaynak grubu adı girin.
- Anahtar Kasası adında, benzersiz bir ad gereklidir.
- Bölge açılan listesinde bir konum seçin.
Diğer Anahtar Kasası oluşturma seçeneklerini varsayılan değerleriyle bırakın.
Gözden Geçir ve Oluştur’a tıklayın.
Sistem girdiğiniz verileri doğrular ve görüntüler. Oluştur’a tıklayın.
Bu noktada, Azure hesabınız, bu yeni kasaya erişme yetkisine sahip tek bir hesaptır.
Key Vault’a gizli dizi ekleme
Kasaya bir gizli dizi eklemek için yalnızca birkaç ek adım gerçekleştirmeniz gerekir. Bu durumda, Key Vault alımı test etmek için kullanabileceğiniz bir ileti ekleyin. İleti ileti olarak adlandırılır ve "Hello 'dan Key Vault" değerini depolar.
- Key Vault Özellikler sayfalarında gizli dizileri ' ni seçin.
- Oluştur/Içeri aktar' ı seçin.
- Gizli dizi Oluştur bölmesinde aşağıdaki değerleri girin:
- Upload seçenekleri: el ile girin.
- Ad: ileti girin.
- Değer: Key Vault Merhaba yazın.
- Diğerini varsayılan değerleriyle gizli bir özellikler oluşturmamaya ayrılın.
- Oluştur’u seçin.
Uygulama yapılandırmasına Key Vault başvurusu ekleme
Azure Portal oturum açın. Tüm kaynaklar' ı seçin ve ardından hızlı başlangıçta oluşturduğunuz uygulama yapılandırma deposu örneğini seçin.
Yapılandırma Gezgini' ni seçin.
+ > Anahtar Kasası başvurusu oluştur ' u seçin ve ardından aşağıdaki değerleri belirtin:
- anahtar: TestApp: Ayarlar: keyvaultmessage öğesini seçin.
- Etiket: Bu değeri boş bırakın.
- Abonelik, kaynak grubu ve Anahtar Kasası: önceki bölümde oluşturduğunuz anahtar kasasında bunlara karşılık gelen değerleri girin.
- Gizli: önceki bölümde oluşturduğunuz gizli anahtar adlı iletiyi seçin.

Kodunuzu Key Vault bir başvuru kullanacak şekilde güncelleştirin
aşağıdaki komutu çalıştırarak gerekli NuGet paketlerine bir başvuru ekleyin:
dotnet add package Azure.IdentityProgram. cs' yi açın ve aşağıdaki gerekli paketlere başvuruları ekleyin:
using Azure.Identity;Yöntemini
CreateWebHostBuilderçağırarak uygulama yapılandırmasını kullanmak için yöntemi güncelleştirinconfig.AddAzureAppConfiguration. Seçeneğini ekleyinConfigureKeyVaultve Key Vault doğru kimlik bilgilerini geçirin.public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => webBuilder.ConfigureAppConfiguration((hostingContext, config) => { var settings = config.Build(); config.AddAzureAppConfiguration(options => { options.Connect(settings["ConnectionStrings:AppConfig"]) .ConfigureKeyVault(kv => { kv.SetCredential(new DefaultAzureCredential()); }); }); }) .UseStartup<Startup>());Uygulama yapılandırmasına bağlantıyı başlattığınızda, yöntemini çağırarak Key Vault bağlantısını ayarlarsınız
ConfigureKeyVault. Başlangıçtan sonra, Key Vault başvuruların değerlerine, normal uygulama yapılandırma anahtarlarının değerlerine erişirken aynı şekilde erişebilirsiniz.Bu işlemi eylemde görmek için, Görünümler giriş klasöründeki Index. cshtml dosyasını açın > . Dosyanın içeriğini aşağıdaki kod ile değiştirin:
@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>Key Vault reference TestApp: Ayarlar: keyvaultmessage değerini TestApp: Ayarlar: iletisinin yapılandırma değeri ile aynı şekilde erişirsiniz.
Uygulamanıza Key Vault erişim izni verin
Azure Uygulama yapılandırması, anahtar kasanıza erişemez. Uygulamanız doğrudan Key Vault okur, bu nedenle uygulamanıza anahtar kasasındaki gizli dizileri okuma erişimi vermeniz gerekir. Bu şekilde, gizli dizi her zaman uygulamanız ile kalır. Erişim, Key Vault erişim ilkesi veya Azure rol tabanlı erişim denetimikullanılarak verilebilir.
DefaultAzureCredentialYukarıdaki kodunuzda kullanın. ,, Ve gibi bir dizi kimlik bilgisi türü otomatik olarak denediği toplanmış bir belirteç kimlik bilgileridir EnvironmentCredential ManagedIdentityCredential SharedTokenCacheCredential VisualStudioCredential . Daha fazla bilgi için bkz. DefaultAzureCredential Class. DefaultAzureCredentialAçıkça herhangi bir kimlik bilgisi türüyle değiştirebilirsiniz. Bununla birlikte, kullanımı DefaultAzureCredential hem yerel hem de Azure ortamlarında çalışan aynı koda sahip etmenize olanak sağlar. Örneğin, anahtar kasanıza kendi kimlik bilgilerinizin erişmesini verirsiniz. DefaultAzureCredential``SharedTokenCacheCredential VisualStudioCredential yerel geliştirme için Visual Studio kullandığınızda otomatik olarak geri döner.
Alternatif olarak, AZURE_TENANT_ID, AZURE_CLIENT_ID ve AZURE_CLIENT_SECRET ortam değişkenlerini ayarlayabilir ve DefaultAzureCredential EnvironmentCredential anahtar kasanıza kimlik doğrulaması yapmak için ile sahip olduğunuz istemci gizli anahtarını kullanabilirsiniz. Uygulamanız yönetilen kimlik etkinken Azure App Service, Azure Kubernetes hizmeti veya Azure Container Instance gibi bir Azure hizmetine dağıtıldıktan sonra, Azure hizmeti için yönetilen kimliğe anahtar kasanıza erişim izni verirsiniz. DefaultAzureCredential``ManagedIdentityCredential, uygulamanız Azure 'da çalışırken otomatik olarak kullanılır. Aynı yönetilen kimliği, hem uygulama yapılandırması hem de Key Vault kimlik doğrulaması için kullanabilirsiniz. Daha fazla bilgi için bkz. yönetilen kimlikleri uygulama yapılandırmasına erişmek için kullanma.
Uygulamayı yerel olarak derleyin ve çalıştırın
.NET Core CLI kullanarak uygulamayı derlemek için komut kabuğu 'nda aşağıdaki komutu çalıştırın:
dotnet buildOluşturma işlemi tamamlandıktan sonra, Web uygulamasını yerel olarak çalıştırmak için aşağıdaki komutu kullanın:
dotnet runBir tarayıcı penceresi açın ve
http://localhost:5000yerel olarak barındırılan Web uygulaması için varsayılan URL olan öğesine gidin.
Kaynakları temizleme
Bu makalede oluşturulan kaynakları kullanmaya devam etmek istemiyorsanız, ücretlendirmemek 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 makaleye ait kaynakları tutmak istediğiniz diğer kaynakları içeren bir kaynak grubu içinde oluşturduysanız, kaynak grubunu silmek yerine her kaynağı ilgili bölmeden ayrı ayrı silin.
- Azure Portaloturum açın ve kaynak grupları' nı seçin.
- Ada göre filtrele kutusuna kaynak grubunuzun adını girin.
- Sonuç listesinde, bir genel bakışı görmek için 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.
Sonraki adımlar
Bu öğreticide, uygulama yapılandırmasında Key Vault depolanan bir gizli dizi başvurusu olan bir anahtar oluşturdunuz. Key Vault parolaları ve sertifikaları otomatik olarak yeniden yükleme hakkında bilgi edinmek için sonraki öğreticiye geçin:
Yönetilen Kimlik'i kullanarak Uygulama Yapılandırmasına ve Key Vault kolaylaştırma hakkında bilgi edinmek için aşağıdaki öğreticiye bakın: