Skip to content

Commit ed0999d

Browse files
committed
User-assigned MI details
1 parent a14132a commit ed0999d

File tree

6 files changed

+71
-44
lines changed

6 files changed

+71
-44
lines changed

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,9 @@ dataLakeStorageSettings:
301301

302302
#### User-assigned managed identity
303303

304-
To use a user-assigned managed identity, specify the `UserAssignedManagedIdentity` authentication method and provide the `clientId` and `tenantId` of the managed identity.
304+
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 Preview deployment](../deploy-iot-ops/howto-enable-secure-settings.md).
305+
306+
Then, specify the user-assigned managed identity authentication method along with the client ID, tenant ID, and scope of the managed identity.
305307

306308
# [Bicep](#tab/bicep)
307309

@@ -312,6 +314,8 @@ dataLakeStorageSettings: {
312314
userAssignedManagedIdentitySettings: {
313315
cliendId: '<ID>'
314316
tenantId: '<ID>'
317+
// Optional, defaults to 'https://storage.azure.com/.default'
318+
// scope: 'https://<SCOPE_URL>'
315319
}
316320
}
317321
}
@@ -326,6 +330,8 @@ dataLakeStorageSettings:
326330
userAssignedManagedIdentitySettings:
327331
clientId: <ID>
328332
tenantId: <ID>
333+
# Optional, defaults to 'https://storage.azure.com/.default'
334+
# scope: https://<SCOPE_URL>
329335
```
330336

331337
---

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,9 @@ dataExplorerSettings:
194194

195195
#### User-assigned managed identity
196196

197-
To use a user-assigned managed identity, specify the `UserAssignedManagedIdentity` authentication method and provide the `clientId` and `tenantId` of the managed identity.
197+
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 Preview deployment](../deploy-iot-ops/howto-enable-secure-settings.md).
198+
199+
Then, specify the user-assigned managed identity authentication method along with the client ID, tenant ID, and scope of the managed identity.
198200

199201
# [Bicep](#tab/bicep)
200202

@@ -205,6 +207,8 @@ dataExplorerSettings: {
205207
userAssignedManagedIdentitySettings: {
206208
clientId: '<ID>'
207209
tenantId: '<ID>'
210+
// Optional, defaults to 'https://api.kusto.windows.net/.default'
211+
// scope: 'https://<SCOPE_URL>'
208212
}
209213
}
210214
}
@@ -219,6 +223,8 @@ dataExplorerSettings:
219223
userAssignedManagedIdentitySettings:
220224
clientId: <ID>
221225
tenantId: <ID>
226+
# Optional, defaults to 'https://api.kusto.windows.net/.default'
227+
# scope: https://<SCOPE_URL>
222228
```
223229

224230
---

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,15 +187,21 @@ fabricOneLakeSettings:
187187

188188
#### User-assigned managed identity
189189

190+
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 Preview deployment](../deploy-iot-ops/howto-enable-secure-settings.md).
191+
192+
Then, specify the user-assigned managed identity authentication method along with the client ID, tenant ID, and scope of the managed identity.
193+
190194
# [Bicep](#tab/bicep)
191195

192196
```bicep
193197
fabricOneLakeSettings: {
194198
authentication: {
195199
method: 'UserAssignedManagedIdentity'
196200
userAssignedManagedIdentitySettings: {
197-
clientId: '<clientId>'
198-
tenantId: '<tenantId>'
201+
clientId: '<ID>'
202+
tenantId: '<ID>'
203+
// Optional, defaults to 'https://storage.azure.com/.default'
204+
// scope: 'https://<SCOPE_URL>'
199205
}
200206
}
201207
}
@@ -212,6 +218,8 @@ fabricOneLakeSettings:
212218
userAssignedManagedIdentitySettings:
213219
clientId: <ID>
214220
tenantId: <ID>
221+
# Optional, defaults to 'https://storage.azure.com/.default'
222+
# scope: https://<SCOPE_URL>
215223
```
216224

217225
---

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,8 @@ In the operations experience dataflow endpoint settings page, select the **Basic
484484

485485
Enter the user assigned managed identity client ID, tenant ID, and scope in the appropriate fields.
486486

487+
Here, the scope is the audience of the managed identity. The default value is the same as the Event Hubs namespace host value in the form of `https://<NAMESPACE>.servicebus.windows.net`. However, if you need to override the default audience, you can set the scope field to the desired value.
488+
487489
# [Bicep](#tab/bicep)
488490

489491
```bicep
@@ -493,7 +495,9 @@ kafkaSettings: {
493495
UserAssignedManagedIdentitySettings: {
494496
clientId: '<CLIENT_ID>'
495497
tenantId: '<TENANT_ID>'
496-
scope: '<SCOPE>'
498+
// Optional, defaults to https://<NAMESPACE>.servicebus.windows.net/.default
499+
// Matching the Event Hub namespace you configured as host
500+
// scope: 'https://<SCOPE_URL>'
497501
}
498502
}
499503
...
@@ -509,7 +513,9 @@ kafkaSettings:
509513
userAssignedManagedIdentitySettings:
510514
clientId: <CLIENT_ID>
511515
tenantId: <TENANT_ID>
512-
scope: <SCOPE>
516+
# Optional, defaults to https://<NAMESPACE>.servicebus.windows.net/.default
517+
# Matching the Event Hub namespace you configured as host
518+
# scope: https://<SCOPE_URL>
513519
```
514520

515521
---

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -522,6 +522,8 @@ In the operations experience dataflow endpoint settings page, select the **Basic
522522

523523
Enter the user assigned managed identity client ID, tenant ID, and scope in the appropriate fields.
524524

525+
Here, the scope is optional, and defaults to `https://eventgrid.azure.net/.default`, which is the same for all Event Grid namespaces. If you're using a different MQTT broker, you can specify the scope as needed.
526+
525527
# [Bicep](#tab/bicep)
526528

527529
```bicep
@@ -531,7 +533,8 @@ mqttSettings: {
531533
userAssignedManagedIdentitySettings: {
532534
cliendId: '<ID>'
533535
tenantId: '<ID>'
534-
scope: '<SCOPE>'
536+
// Optional, defaults to 'https://eventgrid.azure.net/.default'
537+
// scope: 'https://<SCOPE_URL>'
535538
}
536539
}
537540
}
@@ -546,7 +549,8 @@ mqttSettings:
546549
userAssignedManagedIdentitySettings:
547550
clientId: <ID>
548551
tenantId: <ID>
549-
scope: <SCOPE>
552+
# Optional, defaults to 'https://eventgrid.azure.net/.default'
553+
# scope: https://<SCOPE_URL>
550554
```
551555

552556
---

articles/iot-operations/connect-to-cloud/howto-create-dataflow.md

Lines changed: 33 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,39 @@ Here, the wildcard `+` is used to select all devices under the `thermostats` and
346346

347347
---
348348

349+
##### Shared subscriptions
350+
351+
To use shared subscriptions with MQTT sources, you can specify the shared subscription topic in the form of `$shared/<GROUP_NAME>/<TOPIC_FILTER>`.
352+
353+
# [Portal](#tab/portal)
354+
355+
In operations experience dataflow **Source details**, select **MQTT** and use the **MQTT topic** field to specify the shared subscription group and topic.
356+
357+
# [Bicep](#tab/bicep)
358+
359+
```bicep
360+
sourceSettings: {
361+
dataSources: [
362+
'$shared/<GROUP_NAME>/<TOPIC_FILTER>'
363+
]
364+
}
365+
```
366+
367+
# [Kubernetes](#tab/kubernetes)
368+
369+
```yaml
370+
sourceSettings:
371+
dataSources:
372+
- $shared/<GROUP_NAME>/<TOPIC_FILTER>
373+
```
374+
375+
---
376+
377+
> [!NOTE]
378+
> If the instance count in the [dataflow profile](howto-configure-dataflow-profile.md) is greater than 1, shared subscription is must be enabled for all MQTT topic filters by adding topic prefix `$shared/<GROUP_NAME>` to each topic filter.
379+
380+
<!-- TODO: Details -->
381+
349382
#### Kafka topics
350383

351384
When the source is a Kafka (Event Hubs included) endpoint, specify the individual kafka topics to subscribe to for incoming messages. Wildcards are not supported, so you must specify each topic statically.
@@ -420,42 +453,6 @@ sourceSettings:
420453

421454
---
422455

423-
424-
#### Shared subscriptions
425-
426-
<!-- TODO: may not be final -->
427-
428-
To use shared subscriptions with MQTT sources, you can specify the shared subscription topic in the form of `$shared/<GROUP_NAME>/<TOPIC_FILTER>`.
429-
430-
# [Portal](#tab/portal)
431-
432-
In operations experience dataflow **Source details**, select **MQTT** and use the **MQTT topic** field to specify the shared subscription group and topic.
433-
434-
# [Bicep](#tab/bicep)
435-
436-
```bicep
437-
sourceSettings: {
438-
dataSources: [
439-
'$shared/<GROUP_NAME>/<TOPIC_FILTER>'
440-
]
441-
}
442-
```
443-
444-
# [Kubernetes](#tab/kubernetes)
445-
446-
```yaml
447-
sourceSettings:
448-
dataSources:
449-
- $shared/<GROUP_NAME>/<TOPIC_FILTER>
450-
```
451-
452-
---
453-
454-
> [!NOTE]
455-
> If the instance count in the [dataflow profile](howto-configure-dataflow-profile.md) is greater than 1, then the shared subscription topic prefix is automatically added to the topic filter.
456-
457-
<!-- TODO: Details -->
458-
459456
## Transformation
460457

461458
The transformation operation is where you can transform the data from the source before you send it to the destination. Transformations are optional. If you don't need to make changes to the data, don't include the transformation operation in the dataflow configuration. Multiple transformations are chained together in stages regardless of the order in which they're specified in the configuration. The order of the stages is always:

0 commit comments

Comments
 (0)