【问题标题】:How to grant tenant-wide application permission of an enterprise app?如何授予企业应用的租户范围的应用权限?
【发布时间】:2021-03-03 15:47:45
【问题描述】:

自 3 天以来,我一直在尝试授予管理员对企业应用程序的 Azure b2c 租户中的应用程序权限的同意。

该应用程序已在我的主租户中注册,并具有其所有委派和应用程序类型权限,这些权限在租户范围内授予。主租户在其企业应用程序中也有一个条目,我可以在其中看到相同的权限。

我不知道如何在我的侧租户中添加应用程序而不将其发布到 MS 商店。所以我只需使用侧租户帐户登录我的应用程序。 (不知道这样对不对?)

登录后,我在我的侧租户的企业应用程序中有一个条目,但没有我需要的权限?

现在我的问题是:我怎样才能为我的侧租户中的所有用户授予我需要的权限?

这个网址我已经试过了:https://login.microsoftonline.com/{tenantID}/adminconsent?client_id={clientID}&scope=/.default&redirect_uri=xxx

对于我的主租户,它按预期工作,可能是因为它具有应用程序注册,而我的侧租户中缺少该注册。

当我与我的侧租户一起尝试时,我收到了这个错误:

Acess_denied: AADSTS650054 The application XXXX asked for permissions to access a resource that has been removed or is no longer available. Contact the app vendor.

【问题讨论】:

    标签: azure-active-directory multi-tenant msal


    【解决方案1】:

    这里可能发生的情况是,您已将应用配置为请求访问至少一个在“side-tenant”中没有表示形式的 API(例如,名为“LegacyAPI”的 API)。这就是错误消息提到“已删除或不再可用的资源”的原因。

    为了获得成功,应用请求访问的所有资源服务(即 API)必须存在于授予同意的租户中。 (服务主体对象需要存在。)

    你有两个选择:

    • 同意“侧租户”中缺少的资源服务(例如,通过管理员同意 URL)
    • 在“side-tenant”中为缺少的资源服务手动创建服务主体(例如New-AzureADServicePrincipal -AppId "{resource-app-id}"

    与您的问题无关,但与管理员同意 URL 相关:

    对于您要尝试执行的操作,可以通过三种方式构建管理员同意 URL,一种使用较旧的 v1 端点,另一种使用较新的(推荐的)v2 端点。在您的管理员同意 URL 中,您使用的是 v1 端点,但您包含 scope 参数(仅在 v2 端点中使用)。

    • v2(推荐)
      • 对于在应用注册中配置的所有权限,撤消在租户范围内授予的任何其他权限(静态):
        https://login.microsoftonline.com/{tenant-id}/v2.0/adminconsent
             ?client_id={client-id}
             &scope=.default
             &redirect_uri={redirect-url}
        
      • 对于 Microsoft Graph 的委派权限 User.Read,不要撤销已在租户范围内授予的其他权限(动态、增量):
        https://login.microsoftonline.com/{tenant-id}/v2.0/adminconsent
             ?client_id={client-id}
             &scope=https://graph.microsoft.com/User.Read
             &redirect_uri={redirect-url}
        
    • v1(支持,不推荐)
      • 对于在应用注册中配置的所有权限,撤消在租户范围内授予的任何其他权限(静态):
        https://login.microsoftonline.com/{tenant-id}/adminconsent
             ?client_id={client-id}
             &redirect_uri={redirect-url}
        

    参考:https://docs.microsoft.com/azure/active-directory/develop/v2-admin-consent

    【讨论】:

    • 这应该是有道理的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 2012-03-23
    • 2018-08-03
    相关资源
    最近更新 更多