对于具有托管标识的 Azure 应用服务,如何检索客户端 ID

For an Azure App service with a managed identity, how to retrieve the Client ID

如何为 system-assigned 身份检索 Azure Web 应用程序(或一般应用程序服务)的客户端 ID?在identity blade中,我只看到了object id.

我需要它来启用 AAD 服务对服务的访问,我正在调用的服务将使用我的客户端 ID 授权我的请求,该客户端 ID 从我发送的令牌中提取。但是,我不知道如何找到我的客户ID。

当您为应用服务 Web 应用启用系统分配的托管服务标识时,它会创建一个服务主体(在 Azure 门户中的企业应用程序下可见)。

尽管您只能在应用服务的身份 blade 中看到 Object ID,但您可以找到更多详细信息,包括应用程序 ID(或您要求的客户端 ID),方法是到 Azure 门户 > Azure Active Directory > 企业应用程序 > 所有应用程序 > 相关服务主体(您可以使用与您的网络应用程序或 Object ID 相同的显示名称来确定)。更详细的步骤以及下面的屏幕截图。

请注意,即使您可以获得 MSI 的应用程序 ID 和一些详细信息,您也不会找到它的实际应用程序注册。

  • 例如,我有一个名为 "RohitMSIWebApp1" 的应用服务,如下所示

  • 转到 Azure 门户 > Azure Active Directory > 企业应用程序 > 所有应用程序

  • 在搜索框中输入您的网络应用程序的显示名称,以将其过滤到相关服务主体

  • 转到服务主体的属性了解更多详细信息