Skip to content

Commit 5ef7610

Browse files
authored
Merge pull request #290574 from asergaz/sergaz-dataflows-ga
Update fabric and adx dataflow
2 parents 16ad09a + 4e1aead commit 5ef7610

File tree

2 files changed

+69
-41
lines changed

2 files changed

+69
-41
lines changed

articles/iot-operations/connect-to-cloud/howto-configure-adx-endpoint.md

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,19 @@ To send data to Azure Data Explorer in Azure IoT Operations, you can configure a
5050
5151
Alternatively, enable streaming ingestion on the entire cluster. See [Enable streaming ingestion on an existing cluster](/azure/data-explorer/ingest-data-streaming#enable-streaming-ingestion-on-an-existing-cluster).
5252
53-
1. In Azure portal, go to the Arc-connected Kubernetes cluster and select **Settings** > **Extensions**. In the extension list, find the name of your Azure IoT Operations extension. Copy the name of the extension.
53+
## Assign permission to managed identity
5454
55-
1. In your Azure Data Explorer database (not cluster), under **Overview** select **Permissions** > **Add** > **Ingestor**. Search for the Azure IoT Operations extension name then add it.
55+
To configure a dataflow endpoint for Azure Data Explorer, we recommend using either a user-assigned or system-assigned managed identity. This approach is secure and eliminates the need for managing credentials manually.
5656
57-
## Create an Azure Data Explorer dataflow endpoint
57+
After the Azure Data Explorer database is created, you need to assign a role to the Azure IoT Operations managed identity that grants permission to write to the database.
5858
59-
Create the dataflow endpoint resource with your cluster and database information. We suggest using the managed identity of the Azure Arc-enabled Kubernetes cluster. This approach is secure and eliminates the need for secret management. Replace the placeholder values like `<ENDPOINT_NAME>` with your own.
59+
If using system-assigned managed identity, in Azure portal, go to your Azure IoT Operations instance and select **Overview**. Copy the name of the extension listed after **Azure IoT Operations Arc extension**. For example, *azure-iot-operations-xxxx7*. Your system-assigned managed identity can be found using the same name of the Azure IoT Operations Arc extension.
60+
61+
1. In your Azure Data Explorer database (not cluster), under **Overview** select **Permissions** > **Add** and then select **Ingestor** as the role. This gives the managed identity the necessary permissions to write to the Azure Data Explorer database. To learn more, see [Role-based access control](/kusto/access-control/role-based-access-control?view=azure-data-explorer&preserve-view=true&branch=main).
62+
1. Search for the name of your [user-assigned managed identity set up for cloud connections](../deploy-iot-ops/howto-enable-secure-settings.md#set-up-a-user-assigned-managed-identity-for-cloud-connections) or the system-assigned managed identity. For example, *azure-iot-operations-xxxx7*.
63+
1. Then, select **Select**.
64+
65+
## Create dataflow endpoint for Azure Data Explorer
6066
6167
<!-- TODO: use the data ingest URI for host? -->
6268
@@ -73,10 +79,12 @@ Create the dataflow endpoint resource with your cluster and database information
7379
| --------------------- | ------------------------------------------------------------------------------------------------- |
7480
| Name | The name of the dataflow endpoint. |
7581
| Host | The hostname of the Azure Data Explorer endpoint in the format `<cluster>.<region>.kusto.windows.net`. |
76-
| Authentication method | The method used for authentication. Choose *System assigned managed identity* or *User assigned managed identity* |
82+
| Authentication method | The method used for authentication. Choose [*System assigned managed identity*](#system-assigned-managed-identity) or [*User assigned managed identity*](#user-assigned-managed-identity). |
7783
| Client ID | The client ID of the user-assigned managed identity. Required if using *User assigned managed identity*. |
7884
| Tenant ID | The tenant ID of the user-assigned managed identity. Required if using *User assigned managed identity*. |
7985
86+
1. Select **Apply** to provision the endpoint.
87+
8088
# [Bicep](#tab/bicep)
8189
8290
Create a Bicep `.bicep` file with the following content.
@@ -107,8 +115,8 @@ resource adxEndpoint 'Microsoft.IoTOperations/instances/dataflowEndpoints@2024-1
107115
host: hostName
108116
database: databaseName
109117
authentication: {
110-
method: 'SystemAssignedManagedIdentity'
111-
systemAssignedManagedIdentitySettings: {}
118+
// See available authentication methods section for method types
119+
// method: <METHOD_TYPE>
112120
}
113121
}
114122
}
@@ -137,8 +145,8 @@ spec:
137145
host: 'https://<CLUSTER>.<region>.kusto.windows.net'
138146
database: <DATABASE_NAME>
139147
authentication:
140-
method: SystemAssignedManagedIdentity
141-
systemAssignedManagedIdentitySettings: {}
148+
# See available authentication methods section for method types
149+
# method: <METHOD_TYPE>
142150
```
143151

144152
Then apply the manifest file to the Kubernetes cluster.
@@ -151,17 +159,19 @@ kubectl apply -f <FILE>.yaml
151159

152160
## Available authentication methods
153161

154-
The following authentication methods are available for Azure Data Explorer endpoints. For more information about enabling secure settings by configuring an Azure Key Vault and enabling workload identities, see [Enable secure settings in Azure IoT Operations deployment](../deploy-iot-ops/howto-enable-secure-settings.md).
155-
156-
### Permissions
157-
158-
To use these authentication methods, the Azure IoT Operations Arc extension must be given **Ingestor** permission on the Azure Data Explorer database. For more information, see [Manage Azure Data Explorer database permissions](/azure/data-explorer/manage-database-permissions).
162+
The following authentication methods are available for Azure Data Explorer endpoints.
159163

160164
### System-assigned managed identity
161165

162-
Using the system-assigned managed identity is the recommended authentication method for Azure IoT Operations. Azure IoT Operations creates the managed identity automatically and assigns it to the Azure Arc-enabled Kubernetes cluster. It eliminates the need for secret management and allows for seamless authentication.
166+
Before you configure the dataflow endpoint, assign a role to the Azure IoT Operations managed identity that grants permission to write to the Azure Data Explorer database:
167+
168+
1. In Azure portal, go to your Azure IoT Operations instance and select **Overview**.
169+
1. Copy the name of the extension listed after **Azure IoT Operations Arc extension**. For example, *azure-iot-operations-xxxx7*.
170+
1. Go to Azure Data Explorer database (not cluster), under **Overview** select **Permissions** > **Add** and then select an appropriate role.
171+
1. Search for the name of your system-assigned managed identity. For example, *azure-iot-operations-xxxx7*.
172+
1. Select **Select**.
163173

164-
In the *DataflowEndpoint* resource, specify the managed identity authentication method. In most cases, you don't need to specify other settings. This configuration creates a managed identity with the default audience `https://api.kusto.windows.net`.
174+
Then, configure the dataflow endpoint with system-assigned managed identity settings.
165175

166176
# [Portal](#tab/portal)
167177

@@ -194,7 +204,7 @@ If you need to override the system-assigned managed identity audience, you can s
194204

195205
# [Portal](#tab/portal)
196206

197-
In most cases, you don't need to specify a service audience. Not specifying an audience creates a managed identity with the default audience scoped to your storage account.
207+
In most cases, you don't need to specify other settings. This configuration creates a managed identity with the default audience `https://api.kusto.windows.net`.
198208

199209
# [Bicep](#tab/bicep)
200210

@@ -223,9 +233,15 @@ dataExplorerSettings:
223233

224234
### User-assigned managed identity
225235

226-
To use user-managed identity for authentication, you must first deploy Azure IoT Operations with secure settings enabled. To learn more, see [Enable secure settings in Azure IoT Operations deployment](../deploy-iot-ops/howto-enable-secure-settings.md).
236+
To use user-assigned managed identity for authentication, you must first deploy Azure IoT Operations with secure settings enabled. Then you need to [set up a user-assigned managed identity for cloud connections](../deploy-iot-ops/howto-enable-secure-settings.md#set-up-a-user-assigned-managed-identity-for-cloud-connections). To learn more, see [Enable secure settings in Azure IoT Operations deployment](../deploy-iot-ops/howto-enable-secure-settings.md).
237+
238+
Before you configure the dataflow endpoint, assign a role to the user-assigned managed identity that grants permission to write to the Azure Data Explorer database:
239+
240+
1. In Azure portal, go to Azure Data Explorer database (not cluster), under **Overview** select **Permissions** > **Add** and then select an appropriate role.
241+
1. Search for the name of your user-assigned managed identity.
242+
1. Select **Select**.
227243

228-
Then, specify the user-assigned managed identity authentication method along with the client ID, tenant ID, and scope of the managed identity.
244+
Then, configure the dataflow endpoint with user-assigned managed identity settings.
229245

230246
# [Portal](#tab/portal)
231247

articles/iot-operations/connect-to-cloud/howto-configure-fabric-endpoint.md

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,20 @@ To send data to Microsoft Fabric OneLake in Azure IoT Operations, you can config
2828
- If shown, ensure *Lakehouse schemas (Public Preview)* is **unchecked**.
2929
- Make note of the workspace and lakehouse names.
3030

31-
## Create a Microsoft Fabric OneLake dataflow endpoint
31+
## Assign permission to managed identity
3232

33-
To configure a dataflow endpoint for Microsoft Fabric OneLake, we suggest using the managed identity of the Azure Arc-enabled Kubernetes cluster. This approach is secure and eliminates the need for secret management.
33+
To configure a dataflow endpoint for Azure Data Lake Storage Gen2, we recommend using either a user-assigned or system-assigned managed identity. This approach is secure and eliminates the need for managing credentials manually.
3434

35-
1. In Azure portal, go to your Azure IoT Operations instance and select **Overview**.
36-
1. Copy the name of the extension listed after **Azure IoT Operations Arc extension**. For example, *azure-iot-operations-xxxx7*.
37-
1. In the Microsoft Fabric workspace you created, select **Manage access** > **+ Add people or groups**. Search for the Azure IoT Operations Arc extension by its name and select it. Select **Contributor** as the role, then select **Add**.
38-
1. Create the *DataflowEndpoint* resource and specify the managed identity authentication method.
35+
After the Microsoft Fabric OneLake is created, you need to assign a role to the Azure IoT Operations managed identity that grants permission to write to the Fabric lakehouse.
36+
37+
If using system-assigned managed identity, in Azure portal, go to your Azure IoT Operations instance and select **Overview**. Copy the name of the extension listed after **Azure IoT Operations Arc extension**. For example, *azure-iot-operations-xxxx7*. Your system-assigned managed identity can be found using the same name of the Azure IoT Operations Arc extension.
38+
39+
Go to Microsoft Fabric workspace you created, select **Manage access** > **+ Add people or groups**.
40+
41+
1. Search for the name of your [user-assigned managed identity set up for cloud connections](../deploy-iot-ops/howto-enable-secure-settings.md#set-up-a-user-assigned-managed-identity-for-cloud-connections) or the system-assigned managed identity. For example, *azure-iot-operations-xxxx7* .
42+
1. Select **Contributor** as the role, then select **Add**. This gives the managed identity the necessary permissions to write to the Fabric lakehouse. To learn more, see [Roles in workspaces in Microsoft Fabric](/fabric/get-started/roles-workspaces).
43+
44+
## Create dataflow endpoint for Microsoft Fabric OneLake
3945

4046
# [Portal](#tab/portal)
4147

@@ -52,7 +58,7 @@ To configure a dataflow endpoint for Microsoft Fabric OneLake, we suggest using
5258
| Lakehouse name | The name of the lakehouse where the data should be stored. |
5359
| Workspace name | The name of the workspace associated with the lakehouse. |
5460
| OneLake path type | The type of path used in OneLake. Select *Files* or *Tables*. |
55-
| Authentication method | The method used for authentication. Choose *System assigned managed identity* or *User assigned managed identity* |
61+
| Authentication method | The method used for authentication. Choose [*System assigned managed identity*](#system-assigned-managed-identity) or [*User assigned managed identity*](#user-assigned-managed-identity). |
5662
| Client ID | The client ID of the user-assigned managed identity. Required if using *User assigned managed identity*. |
5763
| Tenant ID | The tenant ID of the user-assigned managed identity. Required if using *User assigned managed identity*. |
5864

@@ -88,8 +94,8 @@ resource oneLakeEndpoint 'Microsoft.IoTOperations/instances/dataflowEndpoints@20
8894
// The default Fabric OneLake host URL in most cases
8995
host: 'https://onelake.dfs.fabric.microsoft.com'
9096
authentication: {
91-
method: 'SystemAssignedManagedIdentity'
92-
systemAssignedManagedIdentitySettings: {}
97+
// See available authentication methods section for method types
98+
// method: <METHOD_TYPE>
9399
}
94100
oneLakePathType: 'Tables'
95101
names: {
@@ -123,8 +129,8 @@ spec:
123129
# The default Fabric OneLake host URL in most cases
124130
host: https://onelake.dfs.fabric.microsoft.com
125131
authentication:
126-
method: SystemAssignedManagedIdentity
127-
systemAssignedManagedIdentitySettings: {}
132+
# See available authentication methods section for method types
133+
# method: <METHOD_TYPE>
128134
oneLakePathType: Tables
129135
names:
130136
workspaceName: <WORKSPACE_NAME>
@@ -166,19 +172,19 @@ fabricOneLakeSettings:
166172
167173
## Available authentication methods
168174
169-
The following authentication methods are available for Microsoft Fabric OneLake dataflow endpoints. For more information about enabling secure settings by configuring an Azure Key Vault and enabling workload identities, see [Enable secure settings in Azure IoT Operations deployment](../deploy-iot-ops/howto-enable-secure-settings.md).
170-
171-
Before you create the dataflow endpoint, assign workspace *Contributor* role to the IoT Operations extension that grants permission to write to the Fabric lakehouse.
172-
173-
![Screenshot of IoT Operations extension name to grant workspace access to.](media/howto-configure-fabric-endpoint/extension-name.png)
174-
175-
To learn more, see [Give access to a workspace](/fabric/get-started/give-access-workspaces).
175+
The following authentication methods are available for Microsoft Fabric OneLake dataflow endpoints.
176176
177177
### System-assigned managed identity
178178
179-
Using the system-assigned managed identity is the recommended authentication method for Azure IoT Operations. Azure IoT Operations creates the managed identity automatically and assigns it to the Azure Arc-enabled Kubernetes cluster. It eliminates the need for secret management and allows for seamless authentication.
179+
Before you configure the dataflow endpoint, assign a role to the Azure IoT Operations managed identity that grants permission to write to the Fabric lakehouse:
180180
181-
In the *DataflowEndpoint* resource, specify the managed identity authentication method. In most cases, you don't need to specify other settings. This configuration creates a managed identity with the default audience.
181+
1. In Azure portal, go to your Azure IoT Operations instance and select **Overview**.
182+
1. Copy the name of the extension listed after **Azure IoT Operations Arc extension**. For example, *azure-iot-operations-xxxx7*.
183+
1. Go to Microsoft Fabric workspace, select **Manage access** > **+ Add people or groups**.
184+
1. Search for the name of your system-assigned managed identity. For example, *azure-iot-operations-xxxx7* .
185+
1. Select an appropriate role, then select **Add**.
186+
187+
Then, configure the dataflow endpoint with system-assigned managed identity settings.
182188
183189
# [Portal](#tab/portal)
184190
@@ -240,9 +246,15 @@ fabricOneLakeSettings:
240246

241247
### User-assigned managed identity
242248

243-
To use user-managed identity for authentication, you must first deploy Azure IoT Operations with secure settings enabled. To learn more, see [Enable secure settings in Azure IoT Operations deployment](../deploy-iot-ops/howto-enable-secure-settings.md).
249+
To use user-assigned managed identity for authentication, you must first deploy Azure IoT Operations with secure settings enabled. Then you need to [set up a user-assigned managed identity for cloud connections](../deploy-iot-ops/howto-enable-secure-settings.md#set-up-a-user-assigned-managed-identity-for-cloud-connections). To learn more, see [Enable secure settings in Azure IoT Operations deployment](../deploy-iot-ops/howto-enable-secure-settings.md).
250+
251+
Before you configure the dataflow endpoint, assign a role to the user-assigned managed identity that grants permission to write to the Fabric lakehouse.:
252+
253+
1. Go to Microsoft Fabric workspace, select **Manage access** > **+ Add people or groups**.
254+
1. Search for the name of your user-assigned managed identity.
255+
1. Select an appropriate role, then select **Add**.
244256

245-
Then, specify the user-assigned managed identity authentication method along with the client ID, tenant ID, and scope of the managed identity.
257+
Then, configure the dataflow endpoint with user-assigned managed identity settings.
246258

247259
# [Portal](#tab/portal)
248260

0 commit comments

Comments
 (0)