FirewallPolicy ​
The FirewallPolicy resource allows you to manage AWS NetworkFirewall FirewallPolicys to define your firewall rules and behaviors.
Minimal Example ​
Create a basic FirewallPolicy with required properties and a description.
ts
import AWS from "alchemy/aws/control";
const basicFirewallPolicy = await AWS.NetworkFirewall.FirewallPolicy("basicFirewallPolicy", {
FirewallPolicyName: "BasicPolicy",
Description: "A basic firewall policy for demonstration purposes",
FirewallPolicy: {
StatelessRuleGroupReferences: [],
StatelessDefaultActions: ["aws:pass"],
StatelessFragmentDefaultActions: ["aws:pass"],
StatefullRuleGroupReferences: []
}
});
Advanced Configuration ​
Configure a firewall policy with stateful rule groups and more complex default actions.
ts
const advancedFirewallPolicy = await AWS.NetworkFirewall.FirewallPolicy("advancedFirewallPolicy", {
FirewallPolicyName: "AdvancedPolicy",
Description: "An advanced firewall policy with stateful rules",
FirewallPolicy: {
StatelessRuleGroupReferences: [
{
ResourceArn: "arn:aws:network-firewall:us-east-1:123456789012:stateful-rulegroup/MyStatefulRuleGroup"
}
],
StatelessDefaultActions: ["aws:drop"],
StatelessFragmentDefaultActions: ["aws:drop"],
StatefulRuleGroupReferences: [
{
ResourceArn: "arn:aws:network-firewall:us-east-1:123456789012:stateless-rulegroup/MyStatelessRuleGroup"
}
]
}
});
Example with Tags ​
Create a FirewallPolicy that includes tags for better resource management.
ts
const taggedFirewallPolicy = await AWS.NetworkFirewall.FirewallPolicy("taggedFirewallPolicy", {
FirewallPolicyName: "TaggedPolicy",
Description: "A policy with tags for organizational purposes",
Tags: [
{
Key: "Environment",
Value: "Production"
},
{
Key: "Team",
Value: "Security"
}
],
FirewallPolicy: {
StatelessRuleGroupReferences: [],
StatelessDefaultActions: ["aws:pass"],
StatelessFragmentDefaultActions: ["aws:pass"],
StatefulRuleGroupReferences: []
}
});
Example with Adoption ​
Create a FirewallPolicy and adopt an existing resource if it already exists.
ts
const adoptiveFirewallPolicy = await AWS.NetworkFirewall.FirewallPolicy("adoptiveFirewallPolicy", {
FirewallPolicyName: "AdoptivePolicy",
Description: "Adopt an existing firewall policy if it exists",
adopt: true,
FirewallPolicy: {
StatelessRuleGroupReferences: [],
StatelessDefaultActions: ["aws:pass"],
StatelessFragmentDefaultActions: ["aws:pass"],
StatefulRuleGroupReferences: []
}
});