Skip to content

Commit ce1a813

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into rolyon-availability-zones-regions
2 parents 436fc63 + 9b17631 commit ce1a813

File tree

222 files changed

+2226
-2534
lines changed

Some content is hidden

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

222 files changed

+2226
-2534
lines changed

.openpublishing.redirection.json

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1767,6 +1767,21 @@
17671767
"redirect_url": "/azure/cognitive-services/bing-web-search/bing-web-stats",
17681768
"redirect_document_id": false
17691769
},
1770+
{
1771+
"source_path": "articles/cognitive-services/Anomaly-Detector/quickstarts/detect-data-anomalies-csharp-sdk.md",
1772+
"redirect_url": "/azure/cognitive-services/Anomaly-Detector/quickstarts/client-libraries?pivots=programming-language-csharp",
1773+
"redirect_document_id": false
1774+
},
1775+
{
1776+
"source_path": "articles/cognitive-services/Anomaly-Detector/quickstarts/detect-data-anomalies-nodejs-sdk.md",
1777+
"redirect_url": "/azure/cognitive-services/Anomaly-Detector/quickstarts/client-libraries?pivots=programming-language-javascript",
1778+
"redirect_document_id": false
1779+
},
1780+
{
1781+
"source_path": "articles/cognitive-services/Anomaly-Detector/quickstarts/detect-data-anomalies-python-sdk.md",
1782+
"redirect_url": "/azure/cognitive-services/Anomaly-Detector/quickstarts/client-libraries?pivots=programming-language-python",
1783+
"redirect_document_id": false
1784+
},
17701785
{
17711786
"source_path": "articles/cognitive-services/Bing-Web-Search/web-search-sdk-quickstart.md",
17721787
"redirect_url": "/azure/cognitive-services/bing-web-search/quickstarts/client-libraries?pivots=programming-language-csharp",
@@ -7556,6 +7571,46 @@
75567571
"redirect_url": "/azure/azure-monitor/app/java-get-started",
75577572
"redirect_document_id": false
75587573
},
7574+
{
7575+
"source_path": "articles/azure-monitor/app/status-monitor-v2-api-disable-instrumentation-engine.md",
7576+
"redirect_url": "/azure/azure-monitor/app/status-monitor-v2-api-reference.md",
7577+
"redirect_document_id": false
7578+
},
7579+
{
7580+
"source_path": "articles/azure-monitor/app/status-monitor-v2-api-disable-monitoring.md",
7581+
"redirect_url": "/azure/azure-monitor/app/status-monitor-v2-api-reference.md",
7582+
"redirect_document_id": false
7583+
},
7584+
{
7585+
"source_path": "articles/azure-monitor/app/status-monitor-v2-api-enable-instrumentation-engine.md",
7586+
"redirect_url": "/azure/azure-monitor/app/status-monitor-v2-api-reference.md",
7587+
"redirect_document_id": false
7588+
},
7589+
{
7590+
"source_path": "articles/azure-monitor/app/status-monitor-v2-api-enable-monitoring.md",
7591+
"redirect_url": "/azure/azure-monitor/app/status-monitor-v2-api-reference.md",
7592+
"redirect_document_id": false
7593+
},
7594+
{
7595+
"source_path": "articles/azure-monitor/app/status-monitor-v2-api-get-config.md",
7596+
"redirect_url": "/azure/azure-monitor/app/status-monitor-v2-api-reference.md",
7597+
"redirect_document_id": false
7598+
},
7599+
{
7600+
"source_path": "articles/azure-monitor/app/status-monitor-v2-api-get-status.md",
7601+
"redirect_url": "/azure/azure-monitor/app/status-monitor-v2-api-reference.md",
7602+
"redirect_document_id": false
7603+
},
7604+
{
7605+
"source_path": "articles/azure-monitor/app/status-monitor-v2-api-set-config.md",
7606+
"redirect_url": "/azure/azure-monitor/app/status-monitor-v2-api-reference.md",
7607+
"redirect_document_id": false
7608+
},
7609+
{
7610+
"source_path": "articles/azure-monitor/app/status-monitor-v2-api-start-trace.md",
7611+
"redirect_url": "/azure/azure-monitor/app/status-monitor-v2-api-reference.md",
7612+
"redirect_document_id": false
7613+
},
75597614
{
75607615
"source_path": "articles/application-insights/app-insights-mobile-hockeyapp.md",
75617616
"redirect_url": "/azure/azure-monitor/app/hockeyapp-bridge-app",

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

Lines changed: 10 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: 03/30/2020
12+
ms.date: 04/21/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -86,7 +86,14 @@ The following sections list available claim resolvers.
8686
| {Context:IPAddress} | The user IP address. | 11.111.111.11 |
8787
| {Context:KMSI} | Indicates whether [Keep me signed in](custom-policy-keep-me-signed-in.md) checkbox is selected. | true |
8888

89-
### Non-protocol parameters
89+
### Claims
90+
91+
| Claim | Description | Example |
92+
| ----- | ----------- | --------|
93+
| {Claim:claim type} | An identifier of a claim type already defined in the ClaimsSchema section in the policy file or parent policy file. For example: `{Claim:displayName}`, or `{Claim:objectId}`. | A claim type value.|
94+
95+
96+
### OAuth2 key-value parameters
9097

9198
Any parameter name included as part of an OIDC or OAuth2 request can be mapped to a claim in the user journey. For example, the request from the application might include a query string parameter with a name of `app_session`, `loyalty_number`, or any custom query string.
9299

@@ -114,6 +121,7 @@ Any parameter name included as part of an OIDC or OAuth2 request can be mapped t
114121
| {SAML:AllowCreate} | The `AllowCreate` attribute value, from the `NameIDPolicy` element of the SAML request. | True |
115122
| {SAML:ForceAuthn} | The `ForceAuthN` attribute value, from the `AuthnRequest` element of the SAML request. | True |
116123
| {SAML:ProviderName} | The `ProviderName` attribute value, from the `AuthnRequest` element of the SAML request.| Contoso.com |
124+
| {SAML:RelayState} | The `RelayState` query string parameter.|
117125

118126
## Using claim resolvers
119127

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

Lines changed: 36 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: 12/10/2019
12+
ms.date: 04/21/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -219,6 +219,39 @@ In the following example, the claims transformation extracts the `id` element fr
219219
- Output claims:
220220
- **extractedClaim**: 6353399
221221

222+
## GetSingleItemFromJson
223+
224+
Gets the first element from a JSON data.
225+
226+
| Item | TransformationClaimType | Data Type | Notes |
227+
| ---- | ----------------------- | --------- | ----- |
228+
| InputClaim | inputJson | string | The ClaimTypes that are used by the claims transformation to get the item from the JSON data. |
229+
| OutputClaim | key | string | The first element key in the JSON. |
230+
| OutputClaim | value | string | The first element value in the JSON. |
231+
232+
In the following example, the claims transformation extracts the first element (given name) from the JSON data.
233+
234+
```XML
235+
<ClaimsTransformation Id="GetGivenNameFromResponse" TransformationMethod="GetSingleItemFromJson">
236+
<InputClaims>
237+
<InputClaim ClaimTypeReferenceId="json" TransformationClaimType="inputJson" />
238+
</InputClaims>
239+
<OutputClaims>
240+
<OutputClaim ClaimTypeReferenceId="givenNameKey" TransformationClaimType="key" />
241+
<OutputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="value" />
242+
</OutputClaims>
243+
</ClaimsTransformation>
244+
```
245+
246+
### Example
247+
248+
- Input claims:
249+
- **inputJson**: {"givenName": "Emilty", "lastName": "Smith"}
250+
- Output claims:
251+
- **key**: givenName
252+
- **value**: Emilty
253+
254+
222255
## GetSingleValueFromJsonArray
223256

224257
Gets the first element from a JSON data array.
@@ -290,3 +323,5 @@ Output claim:
290323
}
291324
}
292325
```
326+
327+

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

Lines changed: 41 additions & 6 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/16/2020
12+
ms.date: 04/21/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -365,7 +365,7 @@ Copies localized strings into claims.
365365

366366
| Item | TransformationClaimType | Data Type | Notes |
367367
| ---- | ----------------------- | --------- | ----- |
368-
| OutputClaim | The name of the localized string | string | List of claim types that is produced after this claims transformation has been invoked. |
368+
| OutputClaim | The name of the localized string | string | List of claim types that are produced after this claims transformation has been invoked. |
369369

370370
To use the GetLocalizedStringsTransformation claims transformation:
371371

@@ -611,13 +611,17 @@ Checks that a string claim `claimToMatch` and `matchTo` input parameter are equa
611611
| inputClaim | claimToMatch | string | The claim type, which is to be compared. |
612612
| InputParameter | matchTo | string | The regular expression to match. |
613613
| InputParameter | outputClaimIfMatched | string | The value to be set if strings are equal. |
614+
| InputParameter | extractGroups | boolean | [Optional] Specifies whether the Regex match should extract groups values. Possible values: `true`, or `false` (default). |
614615
| OutputClaim | outputClaim | string | If regular expression is match, this output claim contains the value of `outputClaimIfMatched` input parameter. Or null, if no match. |
615616
| OutputClaim | regexCompareResultClaim | boolean | The regular expression match result output claim type, which is to be set as `true` or `false` based on the result of matching. |
617+
| OutputClaim| The name of the claim| string | If the extractGroups input parameter set to true, list of claim types that are produced after this claims transformation has been invoked. The name of the claimType must match the Regex group name. |
616618

617-
For example, checks whether the provided phone number is valid, based on phone number regular expression pattern.
619+
### Example 1
620+
621+
Checks whether the provided phone number is valid, based on phone number regular expression pattern.
618622

619623
```XML
620-
<ClaimsTransformation Id="SetIsPhoneRegex" TransformationMethod="setClaimsIfRegexMatch">
624+
<ClaimsTransformation Id="SetIsPhoneRegex" TransformationMethod="SetClaimsIfRegexMatch">
621625
<InputClaims>
622626
<InputClaim ClaimTypeReferenceId="phone" TransformationClaimType="claimToMatch" />
623627
</InputClaims>
@@ -632,8 +636,6 @@ For example, checks whether the provided phone number is valid, based on phone n
632636
</ClaimsTransformation>
633637
```
634638

635-
### Example
636-
637639
- Input claims:
638640
- **claimToMatch**: "64854114520"
639641
- Input parameters:
@@ -643,6 +645,39 @@ For example, checks whether the provided phone number is valid, based on phone n
643645
- **outputClaim**: "isPhone"
644646
- **regexCompareResultClaim**: true
645647

648+
### Example 2
649+
650+
Checks whether the provided email address is valid, and return the email alias.
651+
652+
```XML
653+
<ClaimsTransformation Id="GetAliasFromEmail" TransformationMethod="SetClaimsIfRegexMatch">
654+
<InputClaims>
655+
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="claimToMatch" />
656+
</InputClaims>
657+
<InputParameters>
658+
<InputParameter Id="matchTo" DataType="string" Value="(?&lt;mailAlias&gt;.*)@(.*)$" />
659+
<InputParameter Id="outputClaimIfMatched" DataType="string" Value="isEmail" />
660+
<InputParameter Id="extractGroups" DataType="boolean" Value="true" />
661+
</InputParameters>
662+
<OutputClaims>
663+
<OutputClaim ClaimTypeReferenceId="validationResult" TransformationClaimType="outputClaim" />
664+
<OutputClaim ClaimTypeReferenceId="isEmailString" TransformationClaimType="regexCompareResultClaim" />
665+
<OutputClaim ClaimTypeReferenceId="mailAlias" />
666+
</OutputClaims>
667+
</ClaimsTransformation>
668+
```
669+
670+
- Input claims:
671+
- **claimToMatch**: "[email protected]"
672+
- Input parameters:
673+
- **matchTo**: `(?&lt;mailAlias&gt;.*)@(.*)$`
674+
- **outputClaimIfMatched**: "isEmail"
675+
- **extractGroups**: true
676+
- Output claims:
677+
- **outputClaim**: "isEmail"
678+
- **regexCompareResultClaim**: true
679+
- **mailAlias**: emily
680+
646681
## SetClaimsIfStringsAreEqual
647682

648683
Checks that a string claim and `matchTo` input parameter are equal, and sets the output claims with the value present in `stringMatchMsg` and `stringMatchMsgCode` input parameters, along with compare result output claim, which is to be set as `true` or `false` based on the result of comparison.

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

Lines changed: 35 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: 02/27/2020
12+
ms.date: 04/21/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -155,4 +155,38 @@ Following example checks whether the `roles` stringCollection claim type contain
155155
- Output claims:
156156
- **outputClaim**: "true"
157157

158+
## StringCollectionContainsClaim
158159

160+
Checks if a StringCollection claim type contains a claim value.
161+
162+
| Item | TransformationClaimType | Data Type | Notes |
163+
| ---- | ----------------------- | --------- | ----- |
164+
| InputClaim | collection | stringCollection | The claim type which is to be searched. |
165+
| InputClaim | item|string| The claim type that contains the value to search.|
166+
|InputParameter|ignoreCase|string|Specifies whether this comparison should ignore the case of the strings being compared.|
167+
| OutputClaim | outputClaim | boolean | The ClaimType that is produced after this ClaimsTransformation has been invoked. A boolean indicator if the collection contains such a string |
168+
169+
Following example checks whether the `roles` stringCollection claim type contains the value of the `role` claim type.
170+
171+
```XML
172+
<ClaimsTransformation Id="HasRequiredRole" TransformationMethod="StringCollectionContainsClaim">
173+
<InputClaims>
174+
<InputClaim ClaimTypeReferenceId="roles" TransformationClaimType="collection" />
175+
<InputClaim ClaimTypeReferenceId="role" TransformationClaimType="item" />
176+
</InputClaims>
177+
<InputParameters>
178+
<InputParameter Id="ignoreCase" DataType="string" Value="true" />
179+
</InputParameters>
180+
<OutputClaims>
181+
<OutputClaim ClaimTypeReferenceId="hasAccess" TransformationClaimType="outputClaim" />
182+
</OutputClaims>
183+
</ClaimsTransformation>
184+
```
185+
186+
- Input claims:
187+
- **collection**: ["reader", "author", "admin"]
188+
- **item**: "Admin"
189+
- Input parameters:
190+
- **ignoreCase**: "true"
191+
- Output claims:
192+
- **outputClaim**: "true"

articles/active-directory/develop/howto-restrict-your-app-to-a-set-of-users.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ ms.date: 09/24/2018
1414
ms.author: kkrishna
1515
ms.reviewer: jmprieur
1616
ms.custom: aaddev
17-
#Customer intent: As an application developer, I want to restrict an application that I have registered in Azure AD to a select set of users available in my Azure AD tenant
17+
#Customer intent: As a tenant administrator, I want to restrict an application that I have registered in Azure AD to a select set of users available in my Azure AD tenant
1818
---
19-
# How to: Restrict your Azure AD app to a set of users
19+
# How to: Restrict your Azure AD app to a set of users in an Azure AD tenant
2020

2121
Applications registered in an Azure Active Directory (Azure AD) tenant are, by default, available to all users of the tenant who authenticate successfully.
2222

2323
Similarly, in case of a [multi-tenant](howto-convert-app-to-be-multi-tenant.md) app, all users in the Azure AD tenant where this app is provisioned will be able to access this application once they successfully authenticate in their respective tenant.
2424

2525
Tenant administrators and developers often have requirements where an app must be restricted to a certain set of users. Developers can accomplish the same by using popular authorization patterns like Role Based Access Control (RBAC), but this approach requires a significant amount of work on part of the developer.
2626

27-
Azure AD allows tenant administrators and developers to restrict an app to a specific set of users or security groups in the tenant.
27+
Tenant administrators and developers can restrict an app to a specific set of users or security groups in the tenant by using this built-in feature of Azure AD as well.
2828

2929
## Supported app configurations
3030

@@ -58,7 +58,7 @@ There are two ways to create an application with enabled user assignment. One re
5858

5959
1. Select the application you want to assign a user or security group to from the list.
6060
1. On the application's **Overview** page, select **Properties** from the application’s left-hand navigation menu.
61-
1. Locate the setting **User assignment required?** and set it to **Yes**. When this option is set to **Yes**, users must first be assigned to this application before they can access it.
61+
1. Locate the setting **User assignment required?** and set it to **Yes**. When this option is set to **Yes**, users in the tenant must first be assigned to this application or they won't be able to sign-in to this application.
6262
1. Select **Save** to save this configuration change.
6363

6464
### App registration
@@ -71,7 +71,7 @@ There are two ways to create an application with enabled user assignment. One re
7171
1. Create or select the app you want to manage. You need to be **Owner** of this app registration.
7272
1. On the application's **Overview** page, follow the **Managed application in local directory** link under the essentials in the top of the page. This will take you to the _managed Enterprise Application_ of your app registration.
7373
1. From the navigation blade on the left, select **Properties**.
74-
1. Locate the setting **User assignment required?** and set it to **Yes**. When this option is set to **Yes**, users must first be assigned to this application before they can access it.
74+
1. Locate the setting **User assignment required?** and set it to **Yes**. When this option is set to **Yes**, users in the tenant must first be assigned to this application or they won't be able to sign-in to this application.
7575
1. Select **Save** to save this configuration change.
7676

7777
## Assign users and groups to the app
@@ -85,6 +85,14 @@ Once you've configured your app to enable user assignment, you can go ahead and
8585
A list of users and security groups will be shown along with a textbox to search and locate a certain user or group. This screen allows you to select multiple users and groups in one go.
8686

8787
1. Once you are done selecting the users and groups, press the **Select** button on bottom to move to the next part.
88+
1. (Optional) If you have defined App roles in your application, you can use the **Select role** option to assign the selected users and groups to one of the application's roles.
8889
1. Press the **Assign** button on the bottom to finish the assignments of users and groups to the app.
8990
1. Confirm that the users and groups you added are showing up in the updated **Users and groups** list.
9091

92+
## More information
93+
94+
- [How to: Add app roles in your application](https://docs.microsoft.com/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps)
95+
- [Add authorization using app roles & roles claims to an ASP.NET Core web app](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/5-WebApp-AuthZ/5-1-Roles)
96+
- [Using Security Groups and Application Roles in your apps (Video)](https://www.youtube.com/watch?v=V8VUPixLSiM)
97+
- [Azure Active Directory, now with Group Claims and Application Roles](https://techcommunity.microsoft.com/t5/Azure-Active-Directory-Identity/Azure-Active-Directory-now-with-Group-Claims-and-Application/ba-p/243862)
98+
- [Azure Active Directory app manifest](https://docs.microsoft.com/azure/active-directory/develop/reference-app-manifest)

articles/active-directory/manage-apps/application-proxy-wildcard.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ For example: `http(s)://*.adventure-works.com`.
4646

4747
While the internal and external URLs can use different domains, as a best practice, they should be same. When publishing the application, you see an error if one of the URLs doesn't have a wildcard.
4848

49-
If you have additional applications with different configuration settings, you must publish these exceptions as separate applications to overwrite the defaults set for the wildcard. Applications without a wildcard do always take precedence over wildcard applications. From the configuration perspective, these are "just" regular applications.
50-
5149
Creating a wildcard application is based on the same [application publishing flow](application-proxy-add-on-premises-application.md) that is available for all other applications. The only difference is that you include a wildcard in the URLs and potentially the SSO configuration.
5250

5351
## Prerequisites

articles/active-directory/saas-apps/dynatrace-tutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ In this section, you'll enable B.Simon to use Azure single sign-on by granting a
138138

139139
## Configure Dynatrace SSO
140140

141-
To configure single sign-on on the **Dynatrace** side, you need to send the downloaded **Federation Metadata XML** file and the appropriate copied URLs from the Azure portal to the [Dynatrace support team](https://www.dynatrace.com/services-support/). They configure this setting to have the SAML SSO connection set properly on both sides.
141+
To configure single sign-on on the **Dynatrace** side, you need to send the downloaded **Federation Metadata XML** file and the appropriate copied URLs from the Azure portal to [Dynatrace](https://www.dynatrace.com/support/help/shortlink/users-sso-hub). You can follow the instructions on the Dynatrace website to configure the SAML SSO connection on both sides.
142142

143143
### Create Dynatrace test user
144144

0 commit comments

Comments
 (0)