如何编写CLI脚本为Azure函数应用启用Azure AD身份提供商认证
为Azure函数应用配置Azure AD身份验证的CLI操作指南
- 前置准备:
- 安装最新版Azure CLI,执行
az login登录到Azure账号,切换到目标订阅 - 提前记录以下参数:资源组名称、目标函数应用名称、Azure AD租户ID
- 安装最新版Azure CLI,执行
完整可执行CLI脚本
步骤1:定义通用变量(替换为你的实际参数即可)
RESOURCE_GROUP_NAME="你的资源组名" FUNCTION_APP_NAME="你的函数应用名" TENANT_ID="你的Azure AD租户ID" # 可自定义AAD应用的显示名称 AAD_APP_NAME="${FUNCTION_APP_NAME}-aad-auth"
步骤2:启用函数应用内置身份验证(Easy Auth),禁用匿名访问
az functionapp auth update \ --name $FUNCTION_APP_NAME \ --resource-group $RESOURCE_GROUP_NAME \ --enabled true \ --unauthenticated-client-action RedirectToLoginPage \ --token-store true
步骤3:配置Azure AD为身份提供商
# 创建AAD应用注册,获取客户端ID AAD_CLIENT_ID=$(az ad app create \ --display-name $AAD_APP_NAME \ --sign-in-audience AzureADMyOrg \ --web-redirect-uris "https://${FUNCTION_APP_NAME}.azurewebsites.net/.auth/login/aad/callback" \ --query appId \ --output tsv) # 生成AAD应用客户端密钥,示例有效期为1年,可自定义时间 AAD_CLIENT_SECRET=$(az ad app credential reset \ --id $AAD_CLIENT_ID \ --end-date $(date -d "+1 year" +%Y-%m-%d) \ --query password \ --output tsv) # 将AAD配置绑定到函数应用的身份验证规则 az functionapp auth microsoft update \ --name $FUNCTION_APP_NAME \ --resource-group $RESOURCE_GROUP_NAME \ --client-id $AAD_CLIENT_ID \ --client-secret $AAD_CLIENT_SECRET \ --issuer "https://login.microsoftonline.com/${TENANT_ID}/v2.0" \ --allowed-audiences $AAD_CLIENT_ID
配置验证
- 执行
az functionapp auth show --name $FUNCTION_APP_NAME --resource-group $RESOURCE_GROUP_NAME,返回结果中enabled字段为true即代表身份验证已启用 - 直接访问函数应用默认域名,未登录状态下会自动跳转到Azure AD登录页,代表配置生效
注意事项
- 生产环境建议将客户端密钥存储在Azure Key Vault中,不要明文写在脚本内
- 如果使用自定义域名,需要将
https://<自定义域名>/.auth/login/aad/callback添加到AAD应用注册的重定向URI列表中 - 如需允许多租户或个人微软账号登录,可将AAD应用的
sign-in-audience参数修改为AzureADMultipleOrgs或AzureADandPersonalMicrosoftAccount
内容的提问来源于stack exchange,提问作者jhansi m
相关产品推荐
相关产品推荐

