Skip to content

Commit 55db4fc

Browse files
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into v-dele-1674365
2 parents 5463df9 + 9b191b8 commit 55db4fc

File tree

2,481 files changed

+43294
-23777
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,481 files changed

+43294
-23777
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
Thumbs.db
44

55
# Visual Studio and VS Code files
6-
.settings.json
76
.vscode/*
87
.vs/*
98
log/
@@ -24,3 +23,4 @@ AzureMigration.ps1
2423
!/.vscode/extensions.json
2524
.gitignore
2625
**/.vscode/settings.json
26+
!/.vscode/settings.json

.openpublishing.redirection.json

Lines changed: 632 additions & 115 deletions
Large diffs are not rendered by default.

.vscode/settings.json

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"markdown.docsetLanguages": [
3+
".NET Core CLI",
4+
"Apache",
5+
"ASPX",
6+
"AzCopy",
7+
"Azure CLI",
8+
"Azure CLI (Interactive)",
9+
"Azure Powershell",
10+
"Azure Powershell (Interactive)",
11+
"Bash",
12+
"C",
13+
"C#",
14+
"C# (Interactive)",
15+
"C++",
16+
"CSS",
17+
"DAX Power BI",
18+
"Diff",
19+
"Dockerfile",
20+
"DOS",
21+
"F#",
22+
"Go",
23+
"Gradle",
24+
"Groovy",
25+
"HTML",
26+
"HTTP",
27+
"Ini",
28+
"Java",
29+
"JavaScript",
30+
"JSON",
31+
"Kotlin",
32+
"Kusto",
33+
"Markdown",
34+
"MS Graph (Interactive)",
35+
"Objective C",
36+
"PHP",
37+
"Plaintext no highlight",
38+
"PostgreSQL & PL/pgSQL",
39+
"PowerShell",
40+
"PowerShell (Interactive)",
41+
"Properties",
42+
"Python",
43+
"R",
44+
"Razor CSHTML",
45+
"Ruby",
46+
"Scala",
47+
"Shell",
48+
"Solidity",
49+
"SQL",
50+
"Swift",
51+
"Terraform (HCL)",
52+
"TypeScript",
53+
"VB.NET",
54+
"XAML",
55+
"XML",
56+
"YAML"
57+
]
58+
}

CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Testing the new code owners feature in GitHub. Please contact Cory Fowler if you have questions.
22
# Cognitive Services
3-
articles/cognitive-services/ @diberry @erhopf, @nitinme
3+
articles/cognitive-services/ @diberry @erhopf @aahill @ievangelist @patrickfarley @nitinme
44

55
# DevOps
66
articles/ansible/ @TomArcherMsft

articles/active-directory-b2c/TOC.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,6 @@
182182
- name: Custom email
183183
href: custom-email.md
184184
displayName: verification
185-
- name: Page layout
186-
href: page-layout.md
187185
- name: Enable JavaScript
188186
href: javascript-samples.md
189187
- name: Password complexity
@@ -383,6 +381,8 @@
383381
href: custom-policy-developer-notes.md
384382
- name: Code samples
385383
href: https://azure.microsoft.com/resources/samples/?service=active-directory-b2c
384+
- name: Page layout versions
385+
href: page-layout.md
386386
- name: Cookie definitions
387387
href: cookie-definitions.md
388388
displayName: cookies, SameSite
@@ -421,4 +421,4 @@
421421
href: support-options.md
422422
displayName: technical
423423
- name: Videos
424-
href: https://azure.microsoft.com/documentation/videos/index/?services=active-directory-b2c
424+
href: https://azure.microsoft.com/documentation/videos/index/?services=active-directory-b2c

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: reference
12-
ms.date: 09/10/2018
12+
ms.date: 02/13/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -258,6 +258,7 @@ The following technical profile deletes a social user account using **alternativ
258258
| UserMessageIfClaimsPrincipalAlreadyExists | No | If an error is to be raised (see RaiseErrorIfClaimsPrincipalAlreadyExists attribute description), specify the message to show to the user if user object already exists. The value can be [localized](localization.md).|
259259
| ApplicationObjectId | No | The application object identifier for extension attributes. Value: ObjectId of an application. For more information, see [Use custom attributes in a custom profile edit policy](custom-policy-custom-attributes.md). |
260260
| ClientId | No | The client identifier for accessing the tenant as a third party. For more information, see [Use custom attributes in a custom profile edit policy](custom-policy-custom-attributes.md) |
261+
| IncludeClaimResolvingInClaimsHandling  | No | For input and output claims, specifies whether [claims resolution](claim-resolver-overview.md) is included in the technical profile. Possible values: `true`, or `false` (default). If you want to use a claims resolver in the technical profile, set this to `true`. |
261262

262263

263264

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.topic: conceptual
1111
ms.workload: identity
12-
ms.date: 10/12/2018
12+
ms.date: 02/11/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515

@@ -154,7 +154,7 @@ Add the profiles to the *TrustFrameworkExtensions.xml* file from the starter pac
154154
<InputClaims>
155155
<!-- Properties of an event are added through the syntax {property:NAME}, where NAME is property being added to the event. DefaultValue can be either a static value or a value that's resolved by one of the supported DefaultClaimResolvers. -->
156156
<InputClaim ClaimTypeReferenceId="PolicyId" PartnerClaimType="{property:Policy}" DefaultValue="{Policy:PolicyId}" />
157-
<InputClaim ClaimTypeReferenceId="CorrelationId" PartnerClaimType="{property:JourneyId}" />
157+
<InputClaim ClaimTypeReferenceId="CorrelationId" PartnerClaimType="{property:JourneyId}" DefaultValue="{Context:CorrelationId}" />
158158
<InputClaim ClaimTypeReferenceId="Culture" PartnerClaimType="{property:Culture}" DefaultValue="{Culture:RFC5646}" />
159159
</InputClaims>
160160
</TechnicalProfile>

articles/active-directory-b2c/azure-monitor.md

Lines changed: 36 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ms.workload: identity
1111
ms.topic: conceptual
1212
ms.author: marsma
1313
ms.subservice: B2C
14-
ms.date: 02/05/2020
14+
ms.date: 02/10/2020
1515
---
1616

1717
# Monitor Azure AD B2C with Azure Monitor
@@ -20,9 +20,9 @@ Use Azure Monitor to route Azure Active Directory B2C (Azure AD B2C) sign-in and
2020

2121
You can route log events to:
2222

23-
* An Azure storage account.
24-
* An Azure event hub (and integrate with your Splunk and Sumo Logic instances).
25-
* An Azure Log Analytics workspace (to analyze data, create dashboards, and alert on specific events).
23+
* An Azure [storage account](../storage/blobs/storage-blobs-introduction.md).
24+
* An Azure [event hub](../event-hubs/event-hubs-about.md) (and integrate with your Splunk and Sumo Logic instances).
25+
* An [Log Analytics workspace](../azure-monitor/platform/resource-logs-collect-workspace.md) (to analyze data, create dashboards, and alert on specific events).
2626

2727
![Azure Monitor](./media/azure-monitor/azure-monitor-flow.png)
2828

@@ -38,15 +38,15 @@ You can also use the [Azure Cloud Shell](https://shell.azure.com), which include
3838

3939
Azure AD B2C leverages [Azure Active Directory monitoring](../active-directory/reports-monitoring/overview-monitoring.md). To enable *Diagnostic settings* in Azure Active Directory within your Azure AD B2C tenant, you use [delegated resource management](../lighthouse/concepts/azure-delegated-resource-management.md).
4040

41-
You authorize a user in your Azure AD B2C directory (the **Service Provider**) to configure the Azure Monitor instance within the tenant that contains your Azure subscription (the **Customer**). To create the authorization, you deploy an [Azure Resource Manager](../azure-resource-manager/index.yml) template to your Azure AD tenant containing the subscription. The following sections walk you through the process.
41+
You authorize a user or group in your Azure AD B2C directory (the **Service Provider**) to configure the Azure Monitor instance within the tenant that contains your Azure subscription (the **Customer**). To create the authorization, you deploy an [Azure Resource Manager](../azure-resource-manager/index.yml) template to your Azure AD tenant containing the subscription. The following sections walk you through the process.
4242

43-
## Create a resource group
43+
## Create or choose resource group
4444

45-
In the Azure Active Directory (Azure AD) tenant that contains your Azure subscription (*not* the directory that contains your Azure AD B2C tenant), [create a resource group](../azure-resource-manager/management/manage-resource-groups-portal.md#create-resource-groups). Use the following values:
45+
This is the resource group containing the destination Azure storage account, event hub, or Log Analytics workspace to receive data from Azure Monitor. You specify the resource group name when you deploy the Azure Resource Manager template.
4646

47-
* **Subscription**: Select your Azure subscription.
48-
* **Resource group**: Enter name for the resource group. For example, *azure-ad-b2c-monitor*.
49-
* **Region**: Select an Azure location. For example, *Central US*.
47+
[Create a resource group](../azure-resource-manager/management/manage-resource-groups-portal.md#create-resource-groups) or choose an existing one in the Azure Active Directory (Azure AD) tenant that contains your Azure subscription, *not* the directory that contains your Azure AD B2C tenant.
48+
49+
This example uses a resource group named *azure-ad-b2c-monitor* in the *Central US* region.
5050

5151
## Delegate resource management
5252

@@ -205,20 +205,42 @@ Once you've deployed the template and have waited a few minutes for the resource
205205

206206
## Configure diagnostic settings
207207

208-
After you've delegated resource management and have selected your subscription, you're ready to [Create diagnostic settings](../active-directory/reports-monitoring/overview-monitoring.md) in the Azure portal.
208+
Diagnostic settings define where logs and metrics for a resource should be sent. Possible destinations are:
209+
210+
- [Azure storage account](../azure-monitor/platform/resource-logs-collect-storage.md)
211+
- [Event hubs](../azure-monitor/platform/resource-logs-stream-event-hubs.md) solutions.
212+
- [Log Analytics workspace](../azure-monitor/platform/resource-logs-collect-workspace.md)
213+
214+
If you haven't already, create an instance of your chosen destination type in the resource group you specified in the [Azure Resource Manager template](#create-an-azure-resource-manager-template).
215+
216+
### Create diagnostic settings
217+
218+
You're ready to [Create diagnostic settings](../active-directory/reports-monitoring/overview-monitoring.md) in the Azure portal.
209219

210220
To configure monitoring settings for Azure AD B2C activity logs:
211221

212222
1. Sign in to the [Azure portal](https://portal.azure.com/).
213223
1. Select the **Directory + Subscription** icon in the portal toolbar, and then select the directory that contains your Azure AD B2C tenant.
214224
1. Select **Azure Active Directory**
215225
1. Under **Monitoring**, select **Diagnostic settings**.
216-
1. Select **+ Add diagnostic setting**.
226+
1. If there are existing settings on the resource, you will see a list of settings already configured. Either select **Add diagnostic setting** to add a new setting, or **Edit** setting to edit an existing one. Each setting can have no more than one of each of the destination types..
217227

218228
![Diagnostics settings pane in Azure portal](./media/azure-monitor/azure-monitor-portal-05-diagnostic-settings-pane-enabled.png)
219229

230+
1. Give your setting a name if it doesn't already have one.
231+
1. Check the box for each destination to send the logs. Select **Configure** to specify their settings as described in the following table.
232+
233+
| Setting | Description |
234+
|:---|:---|
235+
| Archive to a storage account | Name of storage account. |
236+
| Stream to an event hub | The namespace where the event hub is created (if this is your first time streaming logs) or streamed to (if there are already resources that are streaming that log category to this namespace).
237+
| Send to Log Analytics | Name of workspace. |
238+
239+
1. Select **AuditLogs** and **SignInLogs**.
240+
1. Select **Save**.
241+
220242
## Next steps
221243

222-
For more information about adding and configuring diagnostic settings in Azure Monitor, see this tutorial in the Azure Monitor documentation:
244+
For more information about adding and configuring diagnostic settings in Azure Monitor, see [Tutorial: Collect and analyze resource logs from an Azure resource](../azure-monitor/insights/monitor-azure-resource.md).
223245

224-
[Tutorial: Collect and analyze resource logs from an Azure resource](/azure-monitor/learn/tutorial-resource-logs.md)
246+
For information about streaming Azure AD logs to an event hub, see [Tutorial: Stream Azure Active Directory logs to an Azure event hub](../active-directory/reports-monitoring/tutorial-azure-monitor-stream-logs-to-event-hub.md).

articles/active-directory-b2c/claim-resolver-overview.md

Lines changed: 69 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: reference
12-
ms.date: 01/25/2019
12+
ms.date: 02/13/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -100,13 +100,35 @@ Any parameter name included as part of an OIDC or OAuth2 request can be mapped t
100100
| ----- | ----------------------- | --------|
101101
| {oauth2:access_token} | The access token. | N/A |
102102

103-
## How to use claim resolvers
103+
## Using claim resolvers
104+
105+
You can use claims resolvers with the following elements:
106+
107+
| Item | Element | Settings |
108+
| ----- | ----------------------- | --------|
109+
|Application Insights technical profile |`InputClaim` | |
110+
|[Azure Active Directory](active-directory-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
111+
|[OAuth2](oauth2-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
112+
|[OpenID Connect](openid-connect-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
113+
|[Claims transformation](claims-transformation-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
114+
|[RESTful provider](restful-technical-profile.md) technical profile| `InputClaim`| 1, 2|
115+
|[SAML2](saml-technical-profile.md) technical profile| `OutputClaim`| 1, 2|
116+
|[Self-Asserted](self-asserted-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
117+
|[ContentDefinition](contentdefinitions.md)| `LoadUri`| |
118+
|[ContentDefinitionParameters](relyingparty.md#contentdefinitionparameters)| `Parameter` | |
119+
|[RelyingParty](relyingparty.md#technicalprofile) technical profile| `OutputClaim`| 2 |
120+
121+
Settings:
122+
1. The `IncludeClaimResolvingInClaimsHandling` metadata must be set to `true`.
123+
1. The input or output claims attribute `AlwaysUseDefaultValue` must be set to `true`.
124+
125+
## Claim resolvers samples
104126

105127
### RESTful technical profile
106128

107129
In a [RESTful](restful-technical-profile.md) technical profile, you may want to send the user language, policy name, scope, and client ID. Based on these claims the REST API can run custom business logic, and if necessary raise a localized error message.
108130

109-
The following example shows a RESTful technical profile:
131+
The following example shows a RESTful technical profile with this scenario:
110132

111133
```XML
112134
<TechnicalProfile Id="REST">
@@ -116,12 +138,13 @@ The following example shows a RESTful technical profile:
116138
<Item Key="ServiceUrl">https://your-app.azurewebsites.net/api/identity</Item>
117139
<Item Key="AuthenticationType">None</Item>
118140
<Item Key="SendClaimsIn">Body</Item>
141+
<Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
119142
</Metadata>
120143
<InputClaims>
121-
<InputClaim ClaimTypeReferenceId="userLanguage" DefaultValue="{Culture:LCID}" />
122-
<InputClaim ClaimTypeReferenceId="policyName" DefaultValue="{Policy:PolicyId}" />
123-
<InputClaim ClaimTypeReferenceId="scope" DefaultValue="{OIDC:scope}" />
124-
<InputClaim ClaimTypeReferenceId="clientId" DefaultValue="{OIDC:ClientId}" />
144+
<InputClaim ClaimTypeReferenceId="userLanguage" DefaultValue="{Culture:LCID}" AlwaysUseDefaultValue="true" />
145+
<InputClaim ClaimTypeReferenceId="policyName" DefaultValue="{Policy:PolicyId}" AlwaysUseDefaultValue="true" />
146+
<InputClaim ClaimTypeReferenceId="scope" DefaultValue="{OIDC:scope}" AlwaysUseDefaultValue="true" />
147+
<InputClaim ClaimTypeReferenceId="clientId" DefaultValue="{OIDC:ClientId}" AlwaysUseDefaultValue="true" />
125148
</InputClaims>
126149
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
127150
</TechnicalProfile>
@@ -133,9 +156,9 @@ Using claim resolvers, you can prepopulate the sign-in name or direct sign-in to
133156

134157
### Dynamic UI customization
135158

136-
Azure AD B2C enables you to pass query string parameters to your HTML content definition endpoints so that you can dynamically render the page content. For example, you can change the background image on the Azure AD B2C sign-up or sign-in page based on a custom parameter that you pass from your web or mobile application. For more information, see [Dynamically configure the UI by using custom policies in Azure Active Directory B2C](custom-policy-ui-customization-dynamic.md). You can also localize your HTML page based on a language parameter, or you can change the content based on the client ID.
159+
Azure AD B2C enables you to pass query string parameters to your HTML content definition endpoints to dynamically render the page content. For example, this allows the ability to modify the background image on the Azure AD B2C sign-up or sign-in page based on a custom parameter that you pass from your web or mobile application. For more information, see [Dynamically configure the UI by using custom policies in Azure Active Directory B2C](custom-policy-ui-customization-dynamic.md). You can also localize your HTML page based on a language parameter, or you can change the content based on the client ID.
137160

138-
The following example passes in the query string a parameter named **campaignId** with a value of `hawaii`, a **language** code of `en-US`, and **app** representing the client ID:
161+
The following example passes in the query string parameter named **campaignId** with a value of `hawaii`, a **language** code of `en-US`, and **app** representing the client ID:
139162

140163
```XML
141164
<UserJourneyBehaviors>
@@ -147,12 +170,23 @@ The following example passes in the query string a parameter named **campaignId*
147170
</UserJourneyBehaviors>
148171
```
149172

150-
As a result Azure AD B2C sends the above parameters to the HTML content page:
173+
As a result, Azure AD B2C sends the above parameters to the HTML content page:
151174

152175
```
153176
/selfAsserted.aspx?campaignId=hawaii&language=en-US&app=0239a9cc-309c-4d41-87f1-31288feb2e82
154177
```
155178

179+
### Content definition
180+
181+
In a [ContentDefinition](contentdefinitions.md) `LoadUri`, you can send claim resolvers to pull content from different places, based on the parameters used.
182+
183+
```XML
184+
<ContentDefinition Id="api.signuporsignin">
185+
<LoadUri>https://contoso.blob.core.windows.net/{Culture:LanguageName}/myHTML/unified.html</LoadUri>
186+
...
187+
</ContentDefinition>
188+
```
189+
156190
### Application Insights technical profile
157191

158192
With Azure Application Insights and claim resolvers you can gain insights on user behavior. In the Application Insights technical profile, you send input claims that are persisted to Azure Application Insights. For more information, see [Track user behavior in Azure AD B2C journeys by using Application Insights](analytics-with-application-insights.md). The following example sends the policy ID, correlation ID, language, and the client ID to Azure Application Insights.
@@ -170,3 +204,28 @@ With Azure Application Insights and claim resolvers you can gain insights on use
170204
</InputClaims>
171205
</TechnicalProfile>
172206
```
207+
208+
### Relying party policy
209+
210+
In a [Relying party](relyingparty.md) policy technical profile, you may want to send the tenant ID, or correlation ID to the relying party application within the JWT.
211+
212+
```XML
213+
<RelyingParty>
214+
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
215+
<TechnicalProfile Id="PolicyProfile">
216+
<DisplayName>PolicyProfile</DisplayName>
217+
<Protocol Name="OpenIdConnect" />
218+
<OutputClaims>
219+
<OutputClaim ClaimTypeReferenceId="displayName" />
220+
<OutputClaim ClaimTypeReferenceId="givenName" />
221+
<OutputClaim ClaimTypeReferenceId="surname" />
222+
<OutputClaim ClaimTypeReferenceId="email" />
223+
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
224+
<OutputClaim ClaimTypeReferenceId="identityProvider" />
225+
<OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
226+
<OutputClaim ClaimTypeReferenceId="correlationId" AlwaysUseDefaultValue="true" DefaultValue="{Context:CorrelationId}" />
227+
</OutputClaims>
228+
<SubjectNamingInfo ClaimType="sub" />
229+
</TechnicalProfile>
230+
</RelyingParty>
231+
```

0 commit comments

Comments
 (0)