-
Notifications
You must be signed in to change notification settings - Fork 167
Expose APP_SERVICE_SKU build variable to allow enablement of App Gateway WAF #4111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose APP_SERVICE_SKU build variable to allow enablement of App Gateway WAF #4111
Conversation
Unit Test Results0 tests 0 ✅ 0s ⏱️ Results for commit 03c88dc. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, haven't had chance to test, but providing it works as designed I'm good with it. 👍
Thanks. I've run the following deployments manually to test the various permutations:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Fixed lint issue (updated core version) |
/test-extended |
🤖 pr-bot 🤖
(in response to this comment from @tim-allen-ck) |
/test-extended 03c88dc |
🤖 pr-bot 🤖 🏃 Running extended tests: https://github.com/microsoft/AzureTRE/actions/runs/11674125744 (with refid (in response to this comment from @tim-allen-ck) |
What is being addressed
Exposes a new
APP_GATEWAY_SKU
variable in config.yaml / CICD to allow the App Gateway SKU to be configured allowing the App Gateway WAF to be enabled. (The Azure TRE currently deploys the Application Gateway with a Standard_v2 SKU which does not enable the WAF.)When the
APP_GATEWAY_SKU
variable:Standard_v2
then aStandard_v2
SKU App Gateway is provisioned (the same as before the change)WAF_v2
then aWAF_v2
SKU App Gateway is provisioned along with a WAF Policy with default settings - 'Prevention' mode and the 'OWASP 3.2' rulesetNotes about the change:
lifecycle { ignore_changes = [ policy_settings, managed_rules] }
statement so that the policy and rules are not managed in terraform after being set up to allow config of the rulesets to happen independently of this buildazurerm_application_gateway
around theprobe.match
field. I've added this field explicitly as it was being readded on every run despite not being defined.azurerm_web_application_firewall_policy
resource requires a destruction provisioner as terraform does not properly unhook the WAF policy from the App Gateway before trying to destroy the WAF Policy. This is needed if changing config from WAF_v2 > Standard_v2.