我正在探索为Azure应用服务中托管的REST API实施托管身份的可能性。该Api使用了多个第三方API,这些API在我们的控制范围之外,并由AAD保护。
当前,我们在配置中存储AAD ApplicationId / Secret。每当我们需要使用任何第三方API时,我们都会遵循以下过程-
在这种情况下,我可以使用托管身份吗? 这是否需要更改任何API的代码? 我可以访问第三方API附带的ClientId进行授权吗?
答案 0 :(得分:0)
AFAIK,您可能无法通过MSI做到这一点,MSI用于让App服务/功能应用访问其他天蓝色资源。如果启用Web应用程序的MSI,它将仅自动创建服务主体,而无需AD App。
是否有办法找出受管身份管理的SPN的ClientId?
可能的是,导航到Azure Active Directory中的企业应用程序->搜索Web应用程序的名称(您需要使用Application Type
来指定All Applications
筛选器)->在Properties
中,您可以找到所需的Application ID
,也称为ClientID
。
但是,即使可以找到它,也将无法生成服务主体的秘密。我认为您只能使用AD App(应用程序注册)来做到这一点。