如何使用Azure Policy验证邮箱格式?请求提供对应策略代码及示例
如何使用Azure Policy验证邮箱格式?
嘿,针对你需要验证邮箱格式(匹配*@*.gmail.com这类模式,比如kiran@ch.gmail.com、naresh@jk.gmail.com)的需求,我整理了一份可直接复用的Azure Policy定义,同时给你拆解关键逻辑,方便你调整适配自己的场景。
完整Azure Policy代码
{ "properties": { "displayName": "验证邮箱格式必须符合*@*.gmail.com", "policyType": "Custom", "mode": "All", "description": "确保指定字段的邮箱格式满足xxx@yyy.gmail.com的模式", "parameters": { "emailField": { "type": "String", "metadata": { "displayName": "目标邮箱字段", "description": "指定需要验证的邮箱属性路径,比如标签里的Email字段:'[tags['Email']]'" }, "defaultValue": "[tags['Email']]" } }, "policyRule": { "if": { "allOf": [ { "field": "[parameters('emailField')]", "exists": "true" }, { "not": { "field": "[parameters('emailField')]", "matchPattern": "*@*.gmail.com" } } ] }, "then": { "effect": "Deny" } } } }
代码说明
- 参数
emailField:默认指定验证资源标签里的Email字段,你可以根据实际需求修改目标属性,比如如果是要验证VM的某个自定义属性,就把路径改成对应的字段表达式。 - 匹配逻辑:用
matchPattern来匹配*@*.gmail.com的格式——这里的两个通配符*分别匹配邮箱前缀和@与gmail.com之间的子域名部分,完美适配你给出的示例邮箱。 - 生效效果:默认是
Deny,也就是当邮箱格式不符合要求时,会阻止资源的创建或更新;你也可以改成Audit来只做审计不阻止。
验证场景
- ✅ 通过的邮箱:
kiran@ch.gmail.com、naresh@jk.gmail.com、test@sub.domain.gmail.com - ❌ 被拦截的邮箱:
abc@gmail.com(缺少中间子域名)、xyz@outlook.com(后缀不对)、invalid-email(无@符号)
内容的提问来源于stack exchange,提问作者kiran
相关产品推荐
相关产品推荐

