【问题标题】:Azure DevOps REST API Error: You are not authorized to create a subscriptionAzure DevOps REST API 错误:您无权创建订阅
【发布时间】:2021-02-15 12:49:09
【问题描述】:

按照this 文档,我尝试让用户关注工作项,但收到以下错误:

{
    "$id": "1",
    "innerException": null,
    "message": "You are not authorized to create a subscription.",
    "typeName": "System.UnauthorizedAccessException, mscorlib",
    "typeKey": "UnauthorizedAccessException",
    "errorCode": 0,
    "eventId": 0
}

尝试创建订阅的用户是项目的管理员。两个用户都具有组织级别的访问级别 Basic。该请求使用具有完全访问权限的 PAT 的基本身份验证。相同的请求在不同的(测试)组织中成功,但我看不出两者之间的区别。

【问题讨论】:

    标签: azure-devops azure-devops-rest-api


    【解决方案1】:

    如果您的用户想要设置全局通知,您需要确保他们是组织的项目集合管理员组的成员。

    我在UI中测试过,如果用户是项目管理员但不是PCA组的成员,那么他没有执行操作的权限。

    【讨论】:

    • 我也对其进行了测试,结果相同。原因似乎是缺乏 PCA 成员资格。谢谢。
    【解决方案2】:

    感谢您提供有关您的用户角色和许可的详细信息,这些通常是在此类情况下要检查的前两件事。

    由于您是项目管理员并且至少拥有基本许可证,我建议您检查两件事:

    1. 如果在组织之间发出两个调用时使用相同的 PAT,请确保在配置 PAT 时选择了“所有可访问的组织”:
    2. 在您的项目中,前往 项目设置 > 服务连接 > 安全,验证您尝试与之创建服务连接的用户是否具有访问权限。如果没有,请将其添加到 Endpoint Administrators 组。

    【讨论】:

    • 感谢您的快速回复,但这些都没有解决问题。
    • 关于第一点:检查范围是个好主意,但如果不是针对目标组织,您只会收到未经授权的 401,没有正文。无论如何,现在我的代币拥有它所属的所有组织的权利。关于第二点:我的管理员用户对项目服务连接以及“安全”选项卡具有完全权限。还有一件事。我的目标是使用我拥有的管理员帐户订阅普通用户以接收有关工作项更改的电子邮件(让他/她关注)。谢谢,欢迎任何其他意见。
    • 您的用户是项目集合管理员吗?或者,单个项目的项目管理员?
    • 嗨,它只是 prod 组织的项目管理员和我的测试组织的项目集合管理员。它看起来有区别。你的意思是我需要组织级别的管理员权限才能实现这一点?
    猜你喜欢
    • 2019-10-28
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 2021-02-01
    • 2019-08-24
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多