我发现授权流程混淆了对Azure管理API的调用,即不是Azure API管理,这是API网关SaaS,我希望得到一些澄清。
来自https://msdn.microsoft.com/en-us/library/azure/dn629581.aspx的文档:
虽然Azure最初只允许Microsoft帐户用户访问,但现在允许用户从两个系统访问。这是通过让所有Azure属性信任Azure AD进行身份验证,让Azure AD对组织用户进行身份验证,以及创建联合关系来实现的,其中Azure AD信任Microsoft帐户使用者身份系统以对消费者用户进行身份验证。因此,Azure AD能够验证“来宾”Microsoft帐户以及“本机”Azure AD帐户。
和http://blogs.technet.com/b/ad/archive/2014/08/15/prepping-for-new-management-features.aspx:
您的Microsoft Azure订阅使用Azure Active Directory将用户签入管理门户并保护对Azure管理API的访问。
该文档使我相信与订阅关联的Azure AD租户充当STS,其中管理API是RP,或授权服务器和资源服务器分别使用OAuth术语。租户还可以选择信任第三方STS,例如另一个租户或Microsoft帐户服务,从而允许来自外部身份提供商的用户访问管理API。
blog post也写道:
Azure很快将要求管理员在Azure Active Directory中注册,以便能够登录Azure门户或使用Azure管理API。
取消管理员帐户与订阅的Azure AD租户的关联,无论是租户还是联合帐户的“本地”帐户,我都应该撤销对管理API的访问权。
我尝试使用我的订阅来验证假设,并且无法理解结果。假设订阅有三位管理员:
SA
CA-AAD
CA-MSA
通过向租户注册所有三个帐户,他们中的任何一个都可以管理属于订阅的资源,并使用Web应用程序,然后通过用户模拟访问Insights API。
从Cookie中删除CA-AAD
,禁止该帐户在Cookie /访问令牌过期后管理资源并访问Insights API。这是预期的行为,但现在非退出帐户仍然列为订阅的共同管理员。
但是,从租户中删除CA-MSA
不会阻止帐户管理资源或访问API。此行为甚至在会话之间持续存在,并且该帐户仍然列为共同管理员,而不是预期的结果。
现在问题:
CA-MSA
允许继续访问管理API,尽管它没有在租户注册?答案 0 :(得分:0)
Azure订阅仅指两个目录,用于授权用户访问管理API。
如果将具有Microsoft帐户的用户添加为订阅共同管理员,则会在与当前订阅关联的Azure AD中间接注册用户。如果从Azure AD中删除该用户,则它仍具有订阅权限。这是因为用户仍然存在于Microsoft Account AD中。