如何基于身份声明属性在Azure Front Door中拦截指定请求?
实现Azure Front Door WAF基于身份声明拦截请求的方法
要实现基于身份声明prop1值为value1时阻断请求,核心是利用Front Door身份验证后转发的声明请求头来配置WAF自定义规则,具体步骤如下:
确认声明的请求头映射
当你在Front Door上配置了身份验证(比如Azure AD OAuth2),经过验证的用户声明会自动以X-MS-CLAIM-<ClaimName>的格式添加到请求头中。对应你的场景,prop1声明会被转为请求头X-MS-CLAIM-prop1。创建WAF自定义规则
- 进入Azure Front Door的WAF策略,打开「自定义规则」面板,点击「添加自定义规则」
- 规则类型选择匹配规则,设置规则名称(比如
Block-Prop1-Value1) - 配置匹配条件:
- 匹配变量选择「Request Headers」
- 运算符选择「Equals」
- 选择器输入
X-MS-CLAIM-prop1 - 匹配值输入
value1
- 动作选择Block,并设置合适的优先级(确保该规则优先级高于其他允许类规则,避免被覆盖)
- 保存规则并应用到对应的Front Door端点
额外注意事项
- 确保你的身份提供者(如Azure AD)已经将
prop1声明包含在ID令牌/访问令牌中,并且Front Door的身份验证设置中没有排除该声明的转发 - 如果声明名称包含特殊字符,请求头名称会自动做规范化处理(比如空格转为连字符),可以通过测试请求查看实际的请求头名称后再配置规则
- 确保你的身份提供者(如Azure AD)已经将
内容的提问来源于stack exchange,提问作者Razi Gohar
相关产品推荐
相关产品推荐

