需要允许我的VSTS服务连接将答复URL添加到天蓝色的广告应用程序

时间:2018-09-11 12:06:56

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

我们正在使用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服务连接。它是否正确?我猜我需要对服务主体设置权限,但是哪一个?

2 个答案:

答案 0 :(得分:1)

Jayendran是正确的。该用户必须是目录中Global Admin角色的成员,因为Reply URL已添加到应用程序注册中。

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

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

答案 1 :(得分:0)

如果您希望遵循最低特权原则,而不是分配最高的可用特权(根据您的评论),那么我会看到3种可能的选项对您有用-

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

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

    专业版:显然,此方法的好处在于,该用户可以管理该特定应用程序的应用程序注册,而无需管理Azure AD中的其他应用程序。

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

enter image description here

  1. 应用程序管理员角色

    与单个应用程序所有者相比,它具有更高的通用性和更高的特权,因为它使用户可以管理所有应用程序的应用程序注册。

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

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

enter image description here

  1. 应用程序开发人员角色

    此选项与选项2(即“应用程序管理员”)非常相似。区别在于“应用程序开发人员”仅获得他们正在开发的那些应用程序的权限,因此注册由它们完成。

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

    方法:与上面的选项2非常相似。

有关所有可用角色的详细信息和这些角色在Microsoft Docs中使用的精细权限:

Available Roles