Skip to content

Commit f22fca6

Browse files
authored
Merge pull request #292731 from siddomala/SneakyPawUpdates
Permissions Update
2 parents 5a9477d + cf07d45 commit f22fca6

File tree

3 files changed

+123
-10
lines changed

3 files changed

+123
-10
lines changed

articles/route-server/troubleshoot-route-server.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,14 @@ Azure Route Server drops routes with an ASN of 0 in the AS-Path. To ensure these
9595

9696
When you advertise the same routes from your on-premises network to Azure over multiple ExpressRoute connections, normally ECMP is enabled by default for the traffic destined for these routes from Azure back to your on-premises network. Currently, when you deploy the Route Server, multiple-path information is lost in the BGP exchange between ExpressRoute and the Route Server, and consequently traffic from Azure will traverse only on one of the ExpressRoute connections.
9797

98+
## Operational Issues
99+
100+
### Why am I seeing an error about invalid scope and authorization to perform Route Server operations?
101+
102+
If you see an error in the below format, then please make sure you have the following permissions configured: [Route Server Roles and Permissions](roles-permissions.md#permissions)
103+
104+
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."
105+
98106
## Next step
99107

100108
To learn how to create and configure Azure Route Server, see:

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 Virtual 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 permissions.
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 permissions 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 deployments 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/read <br>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:

articles/virtual-wan/virtual-wan-faq.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@ Virtual WAN partners provide automation for connectivity, which is the ability t
3232

3333
Virtual WAN comes in two flavors: Basic and Standard. In Basic Virtual WAN, hubs aren't meshed. In a Standard Virtual WAN, hubs are meshed and automatically connected when the virtual WAN is first set up. The user doesn't need to do anything specific. The user also doesn't have to disable or enable the functionality to obtain meshed hubs. Virtual WAN provides you with many routing options to steer traffic between any spoke (VNet, VPN, or ExpressRoute). It provides the ease of fully meshed hubs, and also the flexibility of routing traffic per your needs.
3434

35+
### Why am I seeing an error about invalid scope and authorization to perform operations on Virtual WAN resources?
36+
37+
If you see an error in the below format, then please make sure you have the following permissions configured: [Virtual WAN Roles and Permissions](roles-permissions.md#required-permissions)
38+
39+
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."
40+
3541
### How are Availability Zones and resiliency handled in Virtual WAN?
3642

3743
Virtual WAN is a collection of hubs and services made available inside the hub. The user can have as many Virtual WAN per their need. In a Virtual WAN hub, there are multiple services like VPN, ExpressRoute etc. Each of these services is automatically deployed across Availability Zones (except Azure Firewall), if the region supports Availability Zones. If a region becomes an Availability Zone after the initial deployment in the hub, the user can recreate the gateways, which will trigger an Availability Zone deployment. All gateways are provisioned in a hub as active-active, implying there's resiliency built in within a hub. Users can connect to multiple hubs if they want resiliency across regions.

0 commit comments

Comments
 (0)