如何通过代码配置Azure Function身份验证?

时间:2019-05-10 11:45:36

标签: azure azure-functions

我想通过代码(无论是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/似乎提供的信息不多。

configure Azure function authentication

3 个答案:

答案 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