Evet, bir işlev uygulamasından Azure Anahtar Vault'a erişmek için Yönetilen Kimliği kullanabilirsiniz. İşte böyle çalışıyor:
1. İşlev uygulamasında Yönetilen Kimliği Etkinleştir: Azure Fonksiyon Uygulamanıza gidin, Ayarlar bölümüne gidin, kimliğe tıklayın ve Sistem Atanan Yönetilen Kimliği açın. Değişiklikleri kaydedin [1] [4].
2. Anahtar kasaya izinler atayın: Azure Anahtar Vault'unuza gidin, Erişim Denetimi (IAM) için gezin ve bir rol ataması ekleyin. Anahtar Vault Secrets kullanıcı rolünü seçin ve işlev uygulamanızın yönetilen kimliğine atayın [4] [7].
3. Anahtar Vault Sırlarına Erişim: İşlev uygulamanızda, yönetilen kimliği kullanarak artık anahtar kasadan sırlara başvurabilirsiniz. Bu genellikle işlev uygulamanızın yapılandırma ayarlarındaki gizli referansları yapılandırarak yapılır [1] [5].
Yönetilen Kimliği kullanmak, kimlik bilgilerini uygulama kodunuzda depolamaya gerek kalmadan anahtar Vault'a erişmek için güvenli bir yol sağlar. İşlev uygulamasının, anahtar kasa gibi diğer Azure kaynaklarına erişme izinleri olan bir kişi olarak hareket etmesini sağlar [6].
İki tür yönetilen kimlik vardır: sistem atanmış ve kullanıcı atalı. Sistem tarafından atanan kimlikler işlev uygulamasının yaşam döngüsüne bağlıdır, kullanıcı tarafından atanan kimlikler birden fazla uygulamada kullanılabilen bağımsız kaynaklardır [3] [7]. Her iki tür de anahtar kasaya erişmek için kullanılabilir, ancak kullanıcı tarafından atanan kimlikler hangi kimliğin kullanılacağını belirtmek için ek yapılandırma gerektirir [5].
Alıntılar:
[1] https://nanddeepn.github.io/posts/2023-06-25-read-wault-gecret-from-function--
[2] https://www.reddit.com/r/azure/comments/1cumd51/how_do_i_get_access_to_key_vault_via_managed/
[3] https://www.red-gate.com/simple-talk/cloud/azure/azure-fonction-and-says-ssigned-anned-entiess/
[4] https://www.appgovscore.com/blog/connect-to-microsoft-graph-api-curely-fonction-app-aure-key-se
[5] https://stackoverflow.com/questions/76439670/azure-fonction-app-setting-from-wault-ault-with-system-system-tenti
[6] https://docs.azure.cn/en-us/azure-fonctions/fonctions-entienity-connections-tutorial
[7] https://learn.microsoft.com/en-us/azure/frontdoor/managed-ridentity
[8] https://stackoverflow.com/questions/79293711/azure-function-app-using-ey-sepault-with-anned-ridenity-not-uthored