NAT Gateway is a fully managed service that securely routes internet traffic from a private virtual network with enterprise-grade performance and low latency.
You’re hitting an Azure RBAC + deny assignment conflict when trying to remove the NAT Gateway. Let’s break down what the error is really saying and how you can resolve it:
🔎 What the error means
- You have permission:
Your account (live.com#{email}) can perform Microsoft.Network/virtualNetworks/write on the VNet (workers-vnet).
- You do not have permission:
You’re missing Microsoft.Network/networkSecurityGroups/join/action on the NSG (workers-sg). This action is required when Azure tries to detach or reconfigure resources linked to the NSG during NAT Gateway removal.
- Blocked by deny assignment:
Even if you had RBAC permissions, there’s a deny assignment on the NSG scope. Deny assignments override RBAC and prevent certain actions — often created by Azure-managed services (like Databricks or policy enforcement).
⚙️ Why this happens
- Databricks-managed resource groups (databricks-rg-*) often have locked-down NSGs with deny assignments to prevent accidental modification.
- When you try to remove the NAT Gateway, Azure attempts to update the NSG association, but the deny assignment blocks it.you’re hitting an Azure RBAC + deny assignment conflict when trying to remove the NAT Gateway. Let’s break down what the error is really saying and how you can resolve it:
🔎 What the error means
- You have permission:
Your account (live.com#{email}) can perform Microsoft.Network/virtualNetworks/write on the VNet (workers-vnet).
- You do not have permission:
You’re missing Microsoft.Network/networkSecurityGroups/join/action on the NSG (workers-sg). This action is required when Azure tries to detach or reconfigure resources linked to the NSG during NAT Gateway removal.
- Blocked by deny assignment:
Even if you had RBAC permissions, there’s a deny assignment on the NSG scope. Deny assignments override RBAC and prevent certain actions — often created by Azure-managed services (like Databricks or policy enforcement).
⚙️ Why this happens
- Databricks-managed resource groups (databricks-rg-*) often have locked-down NSGs with deny assignments to prevent accidental modification.
- When you try to remove the NAT Gateway, Azure attempts to update the NSG association, but the deny assignment blocks it.