Skip to content

Commit 72e2e4e

Browse files
Merge pull request #218164 from guywi-ms/update-table-level-rbac
Update table-level RBAC documentation
2 parents 0941a07 + a54a385 commit 72e2e4e

File tree

3 files changed

+12
-23
lines changed

3 files changed

+12
-23
lines changed

articles/azure-monitor/logs/manage-access.md

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The factors that define the data you can access are described in the following t
2929
| [Access mode](#access-mode) | Method used to access the workspace. Defines the scope of the data available and the access control mode that's applied. |
3030
| [Access control mode](#access-control-mode) | Setting on the workspace that defines whether permissions are applied at the workspace or resource level. |
3131
| [Azure role-based access control (RBAC)](#azure-rbac) | Permissions applied to individuals or groups of users for the workspace or resource sending data to the workspace. Defines what data you have access to. |
32-
| [Table-level Azure RBAC](#set-table-level-read-access) | Optional permissions that define specific data types in the workspace that you can access. Apply to all users no matter your access mode or access control mode. |
32+
| [Table-level Azure RBAC](#set-table-level-read-access-preview) | Optional permissions that define specific data types in the workspace that you can access. Apply to all users no matter your access mode or access control mode. |
3333

3434
## Access mode
3535

@@ -56,14 +56,14 @@ The following table summarizes the access modes:
5656
|:---|:---|:---|
5757
| Who is each model intended for? | Central administration.<br>Administrators who need to configure data collection and users who need access to a wide variety of resources. Also currently required for users who need to access logs for resources outside of Azure. | Application teams.<br>Administrators of Azure resources being monitored. Allows them to focus on their resource without filtering. |
5858
| What does a user require to view logs? | Permissions to the workspace.<br>See "Workspace permissions" in [Manage access using workspace permissions](./manage-access.md#azure-rbac). | Read access to the resource.<br>See "Resource permissions" in [Manage access using Azure permissions](./manage-access.md#azure-rbac). Permissions can be inherited from the resource group or subscription or directly assigned to the resource. Permission to the logs for the resource will be automatically assigned. The user doesn't require access to the workspace.|
59-
| What is the scope of permissions? | Workspace.<br>Users with access to the workspace can query all logs in the workspace from tables they have permissions to. See [Set table-level read access](./manage-access.md#set-table-level-read-access). | Azure resource.<br>Users can query logs for specific resources, resource groups, or subscriptions they have access to in any workspace, but they can't query logs for other resources. |
59+
| What is the scope of permissions? | Workspace.<br>Users with access to the workspace can query all logs in the workspace from tables they have permissions to. See [Set table-level read access](./manage-access.md#set-table-level-read-access-preview). | Azure resource.<br>Users can query logs for specific resources, resource groups, or subscriptions they have access to in any workspace, but they can't query logs for other resources. |
6060
| How can a user access logs? | On the **Azure Monitor** menu, select **Logs**.<br><br>Select **Logs** from **Log Analytics workspaces**.<br><br>From Azure Monitor [workbooks](../best-practices-analysis.md#workbooks). | Select **Logs** on the menu for the Azure resource. Users will have access to data for that resource.<br><br>Select **Logs** on the **Azure Monitor** menu. Users will have access to data for all resources they have access to.<br><br>Select **Logs** from **Log Analytics workspaces**. Users will have access to data for all resources they have access to.<br><br>From Azure Monitor [workbooks](../best-practices-analysis.md#workbooks). |
6161

6262
## Access control mode
6363

6464
The *access control mode* is a setting on each workspace that defines how permissions are determined for the workspace.
6565

66-
* **Require workspace permissions**. This control mode doesn't allow granular Azure RBAC. To access the workspace, the user must be [granted permissions to the workspace](#azure-rbac) or to [specific tables](#set-table-level-read-access).
66+
* **Require workspace permissions**. This control mode doesn't allow granular Azure RBAC. To access the workspace, the user must be [granted permissions to the workspace](#azure-rbac) or to [specific tables](#set-table-level-read-access-preview).
6767

6868
If a user accesses the workspace in [workspace-context mode](#access-mode), they have access to all data in any table they've been granted access to. If a user accesses the workspace in [resource-context mode](#access-mode), they have access to only data for that resource in any table they've been granted access to.
6969

@@ -276,11 +276,11 @@ Grant a user access to log data from their resources and read all Azure AD sign-
276276
- `Microsoft.OperationalInsights/workspaces/query/ComputerGroup/read`: Required to be able to use Update Management solutions
277277
- Grant users the following permissions to their resources: `*/read`, assigned to the Reader role, or `Microsoft.Insights/logs/*/read`
278278

279-
## Set table-level read access
279+
## Set table-level read access (preview)
280280

281281
To create a [custom role](../../role-based-access-control/custom-roles.md) that lets specific users or groups read data from specific tables in a workspace:
282282

283-
1. Create a custom role that grants read access to table data, based on the built-in Azure Monitor Logs **Reader** role:
283+
1. Create a custom role that grants users permission to execute queries in the Log Analytics workspace, based on the built-in Azure Monitor Logs **Reader** role:
284284

285285
1. Navigate to your workspace and select **Access control (AIM)** > **Roles**.
286286

@@ -290,7 +290,7 @@ To create a [custom role](../../role-based-access-control/custom-roles.md) that
290290

291291
This opens the **Create a custom role** screen.
292292

293-
1. On the **Basics** tab of the screen enter a **Custom role name** value and, optionally, provide a description.
293+
1. On the **Basics** tab of the screen, enter a **Custom role name** value and, optionally, provide a description.
294294

295295
:::image type="content" source="media/manage-access/manage-access-create-custom-role.png" alt-text="Screenshot that shows the Basics tab of the Create a custom role screen with the Custom role name and Description fields highlighted." lightbox="media/manage-access/manage-access-create-custom-role.png":::
296296

@@ -299,17 +299,6 @@ To create a [custom role](../../role-based-access-control/custom-roles.md) that
299299
:::image type="content" source="media/manage-access/manage-access-create-custom-role-json.png" alt-text="Screenshot that shows the JSON tab of the Create a custom role screen with the actions section of the JSON file highlighted." lightbox="media/manage-access/manage-access-create-custom-role-json.png":::
300300

301301
1. Select **Review + Create** at the bottom of the screen, and then **Create** on the next page.
302-
1. Copy the custom role ID:
303-
1. Select **Access control (AIM)** > **Roles**.
304-
1. Right-click on your custom role and select **Edit**.
305-
306-
This opens the **Custom Role** screen.
307-
308-
:::image type="content" source="media/manage-access/manage-access-role-definition-id.png" alt-text="Screenshot that shows the JSON tab of the Custom Role screen with the ID field highlighted." lightbox="media/manage-access/manage-access-role-definition-id.png":::
309-
310-
1. Select **JSON** and copy the `id` field.
311-
312-
You'll need the `/providers/Microsoft.Authorization/roleDefinitions/<definition_id>` value when you call the `https://management.azure.com/batch?api-version=2020-06-01` POST API.
313302

314303
1. Assign your custom role to the relevant users or groups:
315304
1. Select **Access control (AIM)** > **Add** > **Add role assignment**.
@@ -339,9 +328,9 @@ To create a [custom role](../../role-based-access-control/custom-roles.md) that
339328
"content": {
340329
"Id": "<GUID_1>",
341330
"Properties": {
342-
"PrincipalId": "<User_object_ID>",
331+
"PrincipalId": "<user_object_ID>",
343332
"PrincipalType": "User",
344-
"RoleDefinitionId": "<custom_role_ID>",
333+
"RoleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
345334
"Scope": "/subscriptions/<subscription_ID>/resourceGroups/<resource_group_name>/providers/Microsoft.OperationalInsights/workspaces/<workspace_name>/Tables/<table_name>",
346335
"Condition": null,
347336
"ConditionVersion": null
@@ -360,15 +349,15 @@ To create a [custom role](../../role-based-access-control/custom-roles.md) that
360349

361350
Where:
362351
- You can generate a GUID for `<GUID 1>` and `<GUID 2>` using any GUID generator.
363-
- `<custom_role_ID>` is the `/providers/Microsoft.Authorization/roleDefinitions/<definition_id>` value you copied earlier.
352+
- `<user_object_ID>` is the object ID of the user to which you want to grant table read access.
364353
- `<subscription_ID>` is the ID of the subscription related to the workspace.
365354
- `<resource_group_name>` is the resource group of the workspace.
366355
- `<workspace_name>` is the name of the workspace.
367356
- `<table_name>` is the name of the table to which you want to assign the user or group permission to read data from.
368357

369358
### Legacy method of setting table-level read access
370359

371-
[Azure custom roles](../../role-based-access-control/custom-roles.md) let you grant access to specific tables in the workspace, although we recommend defining [table-level read access](#set-table-level-read-access) as described above.
360+
[Azure custom roles](../../role-based-access-control/custom-roles.md) let you grant access to specific tables in the workspace, although we recommend defining [table-level read access](#set-table-level-read-access-preview) as described above.
372361

373362
Azure custom roles apply to workspaces with either workspace-context or resource-context [access control modes](#access-control-mode) regardless of the user's [access mode](#access-mode).
374363

articles/azure-monitor/logs/workspace-design.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ When you grant a user [access to a workspace](manage-access.md#azure-rbac), the
105105
- **If you want users to be able to access data for their resources:** Keep the default access control mode of **Use resource or workspace permissions**.
106106
- **If you want to explicitly assign permissions for all users:** Change the access control mode to **Require workspace permissions**.
107107

108-
[Table-level RBAC](manage-access.md#set-table-level-read-access): With table-level RBAC, you can grant or deny access to specific tables in the workspace. In this way, you can implement granular permissions required for specific situations in your environment.
108+
[Table-level RBAC](manage-access.md#set-table-level-read-access-preview): With table-level RBAC, you can grant or deny access to specific tables in the workspace. In this way, you can implement granular permissions required for specific situations in your environment.
109109

110110
For example, you might grant access to only specific tables collected by Microsoft Sentinel to an internal auditing team. Or you might deny access to security-related tables to resource owners who need operational data related to their resources.
111111

articles/sentinel/best-practices-workspace-architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ For more information, see [Data residency in Azure](https://azure.microsoft.com/
9090

9191
You may have situations planned where different teams will need access to the same data. For example, your SOC team must have access to all Microsoft Sentinel data, while operations and applications teams will need access to only specific parts. Independent security teams may also need to access Microsoft Sentinel features, but with varying sets of data.
9292

93-
Combine [resource-context RBAC](resource-context-rbac.md) and [table-level RBAC](../azure-monitor/logs/manage-access.md#set-table-level-read-access) to provide your teams with a wide range of access options that should support most use cases.
93+
Combine [resource-context RBAC](resource-context-rbac.md) and [table-level RBAC](../azure-monitor/logs/manage-access.md#set-table-level-read-access-preview) to provide your teams with a wide range of access options that should support most use cases.
9494

9595
For more information, see [Permissions in Microsoft Sentinel](roles.md).
9696

0 commit comments

Comments
 (0)