From e07f2acb27c3271d99c0664559c0b9c646328ff8 Mon Sep 17 00:00:00 2001 From: "OpenPublishing.Build" Date: Thu, 26 Feb 2026 23:17:23 +0000 Subject: [PATCH 1/7] status --- data-explorer/includes/managed-identity.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data-explorer/includes/managed-identity.md b/data-explorer/includes/managed-identity.md index ea09f71418..819d08403e 100644 --- a/data-explorer/includes/managed-identity.md +++ b/data-explorer/includes/managed-identity.md @@ -37,10 +37,10 @@ ms.date: 01/09/2025 "id": "/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-managed-identity", "location": "eastus", "name": "my-managed-identity", - "principalId": "00001111-aaaa-2222-bbbb-3333cccc4444", + "principalId": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0", "resourceGroup": "my-resource-group", "tags": {}, - "tenantId": "00001111-aaaa-2222-bbbb-3333cccc4444", + "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" } ``` From 87a612a5875f6f085616d378735b0af151fdaaa5 Mon Sep 17 00:00:00 2001 From: "OpenPublishing.Build" Date: Thu, 26 Feb 2026 23:17:46 +0000 Subject: [PATCH 2/7] status --- data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md | 6 +++--- .../kusto/management/graph/graph-model-create-or-alter.md | 2 +- data-explorer/kusto/query/graph-exploration-basics.md | 4 ++-- data-explorer/kusto/query/visualization-timepivot.md | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md b/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md index 094ea5df93..f97bf4fe7b 100644 --- a/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md +++ b/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md @@ -124,7 +124,7 @@ To embed a dashboard, a trust relationship must be established between the host' ```json { - "resourceAppId": "35e917a9-4d95-4062-9d97-5781291353b9", + "resourceAppId": "00001111-aaaa-2222-bbbb-3333cccc4444", "resourceAccess": [ { "id": "388e2b3a-fdb8-4f0b-ae3e-0692ca9efc1c", @@ -134,7 +134,7 @@ To embed a dashboard, a trust relationship must be established between the host' } ``` - - `35e917a9-4d95-4062-9d97-5781291353b9` is the application ID of Azure Data Explorer dashboard service. + - `00001111-aaaa-2222-bbbb-3333cccc4444` is the application ID of Azure Data Explorer dashboard service. - `388e2b3a-fdb8-4f0b-ae3e-0692ca9efc1c` is the user_impersonation permission. 1. In the **Manifest**, save your changes. @@ -143,7 +143,7 @@ To embed a dashboard, a trust relationship must be established between the host' 1. In Azure PowerShell, add the following new service principal for the app: ```powershell - New-MgServicePrincipal -AppId 35e917a9-4d95-4062-9d97-5781291353b9 + New-MgServicePrincipal -AppId 00001111-aaaa-2222-bbbb-3333cccc4444 ``` diff --git a/data-explorer/kusto/management/graph/graph-model-create-or-alter.md b/data-explorer/kusto/management/graph/graph-model-create-or-alter.md index fa4e0044ca..a7bce1c890 100644 --- a/data-explorer/kusto/management/graph/graph-model-create-or-alter.md +++ b/data-explorer/kusto/management/graph/graph-model-create-or-alter.md @@ -105,7 +105,7 @@ This command returns a table with the following columns: |Name|CreationTime|ID|SnapshotsCount|Model|AuthorizedPrincipals|RetentionPolicy| |---|---|---|---|---|---|---| -|SocialNetwork|2025-05-23 14:42:37.5128901|aaaaaaaa-0b0b-1c1c-2d2d-333333333333|0|model from above|[
{
"Type": "Microsoft Entra ID User",
"DisplayName": "Alex Johnson (upn: alex.johnson@contoso.com)",
"ObjectId": "aaaaaaaa-bbbb-cccc-1111-22222222222",
"FQN": "aaduser=aaaaaaaa-bbbb-cccc-1111-22222222222;aaaabbbb-0000-cccc-1111-dddd2222eeee",
"Notes": "",
"RoleAssignmentIdentifier": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
}
]|{
"SoftDeletePeriod": "3650.00:00:00"
}| +|SocialNetwork|2025-05-23 14:42:37.5128901|aaaaaaaa-0b0b-1c1c-2d2d-333333333333|0|model from above|[
{
"Type": "Microsoft Entra ID User",
"DisplayName": "Alex Johnson (upn: alex.johnson@contoso.com)",
"ObjectId": "aaaaaaaa-bbbb-cccc-1111-22222222222",
"FQN": "aaduser=aaaaaaaa-bbbb-cccc-1111-22222222222;aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"Notes": "",
"RoleAssignmentIdentifier": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
}
]|{
"SoftDeletePeriod": "3650.00:00:00"
}| ## Notes diff --git a/data-explorer/kusto/query/graph-exploration-basics.md b/data-explorer/kusto/query/graph-exploration-basics.md index 2530052fb3..305e727104 100644 --- a/data-explorer/kusto/query/graph-exploration-basics.md +++ b/data-explorer/kusto/query/graph-exploration-basics.md @@ -172,8 +172,8 @@ graph('BloodHound_Entra') |node_id|properties| |---|---| -|5|{
"lastseen": "2025-08-11T09:21:19.002Z[UTC]",
"lastcollected": "2025-08-11T09:21:07.472380514Z[UTC]",
"enabled": true,
"displayname": "Jack Miller",
"name": "JMILLER@PHANTOMCORP.ONMICROSOFT.COM",
"tenantid": "6c12b0b0-b2cc-4a73-8252-0b94bfca2145",
"objectid": "9a20c327-8cc7-4425-9480-11fb734db194",
"onpremid": "",
"usertype": "Member",
"title": "",
"userprincipalname": "jmiller@phantomcorp.onmicrosoft.com",
"system_tags": "admin_tier_0",
"pwdlastset": "2021-06-16T17:51:03Z[UTC]",
"onpremsyncenabled": false,
"whencreated": "2021-06-16T17:29:16Z[UTC]",
"email": ""
}| -|10|{
"lastseen": "2025-08-11T09:21:07.472380514Z[UTC]",
"onpremid": "",
"usertype": "Member",
"title": "",
"lastcollected": "2025-08-11T09:21:07.472380514Z[UTC]",
"enabled": true,
"userprincipalname": "cjackson@phantomcorp.onmicrosoft.com",
"system_tags": "admin_tier_0",
"displayname": "Chris Jackson",
"pwdlastset": "2022-07-19T15:18:49Z[UTC]",
"onpremsyncenabled": false,
"name": "CJACKSON@PHANTOMCORP.ONMICROSOFT.COM",
"tenantid": "6c12b0b0-b2cc-4a73-8252-0b94bfca2145",
"whencreated": "2022-07-19T15:01:55Z[UTC]",
"email": "cjackson@phantomcorp.onmicrosoft.com",
"objectid": "bfb6a9c2-f3c8-4b9c-9d09-2924d38895f7"
}| +|5|{
"lastseen": "2025-08-11T09:21:19.002Z[UTC]",
"lastcollected": "2025-08-11T09:21:07.472380514Z[UTC]",
"enabled": true,
"displayname": "Jack Miller",
"name": "JMILLER@PHANTOMCORP.ONMICROSOFT.COM",
"tenantid": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"objectid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"onpremid": "",
"usertype": "Member",
"title": "",
"userprincipalname": "jmiller@phantomcorp.onmicrosoft.com",
"system_tags": "admin_tier_0",
"pwdlastset": "2021-06-16T17:51:03Z[UTC]",
"onpremsyncenabled": false,
"whencreated": "2021-06-16T17:29:16Z[UTC]",
"email": ""
}| +|10|{
"lastseen": "2025-08-11T09:21:07.472380514Z[UTC]",
"onpremid": "",
"usertype": "Member",
"title": "",
"lastcollected": "2025-08-11T09:21:07.472380514Z[UTC]",
"enabled": true,
"userprincipalname": "cjackson@phantomcorp.onmicrosoft.com",
"system_tags": "admin_tier_0",
"displayname": "Chris Jackson",
"pwdlastset": "2022-07-19T15:18:49Z[UTC]",
"onpremsyncenabled": false,
"name": "CJACKSON@PHANTOMCORP.ONMICROSOFT.COM",
"tenantid": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"whencreated": "2022-07-19T15:01:55Z[UTC]",
"email": "cjackson@phantomcorp.onmicrosoft.com",
"objectid": "bbbbbbbb-1111-2222-3333-cccccccccccc"
}| ### Edge analysis diff --git a/data-explorer/kusto/query/visualization-timepivot.md b/data-explorer/kusto/query/visualization-timepivot.md index 1463e96b71..d6bfa0eebd 100644 --- a/data-explorer/kusto/query/visualization-timepivot.md +++ b/data-explorer/kusto/query/visualization-timepivot.md @@ -97,7 +97,7 @@ In this example, a time pivot is rendered according to a specific *TraceID* in t datatable(TraceID:string, SpanID:string, ParentID:string, SpanName:string, SpanStatus:string, SpanKind:string, StartTime:datetime, EndTime:datetime, ResourceAttributes:dynamic, TraceAttributes:dynamic, Events:dynamic, Links:dynamic) [ "c339bbae48eb8426f9a63c4eee55284c", "d1265cecd4c291ee", "", "POST", "STATUS_CODE_UNSET", "SPAN_KIND_CLIENT", datetime(2025-04-07T04:15:52.1657810Z), datetime(2025-04-07T04:16:01.6616919Z), dynamic({"k8s.namespace.name":"otel-demo","k8s.pod.start_time":"2025-04-06T00:19:47.0000000Z","k8s.deployment.name":"opentelemetry-demo-loadgenerator","k8s.node.name":"aks-userpool-31567306-vmss000003","service.name":"loadgenerator","service.version":"1.12.0","k8s.pod.uid":"d2fbaf5d-b5c2-4dac-af08-b92d56573899","k8s.pod.name":"opentelemetry-demo-loadgenerator-6994f5db8-lq4qs","service.instance.id":"d2fbaf5d-b5c2-4dac-af08-b92d56573899","service.namespace":"opentelemetry-demo","k8s.pod.ip":"10.244.0.57","telemetry.sdk.language":"python","telemetry.sdk.version":"1.25.0","telemetry.sdk.name":"opentelemetry"}), dynamic({"http.status_code":200,"http.url":"http://opentelemetry-demo-frontendproxy:8080/api/checkout","http.method":"POST","scope.name":"opentelemetry.instrumentation.requests","scope.version":"0.46b0"}), dynamic([]), dynamic([]), - "c339bbae48eb8426f9a63c4eee55284c", "651aa53d2f583eca", "d488b4a32f60794f", "POST /api/checkout", "STATUS_CODE_UNSET", "SPAN_KIND_SERVER", datetime(2025-04-07T04:15:52.1680000Z), datetime(2025-04-07T04:16:01.4667420Z), dynamic({"k8s.namespace.name":"otel-demo","k8s.pod.start_time":"2025-04-06T00:19:47.0000000Z","k8s.deployment.name":"opentelemetry-demo-frontend","k8s.node.name":"aks-userpool-31567306-vmss000003","service.name":"frontend","service.version":"1.12.0","k8s.pod.uid":"b61b8875-b9ec-4144-b866-df88b8c6c67c","k8s.pod.name":"opentelemetry-demo-frontend-59bccd8fdb-j9xxf","service.instance.id":"b61b8875-b9ec-4144-b866-df88b8c6c67c","service.namespace":"opentelemetry-demo","k8s.pod.ip":"10.244.0.45","process.command_args":["/usr/local/bin/node","--require","./Instrumentation.js","/app/server.js"],"os.type":"linux","telemetry.sdk.language":"nodejs","telemetry.sdk.version":"1.25.1","process.pid":16,"telemetry.sdk.name":"opentelemetry","process.runtime.name":"nodejs","process.runtime.description":"Node.js","process.runtime.version":"20.18.0","host.name":"opentelemetry-demo-frontend-59bccd8fdb-j9xxf","host.arch":"amd64","process.executable.path":"/usr/local/bin/node","container.id":"d1763eedd13fa94f9581d9099ab481e112a8fdf95b6da831b9f01a4b8490fe60","os.version":"5.15.176.3-3.cm2","process.owner":"nextjs","process.command":"/app/server.js","process.executable.name":"node"}), dynamic({"http.status_code":200,"http.method":"POST","scope.name":"next.js","scope.version":"0.0.1","http.target":"/api/checkout","next.span_type":"BaseServer.handleRequest","next.span_name":"POST /api/checkout","next.rsc":false}), dynamic([]), dynamic([]), + "c339bbae48eb8426f9a63c4eee55284c", "651aa53d2f583eca", "d488b4a32f60794f", "POST /api/checkout", "STATUS_CODE_UNSET", "SPAN_KIND_SERVER", datetime(2025-04-07T04:15:52.1680000Z), datetime(2025-04-07T04:16:01.4667420Z), dynamic({"k8s.namespace.name":"otel-demo","k8s.pod.start_time":"2025-04-06T00:19:47.0000000Z","k8s.deployment.name":"opentelemetry-demo-frontend","k8s.node.name":"aks-userpool-31567306-vmss000003","service.name":"frontend","service.version":"1.12.0","k8s.pod.uid":"aaaabbbb-0000-cccc-1111-dddd2222eeee","k8s.pod.name":"opentelemetry-demo-frontend-59bccd8fdb-j9xxf","service.instance.id":"aaaabbbb-0000-cccc-1111-dddd2222eeee","service.namespace":"opentelemetry-demo","k8s.pod.ip":"10.244.0.45","process.command_args":["/usr/local/bin/node","--require","./Instrumentation.js","/app/server.js"],"os.type":"linux","telemetry.sdk.language":"nodejs","telemetry.sdk.version":"1.25.1","process.pid":16,"telemetry.sdk.name":"opentelemetry","process.runtime.name":"nodejs","process.runtime.description":"Node.js","process.runtime.version":"20.18.0","host.name":"opentelemetry-demo-frontend-59bccd8fdb-j9xxf","host.arch":"amd64","process.executable.path":"/usr/local/bin/node","container.id":"d1763eedd13fa94f9581d9099ab481e112a8fdf95b6da831b9f01a4b8490fe60","os.version":"5.15.176.3-3.cm2","process.owner":"nextjs","process.command":"/app/server.js","process.executable.name":"node"}), dynamic({"http.status_code":200,"http.method":"POST","scope.name":"next.js","scope.version":"0.0.1","http.target":"/api/checkout","next.span_type":"BaseServer.handleRequest","next.span_name":"POST /api/checkout","next.rsc":false}), dynamic([]), dynamic([]), ... ] | where TraceID == '081a007d3b7deaf32ca43a554c5058bd' From 3b0f9d5576d43f373105666f17da8cb375ffbbf4 Mon Sep 17 00:00:00 2001 From: Sreedhar Pelluru <6722422+spelluru@users.noreply.github.com> Date: Thu, 26 Feb 2026 21:30:51 -0500 Subject: [PATCH 3/7] Replace hardcoded application ID with placeholder Updated the application ID placeholder for RTD Metadata Service in the manifest instructions and PowerShell command. --- .../kusto/api/monaco/host-web-ux-in-iframe.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md b/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md index f97bf4fe7b..6f8da610a9 100644 --- a/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md +++ b/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md @@ -122,9 +122,15 @@ To embed a dashboard, a trust relationship must be established between the host' 1. Select **requiredResourceAccess**. 1. In the manifest, add the following entry: + > [!IMPORTANT] + > Replace `` with the application ID of the **RTD Metadata Service**. To get the application ID of this service, follow these steps: + > - Sign in to the Azure portal. + > - In the search bar, enter **RTD Metadata Service**, and then select the **Service Principal**: **RTD Metadata Service**. + > - On the **Enterprise Application** page for **RTD Metadata Service**, note down the value of the **Application ID**. + ```json { - "resourceAppId": "00001111-aaaa-2222-bbbb-3333cccc4444", + "resourceAppId": "", "resourceAccess": [ { "id": "388e2b3a-fdb8-4f0b-ae3e-0692ca9efc1c", @@ -134,16 +140,18 @@ To embed a dashboard, a trust relationship must be established between the host' } ``` - - `00001111-aaaa-2222-bbbb-3333cccc4444` is the application ID of Azure Data Explorer dashboard service. - - `388e2b3a-fdb8-4f0b-ae3e-0692ca9efc1c` is the user_impersonation permission. + In the above code, `388e2b3a-fdb8-4f0b-ae3e-0692ca9efc1c` is the user_impersonation permission. 1. In the **Manifest**, save your changes. 1. Select **API permissions** and validate you have a new entry: **RTD Metadata Service**. 1. Under Microsoft Graph, add permissions for `People.Read`, `User.ReadBasic.All`, and `Group.Read.All`. 1. In Azure PowerShell, add the following new service principal for the app: + > [!IMPORTANT] + > Replace `` with the application ID of the **RTD Metadata Service** you got earlier. + ```powershell - New-MgServicePrincipal -AppId 00001111-aaaa-2222-bbbb-3333cccc4444 + New-MgServicePrincipal -AppId ``` From 40dfd682f28efd034ea03eca6f78f43027a83033 Mon Sep 17 00:00:00 2001 From: Sreedhar Pelluru <6722422+spelluru@users.noreply.github.com> Date: Thu, 26 Feb 2026 21:37:00 -0500 Subject: [PATCH 4/7] Fix typos and improve clarity in documentation --- .../kusto/api/monaco/host-web-ux-in-iframe.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md b/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md index 6f8da610a9..f5f1f56024 100644 --- a/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md +++ b/data-explorer/kusto/api/monaco/host-web-ux-in-iframe.md @@ -33,7 +33,7 @@ The `workspace=` query parameter creates a separate workspace for the embe ### Handle authentication -When embedding the web UI, the hosting page is responsible for authentication. The following diagrams describe the authentication flow. +When you embed the web UI, the hosting page is responsible for authentication. The following diagrams describe the authentication flow. :::image type="content" source="../media/host-web-ux-in-iframe/adx-embed-sequence-diagram.png" lightbox="../media/host-web-ux-in-iframe/adx-embed-sequence-diagram.png" alt-text="Diagram that shows the authentication flow for an embedded web U I iframe."::: @@ -60,7 +60,7 @@ Use the following steps to handle authentication: | Graph | `People.Read` | `People.Read`, `User.ReadBasic.All`, `Group.Read.All` | | Dashboards | `https://rtd-metadata.azurewebsites.net/user_impersonation` | `https://rtd-metadata.azurewebsites.net/user_impersonation` | - For example, the following function maps scopes based on the information in the table. + For example, the following function maps the scopes based on the information in the table. ```javascript function mapScope(scope) { @@ -74,7 +74,7 @@ Use the following steps to handle authentication: 1. Get a [JWT access token](https://tools.ietf.org/html/rfc7519) from the [Perform Single Page Application (SPA) authentication](../rest/authenticate-with-msal.md#perform-single-page-application-spa-authentication) for the scope. This code replaces placeholder CODE-1. - For example, you can use @azure/MSAL-react to get the access token. The example uses the **mapScope** function you defined earlier. + For example, you can use `@azure/MSAL-react` to get the access token. The example uses the **mapScope** function you defined earlier. ```javascript import { useMsal } from "@azure/msal-react"; @@ -91,7 +91,7 @@ Use the following steps to handle authentication: ``` > [!IMPORTANT] - > You can only use User Principal Name (UPN) for authentication, service principals are not supported. + > You can only use User Principal Name (UPN) for authentication, service principals aren't supported. 1. Post a **postToken** message with the access token. This code replaces placeholder CODE-2: @@ -166,7 +166,7 @@ To embed a dashboard, a trust relationship must be established between the host' >