Share via


Uygulama Yapılandırması’na erişmek için yönetilen kimlikleri kullanma

Microsoft Entra yönetilen kimlikleri , bulut uygulamanız için gizli dizi yönetimini basitleştirir. Yönetilen kimlikle kodunuz üzerinde çalıştığı Azure hizmeti için oluşturulan hizmet sorumlusunu kullanabilir. Azure Key Vault'ta depolanan ayrı bir kimlik bilgisi veya yerel bir bağlantı dizesi yerine yönetilen kimlik kullanırsınız.

Azure Uygulaması Yapılandırması ve .NET, .NET Framework ve Java Spring istemci kitaplıkları yerleşik olarak yönetilen kimlik desteğine sahiptir. Bunu kullanmanız gerekli olmasa da, yönetilen kimlik gizli diziler içeren bir erişim belirteci gereksinimini ortadan kaldırır. Kodunuz yalnızca hizmet uç noktasını kullanarak Uygulama Yapılandırması deposuna erişebilir. Bu URL'yi herhangi bir gizli dizi göstermeden doğrudan kodunuz içine ekleyebilirsiniz.

Bu makalede, Uygulama Yapılandırması erişmek için yönetilen kimliklerden nasıl yararlanabileceğiniz gösterilmektedir. Hızlı başlangıçlarda sunulan web uygulamasını temel alır. Devam etmeden önce Uygulama Yapılandırması ile bir ASP.NET Core uygulaması oluşturun.

Bu makalede, Uygulama Yapılandırması erişmek için yönetilen kimliklerden nasıl yararlanabileceğiniz gösterilmektedir. Hızlı başlangıçlarda sunulan web uygulamasını temel alır. Devam etmeden önce Azure Uygulaması Yapılandırması ile bir Java Spring uygulaması oluşturun.

Önemli

Yönetilen kimlik, yerel olarak çalışan uygulamaların kimliğini doğrulamak için kullanılamaz. Uygulamanızın Yönetilen Kimliği destekleyen bir Azure hizmetine dağıtılması gerekir. Bu makalede örnek olarak Azure Uygulaması Hizmeti gerçekleştirilir. Ancak, aynı kavram yönetilen kimliği destekleyen diğer tüm Azure hizmetleri için de geçerlidir. Örneğin, Azure Kubernetes Service, Azure Sanal Makinesi ve Azure Container Instances. İş yükünüz bu hizmetlerden birinde barındırılıyorsa hizmetin yönetilen kimlik desteğinden de yararlanabilirsiniz.

Bu öğreticideki adımları gerçekleştirmek için herhangi bir kod düzenleyicisini kullanabilirsiniz. Visual Studio Code , Windows, macOS ve Linux platformlarında kullanılabilen mükemmel bir seçenektir.

Bu makalede şunları öğreneceksiniz:

  • yönetilen kimlik erişimi Uygulama Yapılandırması.
  • uygulamanızı, Uygulama Yapılandırması bağlanırken yönetilen kimlik kullanacak şekilde yapılandırın.

Önkoşullar

Bu öğreticiyi tamamlamak için aşağıdakiler gereklidir:

Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

Yönetilen kimlik ekleme

Portalda yönetilen kimlik ayarlamak için önce bir uygulama oluşturup ardından özelliği etkinleştirin.

  1. Azure portalında App Services kaynağınıza erişin. Kullanılacak mevcut bir App Services kaynağınız yoksa bir kaynak oluşturun.

  2. Sol bölmede aşağı kaydırarak Ayarlar grubuna gelin ve Kimlik'i seçin.

  3. Sistem tarafından atanan sekmesinde, Durum'aAçık olarak geçin ve Kaydet'i seçin.

  4. İstendiğinde, sistem tarafından atanan yönetilen kimliği açmak için Evet yanıtını verin.

    Screenshot of how to add a managed identity in App Service.

Uygulama Yapılandırması erişim izni verme

Aşağıdaki adımlarda, Uygulama Yapılandırması Veri Okuyucusu rolünün App Service'e nasıl atandığı açıklanmaktadır. Ayrıntılı adımlar için bkz. Azure portalı kullanarak Azure rolleri atama.

  1. Azure portalında Uygulama Yapılandırması mağazanızı seçin.

  2. Erişim denetimi (IAM) öğesini seçin.

  3. Ekle>Rol ataması ekle’yi seçin.

    Screenshot that shows the Access control (IAM) page with Add role assignment menu open.

    Rol atama izniniz yoksa Rol ataması ekle seçeneği devre dışı bırakılır. Daha fazla bilgi için bkz. Azure yerleşik rolleri.

  4. Rol sekmesinde veri okuyucusu rolünü Uygulama Yapılandırması ve ardından İleri'yi seçin.

    Screenshot that shows the Add role assignment page with Role tab selected.

  5. Üyeler sekmesinde Yönetilen kimlik'i ve ardından Üye seç'i seçin.

    Screenshot that shows the Add role assignment page with Members tab selected.

  6. Azure aboneliğinizi seçin, Yönetilen kimlik için App Service'i ve ardından App Service adınızı seçin.

    Screenshot that shows the select managed identities page.

  7. Gözden geçirme + atama sekmesinde Gözden geçir + ata’yı seçerek rolü atayın.

Yönetilen kimlik kullanma

  1. Pakete Azure.Identity başvuru ekleyin:

    dotnet add package Azure.Identity
    
  2. Uygulama Yapılandırması deponuzun uç noktasını bulun. Bu URL, Azure portalındaki mağazanın Erişim anahtarları sekmesinde listelenir.

  3. appsettings.json dosyasını açın ve aşağıdaki betiği ekleyin. Köşeli ayraçlar dahil olmak üzere service_endpoint> Uygulama Yapılandırması deponuzun URL'si ile değiştirin<.

    "AppConfig": {
        "Endpoint": "<service_endpoint>"
    }
    
  4. Program.cs dosyasını açın ve ve Microsoft.Azure.Services.AppAuthentication ad alanlarına bir başvuru Azure.Identity ekleyin:

    using Azure.Identity;
    
  5. Uygulama Yapılandırması depolanan değerlere erişmek için, yöntemini kullanacak şekilde yapılandırmayı güncelleştirin BuilderAddAzureAppConfiguration().

    var builder = WebApplication.CreateBuilder(args);
    
    builder.Configuration.AddAzureAppConfiguration(options =>
        options.Connect(
            new Uri(builder.Configuration["AppConfig:Endpoint"]),
            new ManagedIdentityCredential()));
    

    Not

    Kullanıcı tarafından atanan bir yönetilen kimlik kullanmak istiyorsanız ManagedIdentityCredential oluşturulurken değerini belirttiğinizden clientId emin olun.

    new ManagedIdentityCredential("<your_clientId>")
    

    Azure kaynakları için Yönetilen Kimlikler hakkında SSS bölümünde açıklandığı gibi, hangi yönetilen kimliğin kullanıldığını çözümlemenin varsayılan bir yolu vardır. Bu durumda, Azure Kimlik kitaplığı gelecekte olası çalışma zamanı sorunlarından kaçınmak için istediğiniz kimliği belirtmenizi zorunlu kılacaktır. Örneğin, kullanıcı tarafından atanan yeni bir yönetilen kimlik eklenirse veya sistem tarafından atanan yönetilen kimlik etkinleştirilirse. Bu nedenle, yalnızca bir kullanıcı tarafından atanan yönetilen kimlik tanımlansa clientId ve sistem tarafından atanan yönetilen kimlik yoksa bile değerini belirtmeniz gerekir.

  1. Uygulama Yapılandırması deponuzun uç noktasını bulun. Bu URL, Azure portalındaki mağazanın Genel Bakış sekmesinde listelenir.

  2. öğesini açın bootstrap.properties, bağlantı dizesi özelliğini kaldırın ve Sistem Tarafından Atanan Kimlik için uç noktayla değiştirin:

spring.cloud.azure.appconfiguration.stores[0].endpoint=<service_endpoint>

Kullanıcı Tarafından Atanan Kimlik için:

spring.cloud.azure.appconfiguration.stores[0].endpoint=<service_endpoint>
spring.cloud.azure.credential.managed-identity-enabled= true
spring.cloud.azure.credential.client-id= <client_id>

Not

Daha fazla bilgi için bkz . Spring Cloud Azure kimlik doğrulaması.

Uygulamanızı dağıtma

Yönetilen kimlikleri kullanırken uygulamanızı bir Azure hizmetine dağıtmanız gerekir. Yönetilen kimlikler, yerel olarak çalışan uygulamaların kimlik doğrulaması için kullanılamaz. Uygulama Yapılandırması ile ASP.NET Core uygulaması oluşturma bölümünde oluşturduğunuz ve yönetilen kimlikleri kullanacak şekilde değiştirdiğiniz .NET Core uygulamasını dağıtmak için Web uygulamanızı yayımlama'daki yönergeleri izleyin.

Yönetilen kimlikleri kullanmak için uygulamanızı bir Azure hizmetine dağıtmanız gerekir. Yönetilen kimlikler, yerel olarak çalışan uygulamaların kimlik doğrulaması için kullanılamaz. Azure Uygulaması Yapılandırması ile Java Spring uygulaması oluşturma hızlı başlangıcında oluşturduğunuz ve yönetilen kimlikleri kullanacak şekilde değiştirdiğiniz Spring uygulamasını dağıtmak için Web uygulamanızı yayımlama bölümünde yer alan yönergeleri izleyin.

App Service'e ek olarak, diğer birçok Azure hizmeti yönetilen kimlikleri destekler. Daha fazla bilgi için bkz . Azure kaynakları için yönetilen kimlikleri destekleyen hizmetler.

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.

  1. Azure portalında oturum açın ve Kaynak grupları'nı seçin.
  2. Ada göre filtrele kutusuna kaynak grubunuzun adını girin.
  3. Genel bir bakış görmek için sonuç listesinde kaynak grubu adını seçin.
  4. Kaynak grubunu sil'i seçin.
  5. 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ı erişimi kolaylaştırmak ve uygulamanız için kimlik bilgisi yönetimini geliştirmek için bir Azure yönetilen kimliği eklediniz. Uygulama Yapılandırması kullanma hakkında daha fazla bilgi edinmek için Azure CLI örneklerine geçin.