Skip to content

Commit 9fd3d74

Browse files
committed
2 parents 77fbd42 + 93355c4 commit 9fd3d74

File tree

187 files changed

+3453
-5189
lines changed

Some content is hidden

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

187 files changed

+3453
-5189
lines changed

.openpublishing.redirection.json

Lines changed: 110 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1210,6 +1210,101 @@
12101210
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-custom-speech-service",
12111211
"redirect_document_id": false
12121212
},
1213+
{
1214+
"source_path": "articles/cognitive-services/Speech/concepts.md",
1215+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1216+
"redirect_document_id": false
1217+
},
1218+
{
1219+
"source_path": "articles/cognitive-services/Speech/Home.md",
1220+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1221+
"redirect_document_id": false
1222+
},
1223+
{
1224+
"source_path": "articles/cognitive-services/Speech/samples.md",
1225+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1226+
"redirect_document_id": false
1227+
},
1228+
{
1229+
"source_path": "articles/cognitive-services/Speech/support.md",
1230+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1231+
"redirect_document_id": false
1232+
},
1233+
{
1234+
"source_path": "articles/cognitive-services/Speech/troubleshooting.md",
1235+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1236+
"redirect_document_id": false
1237+
},
1238+
{
1239+
"source_path": "articles/cognitive-services/Speech/API-Reference-REST/BingVoiceOutput.md",
1240+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1241+
"redirect_document_id": false
1242+
},
1243+
{
1244+
"source_path": "articles/cognitive-services/Speech/API-Reference-REST/websocketprotocol.md",
1245+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1246+
"redirect_document_id": false
1247+
},
1248+
{
1249+
"source_path": "articles/cognitive-services/Speech/API-Reference-REST/supportedlanguages.md",
1250+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1251+
"redirect_document_id": false
1252+
},
1253+
{
1254+
"source_path": "articles/cognitive-services/Speech/GetStarted/GetStarted.md",
1255+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1256+
"redirect_document_id": false
1257+
},
1258+
{
1259+
"source_path": "articles/cognitive-services/Speech/GetStarted/GetStartedClientLibraries.md",
1260+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1261+
"redirect_document_id": false
1262+
},
1263+
{
1264+
"source_path": "articles/cognitive-services/Speech/GetStarted/GetStartedCSharpDesktop.md",
1265+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1266+
"redirect_document_id": false
1267+
},
1268+
{
1269+
"source_path": "articles/cognitive-services/Speech/GetStarted/GetStartedCSharpServiceLibrary.md",
1270+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1271+
"redirect_document_id": false
1272+
},
1273+
{
1274+
"source_path": "articles/cognitive-services/Speech/GetStarted/GetStartedJavaAndroid.md",
1275+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1276+
"redirect_document_id": false
1277+
},
1278+
{
1279+
"source_path": "articles/cognitive-services/Speech/GetStarted/GetStartedJSWebsockets.md",
1280+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1281+
"redirect_document_id": false
1282+
},
1283+
{
1284+
"source_path": "articles/cognitive-services/Speech/GetStarted/Get-Started-ObjectiveC-iOS.md",
1285+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1286+
"redirect_document_id": false
1287+
},
1288+
{
1289+
"source_path": "articles/cognitive-services/Speech/GetStarted/GetStartedREST.md",
1290+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1291+
"redirect_document_id": false
1292+
},
1293+
{
1294+
"source_path": "articles/cognitive-services/Speech/How-to/how-to-authentication.md",
1295+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1296+
"redirect_document_id": false
1297+
},
1298+
{
1299+
"source_path": "articles/cognitive-services/Speech/How-to/how-to-choose-recognition-mode.md",
1300+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1301+
"redirect_document_id": false
1302+
},
1303+
{
1304+
"source_path": "articles/cognitive-services/Speech/How-to/how-to-chunked-transfer.md",
1305+
"redirect_url": "/azure/cognitive-services/speech-service/how-to-migrate-from-bing-speech",
1306+
"redirect_document_id": false
1307+
},
12131308
{
12141309
"source_path": "articles/cognitive-services/Emotion/emotion-api-how-to-topics/HowtoAnalyzeVideo_Emotion.md",
12151310
"redirect_url": "/azure/cognitive-services/face/overview",
@@ -18389,6 +18484,21 @@
1838918484
"source_path": "articles/backup/backup-azure-vms-prepare.md",
1839018485
"redirect_url": "/azure/backup/backup-azure-arm-vms-prepare",
1839118486
"redirect_document_id": false
18487+
},
18488+
{
18489+
"source_path": "articles/backup/backup-azure-configure-reports.md",
18490+
"redirect_url": "/azure/backup/configure-reports.md",
18491+
"redirect_document_id": false
18492+
},
18493+
{
18494+
"source_path": "articles/backup/backup-azure-log-analytics-data-model.md",
18495+
"redirect_url": "/azure/backup/backup-azure-diagnostics-mode-data-model.md",
18496+
"redirect_document_id": false
18497+
},
18498+
{
18499+
"source_path": "articles/backup/backup-azure-log-analytics-new-data-model.md",
18500+
"redirect_url": "/azure/backup/backup-azure-reports-data-model.md",
18501+
"redirect_document_id": false
1839218502
},
1839318503
{
1839418504
"source_path": "articles/app-service/api/index.md",
@@ -37105,11 +37215,6 @@
3710537215
"redirect_url": "/azure/active-directory/user-help/myprofile-portal-overview",
3710637216
"redirect_document_id": false
3710737217
},
37108-
{
37109-
"source_path": "articles/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises.md",
37110-
"redirect_url": "/azure/active-directory/authentication/howto-authentication-passwordless-security-key-windows",
37111-
"redirect_document_id": false
37112-
},
3711337218
{
3711437219
"source_path": "articles/active-directory/authentication/quickstart-sspr.md",
3711537220
"redirect_url": "/azure/active-directory/authentication/tutorial-enable-sspr",

articles/active-directory-b2c/deploy-custom-policies-devops.md

Lines changed: 6 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ There are three primary steps required for enabling Azure Pipelines to manage cu
3131

3232
* [Azure AD B2C tenant](tutorial-create-tenant.md), and credentials for a user in the directory with the [B2C IEF Policy Administrator](../active-directory/users-groups-roles/directory-assign-admin-roles.md#b2c-ief-policy-administrator) role
3333
* [Custom policies](custom-policy-get-started.md) uploaded to your tenant
34+
* [Management app](microsoft-graph-get-started.md) registered in your tenant with the Microsoft Graph API permission *Policy.ReadWrite.TrustFramework*
3435
* [Azure Pipeline](https://azure.microsoft.com/services/devops/pipelines/), and access to an [Azure DevOps Services project][devops-create-project]
3536

3637
## Client credentials grant flow
@@ -39,47 +40,11 @@ The scenario described here makes use of service-to-service calls between Azure
3940

4041
## Register an application for management tasks
4142

42-
Start by creating an application registration that your PowerShell scripts executed by Azure Pipelines will use to communicate with Azure AD B2C. If you already have an application registration that you use for automation tasks, you can skip to the [Grant permissions](#grant-permissions) section.
43+
As mentioned in [Prerequisites](#prerequisites), you need an application registration that your PowerShell scripts--executed by Azure Pipelines--can use for accessing the resources in your tenant.
4344

44-
### Register application
45+
If you already have an application registration that you use for automation tasks, ensure it's been granted the **Microsoft Graph** > **Policy** > **Policy.ReadWrite.TrustFramework** permission within the **API Permissions** of the app registration.
4546

46-
[!INCLUDE [active-directory-b2c-appreg-mgmt](../../includes/active-directory-b2c-appreg-mgmt.md)]
47-
48-
### Grant permissions
49-
50-
Next, grant the application permission to use the Microsoft Graph API to read and write custom policies in your Azure AD B2C tenant.
51-
52-
#### [Applications](#tab/applications/)
53-
54-
1. On the **Registered app** overview page, select **Settings**.
55-
1. Under **API Access**, select **Required permissions**.
56-
1. Select **Add**, then **Select an API**.
57-
1. Select **Microsoft Graph**, then **Select**.
58-
1. Under **Application Permissions**, select **Read and write your organization's trust framework policies**.
59-
1. Select **Select**, then **Done**.
60-
1. Select **Grant permissions**, and then select **Yes**. It might take a few minutes to for the permissions to fully propagate.
61-
62-
#### [App registrations (Preview)](#tab/app-reg-preview/)
63-
64-
1. Select **App registrations (Preview)**, and then select the web application that should have access to the Microsoft Graph API. For example, *managementapp1*.
65-
1. Under **Manage**, select **API permissions**.
66-
1. Under **Configured permissions**, select **Add a permission**.
67-
1. Select the **Microsoft APIs** tab, then select **Microsoft Graph**.
68-
1. Select **Application permissions**.
69-
1. Expand **Policy** and select **Policy.ReadWrite.TrustFramework**.
70-
1. Select **Add permissions**. As directed, wait a few minutes before proceeding to the next step.
71-
1. Select **Grant admin consent for (your tenant name)**.
72-
1. Select your currently signed-in administrator account, or sign in with an account in your Azure AD B2C tenant that's been assigned at least the *Cloud application administrator* role.
73-
1. Select **Accept**.
74-
1. Select **Refresh**, and then verify that "Granted for ..." appears under **Status**. It might take a few minutes for the permissions to propagate.
75-
76-
* * *
77-
78-
### Create client secret
79-
80-
To authenticate with Azure AD B2C, your PowerShell script needs to specify a client secret that you create for the application.
81-
82-
[!INCLUDE [active-directory-b2c-client-secret](../../includes/active-directory-b2c-client-secret.md)]
47+
For instructions on registering a management application, see [Manage Azure AD B2C with Microsoft Graph](microsoft-graph-get-started.md).
8348

8449
## Configure an Azure Repo
8550

@@ -196,7 +161,7 @@ Next, add a task to deploy a policy file.
196161
197162
```PowerShell
198163
# After
199-
-ClientID $(clientId) -ClientSecret $(clientSecret) -TenantId $(tenantId) -PolicyId B2C_1A_TrustFrameworkBase -PathToFile $(System.DefaultWorkingDirectory)/contosob2cpolicies/B2CAssets/TrustFrameworkBase.xml
164+
-ClientID $(clientId) -ClientSecret $(clientSecret) -TenantId $(tenantId) -PolicyId B2C_1A_TrustFrameworkBase -PathToFile $(System.DefaultWorkingDirectory)/policyRepo/B2CAssets/TrustFrameworkBase.xml
200165
```
201166
202167
1. Select **Save** to save the Agent job.
@@ -248,4 +213,4 @@ Learn more about:
248213
<!-- LINKS - External -->
249214
[devops]: https://docs.microsoft.com/azure/devops/?view=azure-devops
250215
[devops-create-project]: https://docs.microsoft.com/azure/devops/organizations/projects/create-project?view=azure-devops
251-
[devops-pipelines]: https://docs.microsoft.com/azure/devops/pipelines
216+
[devops-pipelines]: https://docs.microsoft.com/azure/devops/pipelines

articles/active-directory-b2c/string-transformations.md

Lines changed: 39 additions & 2 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: 02/05/2020
12+
ms.date: 02/20/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -30,7 +30,8 @@ Compare two claims, and throw an exception if they are not equal according to th
3030
| InputClaim | inputClaim2 | string | Second claim's type, which is to be compared. |
3131
| InputParameter | stringComparison | string | string comparison, one of the values: Ordinal, OrdinalIgnoreCase. |
3232

33-
The **AssertStringClaimsAreEqual** claims transformation is always executed from a [validation technical profile](validation-technical-profile.md) that is called by a [self-asserted technical profile](self-asserted-technical-profile.md). The **UserMessageIfClaimsTransformationStringsAreNotEqual** self-asserted technical profile metadata controls the error message that is presented to the user.
33+
The **AssertStringClaimsAreEqual** claims transformation is always executed from a [validation technical profile](validation-technical-profile.md) that is called by a [self-asserted technical profile](self-asserted-technical-profile.md), or a [DisplayConrtol](display-controls.md). The `UserMessageIfClaimsTransformationStringsAreNotEqual` metadata of a self-asserted technical profile controls the error message that is presented to the user.
34+
3435

3536
![AssertStringClaimsAreEqual execution](./media/string-transformations/assert-execution.png)
3637

@@ -513,6 +514,42 @@ The following example looks up the domain name in one of the inputParameters col
513514
- Output claims:
514515
- **outputClaim**: c7026f88-4299-4cdb-965d-3f166464b8a9
515516

517+
When `errorOnFailedLookup` input parameter is set to `true`, the **LookupValue** claims transformation is always executed from a [validation technical profile](validation-technical-profile.md) that is called by a [self-asserted technical profile](self-asserted-technical-profile.md), or a [DisplayConrtol](display-controls.md). The `LookupNotFound` metadata of a self-asserted technical profile controls the error message that is presented to the user.
518+
519+
![AssertStringClaimsAreEqual execution](./media/string-transformations/assert-execution.png)
520+
521+
The following example looks up the domain name in one of the inputParameters collections. The claims transformation looks up the domain name in the identifier and returns its value (an application ID), or raises an error message.
522+
523+
```XML
524+
<ClaimsTransformation Id="DomainToClientId" TransformationMethod="LookupValue">
525+
<InputClaims>
526+
<InputClaim ClaimTypeReferenceId="domainName" TransformationClaimType="inputParameterId" />
527+
</InputClaims>
528+
<InputParameters>
529+
<InputParameter Id="contoso.com" DataType="string" Value="13c15f79-8fb1-4e29-a6c9-be0d36ff19f1" />
530+
<InputParameter Id="microsoft.com" DataType="string" Value="0213308f-17cb-4398-b97e-01da7bd4804e" />
531+
<InputParameter Id="test.com" DataType="string" Value="c7026f88-4299-4cdb-965d-3f166464b8a9" />
532+
<InputParameter Id="errorOnFailedLookup" DataType="boolean" Value="true" />
533+
</InputParameters>
534+
<OutputClaims>
535+
<OutputClaim ClaimTypeReferenceId="domainAppId" TransformationClaimType="outputClaim" />
536+
</OutputClaims>
537+
</ClaimsTransformation>
538+
```
539+
540+
### Example
541+
542+
- Input claims:
543+
- **inputParameterId**: live.com
544+
- Input parameters:
545+
- **contoso.com**: 13c15f79-8fb1-4e29-a6c9-be0d36ff19f1
546+
- **microsoft.com**: 0213308f-17cb-4398-b97e-01da7bd4804e
547+
- **test.com**: c7026f88-4299-4cdb-965d-3f166464b8a9
548+
- **errorOnFailedLookup**: true
549+
- Error:
550+
- No match found for the input claim value in the list of input parameter ids and errorOnFailedLookup is true.
551+
552+
516553
## NullClaim
517554

518555
Clean the value of a given claim.

articles/active-directory-b2c/technical-profiles-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ A technical profile enables these types of scenarios:
3535
- [SAML2](saml-technical-profile.md) - Federation with any SAML protocol identity provider.
3636
- [Self-Asserted](self-asserted-technical-profile.md) - Interact with the user. For example, collect the user's credential to sign in, render the sign-up page, or password reset.
3737
- [Session management](custom-policy-reference-sso.md) - Handle different types of sessions.
38-
- **Application Insights**
38+
- [Application Insights](../azure-monitor/app/usage-overview.md)
3939
- [One time password](one-time-password-technical-profile.md) - Provides support for managing the generation and verification of a one-time password.
4040

4141
## Technical profile flow

articles/active-directory-b2c/view-audit-logs.md

Lines changed: 6 additions & 5 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: 02/12/2020
12+
ms.date: 02/20/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
ms.custom: fasttrack-edit
@@ -109,13 +109,14 @@ The following PowerShell script shows an example of how to query the Azure AD re
109109
You can try this script in the [Azure Cloud Shell](overview.md). Be sure to update it with your application ID, client secret, and the name of your Azure AD B2C tenant.
110110

111111
```powershell
112-
# This script requires the registration of a Web Application in Azure Active Directory:
113-
# https://docs.microsoft.com/azure/active-directory/reports-monitoring/concept-reporting-api
112+
# This script requires an application registration that's granted Microsoft Graph API permission
113+
# https://docs.microsoft.com/azure/active-directory-b2c/microsoft-graph-get-started
114114
115115
# Constants
116-
$ClientID = "your-client-application-id-here" # Insert your application's client ID, a GUID (registered by Global Admin)
116+
$ClientID = "your-client-application-id-here" # Insert your application's client ID, a GUID
117117
$ClientSecret = "your-client-application-secret-here" # Insert your application's client secret
118-
$tenantdomain = "your-b2c-tenant.onmicrosoft.com" # Insert your Azure AD B2C tenant; for example, contoso.onmicrosoft.com
118+
$tenantdomain = "your-b2c-tenant.onmicrosoft.com" # Insert your Azure AD B2C tenant domain name
119+
119120
$loginURL = "https://login.microsoftonline.com"
120121
$resource = "https://graph.microsoft.com" # Microsoft Graph API resource URI
121122
$7daysago = "{0:s}" -f (get-date).AddDays(-7) + "Z" # Use 'AddMinutes(-5)' to decrement minutes, for example

articles/active-directory/authentication/TOC.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,14 @@
130130
items:
131131
- name: Deploying passwordless
132132
href: howto-authentication-passwordless-deployment.md
133-
- name: Passwordless security keys
134-
href: howto-authentication-passwordless-security-key.md
135-
- name: Passwordless Windows 10
136-
href: howto-authentication-passwordless-security-key-windows.md
133+
- name: Passwordless FIDO2 security keys
134+
items:
135+
- name: Enable FIDO2 security keys for your tenant
136+
href: howto-authentication-passwordless-security-key.md
137+
- name: Sign in to Windows 10 devices
138+
href: howto-authentication-passwordless-security-key-windows.md
139+
- name: SSO to on-premises resources
140+
href: howto-authentication-passwordless-security-key-on-premises.md
137141
- name: Passwordless phone sign-in
138142
href: howto-authentication-passwordless-phone.md
139143
- name: Windows Hello for Business

0 commit comments

Comments
 (0)