Overview
A firewall policy is an ordered list of rules deciding what traffic is allowed in and out of a network. Assign one to a network and its rules govern that network’s traffic.Navigation: Networking → Firewall Policies. Titled Firewall Policies, subtitled “Manage stateless firewall policies for your VPC networks”.
The console says Firewall Policies; the API and URLs say network ACLs. Same resource. You’ll also see the name “Firewall Policies” as a tab inside a VPC.
Stateless — which changes how you write rules
Default policies are read-only
Two system policies exist,default_allow and default_deny, and neither can be edited:
This is a system default policy (). Its rules are read-only — to define custom inbound/outbound rules, create a new Firewall Policy and assign it to your network.Their row menus offer only View Rules and Assign to network — no add, edit, or delete.
The list
Filters: All Types, Custom, Default. Search matches policy names.
Row actions
Assign to network is disabled for a policy with no VPC, with the tooltip “This Firewall Policy is not associated with a VPC, so its networks cannot be loaded.” A policy has to belong to a VPC before it can be applied to a network in it.
The rule model
Every rule has these fields.
The editor states the essentials itself: “Rules are evaluated by number, lowest first. Ingress = inbound to the tier, Egress = outbound. CIDR uses address/prefix (e.g. 0.0.0.0/0); leave End Port empty to match a single port.”
Switching protocol clears fields that no longer apply — choosing ICMP clears the ports, choosing TCP clears the ICMP type and code. You won’t leave stale values behind by changing your mind.
Validation
Priority ordering
Rules are evaluated lowest number first, and the first match wins.Editing rules inline
Rules are edited in place, in the table.Only one editor can be open at a time. Add Rule is disabled while you’re editing a row, and the pencil is disabled while you’re adding.
Reordering
The up and down chevrons move a rule’s priority. They’re disabled at the ends of the list, while another move is in flight, while you’re adding or editing, on default policies — and whenever a filter is active, with the tooltip “Clear filters to reorder”.That last one is deliberate: reordering within a filtered view would move a rule relative to rules you can’t see. Clear the Traffic and Protocol filters before reordering.
Filters
Both filter in the browser, and the list always re-sorts by rule number ascending.
Reading the table
Worked example: a web tier policy
A machine serving HTTPS publicly, SSH from the office only, and needing outbound access for updates.1
Create a custom policy
Add Firewall Policy on the VPC. Don’t try to modify
default_allow — you can’t.2
Ingress: HTTPS from anywhere
Rule 10 · Ingress · TCP · Start Port
443 · Source 0.0.0.0/0 · Allow
Description: “Public HTTPS”3
Ingress: SSH from the office only
Rule 20 · Ingress · TCP · Start Port
22 · Source 203.0.113.0/24 · Allow
Description: “SSH from office”The source CIDR is the entire security control here. 0.0.0.0/0 on port 22 exposes SSH to the internet.4
Egress: allow the replies and outbound updates
Rule 10 · Egress · All · Source
0.0.0.0/0 · AllowStateless means this is not optional. Without an egress rule, inbound requests arrive and responses never leave.5
Ingress: deny the rest, last
Rule 100 · Ingress · All · Source
0.0.0.0/0 · Deny
Description: “Default deny — keep last”The gap between 20 and 100 is room to insert rules later.6
Assign it to the network
Assign to network on the policy. Rules do nothing until a network uses the policy.
7
Verify both directions
Empty and error states
Every rule change is an asynchronous operation. The editor closes when the platform accepts the change, then the result arrives moments later — so a rule can briefly appear before it’s fully active. Failures reopen the editor with your input intact.
Related
Public IPs
Making a machine addressable, before you filter it.
VPC
Where policies are created and assigned.
Jobs
Confirming a rule change completed.