Azure active directory 允许来宾用户对应用注册拥有所有权,以便管理证书和机密

Azure active directory 允许来宾用户对应用注册拥有所有权,以便管理证书和机密,azure-active-directory,azure-ad-b2b,Azure Active Directory,Azure Ad B2b,在我们的广告租户上,我正在测试客户用户对应用注册+服务主体的所有权。我想允许外部守护程序服务调用我的.NET Core REST API。为了安全地执行此操作,我需要一个双方都信任的身份提供程序,以及一个限制管理凭据存储的管理开销的身份提供程序 我没有部署IdentityServer或在API中硬编码基本身份验证密码之类的愚蠢行为,而是考虑使用我们的Azure AD租户,并将外部客户端注册为我们租户中的应用程序。然后,他们可以轻松地根据AD验证该守护程序应用程序,并调用我的API,我不需要管理上

在我们的广告租户上,我正在测试客户用户对应用注册+服务主体的所有权。我想允许外部守护程序服务调用我的.NET Core REST API。为了安全地执行此操作,我需要一个双方都信任的身份提供程序,以及一个限制管理凭据存储的管理开销的身份提供程序

我没有部署IdentityServer或在API中硬编码基本身份验证密码之类的愚蠢行为,而是考虑使用我们的Azure AD租户,并将外部客户端注册为我们租户中的应用程序。然后,他们可以轻松地根据AD验证该守护程序应用程序,并调用我的API,我不需要管理上述凭证存储。此外,客户端还可以刷新密码等,以便管理自己的凭据。耶

我的理解是,客户可以成为应用程序注册和服务负责人的所有者。在AzureAD应用程序和AzureAD ServicePrincipal对象上都成功地完成了此操作。 之后,来宾用户应该能够管理该应用程序注册的某些方面。具体来说,我希望来宾用户能够管理该应用程序注册的凭据。文档页面说明允许客人:

来宾用户权限

  • 读取已注册和企业应用程序的属性
  • 管理所拥有的应用程序属性、分配、和凭据 应用程序
  • 删除拥有的应用程序
  • 恢复拥有的应用程序
然而,即使在注销并重新登录刷新我的令牌之后,Azure门户仍然阻止我的测试来宾用户管理我让他拥有的应用程序。(该错误实际上有一个指向显示所有者的页面的超链接,瞧,来宾帐户显示为所有者)


问题是我是否在某个地方丢失了一个密钥配置条目以允许这种情况发生,或者,文档是否错误,是否不允许来宾管理服务主体对象中包含的凭据

我可以重现您的问题,根据文档,来宾应该能够管理自有应用程序的凭据,不知道为什么会发生,这里只为您提供两个解决方案

1.根据我的测试,您可以导航到门户中的Azure广告->
用户设置
->单击
管理外部协作设置
->将
来宾用户权限限制
设置为
,然后来宾用户可以成功管理所属应用程序的凭据

注意:如果
来宾用户权限受到限制
,来宾用户作为成员用户将拥有一些其他权限,例如创建新的应用注册,查看他不是所有者的其他应用程序

2.我建议您使用此选项,在AAD中创建自定义管理员角色,将角色分配给特定应用程序范围内的来宾用户,
来宾用户权限有限
可以是
。这样做之后,来宾用户只拥有特定应用程序中的权限,其他权限与普通来宾用户相同

只是,而且

您也可以使用Powershell或Graph API来实现这一点,参考-

对于自定义角色中的权限,它们都取决于您的要求,这是我的角色

分配角色后,它就可以工作了