使用托管服务身份支持代表流程
Posted
技术标签:
【中文标题】使用托管服务身份支持代表流程【英文标题】:Supporting the On-Behalf-of flow with managed service identities 【发布时间】:2018-02-24 03:26:39 【问题描述】:在 Azure 和应用服务中运行的应用程序的一个非常常见的流程是代表流程,在该流程中,应用程序可以交换传入的访问令牌及其 ClientId/ClientSecret 以作为用户访问另一个资源。查看 MSI API 上当前有限的文档,我只看到获取访问令牌作为应用程序本身。
如何/何时支持 OBO 方案?
我知道您可以将 ClientId/ClientSecret 存储在 Key Vault 中,然后使用 MSI 凭据来检索这些凭据,但这似乎是多余的。
【问题讨论】:
你看到这个文件了吗?docs.microsoft.com/en-us/azure/active-directory/develop/… 嗨,韦恩,是的,我知道流程,但这确实需要应用程序的客户端 ID 和客户端密码才能执行。问题与获取和管理这些有关。必须使用 Key Vault 来存储它们似乎是多余且不必要的,以便应用程序可以检索它们并在 MSI 令牌端点也可以处理它们时使用它们。 @OrenNovotny IIUC,在 Step2 期间,将从 MSI 中检索 ClientId 和 Secret。 @JoeBrockhaus 如果这些可以通过 env 变量获得,那也可以。 【参考方案1】:MSI 尚不支持 On Behalf Of 流,或使用 Azure AD 的其他委托机密客户端 OAuth 2.0 流(如身份验证代码流)。它正在设计过程中,尚未公布 ETA。
【讨论】:
有人知道这在过去 2 年内是否发生了变化吗? 它没有改变。然而。以上是关于使用托管服务身份支持代表流程的主要内容,如果未能解决你的问题,请参考以下文章
使用 Azure 托管服务标识和应用服务身份验证的服务到服务身份验证?