我想通过代码(无论是Powershell,ARM模板还是API)为Azure功能配置身份验证?这可能吗?
我的印象是,Azure功能仅是App Service,因此我认为它可以在附近解决。
https://docs.microsoft.com/en-us/powershell/module/az.websites/?view=azps-2.0.0#app_service-Powershell中似乎没有任何东西。
https://resources.azure.com/似乎提供的信息不多。
答案 0 :(得分:0)
Azure功能身份验证仍处于挂起状态。目前AFAIK尚无法通过代码添加身份验证,除非使用Function Host Keys
您可以在Github
中跟踪问题答案 1 :(得分:0)
以下是一些有关如何对App Service和Azure函数使用托管身份的文档:https://docs.microsoft.com/en-us/azure/app-service/overview-managed-identity
您可以在消费计划中创建启用了MSI(托管服务标识)的PowerShell功能应用。这是一些有关如何执行此操作的文档(https://azure.microsoft.com/en-us/resources/templates/101-functions-managed-identity/)。
创建功能应用后,您可以授予其对给定资源https://docs.microsoft.com/en-us/powershell/module/az.resources/new-azroleassignment?view=azps-2.0.0#examples的访问权限
最后,PowerShell函数应用程序随附profile.ps1
,其中包含用于通过MSI开箱即用针对Azure进行身份验证的代码。
# Authenticate with Azure PowerShell using MSI.
# Remove this if you are not planning on using MSI or Azure PowerShell.
if ($env:MSI_SECRET -and (Get-Module -ListAvailable Az.Accounts)) {
Connect-AzAccount -Identity
}
请尝试一下,如果遇到任何问题,请通知我们。
答案 2 :(得分:0)
使用terraform是配置它们的一种非常好的方法,下面是一个很好的示例。另外,z CLI'az webapp auth'似乎现在也提供了很好的支持。 PowerShell似乎仍然落后。
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/function_app