Dashboard Location: Network-wide > Configure > Group Policies
Group Policy Management Group policies in Meraki provide centralized client management and access control by applying consistent network policies to groups of devices or users. These policies enable granular control over bandwidth allocation, VLAN assignment, firewall rules, traffic shaping, and access scheduling. Group policies streamline network administration by allowing policy-based management rather than individual device configuration, supporting role-based access control, and enabling dynamic policy application based on user authentication or device classification.
Diagram Classes group_policies (meraki.domains.organizations.networks) Name Type Constraint Mandatory Default Value name String min: 1
, max: 127
No scheduling Class [scheduling]
No bandwidth Class [bandwidth]
No firewall_and_traffic_shaping Class [firewall_and_traffic_shaping]
No content_filtering Class [content_filtering]
No vlan_tagging Class [vlan_tagging]
No bonjour_forwarding Class [bonjour_forwarding]
No
scheduling (meraki.domains.organizations.networks.group_policies) Name Type Constraint Mandatory Default Value enabled Boolean true
, false
No monday Class [monday]
No tuesday Class [tuesday]
No wednesday Class [wednesday]
No thursday Class [thursday]
No friday Class [friday]
No saturday Class [saturday]
No sunday Class [sunday]
No
bandwidth (meraki.domains.organizations.networks.group_policies) Name Type Constraint Mandatory Default Value settings Choice custom
, ignore
, network default
No bandwidth_limits Class [bandwidth_limits]
No
firewall_and_traffic_shaping (meraki.domains.organizations.networks.group_policies) Name Type Constraint Mandatory Default Value settings Choice custom
, ignore
, network default
No traffic_shaping_rules List [traffic_shaping_rules]
No l3_firewall_rules List [l3_firewall_rules]
No l7_firewall_rules List [l7_firewall_rules]
No
content_filtering (meraki.domains.organizations.networks.group_policies) Name Type Constraint Mandatory Default Value allowed_url_patterns Class [allowed_url_patterns]
No blocked_url_patterns Class [blocked_url_patterns]
No blocked_url_categories Class [blocked_url_categories]
No
vlan_tagging (meraki.domains.organizations.networks.group_policies) Name Type Constraint Mandatory Default Value settings Choice custom
, ignore
, network default
No vlan_id Any Integer[min: 1
, max: 4094
] or String[matches: `(?:[1-9] [1-9][0-9] [1-9][0-9]2
bonjour_forwarding (meraki.domains.organizations.networks.group_policies) Name Type Constraint Mandatory Default Value settings Choice custom
, ignore
, network default
No rules List [rules]
No
monday (meraki.domains.organizations.networks.group_policies.scheduling) Name Type Constraint Mandatory Default Value active Boolean true
, false
No from String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No to String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No
tuesday (meraki.domains.organizations.networks.group_policies.scheduling) Name Type Constraint Mandatory Default Value active Boolean true
, false
No from String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No to String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No
wednesday (meraki.domains.organizations.networks.group_policies.scheduling) Name Type Constraint Mandatory Default Value active Boolean true
, false
No from String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No to String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No
thursday (meraki.domains.organizations.networks.group_policies.scheduling) Name Type Constraint Mandatory Default Value active Boolean true
, false
No from String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No to String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No
friday (meraki.domains.organizations.networks.group_policies.scheduling) Name Type Constraint Mandatory Default Value active Boolean true
, false
No from String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No to String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No
saturday (meraki.domains.organizations.networks.group_policies.scheduling) Name Type Constraint Mandatory Default Value active Boolean true
, false
No from String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No to String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No
sunday (meraki.domains.organizations.networks.group_policies.scheduling) Name Type Constraint Mandatory Default Value active Boolean true
, false
No from String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No to String Regex: ^(?:0:00|0:30|1:00|1:30|2:00|2:30|3:00|3:30|4:00|4:30|5:00|5:30|6:00|6:30|7:00|7:30|8:00|8:30|9:00|9:30|00:00|00:30|01:00|01:30|02:00|02:30|03:00|03:30|04:00|04:30|05:00|05:30|06:00|06:30|07:00|07:30|08:00|08:30|09:00|09:30|10:00|10:30|11:00|11:30|12:00|12:30|13:00|13:30|14:00|14:30|15:00|15:30|16:00|16:30|17:00|17:30|18:00|18:30|19:00|19:30|20:00|20:30|21:00|21:30|22:00|22:30|23:00|23:30|24:00)$
No
bandwidth_limits (meraki.domains.organizations.networks.group_policies.bandwidth) Name Type Constraint Mandatory Default Value limit_up Integer min: 0
, max: 1000000
No limit_down Integer min: 0
, max: 1000000
No
traffic_shaping_rules (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping) Name Type Constraint Mandatory Default Value definitions List [definitions]
Yes per_client_bandwidth_limits Class [per_client_bandwidth_limits]
No dscp_tag_value Integer min: 0
, max: 63
No pcp_tag_value Integer min: 0
, max: 7
No priority Choice low
, normal
, high
No
l3_firewall_rules (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping) Name Type Constraint Mandatory Default Value comment String min: 1
, max: 127
No policy String min: 1
, max: 127
Yes protocol Choice tcp
, udp
, icmp
, icmp6
, any
Yes destination_port Any Integer[min: 0
, max: 65535
] or String[matches: `(?:[1-9][0-9]3 [1-5][0-9]4 6[0-4][0-9]3 destination_cidr String Regex: ^(?i:any|(\d{1,3}\.){3}\d{1,3}(\/\d{1,2})?)(,(any|(\d{1,3}\.){3}\d{1,3}(\/\d{1,2})?))*$
No
l7_firewall_rules (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping) Name Type Constraint Mandatory Default Value policy Choice deny
No type Choice application
, applicationCategory
, host
, ipRange
, port
No value String min: 1
, max: 127
No
allowed_url_patterns (meraki.domains.organizations.networks.group_policies.content_filtering) Name Type Constraint Mandatory Default Value settings Choice append
, network default
, override
No patterns List String[min: 1
, max: 1024
] No
blocked_url_patterns (meraki.domains.organizations.networks.group_policies.content_filtering) Name Type Constraint Mandatory Default Value settings Choice append
, network default
, override
No patterns List String[min: 1
, max: 1024
] No
blocked_url_categories (meraki.domains.organizations.networks.group_policies.content_filtering) Name Type Constraint Mandatory Default Value settings Choice append
, network default
, override
No categories List String[min: 1
, max: 127
] No
rules (meraki.domains.organizations.networks.group_policies.bonjour_forwarding) Name Type Constraint Mandatory Default Value description String min: 1
, max: 1024
No vlan_id Any Integer[min: 1
, max: 4094
] or String[matches: `(?:[1-9] [1-9][0-9] [1-9][0-9]2 services List Choice[AFP
, AirPlay
, All Services
, Apple screen share
, BitTorrent
, Chromecast
, FTP
, Printers
, SSH
, Samba
, Scanners
, Spotify
, iChat
, iTunes
] Yes
definitions (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping.traffic_shaping_rules) Name Type Constraint Mandatory Default Value type Choice application
, applicationCategory
, host
, ipRange
, localNet
, port
Yes value String min: 1
, max: 127
Yes
per_client_bandwidth_limits (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping.traffic_shaping_rules) Name Type Constraint Mandatory Default Value settings Choice network default
, ignore
, custom
No bandwidth_limits Class [bandwidth_limits]
No
bandwidth_limits (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping.traffic_shaping_rules.per_client_bandwidth_limits) Name Type Constraint Mandatory Default Value limit_up Integer min: 0
, max: 1000000
No limit_down Integer min: 0
, max: 1000000
No
Examples Example-1: The example below demonstrates group policy configuration using tested YAML configuration from pipeline fixtures.
- name : " !env network_name "
- name : " Corporate-Users "
settings : " network default "
firewall_and_traffic_shaping :
settings : " network default "
splash_auth_settings : " network default "
settings : " network default "
bandwidth_limit_down : 10000
firewall_and_traffic_shaping :
- comment : " Allow web browsing "
destination_port : " 80,443 "
- comment : " Block internal networks "
destination_cidr : " 10.0.0.0/8 "
splash_auth_settings : " network default "