Skip to content

Group Policies

Dashboard Location: Network-wide > Configure > Group Policies

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-based access control, and enabling dynamic policy application based on user authentication or device classification.

Diagram

group_policies (meraki.domains.organizations.networks)

Section titled “group_policies (meraki.domains.organizations.networks)”
NameTypeConstraintMandatoryDefault Value
nameStringmin: 1, max: 127No
schedulingClass[scheduling]No
bandwidthClass[bandwidth]No
firewall_and_traffic_shapingClass[firewall_and_traffic_shaping]No
content_filteringClass[content_filtering]No
vlan_taggingClass[vlan_tagging]No
bonjour_forwardingClass[bonjour_forwarding]No

scheduling (meraki.domains.organizations.networks.group_policies)

Section titled “scheduling (meraki.domains.organizations.networks.group_policies)”
NameTypeConstraintMandatoryDefault Value
enabledBooleantrue, falseNo
mondayClass[monday]No
tuesdayClass[tuesday]No
wednesdayClass[wednesday]No
thursdayClass[thursday]No
fridayClass[friday]No
saturdayClass[saturday]No
sundayClass[sunday]No

bandwidth (meraki.domains.organizations.networks.group_policies)

Section titled “bandwidth (meraki.domains.organizations.networks.group_policies)”
NameTypeConstraintMandatoryDefault Value
settingsChoicecustom, ignore, network defaultNo
bandwidth_limitsClass[bandwidth_limits]No

firewall_and_traffic_shaping (meraki.domains.organizations.networks.group_policies)

Section titled “firewall_and_traffic_shaping (meraki.domains.organizations.networks.group_policies)”
NameTypeConstraintMandatoryDefault Value
settingsChoicecustom, ignore, network defaultNo
traffic_shaping_rulesList[traffic_shaping_rules]No
l3_firewall_rulesList[l3_firewall_rules]No
l7_firewall_rulesList[l7_firewall_rules]No

content_filtering (meraki.domains.organizations.networks.group_policies)

Section titled “content_filtering (meraki.domains.organizations.networks.group_policies)”
NameTypeConstraintMandatoryDefault Value
allowed_url_patternsClass[allowed_url_patterns]No
blocked_url_patternsClass[blocked_url_patterns]No
blocked_url_categoriesClass[blocked_url_categories]No

vlan_tagging (meraki.domains.organizations.networks.group_policies)

Section titled “vlan_tagging (meraki.domains.organizations.networks.group_policies)”
NameTypeConstraintMandatoryDefault Value
settingsChoicecustom, ignore, network defaultNo
vlan_idAnyInteger[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)

Section titled “bonjour_forwarding (meraki.domains.organizations.networks.group_policies)”
NameTypeConstraintMandatoryDefault Value
settingsChoicecustom, ignore, network defaultNo
rulesList[rules]No

monday (meraki.domains.organizations.networks.group_policies.scheduling)

Section titled “monday (meraki.domains.organizations.networks.group_policies.scheduling)”
NameTypeConstraintMandatoryDefault Value
activeBooleantrue, falseNo
fromStringRegex: ^(?: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
toStringRegex: ^(?: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)

Section titled “tuesday (meraki.domains.organizations.networks.group_policies.scheduling)”
NameTypeConstraintMandatoryDefault Value
activeBooleantrue, falseNo
fromStringRegex: ^(?: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
toStringRegex: ^(?: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)

Section titled “wednesday (meraki.domains.organizations.networks.group_policies.scheduling)”
NameTypeConstraintMandatoryDefault Value
activeBooleantrue, falseNo
fromStringRegex: ^(?: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
toStringRegex: ^(?: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)

Section titled “thursday (meraki.domains.organizations.networks.group_policies.scheduling)”
NameTypeConstraintMandatoryDefault Value
activeBooleantrue, falseNo
fromStringRegex: ^(?: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
toStringRegex: ^(?: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)

Section titled “friday (meraki.domains.organizations.networks.group_policies.scheduling)”
NameTypeConstraintMandatoryDefault Value
activeBooleantrue, falseNo
fromStringRegex: ^(?: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
toStringRegex: ^(?: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)

Section titled “saturday (meraki.domains.organizations.networks.group_policies.scheduling)”
NameTypeConstraintMandatoryDefault Value
activeBooleantrue, falseNo
fromStringRegex: ^(?: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
toStringRegex: ^(?: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)

Section titled “sunday (meraki.domains.organizations.networks.group_policies.scheduling)”
NameTypeConstraintMandatoryDefault Value
activeBooleantrue, falseNo
fromStringRegex: ^(?: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
toStringRegex: ^(?: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)

Section titled “bandwidth_limits (meraki.domains.organizations.networks.group_policies.bandwidth)”
NameTypeConstraintMandatoryDefault Value
limit_upIntegermin: 0, max: 1000000No
limit_downIntegermin: 0, max: 1000000No

traffic_shaping_rules (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping)

Section titled “traffic_shaping_rules (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping)”
NameTypeConstraintMandatoryDefault Value
definitionsList[definitions]Yes
per_client_bandwidth_limitsClass[per_client_bandwidth_limits]No
dscp_tag_valueIntegermin: 0, max: 63No
pcp_tag_valueIntegermin: 0, max: 7No
priorityChoicelow, normal, highNo

l3_firewall_rules (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping)

Section titled “l3_firewall_rules (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping)”
NameTypeConstraintMandatoryDefault Value
commentStringmin: 1, max: 127No
policyStringmin: 1, max: 127Yes
protocolChoicetcp, udp, icmp, icmp6, anyYes
destination_portAnyInteger[min: 0, max: 65535] or String[matches: `(?:[1-9][0-9]3[1-5][0-9]46[0-4][0-9]3
destination_cidrStringRegex: ^(?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)

Section titled “l7_firewall_rules (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping)”
NameTypeConstraintMandatoryDefault Value
policyChoicedenyNo
typeChoiceapplication, applicationCategory, host, ipRange, portNo
valueStringmin: 1, max: 127No

allowed_url_patterns (meraki.domains.organizations.networks.group_policies.content_filtering)

Section titled “allowed_url_patterns (meraki.domains.organizations.networks.group_policies.content_filtering)”
NameTypeConstraintMandatoryDefault Value
settingsChoiceappend, network default, overrideNo
patternsListString[min: 1, max: 1024]No

blocked_url_patterns (meraki.domains.organizations.networks.group_policies.content_filtering)

Section titled “blocked_url_patterns (meraki.domains.organizations.networks.group_policies.content_filtering)”
NameTypeConstraintMandatoryDefault Value
settingsChoiceappend, network default, overrideNo
patternsListString[min: 1, max: 1024]No

blocked_url_categories (meraki.domains.organizations.networks.group_policies.content_filtering)

Section titled “blocked_url_categories (meraki.domains.organizations.networks.group_policies.content_filtering)”
NameTypeConstraintMandatoryDefault Value
settingsChoiceappend, network default, overrideNo
categoriesListString[min: 1, max: 127]No

rules (meraki.domains.organizations.networks.group_policies.bonjour_forwarding)

Section titled “rules (meraki.domains.organizations.networks.group_policies.bonjour_forwarding)”
NameTypeConstraintMandatoryDefault Value
descriptionStringmin: 1, max: 1024No
vlan_idAnyInteger[min: 1, max: 4094] or String[matches: `(?:[1-9][1-9][0-9][1-9][0-9]2
servicesListChoice[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)

Section titled “definitions (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping.traffic_shaping_rules)”
NameTypeConstraintMandatoryDefault Value
typeChoiceapplication, applicationCategory, host, ipRange, localNet, portYes
valueStringmin: 1, max: 127Yes

per_client_bandwidth_limits (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping.traffic_shaping_rules)

Section titled “per_client_bandwidth_limits (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping.traffic_shaping_rules)”
NameTypeConstraintMandatoryDefault Value
settingsChoicenetwork default, ignore, customNo
bandwidth_limitsClass[bandwidth_limits]No

bandwidth_limits (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping.traffic_shaping_rules.per_client_bandwidth_limits)

Section titled “bandwidth_limits (meraki.domains.organizations.networks.group_policies.firewall_and_traffic_shaping.traffic_shaping_rules.per_client_bandwidth_limits)”
NameTypeConstraintMandatoryDefault Value
limit_upIntegermin: 0, max: 1000000No
limit_downIntegermin: 0, max: 1000000No

Example-1: The example below demonstrates group policies configuration.

This configuration creates network access policies based on user groups and device types. The example includes bandwidth limits, firewall rules, traffic shaping, and access controls for different user categories and organizational roles. Each policy specifies whether scheduling is enabled, bandwidth settings, firewall and traffic shaping rules, splash authentication behavior, VLAN tagging, and Bonjour forwarding. IOT: Scheduling is enabled 24/7, VLAN 30 is assigned, firewall and traffic shaping are set to custom, and all other settings use network defaults. Guest: Scheduling is disabled, VLAN 40 is assigned, custom firewall rules allow all traffic to the Internet, bandwidth and splash settings use network defaults. BMS: Scheduling is disabled, VLAN 20 is assigned, custom firewall rules allow all traffic to the Internet, bandwidth and splash settings use network defaults. CORP: Scheduling is disabled, VLAN 10 is assigned, firewall and traffic shaping are custom, and all other settings use network defaults. Each policy ensures consistent network behavior and segmentation according to the intended group of users or devices.

meraki:
domains:
- name: !env domain
administrator:
name: !env org_admin
organizations:
- name: !env org
networks:
- name: !env network_name
product_types:
- appliance
- switch
- wireless
- camera
- sensor
- cellularGateway
group_policies:
- name: IOT
scheduling:
enabled: true
monday:
active: true
from: 00:00
to: "24:00"
tuesday:
active: true
from: 00:00
to: "24:00"
wednesday:
active: true
from: 00:00
to: "24:00"
thursday:
active: true
from: 00:00
to: "24:00"
friday:
active: true
from: 00:00
to: "24:00"
saturday:
active: true
from: 00:00
to: "24:00"
sunday:
active: true
from: 00:00
to: "24:00"
bandwidth:
settings: network default
firewall_and_traffic_shaping:
settings: custom
splash_auth_settings: network default
vlan_tagging:
settings: custom
vlan_id: 30
bonjour_forwarding:
settings: network default
- name: Guest
scheduling:
enabled: false
monday:
active: true
from: 00:00
to: "24:00"
tuesday:
active: true
from: 00:00
to: "24:00"
wednesday:
active: true
from: 00:00
to: "24:00"
thursday:
active: true
from: 00:00
to: "24:00"
friday:
active: true
from: 00:00
to: "24:00"
saturday:
active: true
from: 00:00
to: "24:00"
sunday:
active: true
from: 00:00
to: "24:00"
bandwidth:
settings: network default
firewall_and_traffic_shaping:
settings: custom
l3_firewall_rules:
- comment: Guest to Internet
policy: allow
protocol: any
destination_cidr: Any
destination_port: Any
splash_auth_settings: network default
vlan_tagging:
settings: custom
vlan_id: 40
bonjour_forwarding:
settings: network default
- name: BMS
scheduling:
enabled: false
monday:
active: true
from: 00:00
to: "24:00"
tuesday:
active: true
from: 00:00
to: "24:00"
wednesday:
active: true
from: 00:00
to: "24:00"
thursday:
active: true
from: 00:00
to: "24:00"
friday:
active: true
from: 00:00
to: "24:00"
saturday:
active: true
from: 00:00
to: "24:00"
sunday:
active: true
from: 00:00
to: "24:00"
bandwidth:
settings: network default
firewall_and_traffic_shaping:
settings: custom
l3_firewall_rules:
- comment: Guest to Internet
policy: allow
protocol: any
destination_cidr: Any
destination_port: Any
splash_auth_settings: network default
vlan_tagging:
settings: custom
vlan_id: 20
bonjour_forwarding:
settings: network default
- name: CORP
scheduling:
enabled: false
monday:
active: true
from: 00:00
to: "24:00"
tuesday:
active: true
from: 00:00
to: "24:00"
wednesday:
active: true
from: 00:00
to: "24:00"
thursday:
active: true
from: 00:00
to: "24:00"
friday:
active: true
from: 00:00
to: "24:00"
saturday:
active: true
from: 00:00
to: "24:00"
sunday:
active: true
from: 00:00
to: "24:00"
bandwidth:
settings: network default
firewall_and_traffic_shaping:
settings: custom
splash_auth_settings: network default
vlan_tagging:
settings: custom
vlan_id: 10
bonjour_forwarding:
settings: network default