Skip to content

Commit 28505c6

Browse files
committed
Merge branch '14Feb-Stackparity' of https://github.com/v-ksreedevan/azure-docs-pr into 14Feb-Stackparity
2 parents 0ebc7d7 + 322cc4c commit 28505c6

File tree

763 files changed

+9863
-6395
lines changed

Some content is hidden

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

763 files changed

+9863
-6395
lines changed

.openpublishing.redirection.azure-monitor.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,6 @@
55
"redirect_url": "/azure/azure-monitor/getting-started",
66
"redirect_document_id": false
77
},
8-
{
9-
"source_path_from_root": "/articles/azure-monitor/monitor-reference.md",
10-
"redirect_url": "/azure/azure-monitor/data-sources",
11-
"redirect_document_id": false
12-
},
138
{
149
"source_path_from_root": "/articles/azure-monitor/observability-data.md",
1510
"redirect_url": "/azure/azure-monitor/overview",

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"redirections": [
3+
{
4+
"source_path": "articles/virtual-machines/h-series-retirement.md",
5+
"redirect_url": "/previous-versions/azure/virtual-machines/h-series-retirement",
6+
"redirect_document_id": false
7+
},
38
{
49
"source_path": "articles/security/develop/security-code-analysis-customize.md",
510
"redirect_url": "/previous-versions/azure/security/develop/security-code-analysis-customize",

articles/active-directory-b2c/azure-ad-b2c-global-identity-proof-of-concept-funnel.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The following block diagram shows the proof of concept. The guidance will show h
2828

2929
1. [Create a tenant.](../active-directory-b2c/tutorial-create-tenant.md)
3030

31-
1. [Configure federations to each Azure AD B2C tenant/policy combination](tenant-management.md)
31+
1. [Configure federations to each Azure AD B2C tenant/policy combination](../active-directory-b2c/tutorial-create-user-flows.md?pivots=b2c-user-flow)
3232

3333
1. Configure client_id mapping to region – use [lookup claim transformation](general-transformations.md) to emulate.
3434

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

Lines changed: 99 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/07/2022
12+
ms.date: 02/14/2023
1313
ms.author: kengaderdus
1414
ms.subservice: B2C
1515
---
@@ -409,6 +409,104 @@ In the following example, the claims transformation extracts the following claim
409409
- **active**: true
410410
- **birthDate**: 2005-09-23T00:00:00Z
411411

412+
413+
## GetClaimsFromJsonArrayV2
414+
415+
Get a list of specified elements from a string collection JSON elements. Check out the [Live demo](https://github.com/azure-ad-b2c/unit-tests/tree/main/claims-transformation/json#getclaimsfromjsonarrayv2) of this claims transformation.
416+
417+
| Element | TransformationClaimType | Data Type | Notes |
418+
| ---- | ----------------------- | --------- | ----- |
419+
| InputClaim | jsonSourceClaim | stringCollection | The string collection claim with the JSON payloads. This claim is used by the claims transformation to get the claims. |
420+
| InputParameter | errorOnMissingClaims | boolean | Specifies whether to throw an error if one of the claims is missing. |
421+
| InputParameter | includeEmptyClaims | string | Specify whether to include empty claims. |
422+
| InputParameter | jsonSourceKeyName | string | Element key name |
423+
| InputParameter | jsonSourceValueName | string | Element value name |
424+
| OutputClaim | Collection | string, int, boolean, and datetime |List of claims to extract. The name of the claim should be equal to the one specified in _jsonSourceClaim_ input claim. |
425+
426+
### Example of GetClaimsFromJsonArrayV2
427+
428+
In the following example, the claims transformation extracts the following claims: email (string), displayName (string), membershipNum (int), active (boolean) and birthDate (datetime) from the JSON data.
429+
430+
```xml
431+
<ClaimsTransformation Id="GetClaimsFromJson" TransformationMethod="GetClaimsFromJsonArrayV2">
432+
<InputClaims>
433+
<InputClaim ClaimTypeReferenceId="jsonSourceClaim" TransformationClaimType="jsonSource" />
434+
</InputClaims>
435+
<InputParameters>
436+
<InputParameter Id="errorOnMissingClaims" DataType="boolean" Value="false" />
437+
<InputParameter Id="includeEmptyClaims" DataType="boolean" Value="false" />
438+
<InputParameter Id="jsonSourceKeyName" DataType="string" Value="key" />
439+
<InputParameter Id="jsonSourceValueName" DataType="string" Value="value" />
440+
</InputParameters>
441+
<OutputClaims>
442+
<OutputClaim ClaimTypeReferenceId="email" />
443+
<OutputClaim ClaimTypeReferenceId="displayName" />
444+
<OutputClaim ClaimTypeReferenceId="membershipID" />
445+
<OutputClaim ClaimTypeReferenceId="active" />
446+
<OutputClaim ClaimTypeReferenceId="birthDate" />
447+
</OutputClaims>
448+
</ClaimsTransformation>
449+
```
450+
451+
- Input claims:
452+
- **jsonSourceClaim[0]** (string collection first element):
453+
454+
```json
455+
{
456+
"key": "email",
457+
"value": "[email protected]"
458+
}
459+
```
460+
461+
- **jsonSourceClaim[1]** (string collection second element):
462+
463+
```json
464+
{
465+
"key": "displayName",
466+
"value": "Someone"
467+
}
468+
```
469+
470+
- **jsonSourceClaim[2]** (string collection third element):
471+
472+
```json
473+
{
474+
"key": "membershipID",
475+
"value": 6353399
476+
}
477+
```
478+
479+
- **jsonSourceClaim[3]** (string collection fourth element):
480+
481+
```json
482+
{
483+
"key": "active",
484+
"value": true
485+
}
486+
```
487+
488+
- **jsonSourceClaim[4]** (string collection fifth element):
489+
490+
```json
491+
{
492+
"key": "birthDate",
493+
"value": "2005-09-23T00:00:00Z"
494+
}
495+
```
496+
497+
- Input parameters:
498+
- **errorOnMissingClaims**: false
499+
- **includeEmptyClaims**: false
500+
- **jsonSourceKeyName**: key
501+
- **jsonSourceValueName**: value
502+
- Output claims:
503+
- **email**: "[email protected]"
504+
- **displayName**: "Someone"
505+
- **membershipID**: 6353399
506+
- **active**: true
507+
- **birthDate**: 2005-09-23T00:00:00Z
508+
509+
412510
## GetNumericClaimFromJson
413511

414512
Gets a specified numeric (long) element from a JSON data. Check out the [Live demo](https://github.com/azure-ad-b2c/unit-tests/tree/main/claims-transformation/json#getnumericclaimfromjson) of this claims transformation.

articles/active-directory-b2c/phone-based-mfa.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ ms.subservice: B2C
1616
---
1717
# Securing phone-based multi-factor authentication (MFA)
1818

19-
[!INCLUDE [active-directory-b2c-public-preview](../../includes/active-directory-b2c-public-preview.md)]
20-
2119
With Azure Active Directory (Azure AD) Multi-Factor Authentication (MFA), users can choose to receive an automated voice call at a phone number they register for verification. Malicious users could take advantage of this method by creating multiple accounts and placing phone calls without completing the MFA registration process. These numerous failed sign-ups could exhaust the allowed sign-up attempts, preventing other users from signing up for new accounts in your Azure AD B2C tenant. To help protect against these attacks, you can use Azure Monitor to monitor phone authentication failures and mitigate fraudulent sign-ups.
2220

2321
## Prerequisites

articles/active-directory/app-provisioning/user-provisioning.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.service: active-directory
77
ms.subservice: app-provisioning
88
ms.topic: overview
99
ms.workload: identity
10-
ms.date: 02/09/2023
10+
ms.date: 02/15/2023
1111
ms.author: kenwith
1212
ms.reviewer: arvinh
1313
---
@@ -20,7 +20,7 @@ In Azure Active Directory (Azure AD), the term *app provisioning* refers to auto
2020

2121
Azure AD application provisioning refers to automatically creating user identities and roles in the applications that users need access to. In addition to creating user identities, automatic provisioning includes the maintenance and removal of user identities as status or roles change. Common scenarios include provisioning an Azure AD user into SaaS applications like [Dropbox](../../active-directory/saas-apps/dropboxforbusiness-provisioning-tutorial.md), [Salesforce](../../active-directory/saas-apps/salesforce-provisioning-tutorial.md), [ServiceNow](../../active-directory/saas-apps/servicenow-provisioning-tutorial.md), and many more.
2222

23-
Azure AD also supports provisioning users into applications hosted on-premises or in a virtual machine, without having to open up any firewalls. If your application supports [SCIM](https://aka.ms/scimoverview), or you've built a SCIM gateway to connect to your legacy application, you can use the Azure AD Provisioning agent to [directly connect](./on-premises-scim-provisioning.md) with your application and automate provisioning and deprovisioning. If you have legacy applications that don't support SCIM and rely on an [LDAP](./on-premises-ldap-connector-configure.md) user store or a [SQL](./tutorial-ecma-sql-connector.md) database, Azure AD can support those as well.
23+
Azure AD also supports provisioning users into applications hosted on-premises or in a virtual machine, without having to open up any firewalls. Your application must support [SCIM](https://aka.ms/scimoverview). Or, you must build a SCIM gateway to connect to your legacy application. If so, you can use the Azure AD Provisioning agent to [directly connect](./on-premises-scim-provisioning.md) with your application and automate provisioning and deprovisioning. If you have legacy applications that don't support SCIM and rely on an [LDAP](./on-premises-ldap-connector-configure.md) user store or a [SQL](./tutorial-ecma-sql-connector.md) database, Azure AD can support these applications as well.
2424

2525
App provisioning lets you:
2626

@@ -35,7 +35,7 @@ App provisioning lets you:
3535

3636
## What is SCIM?
3737

38-
To help automate provisioning and deprovisioning, apps expose proprietary user and group APIs. But anyone who's tried to manage users in more than one app will tell you that every app tries to perform the same actions, such as creating or updating users, adding users to groups, or deprovisioning users. Yet, all these actions are implemented slightly differently by using different endpoint paths, different methods to specify user information, and a different schema to represent each element of information.
38+
To help automate provisioning and deprovisioning, apps expose proprietary user and group APIs. User management in more than one app is a challenge because every app tries to perform the same actions. For example, creating or updating users, adding users to groups, or deprovisioning users. Yet, all these actions are implemented slightly differently by using different endpoint paths, different methods to specify user information, and a different schema to represent each element of information.
3939

4040
To address these challenges, the System for Cross-domain Identity Management (SCIM) specification provides a common user schema to help users move into, out of, and around apps. SCIM is becoming the de facto standard for provisioning and, when used with federation standards like Security Assertions Markup Language (SAML) or OpenID Connect (OIDC), provides administrators an end-to-end standards-based solution for access management.
4141

@@ -52,7 +52,7 @@ The provisioning mode supported by an application is also visible on the **Provi
5252

5353
## Benefits of automatic provisioning
5454

55-
As the number of applications used in modern organizations continues to grow, IT admins are tasked with access management at scale. Standards such as SAML or OIDC allow admins to quickly set up single sign-on (SSO), but access also requires users to be provisioned into the app. To many admins, provisioning means manually creating every user account or uploading CSV files each week. These processes are time-consuming, expensive, and error prone. Solutions such as SAML just-in-time (JIT) have been adopted to automate provisioning. Enterprises also need a solution to deprovision users when they leave the organization or no longer require access to certain apps based on role change.
55+
The number of applications used in modern organizations continues to grow. IT admins are tasked with access management at scale. Admins use standards such as SAML or OIDC for single sign-on (SSO), but access also requires users to be provisioned into the app. To many admins, provisioning means manually creating every user account or uploading CSV files each week. These processes are time-consuming, expensive, and error prone. Solutions such as SAML just-in-time (JIT) have been adopted to automate provisioning. Enterprises also need a solution to deprovision users when they leave the organization or no longer require access to certain apps based on role change.
5656

5757
Some common motivations for using automatic provisioning include:
5858

0 commit comments

Comments
 (0)