Skip to content

Commit 6523bb3

Browse files
authored
Merge pull request #264444 from rolyon/rolyon-constrained-delegation-ga-release
[Azure RBAC] Constrained delegation GA
2 parents 6b7ee2c + 03644b0 commit 6523bb3

15 files changed

+88
-80
lines changed

articles/role-based-access-control/TOC.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,10 @@
4747
href: delegate-role-assignments-overview.md
4848
- name: Authorization actions and attributes
4949
href: conditions-authorization-actions-attributes.md
50-
- name: Example conditions
51-
href: delegate-role-assignments-examples.md
5250
- name: ABAC conditions
5351
items:
5452
- name: Condition format
5553
href: conditions-format.md
56-
- name: Example conditions for Blob Storage
57-
href: ../storage/blobs/storage-auth-abac-examples.md?toc=/azure/role-based-access-control/toc.json
5854
- name: Conditions prerequisites
5955
href: conditions-prerequisites.md
6056
- name: Conditions FAQ
@@ -103,10 +99,12 @@
10399
href: role-assignments-template.md
104100
- name: Delegate
105101
items:
106-
- name: Subscription administrator
102+
- name: Subscription administrator with conditions
107103
href: role-assignments-portal-subscription-admin.md
108104
- name: Delegate role assignment management with conditions
109105
href: delegate-role-assignments-portal.md
106+
- name: Example conditions
107+
href: delegate-role-assignments-examples.md
110108
- name: Add or edit ABAC conditions
111109
items:
112110
- name: Portal
@@ -119,6 +117,8 @@
119117
href: conditions-role-assignments-rest.md
120118
- name: ARM template
121119
href: conditions-role-assignments-template.md
120+
- name: Example conditions for Blob Storage
121+
href: ../storage/blobs/storage-auth-abac-examples.md?toc=/azure/role-based-access-control/toc.json
122122
- name: Conditions and custom security attributes
123123
href: conditions-custom-security-attributes.md
124124
- name: Remove role assignments

articles/role-based-access-control/best-practices.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ manager: amycolannino
77
ms.service: role-based-access-control
88
ms.topic: conceptual
99
ms.workload: identity
10-
ms.date: 11/29/2023
10+
ms.date: 01/30/2024
1111
ms.author: rolyon
1212

1313
#Customer intent: As a dev, devops, or it admin, I want to learn how to best use Azure RBAC.
@@ -40,7 +40,7 @@ Some roles are identified as [privileged administrator roles](./role-assignments
4040
- Remove unnecessary privileged role assignments.
4141
- Avoid assigning a privileged administrator role when a [job function role](./role-assignments-steps.md#job-function-roles) can be used instead.
4242
- If you must assign a privileged administrator role, use a narrow scope, such as resource group or resource, instead of a broader scope, such as management group or subscription.
43-
- If you are assigning a role with permission to create role assignments, consider adding a condition to constrain the role assignment. For more information, see [Delegate Azure role assignment management to others with conditions (preview)](delegate-role-assignments-portal.md).
43+
- If you are assigning a role with permission to create role assignments, consider adding a condition to constrain the role assignment. For more information, see [Delegate Azure role assignment management to others with conditions](delegate-role-assignments-portal.md).
4444

4545
For more information, see [List or manage privileged administrator role assignments](./role-assignments-list-portal.md#list-or-manage-privileged-administrator-role-assignments).
4646

articles/role-based-access-control/conditions-authorization-actions-attributes.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Authorization actions and attributes (preview)
2+
title: Authorization actions and attributes
33
description: Supported actions and attributes for Azure role assignment conditions and Azure attribute-based access control (Azure ABAC) in authorization
44
services: active-directory
55
author: rolyon
@@ -8,17 +8,13 @@ ms.service: role-based-access-control
88
ms.subservice: conditions
99
ms.topic: conceptual
1010
ms.workload: identity
11-
ms.date: 11/29/2023
11+
ms.date: 01/30/2024
1212
ms.author: rolyon
1313

1414
#Customer intent: As a dev, devops, or it admin, I want to
1515
---
1616

17-
# Authorization actions and attributes (preview)
18-
19-
> [!IMPORTANT]
20-
> Delegating Azure role assignment management with conditions is currently in PREVIEW.
21-
> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
17+
# Authorization actions and attributes
2218

2319
## Authorization actions
2420

@@ -94,5 +90,5 @@ This section lists the authorization attributes you can use in your condition ex
9490
9591
## Next steps
9692

97-
- [Examples to delegate Azure role assignment management with conditions (preview)](delegate-role-assignments-examples.md)
98-
- [Delegate Azure role assignment management to others with conditions (preview)](delegate-role-assignments-portal.md)
93+
- [Examples to delegate Azure role assignment management with conditions](delegate-role-assignments-examples.md)
94+
- [Delegate Azure role assignment management to others with conditions](delegate-role-assignments-portal.md)

articles/role-based-access-control/delegate-role-assignments-examples.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Examples to delegate Azure role assignment management with conditions (preview) - Azure ABAC
2+
title: Examples to delegate Azure role assignment management with conditions - Azure ABAC
33
description: Examples to delegate Azure role assignment management to other users by using Azure attribute-based access control (Azure ABAC).
44
services: active-directory
55
author: rolyon
@@ -9,16 +9,12 @@ ms.subservice: conditions
99
ms.topic: conceptual
1010
ms.workload: identity
1111
ms.custom: devx-track-azurepowershell
12-
ms.date: 12/01/2023
12+
ms.date: 01/30/2024
1313
ms.author: rolyon
1414
#Customer intent: As a dev, devops, or it admin, I want to learn about the conditions so that I write more complex conditions.
1515
---
1616

17-
# Examples to delegate Azure role assignment management with conditions (preview)
18-
19-
> [!IMPORTANT]
20-
> Delegating Azure role assignment management with conditions is currently in PREVIEW.
21-
> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
17+
# Examples to delegate Azure role assignment management with conditions
2218

2319
This article lists examples of how to delegate Azure role assignment management to other users with conditions.
2420

@@ -767,6 +763,6 @@ New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $rol
767763

768764
## Next steps
769765

770-
- [Authorization actions and attributes (preview)](conditions-authorization-actions-attributes.md)
771-
- [Azure role assignment condition format and syntax (preview)](conditions-format.md)
772-
- [Troubleshoot Azure role assignment conditions (preview)](conditions-troubleshoot.md)
766+
- [Authorization actions and attributes](conditions-authorization-actions-attributes.md)
767+
- [Azure role assignment condition format and syntax](conditions-format.md)
768+
- [Troubleshoot Azure role assignment conditions](conditions-troubleshoot.md)

articles/role-based-access-control/delegate-role-assignments-overview.md

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: role-based-access-control
88
ms.subservice: conditions
99
ms.topic: conceptual
1010
ms.workload: identity
11-
ms.date: 12/01/2023
11+
ms.date: 01/30/2024
1212
ms.author: rolyon
1313

1414
#Customer intent: As a dev, devops, or it admin, I want to delegate Azure role assignment management to other users who are closer to the decision, but want to limit the scope of the role assignments.
@@ -52,11 +52,7 @@ Here are the primary issues with the current method of delegating role assignmen
5252

5353
Instead of assigning the Owner or User Access Administrator roles, a more secure method is to constrain a delegate's ability to create role assignments.
5454

55-
## A more secure method: Delegate role assignment management with conditions (preview)
56-
57-
> [!IMPORTANT]
58-
> Delegating Azure role assignment management with conditions is currently in PREVIEW.
59-
> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
55+
## A more secure method: Delegate role assignment management with conditions
6056

6157
Delegating role assignment management with conditions is a way to restrict the role assignments a user can create. In the preceding example, Alice can allow Dara to create some role assignments on her behalf, but not all role assignments. For example, Alice can constrain the roles that Dara can assign and constrain the principals that Dara can assign roles to. This delegation with conditions is sometimes referred to as *constrained delegation* and is implemented using [Azure attribute-based access control (Azure ABAC) conditions](conditions-overview.md).
6258

@@ -141,15 +137,15 @@ To delegate role assignment management with conditions, you assign roles as you
141137

142138
Choose from a list of condition templates. Select **Configure** to specify the roles, principal types, or principals.
143139

144-
For more information, see [Delegate Azure role assignment management to others with conditions (preview)](delegate-role-assignments-portal.md).
140+
For more information, see [Delegate Azure role assignment management to others with conditions](delegate-role-assignments-portal.md).
145141

146142
:::image type="content" source="./media/shared/condition-templates.png" alt-text="Screenshot of Add role assignment condition with a list of condition templates." lightbox="./media/shared/condition-templates.png":::
147143

148144
# [Condition editor](#tab/condition-editor)
149145

150146
If the condition templates don't work for your scenario or if you want more control, you can use the condition editor.
151147

152-
For examples, see [Examples to delegate Azure role assignment management with conditions (preview)](delegate-role-assignments-examples.md).
148+
For examples, see [Examples to delegate Azure role assignment management with conditions](delegate-role-assignments-examples.md).
153149

154150
:::image type="content" source="./media/shared/delegate-role-assignments-expression.png" alt-text="Screenshot of condition editor in Azure portal showing a role assignment condition to delegate role assignment management." lightbox="./media/shared/delegate-role-assignments-expression.png":::
155151

@@ -248,7 +244,9 @@ To delegate role assignment management with conditions, you assign roles as you
248244
249245
## Built-in roles with conditions
250246
251-
The [Key Vault Data Access Administrator](built-in-roles.md#key-vault-data-access-administrator) role already has a built-in condition to constrain role assignments. This role enables you to manage access to Key Vault secrets, certificates, and keys. It's exclusively focused on access control without the ability to assign privileged roles such as Owner or User Access Administrator roles. It allows better separation of duties for scenarios like managing encryption at rest across data services to further comply with least privilege principle. The condition constrains role assignments to the following Azure Key Vault roles:
247+
The [Key Vault Data Access Administrator](built-in-roles.md#key-vault-data-access-administrator) and [Virtual Machine Data Access Administrator (preview)](built-in-roles.md#virtual-machine-data-access-administrator-preview) roles already have a built-in condition to constrain role assignments.
248+
249+
The Key Vault Data Access Administrator role enables you to manage access to Key Vault secrets, certificates, and keys. It's exclusively focused on access control without the ability to assign privileged roles such as Owner or User Access Administrator roles. It allows better separation of duties for scenarios like managing encryption at rest across data services to further comply with least privilege principle. The condition constrains role assignments to the following Azure Key Vault roles:
252250
253251
- [Key Vault Administrator](built-in-roles.md#key-vault-administrator)
254252
- [Key Vault Certificates Officer](built-in-roles.md#key-vault-certificates-officer)
@@ -267,18 +265,17 @@ If you want to further constrain the Key Vault Data Access Administrator role as
267265
268266
## Known issues
269267
270-
Here are the known issues related to delegating role assignment management with conditions (preview):
268+
Here are the known issues related to delegating role assignment management with conditions:
271269
272270
- You can't delegate role assignment management with conditions using [Privileged Identity Management](../active-directory/privileged-identity-management/pim-resource-roles-assign-roles.md).
273271
- You can't have a role assignment with a Microsoft.Storage data action and an ABAC condition that uses a GUID comparison operator. For more information, see [Troubleshoot Azure RBAC](troubleshooting.md#symptom---authorization-failed).
274-
- This preview isn't available in Azure Government or Microsoft Azure operated by 21Vianet.
275272
276273
## License requirements
277274
278275
[!INCLUDE [Azure AD free license](../../includes/active-directory-free-license.md)]
279276
280277
## Next steps
281278
282-
- [Delegate Azure role assignment management to others with conditions (preview)](delegate-role-assignments-portal.md)
279+
- [Delegate Azure role assignment management to others with conditions](delegate-role-assignments-portal.md)
283280
- [What is Azure attribute-based access control (Azure ABAC)?](conditions-overview.md)
284-
- [Examples to delegate Azure role assignment management with conditions (preview)](delegate-role-assignments-examples.md)
281+
- [Examples to delegate Azure role assignment management with conditions](delegate-role-assignments-examples.md)

articles/role-based-access-control/delegate-role-assignments-portal.md

Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Delegate Azure role assignment management to others with conditions (preview) - Azure ABAC
2+
title: Delegate Azure role assignment management to others with conditions - Azure ABAC
33
description: How to delegate Azure role assignment management to other users by using Azure attribute-based access control (Azure ABAC).
44
services: active-directory
55
author: rolyon
@@ -8,17 +8,13 @@ ms.service: role-based-access-control
88
ms.subservice: conditions
99
ms.topic: how-to
1010
ms.workload: identity
11-
ms.date: 12/01/2023
11+
ms.date: 01/30/2024
1212
ms.author: rolyon
1313

1414
#Customer intent: As a dev, devops, or it admin, I want to delegate Azure role assignment management to other users who are closer to the decision, but want to limit the scope of the role assignments.
1515
---
1616

17-
# Delegate Azure role assignment management to others with conditions (preview)
18-
19-
> [!IMPORTANT]
20-
> Delegating Azure role assignment management with conditions is currently in PREVIEW.
21-
> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
17+
# Delegate Azure role assignment management to others with conditions
2218

2319
As an administrator, you might get several requests to grant access to Azure resources that you want to delegate to someone else. You could assign a user the [Owner](built-in-roles.md#owner) or [User Access Administrator](built-in-roles.md#user-access-administrator) roles, but these are highly privileged roles. This article describes a more secure way to [delegate role assignment management](delegate-role-assignments-overview.md) to other users in your organization, but add restrictions for those role assignments. For example, you can constrain the roles that can be assigned or constrain the principals the roles can be assigned to.
2420

@@ -39,7 +35,7 @@ To help determine the permissions the delegate needs, answer the following quest
3935
- Which principals can the delegate assign roles to?
4036
- Can delegate remove any role assignments?
4137

42-
Once you know the permissions that delegate needs, you use the following steps to add a condition to the delegate's role assignment. For example conditions, see [Examples to delegate Azure role assignment management with conditions (preview)](delegate-role-assignments-examples.md).
38+
Once you know the permissions that delegate needs, you use the following steps to add a condition to the delegate's role assignment. For example conditions, see [Examples to delegate Azure role assignment management with conditions](delegate-role-assignments-examples.md).
4339

4440
## Step 2: Start a new role assignment
4541

@@ -63,16 +59,11 @@ There are two ways that you can add a condition. You can use a condition templat
6359

6460
# [Template](#tab/template)
6561

66-
1. On the **Conditions** tab under **Delegation type**, select the **Constrained (recommended)** option.
67-
68-
| Option | Select this option to |
69-
| --- | --- |
70-
| **Constrained (recommended)** | Pick the roles or principals the user can use in role assignments |
71-
| **Not constrained** | Allow the user to assign any role to any principal |
62+
1. On the **Conditions** tab under **What user can do**, select the **Allow user to only assign selected roles to selected principals (fewer privileges)** option.
7263

73-
:::image type="content" source="./media/shared/condition-constrained.png" alt-text="Screenshot of Add role assignment with the Constrained option selected." lightbox="./media/shared/condition-constrained.png":::
64+
:::image type="content" source="./media/shared/condition-constrained.png" alt-text="Screenshot of Add role assignment with the constrained option selected." lightbox="./media/shared/condition-constrained.png":::
7465

75-
1. Select **Add condition**.
66+
1. Select **Select roles and principals**.
7667

7768
The Add role assignment condition page appears with a list of condition templates.
7869

@@ -82,13 +73,13 @@ There are two ways that you can add a condition. You can use a condition templat
8273

8374
| Condition template | Select this template to |
8475
| --- | --- |
85-
| Constrain roles | Constrain the roles a user can assign |
86-
| Constrain roles and principal types | Constrain the roles a user can assign and the types of principals the user can assign roles to |
87-
| Constrain roles and principals | Constrain the roles a user can assign and the principals the user can assign roles to |
76+
| Constrain roles | Allow user to only assign roles you select |
77+
| Constrain roles and principal types | Allow user to only assign roles you select<br/>Allow user to only assign these roles to principal types you select (users, groups, or service principals) |
78+
| Constrain roles and principals | Allow user to only assign roles you select<br/>Allow user to only assign these roles to principals you select |
8879

8980
1. In the configure pane, add the required configurations.
9081

91-
:::image type="content" source="./media/delegate-role-assignments-portal/condition-template-configure-pane.png" alt-text="Screenshot of configure pane for a condition with selection added." lightbox="./media/delegate-role-assignments-portal/condition-template-configure-pane.png":::
82+
:::image type="content" source="./media/shared/condition-template-configure-pane.png" alt-text="Screenshot of configure pane for a condition with selection added." lightbox="./media/shared/condition-template-configure-pane.png":::
9283

9384
1. Select **Save** to add the condition to the role assignment.
9485

@@ -98,16 +89,11 @@ If the condition templates don't work for your scenario or if you want more cont
9889

9990
### Open condition editor
10091

101-
1. On the **Conditions** tab under **Delegation type**, select the **Constrained (recommended)** option.
102-
103-
| Option | Select this option to |
104-
| --- | --- |
105-
| **Constrained (recommended)** | Pick the roles or principals the user can use in role assignments |
106-
| **Not constrained** | Allow the user to assign any role to any principal |
92+
1. On the **Conditions** tab under **What user can do**, select the **Allow user to only assign selected roles to selected principals (fewer privileges)** option.
10793

10894
:::image type="content" source="./media/shared/condition-constrained.png" alt-text="Screenshot of Add role assignment with the Constrained option selected." lightbox="./media/shared/condition-constrained.png":::
10995

110-
1. Select **Add condition**.
96+
1. Select **Select roles and principals**.
11197

11298
The Add role assignment condition page appears with a list of condition templates.
11399

Loading
8.88 KB
Loading
4.86 KB
Loading

0 commit comments

Comments
 (0)