Skip to content

Commit ab77aa8

Browse files
Merge pull request #311707 from svaldesgzz/aezupdates
new article and updates on overview and TOC
2 parents d4b4437 + c188b77 commit ab77aa8

3 files changed

Lines changed: 135 additions & 2 deletions

File tree

articles/extended-zones/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
href: request-quota-increase.md
3636
- name: Purchase reservations and savings plans
3737
href: purchase-reservations-savings-plans.md
38+
- name: Create a custom Azure Policy in an Extended Zone
39+
href: create-azure-policy.md
3840
- name: Arc-enabled PaaS workloads in Extended Zones
3941
items:
4042
- name: Create Arc-Enabled AKS Clusters in Extended Zones
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
title: Deploy a Custom Azure Policy in an Azure Extended Zone
3+
description: Learn how to deploy a custom Azure Policy in an Azure Extended Zone.
4+
author: svaldesgzz
5+
ms.author: svaldes
6+
ms.service: azure-extended-zones
7+
ms.topic: how-to
8+
ms.date: 02/12/2026
9+
---
10+
11+
# Create a custom Azure Policy in an Azure Extended Zone
12+
13+
In this article, you learn how to create and deploy a custom Azure Policy in an Extended Zone.
14+
> [!NOTE]
15+
> Built-in Azure Policy definitions aren't supported in Extended Zones yet, but Azure Policy does support Azure Extended Zones as part of allow/deny custom policies. Thus, to enforce governance in Extended Zones you must create and deploy custom Azure Policy definitions that are tailored to the unique characteristics of these zones, namely ***extendedLocation***, ***extendedLocation.name***, and ***extendedLocation.type***. You may find it helpful to use built-in policy definitions as a reference when creating your custom policies.
16+
17+
## Prerequisites
18+
19+
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/pricing/purchase-options/azure-account?cid=msft_learn).
20+
21+
- Access to an Extended Zone. For more information, see [Request access to an Azure Extended Zone](request-access.md).
22+
23+
- Basic understanding of Azure Policy. For more information, see [What is Azure Policy?](/azure/governance/policy/overview).
24+
25+
## Sign in to Azure
26+
27+
Sign in to the [Azure portal](https://portal.azure.com) with your Azure account.
28+
29+
## Create a custom Azure Policy in an Azure Extended Zone
30+
31+
In this section, you create a custom Azure Policy in an Extended Zone.
32+
33+
For this example, we created an Allowed Locations policy that restricts the locations where resources can be deployed.
34+
35+
1. In the search box at the top of the portal, enter ***policy***. Select **Policy** from the search results.
36+
37+
1. In **Policy**, navigate to **Authoring → Definitions**.
38+
39+
1. Select **+ Policy definition**.
40+
41+
1. In **Create a policy definition**, fill in the required fields. Use the following table for guidance.
42+
43+
**Required fields:**
44+
45+
| Field | Guidance |
46+
|------|---------|
47+
| Definition location | Use a **management group** for enterprise-wide governance (recommended), or a **subscription** for more granular control. |
48+
| Name | Use a clear, intent-based name (for example, `Deny-NonApproved-Locations`). |
49+
| Description | Explain what the policy enforces and why. |
50+
| Category | Use an existing category or create one (for example, *Governance* or *Networking*). |
51+
52+
53+
5. Next, define the Policy Rule. In the **Policy rule** section, for this example, enter the following JSON code to create a policy that denies the creation of resources in locations other than an Azure Extended Zone:
54+
55+
```json
56+
{
57+
"mode": "Indexed",
58+
"parameters": {
59+
"listOfAllowedLocations": {
60+
"type": "Array",
61+
"metadata": {
62+
"description": "The list of locations that can be specified when deploying resources.",
63+
"strongType": "location",
64+
"displayName": "Allowed locations"
65+
}
66+
}
67+
},
68+
"policyRule": {
69+
"if": {
70+
"allOf": [
71+
{
72+
"field": "location",
73+
"notIn": "[parameters('listOfAllowedLocations')]"
74+
},
75+
{
76+
"field": "location",
77+
"notEquals": "global"
78+
},
79+
{
80+
"field": "extendedLocation.name",
81+
"notEquals": "losangeles"
82+
},
83+
{
84+
"field": "type",
85+
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
86+
}
87+
]
88+
},
89+
"then": {
90+
"effect": "deny"
91+
}
92+
}
93+
}
94+
```
95+
In this example, replace `losangeles` with the name of the Extended Zone location you have access to. You can find the location name in the Azure portal when deploying resources in the Extended Zone, or by using Azure CLI or PowerShell.
96+
> [!NOTE]
97+
> The **extendedlocation.name** or similar Extended Zone-specific fields may be highlighted as errors in the json editor. You may disregard this, as you can still successfully save, deploy and enforce the policy with these fields included.
98+
99+
6. Select **Save** to create the policy definition.
100+
101+
102+
## Policy management and monitoring
103+
104+
You can manage and monitor your Azure Policies in the Policy home dashboard in the Azure portal.
105+
106+
## Clean up resources
107+
If you're done working with resources from this tutorial, use the following steps to delete any of the policy assignments or definitions created above:
108+
109+
1. Select **Definitions** (or **Assignments** if you're trying to delete an assignment) under **Authoring** in the left side of the Azure Policy page.
110+
111+
1. Search for the new initiative or policy definition (or assignment) you want to remove.
112+
113+
1. Right-click the row or select the ellipses at the end of the definition (or assignment), and select **Delete definition** (or **Delete assignment**).
114+
115+
## Related content
116+
- [What is Azure Policy?](/azure/governance/policy/overview)
117+
- [What is Azure Extended Zones?](overview.md)
118+
- [Deploy a virtual machine in an Extended Zone](deploy-vm-portal.md)
119+
- [Frequently asked questions](faq.md)

articles/extended-zones/overview.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,24 @@ The following table lists key services that are available in Azure Extended Zone
4747
| **Networking** | [DDoS](../ddos-protection/ddos-protection-overview.md) (Standard protection) <br> [ExpressRoute](../expressroute/expressroute-introduction.md) <br> [Private Link](../private-link/private-link-overview.md) <br> [Standard Load Balancer](../load-balancer/load-balancer-overview.md) <br> [Standard public IP](../virtual-network/ip-services/public-ip-addresses.md) <br> [Virtual Network](../virtual-network/virtual-networks-overview.md) <br> [Virtual Network Peering](../virtual-network/virtual-network-peering-overview.md) <br> Azure Firewall (API version) |
4848
| **Storage** | [Managed disks](/azure/virtual-machines/managed-disks-overview) <br> - Premium SSD <br> - Standard SSD <br> [Premium Page Blobs](../storage/blobs/storage-blob-pageblob-overview.md) <br> [Premium Block Blobs](../storage/blobs/storage-blob-block-blob-premium.md) <br> [Premium Files](../storage/files/storage-files-introduction.md) <br> [Data Lake Storage Gen2 Hierarchical Namespace](../storage/blobs/data-lake-storage-namespace.md) <br>Data Lake Storage Gen2 Flat Namespace <br> [Change Feed](/azure/cosmos-db/change-feed) <br> Blob Features <br> - [SFTP](../storage/blobs/secure-file-transfer-protocol-support.md) <br> - [NFS](../storage/files/files-nfs-protocol.md) |
4949
| **BCDR** | [Azure Site Recovery](../site-recovery/site-recovery-overview.md)* (Extended Zone to parent region) <br> [Azure Backup](../backup/backup-overview.md) |
50-
| **Arc-enabled PaaS** | [ContainerApps](/azure/extended-zones/arc-enabled-workloads-container-apps)* <br> [PostgreSQL](/azure/extended-zones/arc-enabled-workloads-postgre-sql)* <br> [ManagedSQL](/azure/extended-zones/arc-enabled-workloads-managed-sql)* |
51-
| **Billing** | [Savings Plans](/azure/extended-zones/purchase-reservations-savings-plans) <br> [Reserved Instances](/azure/extended-zones/purchase-reservations-savings-plans) (through recommendations flow) |
50+
| **Arc-enabled PaaS** | [ContainerApps](/azure/extended-zones/arc-enabled-workloads-container-apps)* <br> [ManagedSQL](/azure/extended-zones/arc-enabled-workloads-managed-sql)* |
51+
| **Other** | [Azure Policy](/azure/extended-zones/create-azure-policy)* <br> [Savings Plans](/azure/extended-zones/purchase-reservations-savings-plans) <br> [Reserved Instances](/azure/extended-zones/purchase-reservations-savings-plans) (through recommendations flow) |
5252

5353
\* While these services are GA in Azure Regions, they are currently in Preview in Azure Extended Zones.
5454
\** [Learn more about Virtual Machine family series here](/azure/virtual-machines/sizes/overview?tabs=breakdownseries%2Cgeneralsizelist%2Ccomputesizelist%2Cmemorysizelist%2Cstoragesizelist%2Cgpusizelist%2Cfpgasizelist%2Chpcsizelist). You can obtain a detailed VM list in the Azure Extended Zones environment.
5555

56+
## Supported Independent Software Vendors (ISVs)
57+
58+
The following table lists the key Independent Software Vendors services that are supported in Azure Extended Zones:
59+
60+
| Service Provider | Supported services and features |
61+
| ------------------ | ------------------- |
62+
| **Aviatrix** | Cloud Native Security Fabric (CNSF) |
63+
| **Check Point** | Firewall |
64+
| **Fortinet** | Firewall |
65+
| **HPE Aruba (Silverpeak)** | [Networking EdgeConnect SD-WAN](https://arubanetworking.hpe.com/techdocs/sdwan-PDFs/deployments/dg_ECV-Azure_latest.pdf) |
66+
67+
5668
## Frequently asked questions (FAQ)
5769

5870
To get answers to frequently asked questions about Azure Extended Zones, see [Azure Extended Zones FAQ](faq.md).

0 commit comments

Comments
 (0)