Skip to content

Commit bcd1e9b

Browse files
Adding new built-in rbac
1 parent 4e57711 commit bcd1e9b

File tree

6 files changed

+79
-16
lines changed

6 files changed

+79
-16
lines changed

articles/iot-operations/deploy-iot-ops/overview-deploy.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,14 @@ The following table describes Azure IoT Operations deployment and management tas
7272

7373
| Task | Required permission | Comments |
7474
| ---- | ------------------- | -------- |
75-
| Deploy Azure IoT Operations | **Contributor** role at the resource group level. | |
76-
| Register resource providers | Microsoft.ExtendedLocation/register/action Microsoft.SecretSyncController/register/action Microsoft.Kubernetes/register/action Microsoft.KubernetesConfiguration/register/action Microsoft.IoTOperations/register/action Microsoft.DeviceRegistry/register/action| Only required to do once per subscription. |
77-
| Create a schema registry. | **Microsoft.Authorization/roleAssignments/write** permissions at the resource group level. | |
78-
| Create secrets in Key Vault | **Key Vault Secrets Officer** role at the resource level. | Only required for secure settings deployment. |
79-
| Enable resource sync rules on an Azure IoT Operations instance | **Microsoft.Authorization/roleAssignments/write** permissions at the resource group level. | Resource sync rules are disabled by default, but can be enabled as part of the [az iot ops rsync](/cli/azure/iot/ops#az-iot-ops-rsync) command. |
75+
| Deploy Azure IoT Operations | [Azure IoT Operations Onboarding role](../secure-iot-ops/overview-built-in-rbac.md#azure-iot-operations-onboarding-role) | This role has all required permissions to read and write Azure IoT operations and Azure Device Registry resources. This role has `Microsoft.Authorization/roleAssignments/write` permissions.|
76+
| Register resource providers | [Contributor role](azure/role-based-access-control/built-in-roles/privileged#contributor) at subscription level| Only required to do once per subscription. You need to register the following resource providers: `Microsoft.ExtendedLocation`, `Microsoft.SecretSyncController`, `Microsoft.Kubernetes`, `Microsoft.KubernetesConfiguration`, `Microsoft.IoTOperations`, and `Microsoft.DeviceRegistry`. |
77+
| Create secrets in Key Vault | [Key Vault Secrets Officer role](azure/role-based-access-control/built-in-roles/security#key-vault-secrets-officer) at the resource level | Only required for secure settings deployment. |
78+
| Create and manage storage accounts | Storage Account Contributor role | Required for Azure IoT Operations deployment. |
79+
| Create a resource group | Resource Group Contributor role | Required to create a resource group for storing Azure IoT Operations resources. |
80+
| Onboard a cluster to Azure Arc | Kubernetes Cluster Azure Arc Onboarding role | Arc-enabled clusters are required to deploy Azure IoT Operations. |
81+
| Manage deployment of Azure resource bridge| Azure Resource Bridge Deployment role | Required to deploy Azure IoT Operations. |
82+
| Provide permissions to deployment| Azure Arc Enabled Kubernetes Cluster User role | Required to grant permission of deployment to the Azure Arc-enabled Kubernetes cluster. |
8083

8184
> [!TIP]
8285
> You must enable resource sync rules on the Azure IoT Operations instance to use the automatic asset discovery capabilities of the Akri services. To learn more, see [What is OPC UA asset discovery (preview)?](../discover-manage-assets/overview-akri.md).

articles/iot-operations/reference/custom-rbac.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Custom RBAC for your resources
2+
title: Custom RBAC for Your Resources
33
description: Use the Azure portal to secure access to Azure IoT Operations resources such as data flows and assets by using Azure role-based access control.
44
author: dominicbetts
55
ms.author: dobett
@@ -11,24 +11,32 @@ ms.date: 04/16/2025
1111

1212
# Custom RBAC for your Azure IoT Operations resources
1313

14-
To define custom roles that grant specific permissions to users, you can use Azure RBAC. For example, you can define an **Onboarding** role that grants sufficient permissions to a user to complete the Azure Arc connect process and deploy Azure IoT Operations securely.
15-
16-
This article includes a list of example that you can download and use in your environment. These custom roles are JSON files that list the specific permissions and scope for the role.
14+
To define custom roles that grant specific permissions to users, you can use Azure RBAC. This article includes a list of example that you can download and use in your environment. These custom roles are JSON files that list the specific permissions and scope for the role.
1715

1816
To learn more about custom roles in Azure RBAC, see [Azure custom roles](/azure/role-based-access-control/custom-roles).
1917

20-
## Example custom roles
18+
Azure IoT operations also offers built-in roles designed to simplify and secure access management for Azure IoT Operations resources. For more information, see [Built-in RBAC roles for IoT Operations](../secure-iot-ops/built-in-rbac.md).
19+
20+
## Examples of custom roles
21+
22+
The following sections list the example Azure IoT Operations custom roles you can download and use.
23+
24+
> [!NOTE]
25+
> The following custom roles are examples only. You need to review and modify the permissions in the JSON files to suit your specific requirements.
2126
22-
The following sections list the example Azure IoT Operations custom roles you can download and use:
2327

2428
### Onboarding roles
2529

30+
You can define an *Onboarding* role that grants sufficient permissions to a user to complete the Azure Arc connect process and deploy Azure IoT Operations securely.
31+
2632
| Custom role | Description |
2733
| ----------- | ----------- |
2834
| [Onboarding](https://github.com/Azure-Samples/explore-iot-operations/blob/main/samples/custom-rbac/Onboarding.json) | This is privileged role. The user can complete Azure Arc connect process and deploy Azure IoT Operations securely. |
2935

3036
### Viewer roles
3137

38+
You can define different *Viewer* roles that grant read-only access to the Azure IoT Operations instance and its resources. These roles are useful for users who need to monitor the instance without making changes.
39+
3240
| Custom role | Description |
3341
| ----------- | ----------- |
3442
| [Instance viewer](https://github.com/Azure-Samples/explore-iot-operations/blob/main/samples/custom-rbac/Instance%20Viewer.json) | This role allows the user to view the Azure IoT Operations instance. |
@@ -41,6 +49,8 @@ The following sections list the example Azure IoT Operations custom roles you ca
4149

4250
### Administrator roles
4351

52+
You can define different *Administrator* roles that grant full access to the Azure IoT Operations instance and its resources. These roles are useful for users who need to manage the instance and its resources.
53+
4454
| Custom role | Description |
4555
| ----------- | ----------- |
4656
| [Instance administrator](https://github.com/Azure-Samples/explore-iot-operations/blob/main/samples/custom-rbac/Instance%20Administrator.json) | This is privileged role. The user can deploy an instance. The role includes permissions to create and update instances, brokers, authentications, listeners, dataflow profiles, dataflow endpoints, schema registries, and user assigned identities. The role also includes permission to delete instances. |
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
title: Built-in RBAC Roles for IoT Operations
3+
description: Learn about the built-in RBAC roles for Azure IoT Operations and how to use them to control access to resources.
4+
author: SoniaLopezBravo
5+
ms.author: sonialopez
6+
ms.topic: reference
7+
ms.date: 07/29/2025
8+
9+
#CustomerIntent: As an IT administrator, I want to configure Azure RBAC built-in roles on resources in my Azure IoT Operations instance to control access to them.
10+
---
11+
12+
# Built-in RBAC roles for IoT Operations
13+
14+
Azure IoT Operations (AIO) offers two built-in roles designed to simplify and secure access management for AIO resources: Azure IoT Operations Administrator and Azure IoT Operations Onboarding. If your scenario requires more granular access, you can [create a custom RBAC role](../reference/custom-rbac.md).
15+
16+
> [!IMPORTANT]
17+
> The built-in roles for AIO streamline access management for AIO resources, but don't automatically grant permissions for all required Azure dependencies. AIO relies on several Azure services, such as Azure Key Vault, Azure Storage, Azure Arc, and others. Always review and assign the necessary additional roles to ensure users have end-to-end access for successful AIO deployment and operation.
18+
19+
## Azure IoT Operations Administrator role
20+
21+
The Azure IoT Operations Administrator role provides comprehensive permissions to manage and operate all Azure IoT Operations components. Assign this role to users who need full access to use AIO resources. To support deployment and ongoing management of AIO, users require additional permissions. If a user only needs to use AIO, you can assign the Administrator role alone.
22+
23+
When assigning this built-in role, you need to ensure that users have the following permissions:
24+
25+
- Azure Edge Hardware Center Administrator: This role grants access to manage and take action as an edge order administrator. It is used for ordering and managing Azure Stack Edge devices.
26+
- Azure Arc Enabled Kubernetes Cluster User Role: This role is used to manage Azure Arc-enabled Kubernetes clusters by providing permission to write deployments, manage subscriptions, and handle connected clusters and extensions.
27+
- Key Vault Administrator: This role allows the user to manage all aspects of Azure Key Vaults, including creating, maintaining, viewing, and deleting keys, certificates, and secrets.
28+
- Kubernetes Extension Contributor: This role allows users to manage Kubernetes extensions, including creating, updating, and deleting extensions.
29+
- Managed Identity Contributor: This role allows the user to manage managed identities, including creating, updating, and deleting user-assigned managed identities.
30+
- Monitoring Contributor: This role allows the user to read all monitoring data and update monitoring settings.
31+
- Resource Group Contributor: This role grants permissions to manage resources within a resource group, including creating, updating, and deleting resources.
32+
- Secrets Store Extension Owner: This role allows the user to manage the Secrets Store extension, which synchronizes secrets from Azure Key Vault to Kubernetes clusters.
33+
- Storage Account Contributor: This role allows the user to manage storage accounts, including creating, updating, and deleting storage accounts, as well as managing access keys and other settings.
34+
35+
## Azure IoT Operations Onboarding role
36+
37+
AIO Onboarding is a specialized role that provides the necessary permissions to deploy Azure IoT Operations components.
38+
39+
When assigning this built-in role, you need to ensure that users have the following permissions:
40+
41+
- Azure Resource Bridge Deployment Role: This role is used to manage the deployment of the Azure Resource Bridge. It includes permissions to read, write, and delete various resources related to the Resource Bridge, such as appliances, locations, and telemetry configurations.
42+
- Kubernetes Cluster – Azure Arc Onboarding: This role is used for onboarding Kubernetes clusters to Azure Arc.
43+
- Storage Account Contributor: This role allows the user to manage storage accounts, including creating, updating, and deleting storage accounts, as well as managing access keys and other settings.
44+
- Resource Group Contributor Role: This role grants permissions to manage resources within a resource group, including creating, updating, and deleting resources.
45+
- Azure Arc Enabled Kubernetes Cluster User Role: This role is used to manage Azure Arc-enabled Kubernetes clusters by providing permission to write deployments, manage subscriptions, and handle connected clusters and extensions.
46+
47+

articles/iot-operations/deploy-iot-ops/howto-enable-secure-settings.md renamed to articles/iot-operations/secure-iot-ops/howto-enable-secure-settings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Enable secure settings
2+
title: Enable Secure Settings to a Test Instance
33
description: Enable secure settings in your Azure IoT Operations instance for developing a production-ready scenario.
44
author: asergaz
55
ms.author: sergaz

articles/iot-operations/secure-iot-ops/howto-manage-certificates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Manage certificates
2+
title: Manage Certificates
33
description: Azure IoT Operations uses TLS to encrypt communication. Learn how to manage certificates for internal and external communications, and how to bring your own certificate authority (CA) issuer for a production deployment.
44
author: asergaz
55
ms.author: sergaz

articles/iot-operations/toc.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,6 @@ items:
3737
- name: Upgrade
3838
href: deploy-iot-ops/howto-upgrade.md
3939
displayName: Kubernetes, version
40-
- name: Enable secure settings
41-
href: deploy-iot-ops/howto-enable-secure-settings.md
42-
displayName: Kubernetes, cluster, secrets, management, user-assigned, managed identity
4340
- name: Production deployment guidelines
4441
href: deploy-iot-ops/concept-production-guidelines.md
4542
displayName: Kubernetes, cluster, security, networking, observability, schema registry
@@ -48,6 +45,9 @@ items:
4845
displayName: Kubernetes, cluster, single, multiple, node, multi, performance
4946
- name: Secure your deployment
5047
items:
48+
- name: Built-in RBAC
49+
href: secure-iot-ops/built-in-rbac.md
50+
displayName: Azure RBAC, custom roles, resources, access control, permissions
5151
- name: Manage certificates
5252
href: secure-iot-ops/howto-manage-certificates.md
5353
displayName: TLS, X.509, certificate, root CA, self-signed, trusted CA, CA, issuer, cert-manager, trust-manager
@@ -60,6 +60,9 @@ items:
6060
- name: Secure your solution
6161
href: ../iot/iot-overview-security.md
6262
displayName: security, best practice, guidelines, defender
63+
- name: Enable secure settings
64+
href: secure-iot-ops/howto-enable-secure-settings.md
65+
displayName: Kubernetes, cluster, secrets, management, user-assigned, managed identity
6366
- name: Discover and manage assets and devices
6467
items:
6568
- name: Asset and device management overview

0 commit comments

Comments
 (0)