【问题标题】:My VSTS Service Connection needs to be allowed to add a reply url to an azure ad application需要允许我的 VSTS 服务连接将回复 url 添加到 azure 广告应用程序
【发布时间】:2018-09-11 12:06:55
【问题描述】:

我们正在使用 VSTS/Azure DevOps 来构建我们的 Web 服务并将其部署到 Azure。

在发布步骤中,我们使用 Azure CLI 构建任务来设置 Web 服务的环境。构建任务使用服务连接被授权执行这些操作。

构建任务可以毫无问题地创建 Web 服务和部署槽,但是当我尝试指示它向 Web 应用程序用于对用户进行身份验证的 Azure AD 应用程序添加新的回复 URL 时,我看到以下内容:

az ad app update --id 3e5a96e9-7311-4f92-869b-fbb5bbe8e41f --reply-urls http://mytestapp.azurewebsites.net 
ERROR: Insufficient privileges to complete the operation.

使用的服务连接是使用服务主体的 Azure RM 服务连接。它是否正确?我猜我需要在服务主体上设置一个权限,但是是哪一个?

【问题讨论】:

  • 验证您的服务主体在订阅中具有Owner/Global-Administrator 角色
  • 这是唯一的方法吗?为了向应用程序添加回复 url,您需要拥有尽可能高的权限吗?这似乎非常浪费。
  • 我正在告诉通过错误描述解决的可能性。现在,你能试试我的建议吗?同时,您能告诉我当前Service Principal(Contributor,reader)的确切作用是什么,以便我可以尝试从我身边回购它。

标签: azure permissions azure-devops azure-active-directory


【解决方案1】:

Jayendran 是正确的。用户必须是目录中全局管理员角色的成员,因为回复 URL 已添加到应用注册中。

您可能还需要为应用本身授予权限。

https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v1-integrate-apps-with-azure-ad

【讨论】:

    【解决方案2】:

    如果您希望遵循最低权限原则而不是分配可用的最高权限(根据您的评论),我看到 3 个可能的选项可能适合您 -

    1. 仅为特定应用程序的所有者(而不是整个 Azure AD 的所有者/全局管理员)

      您可以仅将用户添加为他们需要管理的特定应用程序的所有者(在您的情况下,更改回复 URL)。

      专业人士:显然,这种方法的好处是该用户可以仅管理此特定应用程序的应用程序注册,而无需管理 Azure AD 中的其他应用程序。

      方法:转到 Azure AD 中的“应用程序注册”并导航到特定应用程序。现在点击“设置”并选择“所有者”

    1. 应用程序管理员角色

      与单个应用程序所有者相比,此选项更通用,权限更高,因为它允许用户访问管理所有应用程序的应用程序注册。

      专业版:角色特定于仅管理应用程序注册。在所有应用程序都需要由该用户管理的情况下,它会有所帮助。

      如何:转到 Azure AD 中的“用户”,然后选择特定用户。现在转到“目录角色”并添加“应用程序管理员角色”

    1. 应用开发者角色

      这与选项 2 非常相似,即“应用程序管理员”。不同之处在于“应用程序开发人员”仅获得他们正在开发的应用程序的权限,因此注册是由他们完成的。

      专业版:适合即将为多个应用程序创建和管理注册的用户。

      如何:与上面的选项 2 非常相似。

    有关所有可用角色的更多信息以及这些角色在 Microsoft Docs 中使用的细化权限:

    Available Roles

    【讨论】:

    • @Zaz 上述任何选项是否适用于您的方案?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多