我需要能够识别头文件(x-functions-key)中提供的键(理想情况下是键名),以便在Run方法中对Azure函数进行POST,例如:
Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log, ClaimsPrincipal principal)
在Azure门户面板中添加功能键时,能够保护对Azure功能的访问是很棒的,但我必须能够分辨出使用了哪个功能键。理想情况下,可以关联每个功能键上的声明,但只要我至少能找出使用了哪个键,我就很高兴了。
3条答案
按热度按时间ufj5ltwl1#
只需从req.HttpContext.User.Claims对象中获取声明“http://schemas.microsoft.com/2017/07/functions/claims/keyid“,它包含键ID,以防使用功能键。
工作起来就像一个魅力,不需要外部查找。
lo8azlld2#
Sajeetharan回答了如何使用REST API获取密钥。
关于使用RBAC的能力,您需要使用托管身份,您可以找到有关如何设置它的详细信息:https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=dotnet
kr98yfug3#
在Azure Functions v1中:
代码参考:WebJobs.Script.WebHost/Filters/AuthorizationLevelAttribute.cs#L77