Skip to content

Commit 80f522f

Browse files
committed
first draft
1 parent ffd228b commit 80f522f

File tree

1 file changed

+109
-10
lines changed

1 file changed

+109
-10
lines changed

articles/virtual-wan/roles-permissions.md

Lines changed: 109 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ titleSuffix: Azure Virtual WAN
44
description: Learn about roles and permissions for a Virtual WAN Hub.
55
author: siddomala
66
ms.service: azure-virtual-wan
7-
ms.topic: concept-article
7+
ms.topic: conceptual
88
ms.date: 12/13/2024
99
ms.author: cherylmc
1010

@@ -16,7 +16,8 @@ Because of this, it's essential to verify permissions on all involved resources
1616

1717
## Azure built-in roles
1818

19-
You can choose to assign [Azure built-in roles](../role-based-access-control/built-in-roles.md) to a user, group, service principal, or managed identity such as [Network contributor](../role-based-access-control/built-in-roles.md#network-contributor), which support all the required permissions for creating the gateway.
19+
You can choose to assign [Azure built-in roles](../role-based-access-control/built-in-roles.md) to a user, group, service principal, or managed identity such as [Network contributor](../role-based-access-control/built-in-roles.md#network-contributor), which support all the required permissions for creating resources related to Virtual WAN.
20+
2021
For more information, see [Steps to assign an Azure role](../role-based-access-control/role-assignments-steps.md).
2122

2223
## Custom roles
@@ -25,16 +26,107 @@ If the [Azure built-in roles](../role-based-access-control/built-in-roles.md) do
2526
Just like built-in roles, you can assign custom roles to users, groups, and service principals at management group, subscription, and resource group scopes.
2627
For more information, see [Steps to create a custom role](../role-based-access-control/custom-roles.md#steps-to-create-a-custom-role) .
2728

28-
To ensure proper functionality, check your custom role permissions to confirm user service principals, and managed identities operating the VPN gateway have the necessary permissions.
29+
To ensure proper functionality, check your custom role permissions to confirm user service principals, and managed identities interacting with Virtual WAN have the necessary permissions.
2930
To add any missing permissions listed here, see [Update a custom role](../role-based-access-control/custom-roles-portal.md#update-a-custom-role).
3031

31-
## Permissions
32+
The following custom roles are a few example roles you can create in your tenant if you don't want to leverage more generic built-in roles such as Network Contributor or Contributor.
33+
34+
### Virtual WAN Administrator
35+
36+
The Virtual WAN Administrator role has the ability to perform all operations related to the Virtual Hub, including managing connections to Virtual WAN and configuring routing.
37+
38+
```
39+
{
40+
"Name": "Virtual WAN Administrator",
41+
"IsCustom": true,
42+
"Description": "Can perform all operations related to the Virtual WAN, including managing connections to Virtual WAN and configuring routing in each hub.",
43+
"Actions": [
44+
"Microsoft.Network/virtualWans/*",
45+
"Microsoft.Network/virtualHubs/*",
46+
"Microsoft.Network/azureFirewalls/read",
47+
"Microsoft.Network/networkVirtualAppliances/*/read",
48+
"Microsoft.Network/securityPartnerProviders/*/read",
49+
"Microsoft.Network/expressRouteGateways/*",
50+
"Microsoft.Network/vpnGateways/*",
51+
"Microsoft.Network/p2sVpnGateways/*",
52+
"Microsoft.Network/virtualNetworks/peer/action"
53+
54+
],
55+
"NotActions": [],
56+
"DataActions": [],
57+
"NotDataActions": [],
58+
"AssignableScopes": [
59+
"/subscriptions/{subscriptionId1}",
60+
"/subscriptions/{subscriptionId2}"
61+
]
62+
}
63+
```
64+
65+
### Virtual WAN Reader
66+
67+
The Virtual WAN reader role has the ability to view and monitor all Virtual WAN-related resources, but can't perform any updates.
68+
69+
```
70+
{
71+
"Name": "Virtual WAN Reader",
72+
"IsCustom": true,
73+
"Description": "Can read and monitor all Virtual WAN resources, but cannot modify Virtual WAN resources.",
74+
"Actions": [
75+
"Microsoft.Network/virtualWans/*/read",
76+
"Microsoft.Network/virtualHubs/*/read",
77+
"Microsoft.Network/expressRouteGateways/*/read",
78+
"Microsoft.Network/vpnGateways/*/read",
79+
"Microsoft.Network/p2sVpnGateways/*/read"
80+
"Microsoft.Network/networkVirtualAppliances/*/read
81+
],
82+
"NotActions": [],
83+
"DataActions": [],
84+
"NotDataActions": [],
85+
"AssignableScopes": [
86+
"/subscriptions/{subscriptionId1}",
87+
"/subscriptions/{subscriptionId2}"
88+
]
89+
}
90+
```
91+
## Required Permissions
92+
93+
Creating or updating Virtual WAN resources requires you to have the proper permission(s) to create that Virtual WAN resource type. In some scenarios, having permissions to create or update that resource type is sufficient. However, in many scenarios, updating a Virtual WAN resource that has a **reference** to another Azure resource requires you to have permissions over both the created resource **and** any referenced resources.
94+
95+
### Example 1
96+
97+
When a connection is created between a Virtual WAN hub and a spoke Virtual Network, Virtual WAN's control plane creates a Virutal Network peering between the Virtual WAN hub and your spoke Virtual Network. You can also specify the Virtual WAN route tables to which the Virtual Network connection is associating to or propagating to.
98+
99+
Therefore, to create a Virtual Network connection to the Virtual WAN hub, you must have the following permissions:
100+
101+
* Create a Hub Virtual Network connection (Microsoft.Network/virtualHubs/hubVirtualNetworkConnections/write)
102+
* Create a Virtual Network peering with the spoke Virtual Network (Microsoft.Network/virtualNetworks/peer/action)
103+
* Read the route table(s) that the Virtual Network connections are referencing (Microsoft.Network/virtualhubs/hubRouteTables/read)
32104

33-
When creating or updating the resources below, add the appropriate permissions from the following list:
105+
If you want to associate an inbound or out-bound route map is associated with the Virtual Network connection, you need an additional permission:
106+
107+
* Read the route map(s) that is applied to the Virtual Network connection (Microsoft.Network/virtualHubs/routeMaps/read).
108+
109+
### Example 2
110+
111+
To create or modify routing intent, a routing intent resource is created with a reference to the next hop resources specified in the routing intent's routing policy. This means that to create or modify routing intent, you need permissions over any referenced Azure Firewall or Network Virtual Appliance resource(s).
112+
113+
If the next hop for a hub's private routing intent policy is a Network Virtual Appliance and the next hop for a hub's internet policy is an Azure Firewall, creating or updating a routing intent resource requires the following permisisons.
114+
115+
* Create routing intent resource. (Microsoft.Network/virtualhubs/routingIntents/write)
116+
* Reference (read) the Network Virtual Appliance resource (Microsoft.Network/networkVirtualAppliances/read)
117+
* Reference (read) the Azure Firewall resource (Microsoft.Network/azureFirewalls)
118+
119+
In this example, you do **not** need permissions to read Microsoft.Network/securityPartnerProviders resources because the routing intent configured does not reference a third-party security provider resource.
120+
121+
## Additional permissions required due to referenced resources
122+
123+
The following section describes the set of possible permisisons that are needed to create or modify Virtual WAN resources.
124+
125+
Depending on your Virtual WAN configuration, the user or service principal that is managing your Virtual WAN deploymentes may need all, a subset or none of the below permissions.
34126

35127
### Virtual hub resources
36128

37-
|Resource | Required Azure permissions |
129+
|Resource | Required Azure permissions due to resource references |
38130
|---|---|
39131
| virtualHubs | Microsoft.Network/virtualNetworks/peer/action <br>Microsoft.Network/virtualWans/join/action |
40132
| virtualHubs/hubVirtualNetworkConnections | Microsoft.Network/virtualNetworks/peer/action <br>Microsoft.Network/virtualHubs/routeMaps/read <br>Microsoft.Network/virtualHubs/hubRouteTables/read |
@@ -44,26 +136,27 @@ When creating or updating the resources below, add the appropriate permissions f
44136

45137
### ExpressRoute gateway resources
46138

47-
|Resource | Required Azure permissions |
139+
|Resource | Required Azure permissions due to resource references |
48140
|---|---|
49141
| expressroutegateways | Microsoft.Network/virtualHubs/read <br>Microsoft.Network/virtualHubs/hubRouteTables/read <br>Microsoft.Network/virtualHubs/routeMaps/read <br>Microsoft.Network/expressRouteGateways/expressRouteConnections/read <br>Microsoft.Network/expressRouteCircuits/join/action |
50142
| expressRouteGateways/expressRouteConnections | Microsoft.Network/virtualHubs/hubRouteTables/read <br>Microsoft.Network/virtualHubs/routeMaps/read <br>Microsoft.Network/expressRouteCircuits/join/action |
51143

52144

53145
### VPN resources
54146

55-
|Resource | Required Azure permissions |
147+
|Resource | Required Azure permissions due to resource references |
56148
|---|---|
57149
| p2svpngateways | Microsoft.Network/virtualHubs/read <br>Microsoft.Network/virtualHubs/hubRouteTables/read <br>Microsoft.Network/virtualHubs/routeMaps/read <br>Microsoft.Network/vpnServerConfigurations/read |
58150
| p2sVpnGateways/p2sConnectionConfigurations | Microsoft.Network/virtualHubs/hubRouteTables/read <br>Microsoft.Network/virtualHubs/routeMaps/read |
59-
| vpngateways | Microsoft.Network/virtualHubs/read <br>Microsoft.Network/virtualHubs/hubRouteTables/read <br>Microsoft.Network/virtualHubs/routeMaps/read <br>Microsoft.Network/vpnGateways/vpnConnections/read |
151+
| vpnGateways | Microsoft.Network/virtualHubs/read <br>Microsoft.Network/virtualHubs/hubRouteTables/read <br>Microsoft.Network/virtualHubs/routeMaps/read <br>Microsoft.Network/vpnGateways/vpnConnections/read |
60152
| vpnsites | Microsoft.Network/virtualWans/read |
153+
| vpnGateways/vpnConnections | Microsoft.Network/virtualHubs/hubRouteTables/read <br>Microsoft.Network/virtualHubs/routeMaps/read |
61154

62155
### NVA resources
63156

64157
NVAs (Network Virtual Appliances) in Virtual WAN are typically deployed through Azure managed applications or directly via NVA orchestration software. For more information on how to properly assign permissions to managed applications or NVA orchestration software, see instructions [here](https://aka.ms/nvadeployment).
65158

66-
|Resource | Required Azure permissions |
159+
|Resource | Required Azure permissions due to resource references |
67160
|---|---|
68161
| networkVirtualAppliances | Microsoft.Network/virtualHubs/read |
69162
| networkVirtualAppliances/networkVirtualApplianceConnections | Microsoft.Network/virtualHubs/routeMaps/read <br>Microsoft.Network/virtualHubs/hubRouteTables/read |
@@ -83,6 +176,12 @@ For more information, see [Scope levels](../role-based-access-control/scope-over
83176
> [!NOTE]
84177
> Allow sufficient time for [Azure Resource Manager cache](../role-based-access-control/troubleshooting.md) to refresh after role assignment changes.
85178
179+
## Permissions Error
180+
181+
If you see an error in the following format, then please make sure you have the above permissions properly configured.
182+
183+
Error Message Format: "The client with object id {} does not have authorization to perform action {} over scope {} or the scope is invalid. If access was recently granted, please refresh your credentials."
184+
86185
## Additional services
87186

88187
To view roles and permissions for other services, see the following links:

0 commit comments

Comments
 (0)