Skip to content

Commit ea574a8

Browse files
authored
Merge pull request #271378 from rolyon/rolyon-rbac-classic-admins-faq-update
[Azure RBAC] Classic administrator Frequently asked questions update
2 parents 5f6113d + 42c3418 commit ea574a8

File tree

5 files changed

+75
-19
lines changed

5 files changed

+75
-19
lines changed

articles/role-based-access-control/classic-administrators.md

Lines changed: 68 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ manager: amycolannino
66

77
ms.service: role-based-access-control
88
ms.topic: how-to
9-
ms.date: 03/15/2024
9+
ms.date: 04/08/2024
1010
ms.author: rolyon
1111
ms.reviewer: bagovind
1212
---
@@ -18,14 +18,18 @@ ms.reviewer: bagovind
1818
1919
Microsoft recommends that you manage access to Azure resources using Azure role-based access control (Azure RBAC). However, if you're still using the classic deployment model, you'll need to use a classic subscription administrator role: Service Administrator and Co-Administrator. For information about how to migrate your resources from classic deployment to Resource Manager deployment, see [Azure Resource Manager vs. classic deployment](../azure-resource-manager/management/deployment-models.md).
2020

21-
This article describes how to prepare for the retirement of the Co-Administrator and Service Administrator roles and how to remove or change these role assignments.
21+
If you still have classic administrators, you should remove these role assignments before the retirement date. This article describes how to prepare for the retirement of the Co-Administrator and Service Administrator roles and how to remove or change these role assignments.
2222

2323
## Frequently asked questions
2424

2525
Will Co-Administrators and Service Administrator lose access after August 31, 2024?
2626

2727
- Starting on August 31, 2024, Microsoft will start the process to remove access for Co-Administrators and Service Administrator.
2828

29+
How do I know what subscriptions have classic administrators?
30+
31+
- You can use an Azure Resource Graph query to list subscriptions with Service Administrator or Co-Administrator role assignments. For steps see [List classic administrators](#list-classic-administrators).
32+
2933
What is the equivalent Azure role I should assign for Co-Administrators?
3034

3135
- [Owner](built-in-roles.md#owner) role at subscription scope has the equivalent access. However, Owner is a [privileged administrator role](role-assignments-steps.md#privileged-administrator-roles) and grants full access to manage Azure resources. You should consider a job function role with fewer permissions, reduce the scope, or add a condition.
@@ -34,19 +38,27 @@ What is the equivalent Azure role I should assign for Service Administrator?
3438

3539
- [Owner](built-in-roles.md#owner) role at subscription scope has the equivalent access.
3640

41+
Why do I need to migrate to Azure RBAC?
42+
43+
- Classic administrators will be retired. Azure RBAC offers fine grained access control, compatibility with Microsoft Entra Privileged Identity Management (PIM), and full audit logs support. All future investments will be in Azure RBAC.
44+
45+
What about the Account Administrator role?
46+
47+
- The Account Administrator is the primary user for your billing account. Account Administrator isn't being deprecated and you don't need to replace this role assignment. Account Administrator and Service Administrator might be the same user. However, you only need to remove the Service Administrator role assignment.
48+
3749
What should I do if I have a strong dependency on Co-Administrators or Service Administrator?
3850

3951
- Email [email protected] and describe your scenario.
4052

4153
## Prepare for Co-Administrators retirement
4254

43-
Use the following steps to help you prepare for the Co-Administrator role retirement.
55+
If you still have classic administrators, use the following steps to help you prepare for the Co-Administrator role retirement.
4456

4557
### Step 1: Review your current Co-Administrators
4658

4759
1. Sign in to the [Azure portal](https://portal.azure.com) as an [Owner](built-in-roles.md#owner) of a subscription.
4860

49-
1. Use the Azure portal to [get a list of your Co-Administrators](#view-classic-administrators).
61+
1. Use the Azure portal or Azure Resource Graph to [list of your Co-Administrators](#list-classic-administrators).
5062

5163
1. Review the [sign-in logs](/entra/identity/monitoring-health/concept-sign-ins) for your Co-Administrators to assess whether they're active users.
5264

@@ -84,13 +96,13 @@ Some users might need more access than what a job function role can provide. If
8496

8597
## Prepare for Service Administrator retirement
8698

87-
Use the following steps to help you prepare for Service Administrator role retirement. To remove the Service Administrator, you must have at least one user who is assigned the Owner role at subscription scope without conditions to avoid orphaning the subscription. A subscription Owner has the same access as the Service Administrator.
99+
If you still have classic administrators, use the following steps to help you prepare for Service Administrator role retirement. To remove the Service Administrator, you must have at least one user who is assigned the Owner role at subscription scope without conditions to avoid orphaning the subscription. A subscription Owner has the same access as the Service Administrator.
88100

89101
### Step 1: Review your current Service Administrator
90102

91103
1. Sign in to the [Azure portal](https://portal.azure.com) as an [Owner](built-in-roles.md#owner) of a subscription.
92104

93-
1. Use the Azure portal to [get your Service Administrator](#view-classic-administrators).
105+
1. Use the Azure portal or Azure Resource Graph to [list your Service Administrator](#list-classic-administrators).
94106

95107
1. Review the [sign-in logs](/entra/identity/monitoring-health/concept-sign-ins) for your Service Administrator to assess whether they're an active user.
96108

@@ -114,20 +126,58 @@ Your Service Administrator might be a Microsoft account or a Microsoft Entra acc
114126

115127
1. [Remove the Service Administrator](#remove-the-service-administrator).
116128

117-
## View classic administrators
129+
## List classic administrators
130+
131+
# [Azure portal](#tab/azure-portal)
118132

119-
Follow these steps to view the Service Administrator and Co-Administrators for a subscription using the Azure portal.
133+
Follow these steps to list the Service Administrator and Co-Administrators for a subscription using the Azure portal.
120134

121135
1. Sign in to the [Azure portal](https://portal.azure.com) as an [Owner](built-in-roles.md#owner) of a subscription.
122136

123-
1. Open [Subscriptions](https://portal.azure.com/#blade/Microsoft_Azure_Billing/SubscriptionsBlade) and select a subscription.
137+
1. Open **Subscriptions** and select a subscription.
124138

125139
1. Select **Access control (IAM)**.
126140

127141
1. Select the **Classic administrators** tab to view a list of the Co-Administrators.
128142

129143
:::image type="content" source="./media/shared/classic-administrators.png" alt-text="Screenshot of Access control (IAM) page with Classic administrators tab selected." lightbox="./media/shared/classic-administrators.png":::
130144

145+
# [Azure Resource Graph](#tab/azure-resource-graph)
146+
147+
Follow these steps to list the number of Service Administrator and Co-Administrators in your subscriptions using Azure Resource Graph.
148+
149+
1. Sign in to the [Azure portal](https://portal.azure.com) as an [Owner](built-in-roles.md#owner) of a subscription.
150+
151+
1. Open the **Azure Resource Graph Explorer**.
152+
153+
1. Select **Scope** and set the scope for the query.
154+
155+
Set scope to **Directory** to query your entire tenant, but you can narrow the scope to particular subscriptions.
156+
157+
:::image type="content" source="./media/shared/resource-graph-scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Scope selection." lightbox="./media/shared/resource-graph-scope.png":::
158+
159+
1. Select **Set authorization scope** and set the authorization scope to **At, above and below** to query all resources at the specified scope.
160+
161+
:::image type="content" source="./media/shared/resource-graph-authorization-scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Set authorization scope pane." lightbox="./media/shared/resource-graph-authorization-scope.png":::
162+
163+
1. Run the following query to list the number Service Administrators and Co-Administrators based on the scope.
164+
165+
```kusto
166+
authorizationresources
167+
| where type == "microsoft.authorization/classicadministrators"
168+
| mv-expand role = parse_json(properties).role
169+
| mv-expand adminState = parse_json(properties).adminState
170+
| where adminState == "Enabled"
171+
| where role in ("ServiceAdministrator", "CoAdministrator")
172+
| summarize count() by subscriptionId, tostring(role)
173+
```
174+
175+
The following shows an example of the results. The **count_** column is the number of Service Administrators or Co-Administrators for a subscription.
176+
177+
:::image type="content" source="./media/classic-administrators/resource-graph-classic-admin-list.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows the number Service Administrators and Co-Administrators based on the subscription." lightbox="./media/classic-administrators/resource-graph-classic-admin-list.png":::
178+
179+
---
180+
131181
## Remove a Co-Administrator
132182
133183
> [!IMPORTANT]
@@ -137,7 +187,7 @@ Follow these steps to remove a Co-Administrator.
137187
138188
1. Sign in to the [Azure portal](https://portal.azure.com) as an [Owner](built-in-roles.md#owner) of a subscription.
139189
140-
1. Open [Subscriptions](https://portal.azure.com/#blade/Microsoft_Azure_Billing/SubscriptionsBlade) and select a subscription.
190+
1. Open **Subscriptions** and select a subscription.
141191
142192
1. Select **Access control (IAM)**.
143193
@@ -160,7 +210,7 @@ Follow these steps to remove a Co-Administrator.
160210
161211
1. Sign in to the [Azure portal](https://portal.azure.com) as an [Owner](built-in-roles.md#owner) of a subscription.
162212
163-
1. Open [Subscriptions](https://portal.azure.com/#blade/Microsoft_Azure_Billing/SubscriptionsBlade) and select a subscription.
213+
1. Open **Subscriptions** and select a subscription.
164214
165215
Co-Administrators can only be assigned at the subscription scope.
166216
@@ -235,7 +285,7 @@ To remove the Service Administrator, you must have a user who is assigned the [O
235285
236286
1. Sign in to the [Azure portal](https://portal.azure.com) as an [Owner](built-in-roles.md#owner) of a subscription.
237287
238-
1. Open [Subscriptions](https://portal.azure.com/#blade/Microsoft_Azure_Billing/SubscriptionsBlade) and select a subscription.
288+
1. Open **Subscriptions** and select a subscription.
239289
240290
1. Select **Access control (IAM)**.
241291
@@ -249,6 +299,12 @@ To remove the Service Administrator, you must have a user who is assigned the [O
249299
250300
:::image type="content" source="./media/classic-administrators/service-admin-remove.png" alt-text="Screenshot of remove classic administrator message when removing a Service Administrator." lightbox="./media/classic-administrators/service-admin-remove.png":::
251301
302+
If the Service Administrator user is not in the directory, you might get the following error when you try to remove the Service Administrator:
303+
304+
`Call GSM to delete service admin on subscription <subscriptionId> failed. Exception: Cannot delete user <principalId> since they are not the service administrator. Please retry with the right service administrator user PUID.`
305+
306+
If the Service Administrator user is not in the directory, try to change the Service Administrator to an existing user and then try to remove the Service Administrator.
307+
252308
## Next steps
253309
254310
- [Understand the different roles](../role-based-access-control/rbac-and-directory-admin-roles.md)
24.1 KB
Loading

articles/role-based-access-control/troubleshoot-limits.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ To reduce the number of role assignments in the subscription, add principals (us
5454

5555
You typically set scope to **Directory** to query your entire tenant, but you can narrow the scope to particular subscriptions.
5656

57-
:::image type="content" source="media/troubleshoot-limits/scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Scope selection." lightbox="media/troubleshoot-limits/scope.png":::
57+
:::image type="content" source="./media/shared/resource-graph-scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Scope selection." lightbox="./media/shared/resource-graph-scope.png":::
5858

5959
1. Select **Set authorization scope** and set the authorization scope to **At, above and below** to query all resources at the specified scope.
6060

61-
:::image type="content" source="media/troubleshoot-limits/authorization-scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Set authorization scope pane." lightbox="media/troubleshoot-limits/authorization-scope.png":::
61+
:::image type="content" source="./media/shared/resource-graph-authorization-scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Set authorization scope pane." lightbox="./media/shared/resource-graph-authorization-scope.png":::
6262

6363
1. Run the following query to get the role assignments with the same role and at the same scope, but for different principals.
6464

@@ -138,15 +138,15 @@ To reduce the number of role assignments in the subscription, remove redundant r
138138

139139
You typically set scope to **Directory** to query your entire tenant, but you can narrow the scope to particular subscriptions.
140140

141-
:::image type="content" source="media/troubleshoot-limits/scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Scope selection." lightbox="media/troubleshoot-limits/scope.png":::
141+
:::image type="content" source="./media/shared/resource-graph-scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Scope selection." lightbox="./media/shared/resource-graph-scope.png":::
142142

143143
1. Select **Set authorization scope** and set the authorization scope to **At, above and below** to query all resources at the specified scope.
144144

145-
:::image type="content" source="media/troubleshoot-limits/authorization-scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Set authorization scope pane." lightbox="media/troubleshoot-limits/authorization-scope.png":::
145+
:::image type="content" source="./media/shared/resource-graph-authorization-scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Set authorization scope pane." lightbox="./media/shared/resource-graph-authorization-scope.png":::
146146

147147
1. Run the following query to get the role assignments with the same role and same principal, but at different scopes.
148148

149-
This query checks active role assignments and doesn't consider eligible role assignments in [Microsoft Entra Privileged Identity Management](/entra/id-governance/privileged-identity-management/pim-resource-roles-assign-roles). To list eligible role assignments, you can the Microsoft Entra admin center, PowerShell, or REST API. For more information, see [Get-AzRoleEligibilityScheduleInstance](/powershell/module/az.resources/get-azroleeligibilityscheduleinstance) or [Role Eligibility Schedule Instances - List For Scope](/rest/api/authorization/role-eligibility-schedule-instances/list-for-scope).
149+
This query checks active role assignments and doesn't consider eligible role assignments in [Microsoft Entra Privileged Identity Management](/entra/id-governance/privileged-identity-management/pim-resource-roles-assign-roles). To list eligible role assignments, you can use the Microsoft Entra admin center, PowerShell, or REST API. For more information, see [Get-AzRoleEligibilityScheduleInstance](/powershell/module/az.resources/get-azroleeligibilityscheduleinstance) or [Role Eligibility Schedule Instances - List For Scope](/rest/api/authorization/role-eligibility-schedule-instances/list-for-scope).
150150

151151
If you are using [role assignment conditions](conditions-overview.md) or [delegating role assignment management with conditions](delegate-role-assignments-overview.md), you should use the Conditions query. Otherwise, use the Default query.
152152

@@ -212,7 +212,7 @@ To reduce the number of role assignments in the subscription, replace multiple b
212212

213213
You typically set scope to **Directory** to query your entire tenant, but you can narrow the scope to particular subscriptions.
214214

215-
:::image type="content" source="media/troubleshoot-limits/scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Scope selection." lightbox="media/troubleshoot-limits/scope.png":::
215+
:::image type="content" source="./media/shared/resource-graph-scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Scope selection." lightbox="./media/shared/resource-graph-scope.png":::
216216

217217
1. Run the following query to get role assignments with the same principal and same scope, but with different built-in roles.
218218

@@ -318,7 +318,7 @@ Follow these steps to find and delete unused Azure custom roles.
318318

319319
1. Select **Scope** and set the scope to **Directory** for the query.
320320

321-
:::image type="content" source="media/troubleshoot-limits/scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Scope selection." lightbox="media/troubleshoot-limits/scope.png":::
321+
:::image type="content" source="./media/shared/resource-graph-scope.png" alt-text="Screenshot of Azure Resource Graph Explorer that shows Scope selection." lightbox="./media/shared/resource-graph-scope.png":::
322322

323323
1. Run the following query to get all custom roles that don't have any role assignments:
324324

0 commit comments

Comments
 (0)