我有一个多租户应用程序,代表客户管理Azure资源。创建服务主体并定义角色后,使用应用程序管理资源没有问题。
但是,我们有一个用例,我们有一个第二个系统,它基于每个客户工作,它只管理一个订阅。有什么方法可以创建一个只能访问该单一订阅的帐户吗?
我尝试为创建的服务主体设置密码。遗憾的是,如果与服务主体关联的应用程序不在同一租户中,则您似乎无法使用服务主体帐户登录Azure。
答案 0 :(得分:0)
您需要在租户中注册一个服务主体,通过Azure的RBAC访问订阅资源。 使用多租户应用程序时,将在用户同意其权限时生成服务主体。
对于您的方案,您需要在其Azure AD租户中创建应用程序(该应用程序会自动为租户中的应用程序创建服务主体)。 然后,您需要为服务主体提供订阅角色。 然后,您可以使用服务主体的应用程序ID和密码访问令牌。 您无法通过正常的登录表单登录。 您需要针对Azure AD执行客户端凭据身份验证,并且您将在响应中获得访问令牌,然后您可以使用该令牌来验证对Azure的ARM API的请求。
请询问您是否需要某些步骤的详细信息:)