使用 MSI 身份验证从 ADF Web activity 向事件网格主题发送事件

Send Events to Event Grid Topic from ADF Web activity with MSI authentication

我希望从 ADF“Web”Activity 向事件网格主题发送事件。我设法通过从网络 activity 发送“aeg-sas-key”来做到这一点,如记录 here 所示。 但是,我尝试通过 ADF Web activity 实现相同的目标,而不使用“aeg-sas-key”,而是将身份验证作为托管身份

但它给我以下错误:

{ "error": { "code": "Unauthorized", "message": "Request has an unsupported Authorization scheme:Bearer. Authorization scheme must be SharedAccessSignature. Report 'a2af905c-e3ca-401a-be09-3f0b3c6b7d4e:8:5/20/2021 2:00:24 PM (UTC)' to our forums for assistance or raise a support ticket."

我已将 ADF 的托管标识应用程序添加到具有贡献者角色的事件网格主题,但它仍然不起作用。我错过了什么吗?

简而言之,我需要知道如何从 ADF Web Activity使用托管身份验证向事件网格主题发送事件?

并非 Azure 中的所有 APIs 都支持 MSI 身份验证,只有受 Azure AD 保护的 APIs 支持,本质上 MSI 身份验证使用 Azure AD client credential flow 来获取令牌, 然后使用令牌调用 API.

在这种情况下,如错误消息中所述,对于send an event to your topic,它使用aeg-sas-key进行身份验证,即基本身份验证,它不支持Azure AD身份验证,这意味着它也可以不使用 MSI 进行授权。