Azure - 调试使用托管标识调用 API 的应用程序

Azure - Debugging an app that uses managed identity to call an API

我有一个应用程序,我计划使用托管身份进行令牌检索以根据 API 进行身份验证。托管身份将被赋予适当的 appRoleAssignment 到基础 API 服务主体角色,我已将其配置为 'Application' 角色类型。为了在我的机器上调试这个应用程序,我需要做什么?我是否必须为我的 Azure 帐户(我在 Visual Studio 中登录的帐户)提供与此角色相同的 appRoleAssignment?如果是这样,那是否意味着我必须使该角色成为 'User' 和 'Application' 的 allowedMembershipType?这是一个坏主意吗?修改我的角色似乎并不合适,以便我可以在本地进行调试。这里推荐的方法是什么?

需要相同的应用角色,这是毫无疑问的。如果你是用VS登录的用户账号进行认证,当然需要设置allowedMemberTypesUserApplication.

这个主意不错,可以随意使用,但如果想避免这种情况,您也可以Register an application with Azure AD and create a service principal and create a secret,使用它来进行身份验证,我更喜欢这种方式。一点是不需要改allowedMemberTypes,还有一点就是MSI(managed identity)也是服务主体,这个更类似于生产环境。