【问题标题】:Access denied. Needs Use permissions for pool Default to perform the action拒绝访问。需要使用池默认权限来执行操作
【发布时间】:2019-04-24 02:00:33
【问题描述】:

尝试在 Azure 开发人员上保存发布管道时出现以下错误。我需要向管理员询问哪些确切权限?

Access denied. <<user id>> needs Use permissions for pool Default to perform the action. For more information, contact the Azure DevOps Server administrator.

【问题讨论】:

    标签: azure-devops azure-pipelines-release-pipeline azure-aks


    【解决方案1】:

    我发现将 Admin 授予池非常令人困惑(而且解决起来很耗时),但我想我可以解释一下我是如何让它为我的组织工作的。这是基于@Leo Lui-MSFT 所说的进一步解释,因为这对我来说还不够清楚。

    我的问题:我想授予用户访问权限以更新用户尚未创建的池(即不是所有者)。

    尝试的解决方案:在池中设置用户管理员并不允许用户这样做。

    成功的解决方案:我不得不去https://dev.azure.com/my-org/_settings/agentpools > Security > Add 。然后我添加了用户并分配了管理员角色。

    这具有在组织中的每个池上为用户提供管理员的副作用(这不是我想要做的)。如果这不是您的意愿,请进入您不希望授予管理员访问权限的池,关闭继承,然后从该池中删除用户。

    这对我来说感觉不对。我应该能够让用户成为单个池的管理员,而无需授予所有池的组织范围管理员。

    此外,所有池似乎都是在继承默认为 true 的情况下创建的,因此从所有其他池中删除该用户作为管理员可能很耗时,并且当创建更多池时,我需要记住关闭继承。

    这是我的经验。如果我遗漏了什么,请告诉我。

    【讨论】:

    • 就是这样。
    • 我可以确认 PAT 令牌的所有者必须具有组织级别的“管理员”池角色。项目级设置的组合都不起作用。
    【解决方案2】:

    我需要向管理员询问哪些确切权限?

    您需要向管理员询问用户权限。

    当我们进入项目设置->代理池->代理名称->安全性:

    查看文档Security of agent pools了解更多详情。

    角色也在每个组织代理池上定义,并且 这些角色中的成员资格决定了您可以执行的操作 代理池。

    代理池选项卡中的所有代理池节点用于控制 项目中所有项目代理池的安全性。角色成员资格 单个项目代理池自动继承自那些 的“所有代理池”节点。默认情况下,以下组是 添加到“所有代理池”的管理员角色:构建 管理员、发布管理员、项目管理员。

    因此,您应该向管理员请求用户权限,或将您的帐户添加到上述组之一,然后再试一次。

    【讨论】:

    • 我已经是“项目管理员”的成员,但收到错误消息“ 需要管理池 的权限才能执行操作。”。这并不新鲜。尽管我是 Collection/Project/Everything 管理员,但对于不同的项目和池,我总是遇到同样的问题。我不知道我应该在哪里添加自己!
    【解决方案3】:

    检查您输入的池名称是否正确。如果您按“Enter”保留池的默认名称,它不起作用,您需要为代理池指定正确的名称

    【讨论】:

      【解决方案4】:

      我在管道上遇到了类似的问题:

      Error: Access Denied: 0000000d-0000-8888-8000-000000000000 needs the following permission(s) on the resource /Organizations to perform this action: Read Organization resources
      

      我再次创建了服务连接并在管道中进行了更改:

      我认为该用户已从活动目录中删除。

      【讨论】:

        【解决方案5】:

        (我知道这个问题是关于 DevOps 的,但 DevOps Server / TFS 可能有不同的接口但遇到相同的问题)

        在 TFS 或 DevOps Server 中,您只能通过 TFS 管理控制台添加到 Team Foundation 管理员组。为此:

        通过服务器 > 应用程序层 > 组成员资格 > Team Foundation 管理员 > 属性 > 添加用户访问 Team Foundation Server 管理控制台。

        【讨论】:

          【解决方案6】:

          您应该拥有组织级别的访问权限以消除您收到的错误消息。

          如果您创建了组织,您将成为该组织的所有者,您应该拥有所有管理员访问权限来执行您的管道所需的任何操作。

          否则,选择组织 -> 转到组织设置 -> 代理池 [左平面] -> 安全 [右上] -> 添加一个具有您的姓名的具有管理员角色的新用户

          尝试对项目级别设置进行相同操作。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-10-16
            • 2015-09-27
            • 2016-11-08
            • 2013-09-04
            • 2020-02-19
            • 2023-01-28
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多