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.
Uygulamanızı yönetilen kimliği kullanacak şekilde yapılandırma (önerilir)
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:
- İlk dayanıklı işlevinizi oluşturma - C#
- İlk dayanıklı işlevinizi oluşturma - JavaScript
- İlk dayanıklı işlevinizi oluşturma - Python
- İlk dayanıklı işlevinizi oluşturma - PowerShell
- İlk dayanıklı işlevinizi oluşturma - Java
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:
- Varsayılan "AzureWebJobs Depolama" değerini kaldırın.
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.
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)
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
Bu yönergelere göre Azure portalında Microsoft Entra Id altında bir istemci uygulaması kaydedin.
İstemci uygulamanız için bir istemci gizli dizisi oluşturun. Kayıtlı uygulamanızda:
Sertifikalar ve Gizli Diziler'i seçin ve Yeni istemci gizli dizisi'ni seçin.
Bir Açıklama girin ve Süre Sonu alanında gizli dizi geçerli zamanını seçin.
Gizli dizi değerini kopyalayıp dikkatlice kaydedin çünkü siz sayfadan çıktıktan sonra bir daha gösterilmez.
İ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ı
İşlevinizin depolama hesabı Erişim Denetimi (IAM) sayfasına gidin ve yeni bir rol ataması ekleyin.
Gerekli rolü seçin, İleri'ye tıklayın, ardından uygulamanızı arayın, gözden geçirin ve ekleyin.
İ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.
Varsayılan "AzureWebJobs Depolama" değerini kaldırın.
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.
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.