Skip to content

Commit b1a8e17

Browse files
committed
pull master
2 parents fc022da + 50357b7 commit b1a8e17

File tree

3,860 files changed

+63210
-42452
lines changed

Some content is hidden

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

3,860 files changed

+63210
-42452
lines changed

.openpublishing.publish.config.json

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@
157157
"url": "https://github.com/Azure-Samples/functions-python-pytorch-tutorial",
158158
"branch": "master",
159159
"branch_mapping": {}
160-
},
160+
},
161161
{
162162
"path_to_root": "functions-quickstart-templates",
163163
"url": "https://github.com/Azure/azure-functions-templates",
@@ -187,7 +187,8 @@
187187
"path_to_root": "functions-docs-powershell",
188188
"url": "https://github.com/Azure-Samples/functions-docs-powershell",
189189
"branch": "master"
190-
}, {
190+
},
191+
{
191192
"path_to_root": "samples-personalizer",
192193
"url": "https://github.com/Azure-Samples/cognitive-services-personalizer-samples",
193194
"branch": "master"
@@ -277,6 +278,11 @@
277278
"url": "https://github.com/Azure/pcs-remote-monitoring-webui.git",
278279
"branch": "master"
279280
},
281+
{
282+
"path_to_root": "MachineLearningNotebooks",
283+
"url": "https://github.com/Azure/MachineLearningNotebooks",
284+
"branch": "master"
285+
},
280286
{
281287
"path_to_root": "aml-sdk-samples",
282288
"url": "https://github.com/Azure/MachineLearningNotebooks",
@@ -361,7 +367,7 @@
361367
"path_to_root": "azure-sdk-for-java-script-event-hubs",
362368
"url": "https://github.com/Azure/azure-sdk-for-js/",
363369
"branch": "master"
364-
},
370+
},
365371
{
366372
"path_to_root": "azure-sdk-for-net-event-hubs",
367373
"url": "https://github.com/Azure/azure-sdk-for-net/",
@@ -371,7 +377,7 @@
371377
"path_to_root": "azure-sdk-for-python-event-hubs",
372378
"url": "https://github.com/Azure/azure-sdk-for-python/",
373379
"branch": "master"
374-
},
380+
},
375381
{
376382
"path_to_root": "cosmos-dotnet-getting-started",
377383
"url": "https://github.com/Azure-Samples/cosmos-dotnet-getting-started",
@@ -505,5 +511,8 @@
505511
"Pdf": {
506512
"template_folder": "_themes.pdf"
507513
}
514+
},
515+
"docs_build_engine": {
516+
"name": "docfx_v3"
508517
}
509518
}

.openpublishing.redirection.json

Lines changed: 797 additions & 68 deletions
Large diffs are not rendered by default.

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,5 +57,6 @@
5757
],
5858
"cSpell.words": [
5959
"auditd"
60-
]
60+
],
61+
"git.ignoreLimitWarning": true
6162
}

CODEOWNERS

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ articles/jenkins/ @TomArcherMsft
99
articles/terraform/ @TomArcherMsft
1010

1111
# Requires Internal Review
12-
articles/best-practices-availability-paired-regions.md @jpconnock @arob98 @syntaxc4 @tysonn @snoviking
12+
articles/best-practices-availability-paired-regions.md @jpconnock @martinekuan @syntaxc4 @tysonn @snoviking
1313

1414
# Governance
1515
articles/governance/ @DCtheGeek
1616

1717
# Configuration
18-
*.json @SyntaxC4 @snoviking @arob98
19-
.acrolinx-config.edn @MonicaRush @arob98
20-
articles/zone-pivot-groups.yml @SyntaxC4 @snoviking @arob98
18+
*.json @SyntaxC4 @snoviking @martinekuan
19+
.acrolinx-config.edn @MonicaRush @martinekuan
20+
articles/zone-pivot-groups.yml @SyntaxC4 @snoviking @martinekuan

articles/active-directory-b2c/TOC.yml

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@
7474
href: custom-policy-overview.md
7575
- name: User accounts
7676
href: user-overview.md
77+
- name: User profile attributes
78+
href: user-profile-attributes.md
7779
- name: How-to guides
7880
items:
7981
- name: App integration
@@ -182,9 +184,13 @@
182184
- name: Customize the UI
183185
href: custom-policy-ui-customization.md
184186
displayName: ux, input, cors, html, css
187+
- name: Customize language
188+
href: custom-policy-localization.md
185189
- name: Custom email
186190
href: custom-email.md
187191
displayName: verification
192+
- name: Disable email verification
193+
href: custom-policy-disable-email-verification.md
188194
- name: Enable JavaScript
189195
href: javascript-samples.md
190196
- name: Password complexity
@@ -305,13 +311,15 @@
305311
items:
306312
- name: About technical profiles
307313
href: technical-profiles-overview.md
314+
- name: About validation technical profiles
315+
href: validation-technical-profile.md
316+
- name: Application Insights
317+
href: application-insights-technical-profile.md
318+
- name: Azure Active Directory
319+
href: active-directory-technical-profile.md
308320
- name: Azure Multi-Factor Authentication
309321
href: multi-factor-auth-technical-profile.md
310322
displayName: mfa
311-
- name: Claim resolvers
312-
href: claim-resolver-overview.md
313-
- name: Azure Active Directory
314-
href: active-directory-technical-profile.md
315323
- name: Claims transformation
316324
href: claims-transformation-technical-profile.md
317325
- name: JWT token issuer
@@ -325,6 +333,8 @@
325333
displayName: otp
326334
- name: OpenID Connect
327335
href: openid-connect-technical-profile.md
336+
- name: Phone factor
337+
href: phone-factor-technical-profile.md
328338
- name: REST
329339
href: restful-technical-profile.md
330340
- name: SAML
@@ -336,12 +346,12 @@
336346
- name: SSO session
337347
href: custom-policy-reference-sso.md
338348
displayName: single sign-on
339-
- name: Validation
340-
href: validation-technical-profile.md
341349
- name: UserJourneys
342350
href: userjourneys.md
343351
- name: RelyingParty
344352
href: relyingparty.md
353+
- name: Claim resolvers
354+
href: claim-resolver-overview.md
345355
- name: Use b2clogin.com
346356
items:
347357
- name: b2clogin.com overview
@@ -385,28 +395,28 @@
385395
href: user-migration.md
386396
- name: Reference
387397
items:
388-
- name: Identity Experience Framework release notes
389-
href: custom-policy-developer-notes.md
398+
- name: Billing model
399+
href: billing.md
390400
- name: Code samples
391401
href: https://azure.microsoft.com/resources/samples/?service=active-directory-b2c
392-
- name: Page layout versions
393-
href: page-layout.md
394402
- name: Cookie definitions
395403
href: cookie-definitions.md
396404
displayName: cookies, SameSite
397405
- name: Error codes
398406
href: error-codes.md
407+
- name: Extensions app
408+
href: extensions-app.md
409+
- name: Identity Experience Framework release notes
410+
href: custom-policy-developer-notes.md
399411
- name: Microsoft Graph API operations
400412
href: microsoft-graph-operations.md
413+
- name: Page layout versions
414+
href: page-layout.md
401415
- name: Region availability & data residency
402416
href: data-residency.md
403-
- name: Billing model
404-
href: billing.md
405417
- name: Threat management
406418
href: threat-management.md
407419
displayName: security
408-
- name: Extensions app
409-
href: extensions-app.md
410420
- name: User flow versions
411421
href: user-flow-versions.md
412422
- name: Resources

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

Lines changed: 25 additions & 18 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: 03/09/2020
12+
ms.date: 03/16/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -60,13 +60,13 @@ To read, update, or delete an existing user account, the input claim is a key th
6060

6161
To create a new user account, the input claim is a key that uniquely identifies a local or federated account. For example, local account: **signInNames.emailAddress**, or **signInNames.userName**. For a federated account: the **alternativeSecurityId**.
6262

63-
The InputClaimsTransformations element may contain a collection of input claims transformation elements that are used to modify the input claim or generate new one.
63+
The [InputClaimsTransformations](technicalprofiles.md#inputclaimstransformations) element may contain a collection of input claims transformation elements that are used to modify the input claim or generate new one.
6464

6565
## OutputClaims
6666

6767
The **OutputClaims** element contains a list of claims returned by the Azure AD technical profile. You may need to map the name of the claim defined in your policy to the name defined in Azure Active Directory. You can also include claims that aren't returned by the Azure Active Directory, as long as you set the `DefaultValue` attribute.
6868

69-
The **OutputClaimsTransformations** element may contain a collection of **OutputClaimsTransformation** elements that are used to modify the output claims or generate new ones.
69+
The [OutputClaimsTransformations](technicalprofiles.md#outputclaimstransformations) element may contain a collection of **OutputClaimsTransformation** elements that are used to modify the output claims or generate new ones.
7070

7171
For example, the **AAD-UserWriteUsingLogonEmail** technical profile creates a local account and returns the following claims:
7272

@@ -88,7 +88,7 @@ For example, the **AAD-UserWriteUsingLogonEmail** technical profile creates a lo
8888

8989
## PersistedClaims
9090

91-
The **PersistedClaims** element contains all of the values that should be persisted by Azure AD with possible mapping information between a claim type already defined in the ClaimsSchema section in the policy and the Azure AD attribute name.
91+
The **PersistedClaims** element contains all of the values that should be persisted by Azure AD with possible mapping information between a claim type already defined in the [ClaimsSchema](claimsschema.md) section in the policy and the Azure AD attribute name.
9292

9393
The **AAD-UserWriteUsingLogonEmail** technical profile, which creates new local account, persists following claims:
9494

@@ -111,6 +111,7 @@ The name of the claim is the name of the Azure AD attribute unless the **Partner
111111
## Requirements of an operation
112112

113113
- There must be exactly one **InputClaim** element in the claims bag for all Azure AD technical profiles.
114+
- The [user profile attributes article](user-profile-attributes.md) describes the supported Azure AD B2C user profile attributes you can use in the input claims, output claims, and persisted claims.
114115
- If the operation is `Write` or `DeleteClaims`, then it must also appear in a **PersistedClaims** element.
115116
- The value of the **userPrincipalName** claim must be in the format of `[email protected]`.
116117
- The **displayName** claim is required and cannot be an empty string.
@@ -119,9 +120,7 @@ The name of the claim is the name of the Azure AD attribute unless the **Partner
119120

120121
### Read
121122

122-
The **Read** operation reads data about a single user account. To read user data, you need to provide a key as an input claim, such as **objectId**, **userPrincipalName**, **signInNames** (any type, user name and email-based account) or **alternativeSecurityId**.
123-
124-
The following technical profile reads data about a user account using the user's objectId:
123+
The **Read** operation reads data about a single user account. The following technical profile reads data about a user account using the user's objectId:
125124

126125
```XML
127126
<TechnicalProfile Id="AAD-UserReadUsingObjectId">
@@ -151,9 +150,7 @@ The following technical profile reads data about a user account using the user's
151150

152151
### Write
153152

154-
The **Write** operation creates or updates a single user account. To write a user account, you need to provide a key as an input claim, such as **objectId**, **userPrincipalName**, **signInNames.emailAddress**, or **alternativeSecurityId**.
155-
156-
The following technical profile creates new social account:
153+
The **Write** operation creates or updates a single user account. The following technical profile creates new social account:
157154

158155
```XML
159156
<TechnicalProfile Id="AAD-UserWriteUsingAlternativeSecurityId">
@@ -193,9 +190,7 @@ The following technical profile creates new social account:
193190

194191
### DeleteClaims
195192

196-
The **DeleteClaims** operation clears the information from a provided list of claims. To delete information from claims, you need to provide a key as an input claim, such as **objectId**, **userPrincipalName**, **signInNames.emailAddress** or **alternativeSecurityId**.
197-
198-
The following technical profile deletes claims:
193+
The **DeleteClaims** operation clears the information from a provided list of claims. The following technical profile deletes claims:
199194

200195
```XML
201196
<TechnicalProfile Id="AAD-DeleteClaimsUsingObjectId">
@@ -216,9 +211,7 @@ The following technical profile deletes claims:
216211

217212
### DeleteClaimsPrincipal
218213

219-
The **DeleteClaimsPrincipal** operation deletes a single user account from the directory. To delete a user account, you need to provide a key as an input claim, such as **objectId**, **userPrincipalName**, **signInNames.emailAddress** or **alternativeSecurityId**.
220-
221-
The following technical profile deletes a user account from the directory using the user principal name:
214+
The **DeleteClaimsPrincipal** operation deletes a single user account from the directory. The following technical profile deletes a user account from the directory using the user principal name:
222215

223216
```XML
224217
<TechnicalProfile Id="AAD-DeleteUserUsingObjectId">
@@ -253,13 +246,27 @@ The following technical profile deletes a social user account using **alternativ
253246
| --------- | -------- | ----------- |
254247
| Operation | Yes | The operation to be performed. Possible values: `Read`, `Write`, `DeleteClaims`, or `DeleteClaimsPrincipal`. |
255248
| RaiseErrorIfClaimsPrincipalDoesNotExist | No | Raise an error if the user object does not exist in the directory. Possible values: `true` or `false`. |
256-
| UserMessageIfClaimsPrincipalDoesNotExist | No | If an error is to be raised (see the RaiseErrorIfClaimsPrincipalDoesNotExist attribute description), specify the message to show to the user if user object does not exist. The value can be [localized](localization.md).|
257249
| RaiseErrorIfClaimsPrincipalAlreadyExists | No | Raise an error if the user object already exists. Possible values: `true` or `false`.|
258-
| 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).|
259250
| 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). |
260251
| 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) |
261252
| 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`. |
262253

254+
## Error messages
255+
256+
The following settings can be used to configure the error message displayed upon failure. The metadata should be configured in the [self-asserted](self-asserted-technical-profile.md) technical profile. The error messages can be [localized](localization.md).
257+
258+
| Attribute | Required | Description |
259+
| --------- | -------- | ----------- |
260+
| 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. |
261+
| UserMessageIfClaimsPrincipalDoesNotExist | No | If an error is to be raised (see the RaiseErrorIfClaimsPrincipalDoesNotExist attribute description), specify the message to show to the user if user object does not exist. |
262+
263+
264+
## Next steps
265+
266+
See the following article, for example of using Azure AD technical profile:
267+
268+
- [Add claims and customize user input using custom policies in Azure Active Directory B2C](custom-policy-configure-user-input.md)
269+
263270

264271

265272

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
title: Define an Application Insights technical profile in a custom policy
3+
titleSuffix: Azure AD B2C
4+
description: Define an Application Insights technical profile in a custom policy in Azure Active Directory B2C.
5+
services: active-directory-b2c
6+
author: msmimart
7+
manager: celestedg
8+
9+
ms.service: active-directory
10+
ms.workload: identity
11+
ms.topic: reference
12+
ms.date: 03/20/2020
13+
ms.author: mimart
14+
ms.subservice: B2C
15+
---
16+
17+
18+
# Define an Application Insights technical profile in an Azure AD B2C custom policy
19+
20+
[!INCLUDE [active-directory-b2c-advanced-audience-warning](../../includes/active-directory-b2c-advanced-audience-warning.md)]
21+
22+
Azure Active Directory B2C (Azure AD B2C) supports sending event data directly to [Application Insights](../azure-monitor/app/app-insights-overview.md) 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:
23+
24+
* Gain insights on user behavior.
25+
* Troubleshoot your own policies in development or in production.
26+
* Measure performance.
27+
* Create notifications from Application Insights.
28+
29+
30+
## Protocol
31+
32+
The **Name** attribute of the **Protocol** element needs to be set to `Proprietary`. The **handler** attribute must contain the fully qualified name of the protocol handler assembly that is used by Azure AD B2C for Application Insights:
33+
`Web.TPEngine.Providers.AzureApplicationInsightsProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null`
34+
35+
The following example shows the common Application Insights technical profile. Other Application Insights technical profiles include the AzureInsights-Common to leverage its configuration.
36+
37+
```xml
38+
<TechnicalProfile Id="AzureInsights-Common">
39+
<DisplayName>Azure Insights Common</DisplayName>
40+
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.Insights.AzureApplicationInsightsProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
41+
</TechnicalProfile>
42+
```
43+
44+
## Input claims
45+
46+
The **InputClaims** element contains a list of claims to send to Application Insights. You can also map the name of your claim to a name you prefer to appear in Application Insights. The following example shows how to send telemetries to Application Insights. 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 [claim resolvers](claim-resolver-overview.md).
47+
48+
```XML
49+
<InputClaims>
50+
<InputClaim ClaimTypeReferenceId="PolicyId" PartnerClaimType="{property:Policy}" DefaultValue="{Policy:PolicyId}" />
51+
<InputClaim ClaimTypeReferenceId="CorrelationId" PartnerClaimType="{property:JourneyId}" DefaultValue="{Context:CorrelationId}" />
52+
<InputClaim ClaimTypeReferenceId="Culture" PartnerClaimType="{property:Culture}" DefaultValue="{Culture:RFC5646}" />
53+
<InputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="{property:objectId}" />
54+
</InputClaims>
55+
```
56+
57+
The **InputClaimsTransformations** element may contain a collection of **InputClaimsTransformation** elements that are used to modify the input claims or generate new ones before sending to Application Insights.
58+
59+
## Persist claims
60+
61+
The PersistedClaims element is not used.
62+
63+
## Output claims
64+
65+
The OutputClaims, and OutputClaimsTransformations elements are not used.
66+
67+
## Cryptographic keys
68+
69+
The CryptographicKeys element is not used.
70+
71+
72+
## Metadata
73+
74+
| Attribute | Required | Description |
75+
| --------- | -------- | ----------- |
76+
| InstrumentationKey| Yes | The Application Insights [instrumentation key](../azure-monitor/app/create-new-resource.md#copy-the-instrumentation-key), which will be used for logging the events. |
77+
| DeveloperMode| No | A Boolean that indicates whether developer mode is enabled. Possible values: `true` or `false` (default). This metadata controls how events are buffered. In a development environment with minimal event volume, enabling developer mode results in events being sent immediately to Application Insights.|
78+
|DisableTelemetry |No |A Boolean that indicates whether telemetry should be enabled or not. Possible values: `true` or `false` (default).|
79+
80+
81+
## Next steps
82+
83+
- [Create an Application Insights resource](../azure-monitor/app/create-new-resource.md)
84+
- Learn how to [track user behavior in Azure Active Directory B2C using Application Insights](analytics-with-application-insights.md)

0 commit comments

Comments
 (0)