Azure-授予对外部应用程序的资源访问权限

时间:2019-10-25 09:05:48

标签: azure azure-active-directory

我有一个在Azure门户中注册的应用程序,该应用程序需要访问Azure Service Management API的权限。为了使其能够与Azure资源一起使用,我需要向我的应用程序的订阅中添加角色分配,以便能够进行如下所示的API调用:

https://management.azure.com/subscriptions/xxxx-xxxx-xxxx-xxxx/resourcegroups?api-version=2017-05-10

我希望我的应用程序可以与其他Azure门户一起使用。 我的问题是-如何在未注册我的应用但已同意我的应用的另一个Azure AD上为我的应用添加角色分配?我要错了吗?

1 个答案:

答案 0 :(得分:0)

  

如何在未注册我的应用但已同意我的应用的另一个Azure AD上为我的应用添加角色分配?

是的,可以。

当您的另一个租户同意该应用程序后,azure将在该租户中为您的应用程序注册创建企业应用程序,您可以在Azure Active Directory-> Enterprise applications中找到(搜索{{ 1}})。

要为其添加分配,只需在门户中导航至All Applications-> Subscription->将您的Enterprise应用程序(服务主体)添加为角色,例如Access control (IAM) / Owner

然后,您可以使用client credentials flow获取服务主体的访问令牌,Contributor是您的第一个租户。然后,您可以使用令牌调用问题中的其余api。

更新:

我不建议您使用用户帐户来获取访问令牌。因为当您启用MFA时,您无法使用UserCredential来获取。如果使用Visual Studio,则可以使用client_secret获取访问令牌。

AzureServiceTokenProvider

顺便说一句,我仍然建议您使用订阅中已存在的服务主体来获取访问令牌,以便您可以使用之前使用的流程。

希望它对您有帮助。