Microsoft Entra Id ile Dayanıklı İşlevler yapılandırma

Microsoft Entra Id (Microsoft Entra Id), bulut tabanlı bir kimlik ve erişim yönetimi hizmetidir. Kimlik tabanlı bağlantılar, Dayanıklı İşlevler gizli dizileri el ile yönetmeye gerek kalmadan Azure Depolama hesabı gibi Microsoft Entra korumalı kaynaklara yönelik yetkili istekler göndermesine olanak sağlar. Varsayılan Azure depolama sağlayıcısını kullanarak Dayanıklı İşlevler bir Azure depolama hesabında kimlik doğrulaması yapması gerekir. Bu makalede, bir Dayanıklı İşlevler uygulamasını iki tür Kimlik tabanlı bağlantı kullanacak şekilde yapılandırmayı göstereceğiz: yönetilen kimlik kimlik bilgileri ve istemci gizli kimlik bilgileri.

Yönetilen kimlik, uygulamanızın Azure Key Vault gibi diğer Microsoft Entra korumalı kaynaklarına kolayca erişmesini sağlar. Yönetilen kimlik, 2.7.0 ve üzeri Dayanıklı İşlevler uzantı sürümlerinde desteklenir.

Dekont

Açıkça belirtmek gerekirse, yönetilen kimlik yalnızca Azure'da yürütülürken uygulamalar tarafından kullanılabilir. Kimlik tabanlı bağlantıları kullanacak şekilde yapılandırıldığında, yerel olarak yürütülen bir uygulama Azure kaynaklarıyla kimlik doğrulaması yapmak için geliştirici kimlik bilgilerinizi kullanır. Ardından Azure'da dağıtıldığında bunun yerine yönetilen kimlik yapılandırmanızı kullanır.

Önkoşullar

Aşağıdaki adımlarda, mevcut bir Dayanıklı İşlevler uygulamasıyla başladığınız ve uygulamayı nasıl çalıştırabileceğinizi bildiğiniz varsayılır. Özellikle, bu hızlı başlangıçta zaten aşağıdakilere sahip olduğunuz varsayılır:

  • Azure portalında bir Dayanıklı İşlevler projesi oluşturdu veya Azure'a yerel bir Dayanıklı İşlevler dağıttı.

Böyle bir durum söz konusu değilse, yukarıdaki tüm gereksinimlerin nasıl yerine getirildiğine ilişkin ayrıntılı yönergeler sağlayan aşağıdaki makalelerden biriyle başlamanızı öneririz:

Yönetilen kimliği etkinleştirme

İşleviniz için sistem tarafından atanan yönetilen kimlik veya kullanıcı tarafından atanan yönetilen kimlik olmak üzere yalnızca bir kimlik gereklidir. İşleviniz için yönetilen kimliği etkinleştirmek ve iki kimlik arasındaki farklar hakkında daha fazla bilgi edinmek için buradaki ayrıntılı yönergeleri okuyun.

Yönetilen kimliğe Rol Tabanlı Erişim Denetimleri (RBAC) atama

Azure portalında uygulamanızın depolama kaynağına gidin. Yönetilen kimlik kaynağınıza aşağıdaki rolleri atamak için bu yönergeleri izleyin.

  • Kuyruk Verileri Katkıda Bulunanı'Depolama
  • Depolama Blob Verileri Katkıda Bulunanı
  • Depolama Alanı Tablosu Verileri Katkıda Bulunanı

Azure portalında yönetilen kimlik yapılandırması ekleme

Azure işlev uygulamanızın Yapılandırma sayfasına gidin ve aşağıdaki değişiklikleri yapın:

  1. Varsayılan "AzureWebJobs Depolama" değerini kaldırın.

Screenshot of default storage setting.

  1. Aşağıdaki değer ayarlarından birini ekleyerek Azure depolama hesabınızı bağlayın:

    • AzureWebJobs Depolama__accountName: Örneğin:mystorageaccount123

    • AzureWebJobs Depolama__blobServiceUri: Örnek:https://mystorageaccount123.blob.core.windows.net/

      AzureWebJobs Depolama__queueServiceUri: Örnek:https://mystorageaccount123.queue.core.windows.net/

      AzureWebJobs Depolama__tableServiceUri: Örnek:https://mystorageaccount123.table.core.windows.net/

      Dekont

      Azure Kamu veya genel Azure'dan ayrı başka bir bulut kullanıyorsanız, belirli hizmet URL'lerini sağlamak için bu ikinci seçeneği kullanmanız gerekir. Bu ayarların değerleri, Uç Noktalar sekmesinin altındaki depolama hesabında bulunabilir. Azure Depolama'ı Azure Kamu ile kullanma hakkında daha fazla bilgi için Azure Kamu üzerinde Depolama API ile geliştirme belgelerine bakın.

    Screenshot of endpoint sample.

  2. Yönetilen kimlik yapılandırmanızı sonlandırma:

    • Sistem tarafından atanan kimlik kullanılması gerekiyorsa, başka bir şey belirtme.

    • Kullanıcı tarafından atanan kimlik kullanılması gerekiyorsa, uygulama yapılandırmanıza aşağıdaki uygulama ayarları değerlerini ekleyin:

      • AzureWebJobs Depolama__credential: managedidentity

      • AzureWebJobs Depolama__clientId: (Bu, Microsoft Entra yönetim merkezinden aldığınız bir GUID değeridir)

      Screenshot of user identity client id.

Uygulamanızı gizli dizi kimlik bilgilerini kullanacak şekilde yapılandırma

Bir istemci uygulamasını Microsoft Entra Id'ye kaydetmek, Azure hizmetine erişimi yapılandırmanın başka bir yoludur. Aşağıdaki adımlarda, Azure Depolama hesabınızda kimlik doğrulaması için istemci gizli kimlik bilgilerini kullanmayı öğreneceksiniz. Bu yöntem, işlev uygulamaları tarafından hem yerel olarak hem de Azure'da kullanılabilir. Ancak, yapılandırma ve yönetme daha karmaşık olduğundan ve gizli kimlik bilgilerinin Azure İşlevleri hizmetiyle paylaşılması gerektirdiğinden, istemci gizli kimlik bilgileri yönetilen kimlikten daha az önerilir.

Önkoşullar

Aşağıdaki adımlarda, mevcut bir Dayanıklı İşlevler uygulamasıyla başladığınız ve uygulamayı nasıl çalıştırabileceğinizi bildiğiniz varsayılır. Özellikle, bu hızlı başlangıçta zaten aşağıdakilere sahip olduğunuz varsayılır:

  • Yerel makinenizde veya Azure portalında bir Dayanıklı İşlevler projesi oluşturdunuz.

Microsoft Entra Kimliği'ne bir istemci uygulaması kaydetme

  1. Bu yönergelere göre Azure portalında Microsoft Entra Id altında bir istemci uygulaması kaydedin.

  2. İstemci uygulamanız için bir istemci gizli dizisi oluşturun. Kayıtlı uygulamanızda:

    1. Sertifikalar ve Gizli Diziler'i seçin ve Yeni istemci gizli dizisi'ni seçin.

    2. Bir Açıklama girin ve Süre Sonu alanında gizli dizi geçerli zamanını seçin.

    3. Gizli dizi değerini kopyalayıp dikkatlice kaydedin çünkü siz sayfadan çıktıktan sonra bir daha gösterilmez.

    Screenshot of client secret page.

İstemci uygulamasına Rol Tabanlı Erişim Denetimleri (RBAC) atama

Aşağıdaki adımlarla bu üç rolü istemci uygulamanıza atayın.

  • Kuyruk Verileri Katkıda Bulunanı'Depolama
  • Depolama Blob Verileri Katkıda Bulunanı
  • Depolama Alanı Tablosu Verileri Katkıda Bulunanı
  1. İşlevinizin depolama hesabı Erişim Denetimi (IAM) sayfasına gidin ve yeni bir rol ataması ekleyin.

    Screenshot of access control page.

  2. Gerekli rolü seçin, İleri'ye tıklayın, ardından uygulamanızı arayın, gözden geçirin ve ekleyin.

    Screenshot of role assignment page.

İstemci gizli dizisi yapılandırması ekleme

Azure'da çalıştırmak ve test etmek için Azure portaldaki Azure işlev uygulamanızın Yapılandırma sayfasında aşağıdakileri belirtin. Yerel olarak çalıştırmak ve test etmek için, işlevin local.settings.json dosyasında aşağıdakileri belirtin.

  1. Varsayılan "AzureWebJobs Depolama" değerini kaldırın.

  2. Aşağıdaki değer ayarlarından birini ekleyerek Azure depolama hesabını bağlayın:

    • AzureWebJobs Depolama__accountName: Örneğin:mystorageaccount123

    • AzureWebJobs Depolama__blobServiceUri: Örnek:https://mystorageaccount123.blob.core.windows.net/

      AzureWebJobs Depolama__queueServiceUri: Örnek:https://mystorageaccount123.queue.core.windows.net/

      AzureWebJobs Depolama__tableServiceUri: Örnek:https://mystorageaccount123.table.core.windows.net/

    Bu Uri değişkenleri için değerler, Uç Noktalar sekmesinin altındaki depolama hesabında bulunabilir.

    Screenshot of endpoint sample.

  3. Aşağıdaki değerleri belirterek bir istemci gizli anahtarı kimlik bilgisi ekleyin:

    • AzureWebJobs Depolama__clientId: (Bu, Microsoft Entra uygulaması sayfasında bulunan bir GUID değeridir)

    • AzureWebJobs Depolama__ClientSecret: (Bu, önceki bir adımda Microsoft Entra yönetim merkezinde oluşturulan gizli dizi değeridir)

    • AzureWebJobs Depolama__tenantId: (Bu, Microsoft Entra uygulamasının kayıtlı olduğu kiracı kimliğidir)

    İstemci kimliği ve kiracı kimliği değerleri, istemci uygulamanızın genel bakış sayfasında bulunabilir. İstemci gizli anahtarı değeri, önceki adımda dikkatle kaydedilen değerdir. Sayfa yenilendikten sonra kullanılamaz.

    Screenshot of application's overview page.