Skip to content

Commit 72aa1f2

Browse files
authored
Merge branch 'main' into vtap-public-preview
2 parents a815601 + f8e9008 commit 72aa1f2

File tree

2,047 files changed

+16460
-14730
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,047 files changed

+16460
-14730
lines changed

articles/active-directory-b2c/analytics-with-application-insights.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: CelesteDG
99
ms.service: azure-active-directory
1010
ms.topic: how-to
1111

12-
ms.date: 01/26/2024
12+
ms.date: 04/17/2025
1313
ms.author: kengaderdus
1414
ms.subservice: b2c
1515
zone_pivot_groups: b2c-policy-type
@@ -31,7 +31,7 @@ zone_pivot_groups: b2c-policy-type
3131

3232
::: zone pivot="b2c-custom-policy"
3333

34-
In Azure Active Directory B2C (Azure AD B2C), you can send event data directly to [Application Insights](/azure/azure-monitor/app/app-insights-overview) by using the instrumentation key provided to Azure AD B2C. With an Application Insights technical profile, you can get detailed and customized event logs for your user journeys to:
34+
In Azure Active Directory B2C (Azure AD B2C), you can send event data directly to [Application Insights](/azure/azure-monitor/app/app-insights-overview) by using the connection string provided to Azure AD B2C. With an Application Insights technical profile, you can get detailed and customized event logs for your user journeys to:
3535

3636
- Gain insights on user behavior.
3737
- Troubleshoot your own policies in development or in production.
@@ -42,7 +42,7 @@ In Azure Active Directory B2C (Azure AD B2C), you can send event data directly t
4242

4343
## Overview
4444

45-
To enable custom event logs, add an Application Insights technical profile. In the technical profile, you define the Application Insights instrumentation key, the event name, and the claims to record. To post an event, add the technical profile as an orchestration step in a [user journey](userjourneys.md).
45+
To enable custom event logs, add an Application Insights technical profile. In the technical profile, you define the Application Insights connection string, the event name, and the claims to record. To post an event, add the technical profile as an orchestration step in a [user journey](userjourneys.md).
4646

4747
When you use Application Insights, consider the following:
4848

@@ -57,7 +57,7 @@ When you use Application Insights, consider the following:
5757

5858
## Create an Application Insights resource
5959

60-
When you use Application Insights with Azure AD B2C, all you need to do is create a resource and get the instrumentation key. For information, see [Create an Application Insights resource](/previous-versions/azure/azure-monitor/app/create-new-resource).
60+
When you use Application Insights with Azure AD B2C, all you need to do is create a resource and get the connection string. For information, see [Create an Application Insights resource](/previous-versions/azure/azure-monitor/app/create-new-resource).
6161

6262
1. Sign in to the [Azure portal](https://portal.azure.com/).
6363
1. If you have access to multiple tenants, select the **Settings** icon in the top menu to switch to your Microsoft Entra ID tenant from the **Directories + subscriptions** menu.
@@ -67,9 +67,9 @@ When you use Application Insights with Azure AD B2C, all you need to do is creat
6767
1. For **Application Type**, select **ASP.NET web application**.
6868
1. For **Resource Group**, select an existing group or enter a name for a new group.
6969
1. Select **Create**.
70-
1. Open the new Application Insights resource, expand **Essentials**, and copy the instrumentation key.
70+
1. Open the new Application Insights resource, expand **Essentials**, and copy the connection string.
7171

72-
![Screenshot that shows the Instrumentation Key on the Application Insights Overview tab.](./media/analytics-with-application-insights/app-insights.png)
72+
![Screenshot that shows the connection string on the Application Insights Overview tab.](./media/analytics-with-application-insights/app-insights.png)
7373

7474
## Define claims
7575

@@ -122,7 +122,7 @@ Technical profiles can be considered functions in the custom policy. These funct
122122

123123
| Technical profile | Task |
124124
| ----------------- | -----|
125-
| AppInsights-Common | The common technical profile with typical configuration. It includes the Application Insights instrumentation key, a collection of claims to record, and developer mode. The other technical profiles include the common technical profile and add more claims, such as the event name. |
125+
| AppInsights-Common | The common technical profile with typical configuration. It includes the Application Insights connection string, a collection of claims to record, and developer mode. The other technical profiles include the common technical profile and add more claims, such as the event name. |
126126
| AppInsights-SignInRequest | Records a **SignInRequest** event with a set of claims when a sign-in request has been received. |
127127
| AppInsights-UserSignUp | Records a **UserSignUp** event when the user triggers the sign-up option in a sign-up or sign-in journey. |
128128
| AppInsights-SignInComplete | Records a **SignInComplete** event upon successful authentication, when a token has been sent to the relying party application. |
@@ -137,8 +137,8 @@ Open the *TrustFrameworkExtensions.xml* file from the starter pack. Add the tech
137137
<DisplayName>Application Insights</DisplayName>
138138
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.Insights.AzureApplicationInsightsProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
139139
<Metadata>
140-
<!-- The ApplicationInsights instrumentation key, which you use for logging the events -->
141-
<Item Key="InstrumentationKey">xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</Item>
140+
<!-- The ApplicationInsights connection string, which you use for logging the events -->
141+
<Item Key="ConnectionString">xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</Item>
142142
<Item Key="DeveloperMode">false</Item>
143143
<Item Key="DisableTelemetry ">false</Item>
144144
</Metadata>
@@ -181,7 +181,7 @@ Open the *TrustFrameworkExtensions.xml* file from the starter pack. Add the tech
181181
```
182182

183183
> [!IMPORTANT]
184-
> Change the instrumentation key in the `AppInsights-Common` technical profile to the GUID that your Application Insights resource provides.
184+
> Change the connection string in the `AppInsights-Common` technical profile to the GUID that your Application Insights resource provides.
185185
186186
## Add the technical profiles as orchestration steps
187187

articles/active-directory-b2c/best-practices.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Manage your Azure AD B2C environment.
8282
| Use version control for your custom policies | Consider using GitHub, Azure Repos, or another cloud-based version control system for your Azure AD B2C custom policies. |
8383
| Use the Microsoft Graph API to automate the management of your B2C tenants | Microsoft Graph APIs:<br/>Manage [Identity Experience Framework](/graph/api/resources/trustframeworkpolicy?preserve-view=true&view=graph-rest-beta) (custom policies)<br/>[Keys](/graph/api/resources/trustframeworkkeyset?preserve-view=true&view=graph-rest-beta)<br/>[User Flows](/graph/api/resources/identityuserflow?preserve-view=true&view=graph-rest-beta) |
8484
| Integrate with Azure DevOps | A [CI/CD pipeline](deploy-custom-policies-devops.md) makes moving code between different environments easy and ensures production readiness always. |
85-
| Deploy custom policy | Azure AD B2C relies on caching to deliver performance to your end users. When you deploy a custom policy using whatever method, expect a delay of up to **30 minutes** for your users to see the changes. As a result of this behavior, consider the following practices when you deploy your custom policies: <br> - If you're deploying to a development environment, set the `DeploymentMode` attribute in your custom policy file's `<TrustFrameworkPolicy>` element to `Production`. <br> - Deploy your updated policy files to a production environment when traffic in your app is low. <br> - When you deploy to a production environment to update existing policy files, upload the updated files with new name(s), and then update your app reference to the new name(s). You can then remove the old policy files afterwards.<br> - You can set the `DeploymentMode` to `Development` in a production environment to bypass the caching behavior. However, we don't recommend this practice. If you [Collect Azure AD B2C logs with Application Insights](troubleshoot-with-application-insights.md), all claims sent to and from identity providers are collected, which is a security and performance risk. |
85+
| Deploy custom policy | Azure AD B2C relies on caching to deliver performance to your end users. When you deploy a custom policy using whatever method, expect a delay of up to **30 minutes** for your users to see the changes. As a result of this behavior, consider the following practices when you deploy your custom policies: <br> - If you're deploying to a development environment, set the `DeploymentMode` attribute in your custom policy file's `<TrustFrameworkPolicy>` element to `Production`. <br> - Deploy your updated policy files to a production environment when traffic in your app is low. <br> - When you deploy to a production environment to update existing policy files, upload the updated files with new names, which act as new versions of the policies. Then, update your app references to the new names/versions. You can remove the old policy files afterward or keep them as your last known good configuration for easy rollback.<br> - If you need to deploy to a production environment to update existing policy files without versioning, make the new policy backward compatible with the old policy by following some simple rules. If you need to change a technical profile, claim, or [SubJourney](subjourneys.md), create a new version of it, publish the policy, and wait for 30 minutes for Azure AD B2C caches to pick up the new version. Then, in a subsequent update, make changes to use the new version and perform another policy update. Wait for another 30 minutes, then you can delete the old version of the elements if needed. Ensure all of your business logic is inside SubJourneys.<br> - You can set the `DeploymentMode` to `Development` in a production environment to bypass the caching behavior. However, we don't recommend this practice. If you [Collect Azure AD B2C logs with Application Insights](troubleshoot-with-application-insights.md), all claims sent to and from identity providers are collected, which is a security and performance risk. |
8686
| Deploy app registration updates | When you modify your application registration in your Azure AD B2C tenant, such as updating the application's redirect URI, expect a delay of up to **2 hours (3600s)** for the changes to take effect in the production environment. We recommend that you modify your application registration in your production environment when traffic in your app is low.|
8787
| Integrate with Azure Monitor | [Audit log events](view-audit-logs.md) are only retained for seven days. [Integrate with Azure Monitor](azure-monitor.md) to retain the logs for long-term use, or integrate with third-party security information and event management (SIEM) tools to gain insights into your environment. |
8888
| Setup active alerting and monitoring | [Track user behavior](./analytics-with-application-insights.md) in Azure AD B2C using Application Insights. |

articles/active-directory-b2c/jwt-issuer-technical-profile.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ ms.author: kengaderdus
1414
ms.subservice: b2c
1515

1616

17-
#Customer intent: As a developer implementing custom policies in Azure Active Directory B2C, I want to define a technical profile for a JWT token issuer, so that I can emit a JWT token that is returned to the relying party application during the authentication flow.
17+
#Customer intent: As a developer implementing custom policies in Azure Active Directory B2C, I want to define a technical profile for a JWT issuer, so that I can emit a JWT that is returned to the relying party application during the authentication flow.
1818

1919
---
2020

21-
# Define a technical profile for a JWT token issuer in an Azure Active Directory B2C custom policy
21+
# Define a technical profile for a JWT issuer in an Azure Active Directory B2C custom policy
2222

2323
[!INCLUDE [active-directory-b2c-advanced-audience-warning](../../includes/active-directory-b2c-advanced-audience-warning.md)]
2424

25-
Azure Active Directory B2C (Azure AD B2C) emits several types of security tokens as it processes each authentication flow. A technical profile for a JWT token issuer emits a JWT token that is returned back to the relying party application. Usually this technical profile is the last orchestration step in the user journey.
25+
Azure Active Directory B2C (Azure AD B2C) emits several types of security tokens as it processes each authentication flow. A technical profile for a JWT issuer emits a JWT that is returned back to the relying party application. Usually this technical profile is the last orchestration step in the user journey.
2626

2727
## Protocol
2828

@@ -73,7 +73,7 @@ The CryptographicKeys element contains the following attributes:
7373

7474
| Attribute | Required | Description |
7575
| --------- | -------- | ----------- |
76-
| issuer_secret | Yes | The X509 certificate (RSA key set) to use to sign the JWT token. This is the `B2C_1A_TokenSigningKeyContainer` key you configure in [Get started with custom policies](tutorial-create-user-flows.md?pivots=b2c-custom-policy). |
76+
| issuer_secret | Yes | The X509 certificate (RSA key set) to use to sign the JWT. This is the `B2C_1A_TokenSigningKeyContainer` key you configure in [Get started with custom policies](tutorial-create-user-flows.md?pivots=b2c-custom-policy). |
7777
| issuer_refresh_token_key | Yes | The X509 certificate (RSA key set) to use to encrypt the refresh token. You configured the `B2C_1A_TokenEncryptionKeyContainer` key in [Get started with custom policies](tutorial-create-user-flows.md?pivots=b2c-custom-policy) |
7878

7979
## Session management

articles/active-directory-b2c/microsoft-graph-operations.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: kengaderdus
66
manager: CelesteDG
77
ms.service: azure-active-directory
88
ms.topic: how-to
9-
ms.date: 02/19/2025
9+
ms.date: 04/18/2025
1010
ms.author: kengaderdus
1111
ms.subservice: b2c
1212

@@ -139,9 +139,9 @@ The top-level resource for policy keys in the Microsoft Graph API is the [Truste
139139
## Applications
140140

141141
- [List applications](/graph/api/application-list)
142-
- [Create an application](/graph/api/resources/application)
142+
- [Create an application](/graph/api/application-post-applications)
143143
- [Update application](/graph/api/application-update)
144-
- [Create servicePrincipal](/graph/api/resources/serviceprincipal)
144+
- [Create servicePrincipal](/graph/api/serviceprincipal-post-serviceprincipals)
145145
- [Create oauth2Permission Grant](/graph/api/resources/oauth2permissiongrant)
146146
- [Delete application](/graph/api/application-delete)
147147

@@ -195,7 +195,7 @@ For more information about accessing Azure AD B2C audit logs, see [Accessing Azu
195195
- [List the built-in templates for Conditional Access policy scenarios](/graph/api/conditionalaccessroot-list-templates)
196196
- [List all of the Conditional Access policies](/graph/api/conditionalaccessroot-list-policies)
197197
- [Read properties and relationships of a Conditional Access policy](/graph/api/conditionalaccesspolicy-get)
198-
- [Create a new Conditional Access policy](/graph/api/resources/application)
198+
- [Create a new Conditional Access policy](/graph/api/conditionalaccessroot-post-policies)
199199
- [Update a Conditional Access policy](/graph/api/conditionalaccesspolicy-update)
200200
- [Delete a Conditional Access policy](/graph/api/conditionalaccesspolicy-delete)
201201

@@ -225,4 +225,4 @@ You can manage Microsoft Graph in two ways:
225225
<!-- LINK -->
226226

227227
[graph-objectIdentity]: /graph/api/resources/objectidentity
228-
[graph-user]: /graph/api/resources/user
228+
[graph-user]: /graph/api/resources/user

articles/active-directory-b2c/partner-ping-identity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ You can use basic user flows or advanced Identity Enterprise Framework (IEF) pol
9595

9696
![Screenshot of the subject sub claim URL on the Token compatibility dialog.](./media/partner-ping/token-setting.png)
9797

98-
In the advanced policies, configuration includes the IssuanceClaimPattern metadata element to AuthorityWithTfp value in the [JWT token issuer technical profile](./jwt-issuer-technical-profile.md).
98+
In the advanced policies, configuration includes the IssuanceClaimPattern metadata element to AuthorityWithTfp value in the [JWT issuer technical profile](./jwt-issuer-technical-profile.md).
9999

100100
## Configure PingAccess and PingFederate
101101

articles/active-directory-b2c/relyingparty.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ manager: CelesteDG
88
ms.service: azure-active-directory
99

1010
ms.topic: reference
11-
ms.date: 03/21/2025
11+
ms.date: 04/17/2025
1212
ms.author: kengaderdus
1313
ms.subservice: b2c
1414

@@ -46,7 +46,7 @@ The following example shows a **RelyingParty** element in the *B2C_1A_signup_sig
4646
<SingleSignOn Scope="Tenant" KeepAliveInDays="7"/>
4747
<SessionExpiryType>Rolling</SessionExpiryType>
4848
<SessionExpiryInSeconds>900</SessionExpiryInSeconds>
49-
<JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="your-application-insights-key" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
49+
<JourneyInsights TelemetryEngine="ApplicationInsights" ConnectionString="your-application-insights-connection-string" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
5050
<ContentDefinitionParameters>
5151
<Parameter Name="campaignId">{OAUTH-KV:campaignId}</Parameter>
5252
</ContentDefinitionParameters>
@@ -143,7 +143,7 @@ The **UserJourneyBehaviors** element contains the following elements:
143143
| SingleSignOn | 0:1 | The scope of the single sign-on (SSO) session behavior of a user journey. |
144144
| SessionExpiryType |0:1 | The authentication behavior of the session. Possible values: `Rolling` or `Absolute`. The `Rolling` value (default) indicates that the user remains signed in as long as the user is continually active in the application. The `Absolute` value indicates that the user is forced to reauthenticate after the time period specified by application session lifetime. |
145145
| SessionExpiryInSeconds | 0:1 | The lifetime of Azure AD B2C's session cookie specified as an integer stored on the user's browser upon successful authentication. The default is 86,400 seconds (24 hours). The minimum is 900 seconds (15 minutes). The maximum is 86,400 seconds (24 hours). |
146-
| JourneyInsights | 0:1 | The Azure Application Insights instrumentation key to be used. |
146+
| JourneyInsights | 0:1 | The Azure Application Insights connection string to be used. |
147147
| ContentDefinitionParameters | 0:1 | The list of key value pairs to be appended to the content definition load URI. |
148148
| JourneyFraming | 0:1| Allows the user interface of this policy to be loaded in an iframe. |
149149
| ScriptExecution| 0:1| The supported [JavaScript](javascript-and-page-layout.md) execution modes. Possible values: `Allow` or `Disallow` (default).
@@ -168,7 +168,7 @@ The **JourneyInsights** element contains the following attributes:
168168
| Attribute | Required | Description |
169169
| --------- | -------- | ----------- |
170170
| TelemetryEngine | Yes | The value must be `ApplicationInsights`. |
171-
| InstrumentationKey | Yes | The string that contains the instrumentation key for the application insights element. |
171+
| ConnectionString | Yes | The string that contains the connection string for the application insights element. |
172172
| DeveloperMode | Yes | Possible values: `true` or `false`. If `true`, Application Insights expedites the telemetry through the processing pipeline. This setting is good for development, but constrained at high volumes. The detailed activity logs are designed only to aid in development of custom policies. Do not use development mode in production. Logs collect all claims sent to and from the identity providers during development. If used in production, the developer assumes responsibility for personal data collected in the App Insights log that they own. These detailed logs are only collected when this value is set to `true`.|
173173
| ClientEnabled | Yes | Possible values: `true` or `false`. If `true`, sends the Application Insights client-side script for tracking page view and client-side errors. |
174174
| ServerEnabled | Yes | Possible values: `true` or `false`. If `true`, sends the existing UserJourneyRecorder JSON as a custom event to Application Insights. |
@@ -343,4 +343,4 @@ The following example shows how to define a SAML relying party. The subject name
343343
<SubjectNamingInfo ClaimType="sub" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>
344344
</TechnicalProfile>
345345
</RelyingParty>
346-
```
346+
```

0 commit comments

Comments
 (0)