如何禁止持用户级凭据的用户对Azure Functions执行web deploy部署
限制Azure Functions仅允许指定部署应用推送部署变更方案
前置说明
需求背景:团队需强制仅允许已配置的CI/CD部署应用推送Azure Functions变更,该部署应用仅在代码变更通过Code Review签字确认后,才会在构建流水线中触发部署操作,需禁止持有用户级凭证的普通用户通过Web Deploy方式提交变更。
操作步骤
- 第一步:禁用全局Web Deploy用户级部署权限
进入Azure Functions对应资源页的「配置」-「常规设置」,找到SCM Basic Auth Publishing Enabled选项,设置为false。该操作会直接禁用所有使用用户名密码形式的基础认证发布方式,包括普通用户持有的用户级Web Deploy凭证 - 第二步:为指定部署应用配置Azure AD托管身份授权
给部署流水线对应的服务主体/托管身份分配Website Contributor角色,仅允许该身份调用Azure Functions的部署接口。建议优先使用系统分配托管身份,避免长期凭证泄露风险 - 第三步:调整流水线部署逻辑
将原有的Web Deploy部署方式替换为基于Azure AD身份认证的部署命令,示例命令如下:az functionapp deploy --resource-group <你的资源组名> --name <FunctionApp名称> --src-path <构建产物路径> --type zip - 第四步:权限验证
分别用普通用户凭证尝试Web Deploy部署,确认返回401无权限错误;再触发流水线部署,确认变更可以正常推送。
内容的提问来源于stack exchange,提问作者merhoo
相关产品推荐
相关产品推荐

