是的,您可以使用托管身份从功能应用程序访问Azure密钥库。这是其工作原理:
1。在函数应用程序上启用托管身份:导航到您的Azure函数应用程序,转到“设置”部分,单击身份,然后打开系统分配的托管身份。保存更改[1] [4]。
2。将权限分配给密钥保险库:转到您的Azure键库,导航到访问控制(IAM),然后添加角色分配。选择“关键保险库”用户角色,并将其分配给您功能应用程序的托管身份[4] [7]。
3.访问密钥保险库秘密:在您的功能应用程序中,您现在可以使用托管身份从密钥保险箱引用秘密。这通常是通过在功能应用程序的配置设置中配置秘密引用[1] [5]来完成的。
使用托管身份提供了一种安全的方法来访问密钥库,而无需将凭据存储在应用程序代码中。它允许该功能应用充当具有权限的角色,可以访问其他Azure资源,例如密钥保险库[6]。
托管身份有两种类型:系统分配和用户分配。系统分配的身份与函数应用程序的生命周期相关,而用户分配的身份是可以在多个应用程序中使用的独立资源[3] [7]。两种类型都可以用于访问密钥库,但是用户分配的身份需要其他配置来指定要使用的身份[5]。
引用:
[1] https://nanddeepn.github.io/posts/2023-06-25-read-key-key-vault-secret-from-function-mi/
[2] https://www.reddit.com/r/azure/comments/1cumd51/how_do_do_i_get_access_to_key_key_ve_vault_via_via_via_managed/
[3] https://www.red-gate.com/simple-talk/cloud/azure/azure-function-and-yser-asherd-managed-indistities/
[4] https://www.appgovscore.com/blog/connect-to-microsoft-graph-api-securely-function-function-app-ap-azure-key-vault
[5] https://stackoverflow.com/questions/76439670/azure-function-app-setting-from-key-key-vault-accessible-with-system-system-sathed-nidenti
[6] https://docs.azure.cn/en-us/azure-functions/functions-nidentity-connections-tutorial
[7] https://learn.microsoft.com/en-us/azure/frontdoor/managed-indistity
[8] https://stackoverflow.com/questions/79293711/azure-function-app-using-key-key-with-with-managed-managed-nideity-not-not-授权