【问题标题】:Permission required to run Invoke-RestMethod to run Release in Azure DevOps运行 Invoke-RestMethod 以在 Azure DevOps 中运行 Release 所需的权限
【发布时间】:2019-07-31 05:42:35
【问题描述】:

我正在尝试运行在 Azure DevOps 发布管道中调用 Rest API 的 PowerShell 脚本。一些用户能够在没有任何错误的情况下运行该版本,但对于某些用户,他们得到远程服务器返回错误:

(403) 禁止。 经过身份验证的用户无权执行 操作。

需要什么样的许可?

用户是否需要“管理进程权限”?

【问题讨论】:

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


    【解决方案1】:

    (403) 禁止。经过身份验证的用户没有权限 执行操作。

    403是API响应码,可以看到,这些用户没有权限成功执行API。

    正如403所定义的,这意味着对不起,我知道你是谁,我也知道你想做什么。但不幸的是你没有权限做你想做的这个操作。所以它的权限设置取决于你试图执行的api。

    默认情况下,如果某人没有在组织设置/项目设置中分配足够的权限,即使它拥有具有完全访问权限的令牌,他或她仍然无法成功完成他或她的 API没有权限做。

    需要什么样的许可? 用户是否需要“管理进程权限”?

    您不需要为他们分配管理员角色,但这必须可以解决所有权限问题。只需根据实际api为这些用户分配相关权限即可。

    如果你不介意,你最好分享你正在使用但面临403 forbidden错误的api。

    【讨论】:

    • Invoke-RestMethod -Method Post -Uri $organizationUri -Body $bodyInfo -ContentType "application/json" -Headers $headers 我正在尝试运行一个命令来创建一个新的 Azure DevOps 项目。跨度>
    • @wonderfulworldwithcharity 我最好知道您要访问的确切 url-) 这些命令不需要任何权限。这一行显示的错误只是因为$organizationUri的值
    • @wonderfulworldwithcharity 这是项目 api,您正在尝试运行发布请求。你要做的操作是新建一个项目吗?
    • 是的,我自己已添加到项目集合管理员组中,因此我可以毫无问题地运行脚本,但不属于该组的任何人都会收到 403 错误。
    【解决方案2】:

    要运行发布管道,用户需要创建发布权限。默认情况下,Contributes 组拥有这些权限。所以最好的是将它们添加到这个组中。此外,您可以转到发布安全设置并明确授予用户这些权限。

    更多信息您可以找到here

    【讨论】:

      猜你喜欢
      • 2021-05-09
      • 2021-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-20
      • 1970-01-01
      • 2020-11-27
      • 1970-01-01
      相关资源
      最近更新 更多