Summary
When using Sync-ALZPolicyFromLibrary with the -SyncAMBAExtendedPolicies switch and then deploying via Build-DeploymentPlans + Deploy-PolicyPlan, we hit the Azure policy definition quota of
500 at the root management group scope.
I've follow the fix for the Linux path separator bug (#1311) is required before -SyncAMBAExtendedPolicies works on Linux/WSL #1309.
Steps to reproduce
# 1. Run AMBA extended sync
Sync-ALZPolicyFromLibrary -DefinitionsRootFolder .\Definitions -Type AMBA -PacEnvironmentSelector "xxx" -SyncAMBAExtendedPolicies
# 2. Build plan
Build-DeploymentPlans -DefinitionsRootFolder Definitions -OutputFolder Output -PacEnvironmentSelector xxx
# 3. Deploy — fails with quota error after ~197 new definitions
Deploy-PolicyPlan -DefinitionsRootFolder .\Definitions -InputFolder .\Output -PacEnvironmentSelector xxx
Error
{
"error": {
"code": "PolicyDefinitionQuotaExceeded",
"message": "Creating policy definition '<guid>' would exceed the quota at current scope. Existing policy definitions: '500', the quota is: '500'."
}
}
Questions
1. Is this a known limitation when using -SyncAMBAExtendedPolicies at enterprise scale?
2. Is there a recommended pattern to distribute AMBA extended policy definitions across multiple management group scopes (e.g., root for ALZ standard, landing-zones child MG for extended services)?
3. Is a quota increase request to Azure Support the recommended path, or is there an EPAC-native solution?
Thanks a lot,
Summary
When using
Sync-ALZPolicyFromLibrarywith the-SyncAMBAExtendedPoliciesswitch and then deploying viaBuild-DeploymentPlans+Deploy-PolicyPlan, we hit the Azure policy definition quota of500 at the root management group scope.
I've follow the fix for the Linux path separator bug (#1311) is required before -SyncAMBAExtendedPolicies works on Linux/WSL #1309.
Steps to reproduce