通过Azure DevOps执行SPFx部署时报Access denied错误的问题咨询
Azure DevOps 执行SPFx部署Access denied报错解决方案
报错信息:Error: Access denied. You do not have permission to perform this action or access this resource
执行命令:o365 spo app add -p $(System.DefaultWorkingDirectory)/_myCI/drop/sharepoint/solution/myspfx.sppkg --overwrite --appCatalogUrl https://$(tenant).sharepoint.com/$(catalogsite) --scope sitecollection
你可以按照以下顺序排查解决:
- 确认站点集范围权限适配
你执行的命令指定了--scope sitecollection参数,要求使用的服务账号必须是目标站点集https://$(tenant).sharepoint.com/$(catalogsite)的站点集管理员,仅站点所有者/成员权限无法满足部署需求,租户级应用目录权限也不能替代站点集管理员权限。 - 校验命令变量替换正确性
确认流水线变量$(tenant)、$(catalogsite)替换后拼接的应用目录URL完全正确,路径错误指向无权限站点时也会触发该报错。 - 确认CLI登录上下文一致
在执行o365 spo app add命令前新增一行o365 spo status,检查当前CLI登录的账号是否和你配置的拥有站点集管理员权限的服务账号一致,避免流水线默认使用无权限的流水线服务主体执行操作。 - 手动验证部署可行性
使用同一服务账号在浏览器中访问目标站点的应用目录,手动上传对应sppkg包,若手动上传也报错则说明是站点配置或账号权限问题,和流水线配置无关。 - 应用主体权限校验(若使用非用户账号登录)
如果你使用应用服务主体而非用户账号登录CLI for Microsoft 365,需要确认已为应用主体分配了SharePoint的Sites.FullControl.All应用权限并完成租户管理员同意,Sites.Manage.All等更低权限无法支持应用包上传操作。
内容的提问来源于stack exchange,提问作者Rishi Vedpathi
相关产品推荐
相关产品推荐

