You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/role-based-access-control/custom-roles.md
+16-14Lines changed: 16 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ ms.devlang: na
12
12
ms.topic: conceptual
13
13
ms.tgt_pltfrm: na
14
14
ms.workload: identity
15
-
ms.date: 05/07/2020
15
+
ms.date: 05/08/2020
16
16
ms.author: rolyon
17
17
ms.reviewer: bagovind
18
18
ms.custom: H1Hack27Feb2017
@@ -113,15 +113,15 @@ The following table describes what the custom role properties mean.
113
113
114
114
| Property | Required | Type | Description |
115
115
| --- | --- | --- | --- |
116
-
|`Name`| Yes | String | The display name of the custom role. While a role definition is a management group or subscription-level resource, a role definition can be used in multiple subscriptions that share the same Azure AD directory. This display name must be unique at the scope of the Azure AD directory. Can include letters, numbers, spaces, and special characters. Maximum number of characters is 128. |
117
-
|`Id`| Yes | String | The unique ID of the custom role. For Azure PowerShell and Azure CLI, this ID is automatically generated when you create a new role. |
118
-
|`IsCustom`| Yes | String | Indicates whether this is a custom role. Set to `true` for custom roles. |
119
-
|`Description`| Yes | String | The description of the custom role. Can include letters, numbers, spaces, and special characters. Maximum number of characters is 1024. |
120
-
|`Actions`| Yes | String[]| An array of strings that specifies the management operations that the role allows to be performed. For more information, see [Actions](role-definitions.md#actions). |
121
-
|`NotActions`| No | String[]| An array of strings that specifies the management operations that are excluded from the allowed `Actions`. For more information, see [NotActions](role-definitions.md#notactions). |
122
-
|`DataActions`| No | String[]| An array of strings that specifies the data operations that the role allows to be performed to your data within that object. If you create a custom role with `DataActions`, that role cannot be assigned at the management group scope. For more information, see [DataActions](role-definitions.md#dataactions). |
123
-
|`NotDataActions`| No | String[]| An array of strings that specifies the data operations that are excluded from the allowed `DataActions`. For more information, see [NotDataActions](role-definitions.md#notdataactions). |
124
-
|`AssignableScopes`| Yes | String[]| An array of strings that specifies the scopes that the custom role is available for assignment. You can only define one management group in `AssignableScopes` of a custom role. Adding a management group to `AssignableScopes` is currently in preview. For more information, see [AssignableScopes](role-definitions.md#assignablescopes). |
116
+
|`Name`</br>`roleName`| Yes | String | The display name of the custom role. While a role definition is a management group or subscription-level resource, a role definition can be used in multiple subscriptions that share the same Azure AD directory. This display name must be unique at the scope of the Azure AD directory. Can include letters, numbers, spaces, and special characters. Maximum number of characters is 128. |
117
+
|`Id`</br>`name`| Yes | String | The unique ID of the custom role. For Azure PowerShell and Azure CLI, this ID is automatically generated when you create a new role. |
118
+
|`IsCustom`</br>`roleType`| Yes | String | Indicates whether this is a custom role. Set to `true`or `CustomRole`for custom roles. Set to `false` or `BuiltInRole` for built-in roles. |
119
+
|`Description`</br>`description`| Yes | String | The description of the custom role. Can include letters, numbers, spaces, and special characters. Maximum number of characters is 1024. |
120
+
|`Actions`</br>`actions`| Yes | String[]| An array of strings that specifies the management operations that the role allows to be performed. For more information, see [Actions](role-definitions.md#actions). |
121
+
|`NotActions`</br>`notActions`| No | String[]| An array of strings that specifies the management operations that are excluded from the allowed `Actions`. For more information, see [NotActions](role-definitions.md#notactions). |
122
+
|`DataActions`</br>`dataActions`| No | String[]| An array of strings that specifies the data operations that the role allows to be performed to your data within that object. If you create a custom role with `DataActions`, that role cannot be assigned at the management group scope. For more information, see [DataActions](role-definitions.md#dataactions). |
123
+
|`NotDataActions`</br>`notDataActions`| No | String[]| An array of strings that specifies the data operations that are excluded from the allowed `DataActions`. For more information, see [NotDataActions](role-definitions.md#notdataactions). |
124
+
|`AssignableScopes`</br>`assignableScopes`| Yes | String[]| An array of strings that specifies the scopes that the custom role is available for assignment. You can only define one management group in `AssignableScopes` of a custom role. Adding a management group to `AssignableScopes` is currently in preview. For more information, see [AssignableScopes](role-definitions.md#assignablescopes). |
125
125
126
126
## Steps to create a custom role
127
127
@@ -201,7 +201,7 @@ To update a custom role using Azure PowerShell, you must provide the following i
201
201
}
202
202
```
203
203
204
-
The following shows an example of the output when listing a custom role using Azure PowerShell and the [ConvertTo-Json](/powershell/module/microsoft.powershell.utility/convertto-json) command.
204
+
The following shows an example of the output when you list a custom role using Azure PowerShell and the [ConvertTo-Json](/powershell/module/microsoft.powershell.utility/convertto-json) command.
205
205
206
206
```json
207
207
{
@@ -233,7 +233,7 @@ To create or update a custom role using Azure CLI, you must provide following in
233
233
}
234
234
```
235
235
236
-
The following shows an example of the output when listing a custom role using Azure CLI.
236
+
The following shows an example of the output when you list a custom role using Azure CLI.
237
237
238
238
```json
239
239
[
@@ -279,7 +279,7 @@ To create or update a custom role using the REST API, you must provide following
279
279
}
280
280
```
281
281
282
-
The following shows an example of the output when listing a custom role using the REST API.
282
+
The following shows an example of the output when you list a custom role using the REST API.
283
283
284
284
```json
285
285
{
@@ -291,7 +291,9 @@ The following shows an example of the output when listing a custom role using th
Copy file name to clipboardExpand all lines: articles/role-based-access-control/role-definitions.md
+90-14Lines changed: 90 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ ms.devlang: na
12
12
ms.topic: conceptual
13
13
ms.tgt_pltfrm: na
14
14
ms.workload: identity
15
-
ms.date: 04/17/2020
15
+
ms.date: 05/08/2020
16
16
ms.author: rolyon
17
17
ms.reviewer: bagovind
18
18
ms.custom:
@@ -23,7 +23,9 @@ If you are trying to understand how an Azure role works or if you are creating y
23
23
24
24
## Role definition
25
25
26
-
A *role definition* is a collection of permissions. It's sometimes just called a *role*. A role definition lists the operations that can be performed, such as read, write, and delete. It can also list the operations that can't be performed or operations related to underlying data. A role definition has the following properties:
26
+
A *role definition* is a collection of permissions. It's sometimes just called a *role*. A role definition lists the operations that can be performed, such as read, write, and delete. It can also list the operations that are excluded from allowed operations or operations related to underlying data.
27
+
28
+
The following shows an example of the properties in a role definition when displayed using Azure PowerShell:
27
29
28
30
```
29
31
Name
@@ -37,17 +39,31 @@ NotDataActions []
37
39
AssignableScopes []
38
40
```
39
41
42
+
The following shows an example of the properties in a role definition when displayed using the Azure portal, Azure CLI, or the REST API:
43
+
44
+
```
45
+
roleName
46
+
name
47
+
type
48
+
description
49
+
actions []
50
+
notActions []
51
+
dataActions []
52
+
notDataActions []
53
+
assignableScopes []
54
+
```
55
+
40
56
| Property | Description |
41
57
| --- | --- |
42
-
|`Name`| The display name of the role. |
43
-
|`Id`| The unique ID of the role. |
44
-
|`IsCustom`| Indicates whether this is a custom role. Set to `true` for custom roles. |
45
-
|`Description`| The description of the role. |
46
-
|`Actions`| An array of strings that specifies the management operations that the role allows to be performed. |
47
-
|`NotActions`| An array of strings that specifies the management operations that are excluded from the allowed `Actions`. |
48
-
|`DataActions`| An array of strings that specifies the data operations that the role allows to be performed to your data within that object. |
49
-
|`NotDataActions`| An array of strings that specifies the data operations that are excluded from the allowed `DataActions`. |
50
-
|`AssignableScopes`| An array of strings that specifies the scopes that the role is available for assignment. |
58
+
|`Name`</br>`roleName`| The display name of the role. |
59
+
|`Id`</br>`name`| The unique ID of the role. |
60
+
|`IsCustom`</br>`roleType`| Indicates whether this is a custom role. Set to `true`or `CustomRole`for custom roles. Set to `false` or `BuiltInRole` for built-in roles. |
61
+
|`Description`</br>`description`| The description of the role. |
62
+
|`Actions`</br>`actions`| An array of strings that specifies the management operations that the role allows to be performed. |
63
+
|`NotActions`</br>`notActions`| An array of strings that specifies the management operations that are excluded from the allowed `Actions`. |
64
+
|`DataActions`</br>`dataActions`| An array of strings that specifies the data operations that the role allows to be performed to your data within that object. |
65
+
|`NotDataActions`</br>`notDataActions`| An array of strings that specifies the data operations that are excluded from the allowed `DataActions`. |
66
+
|`AssignableScopes`</br>`assignableScopes`| An array of strings that specifies the scopes that the role is available for assignment. |
51
67
52
68
### Operations format
53
69
@@ -67,7 +83,7 @@ The `{action}` portion of an operation string specifies the type of operations y
67
83
68
84
### Role definition example
69
85
70
-
Here's the [Contributor](built-in-roles.md#contributor) role definition in JSON format. The wildcard (`*`) operation under `Actions` indicates that the principal assigned to this role can perform all actions, or in other words, it can manage everything. This includes actions defined in the future, as Azure adds new resource types. The operations under `NotActions` are subtracted from `Actions`. In the case of the [Contributor](built-in-roles.md#contributor) role, `NotActions` removes this role's ability to manage access to resources and also assign access to resources.
86
+
Here's the [Contributor](built-in-roles.md#contributor) role definition as displayed in Azure PowerShell and Azure CLI. The wildcard (`*`) operation under `Actions` indicates that the principal assigned to this role can perform all actions, or in other words, it can manage everything. This includes actions defined in the future, as Azure adds new resource types. The operations under `NotActions` are subtracted from `Actions`. In the case of the [Contributor](built-in-roles.md#contributor) role, `NotActions` removes this role's ability to manage access to resources and also assign access to resources.
71
87
72
88
```json
73
89
{
@@ -81,7 +97,9 @@ Here's the [Contributor](built-in-roles.md#contributor) role definition in JSON
81
97
"NotActions": [
82
98
"Microsoft.Authorization/*/Delete",
83
99
"Microsoft.Authorization/*/Write",
84
-
"Microsoft.Authorization/elevateAccess/Action"
100
+
"Microsoft.Authorization/elevateAccess/Action",
101
+
"Microsoft.Blueprint/blueprintAssignments/write",
102
+
"Microsoft.Blueprint/blueprintAssignments/delete"
85
103
],
86
104
"DataActions": [],
87
105
"NotDataActions": [],
@@ -91,6 +109,36 @@ Here's the [Contributor](built-in-roles.md#contributor) role definition in JSON
91
109
}
92
110
```
93
111
112
+
```json
113
+
{
114
+
"assignableScopes": [
115
+
"/"
116
+
],
117
+
"description": "Lets you manage everything except access to resources.",
Role-based access control for management operations is specified in the `Actions` and `NotActions` properties of a role definition. Here are some examples of management operations in Azure:
@@ -118,7 +166,8 @@ Here's the [Storage Blob Data Reader](built-in-roles.md#storage-blob-data-reader
118
166
"IsCustom": false,
119
167
"Description": "Allows for read access to Azure Storage blob containers and data",
Only data operations can be added to the `DataActions` and `NotDataActions` properties. Resource providers identify which operations are data operations, by setting the `isDataAction` property to `true`. To see a list of the operations where `isDataAction` is `true`, see [Resource provider operations](resource-provider-operations.md). Roles that do not have data operations are not required to have `DataActions` and `NotDataActions` properties within the role definition.
135
211
136
212
Authorization for all management operation API calls is handled by Azure Resource Manager. Authorization for data operation API calls is handled by either a resource provider or Azure Resource Manager.
0 commit comments