You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Fix incorrect management group scope: Enable-DDoS-VNET is assigned at
connectivity and landingzones MGs, not platform MG
- Use correct parameter names: platformConnectivityConfig and
landingZonesConfig instead of platformConfig
- Fix parameter name: ddosPlan instead of ddosProtectionPlanId
- Add cross-MG RBAC file sync instructions (main-rbac.bicepparam)
- Add important warning about Modify effect intercepting ARM deployments
- Fix typo: DoNoteEnforce to DoNotEnforce in generic section
- Replace misleading Enable-DDoS-VNET example in generic Disabling section
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Let's say you want to disable the `Enable-DDoS-VNET` policy assignment. You can either set its enforcement mode to DoNotEnforce or exclude it entirely from deployment.
33
+
You can either set a policy assignment's enforcement mode to DoNotEnforce or exclude it entirely from deployment.
34
34
35
-
To change the Enforcement mode of a policy assignment to DoNoteEnforce, but still assign the policy, add it to the `managementGroupDoNotEnforcePolicyAssignments` array in the corresponding management group's `.bicepparam` file:
35
+
To change the Enforcement mode of a policy assignment to DoNotEnforce, but still assign the policy, add it to the `managementGroupDoNotEnforcePolicyAssignments` array in the corresponding management group's `.bicepparam` file:
If you don't have a DDoS protection plan, disable the `Enable-DDoS-VNET` policy assignment at the `platform` management group:
165
+
The `Enable-DDoS-VNET` policy assignment is deployed at two management groups:
166
+
167
+
-**Connectivity** management group — via `lib/alz/platform/connectivity/Enable-DDoS-VNET.alz_policy_assignment.json`
168
+
-**Landing Zones** management group — via `lib/alz/landingzones/Enable-DDoS-VNET.alz_policy_assignment.json`
169
+
170
+
#### Keeping the policy enabled
171
+
172
+
If you plan to keep the policy enabled, make sure you provide the DDoS protection plan resource ID via the `Enable-DDoS-VNET` override in both management group parameter files:
The `Enable-DDoS-VNET` policy uses a `Modify` effect with `Default` enforcement mode. This means the policy actively intercepts VNet creation and update requests to inject the DDoS protection plan reference. If the policy is deployed with placeholder parameter values and no DDoS protection plan exists, VNet deployments will fail with `LinkedAuthorizationFailed` errors. Make sure the governance stacks are updated and deployed before running the networking stack.
206
+
{{< /hint >}}
207
+
208
+
If you don't have a DDoS protection plan, exclude the `Enable-DDoS-VNET` policy assignment from both management groups:
209
+
210
+
**platform-connectivity/main.bicepparam:**
169
211
170
212
```bicep-params
171
-
param platformConfig = {
213
+
param platformConnectivityConfig = {
172
214
// ... other config
173
215
managementGroupExcludedPolicyAssignments: [
174
216
'Enable-DDoS-VNET'
175
217
]
176
218
}
177
219
```
178
220
179
-
Or set it to DoNotEnforce mode:
221
+
**landingzones/main.bicepparam:**
180
222
181
223
```bicep-params
182
-
param platformConfig = {
224
+
param landingZonesConfig = {
183
225
// ... other config
184
-
managementGroupDoNotEnforcePolicyAssignments: [
226
+
managementGroupExcludedPolicyAssignments: [
185
227
'Enable-DDoS-VNET'
186
228
]
187
229
}
188
230
```
189
231
190
-
If you plan to keep the policy enabled, make sure you provide the DDoS protection plan resource ID via the `Enable-DDoS-VNET` override:
232
+
You must also update the cross-management group RBAC parameter files to exclude the policy assignment. These modules reference the policy assignment as an `existing` resource to retrieve its managed identity, and will fail if the assignment does not exist.
0 commit comments