Skip to content

Commit cc3d9e9

Browse files
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into us1669724a
2 parents abd3693 + 09ca0d3 commit cc3d9e9

File tree

358 files changed

+6610
-3951
lines changed

Some content is hidden

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

358 files changed

+6610
-3951
lines changed

.openpublishing.redirection.json

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3732,7 +3732,12 @@
37323732
},
37333733
{
37343734
"source_path": "articles/azure-resource-manager/resource-group-create-multiple.md",
3735-
"redirect_url": "/azure/azure-resource-manager/templates/create-multiple-instances",
3735+
"redirect_url": "/azure/azure-resource-manager/templates/copy-resources",
3736+
"redirect_document_id": false
3737+
},
3738+
{
3739+
"source_path": "articles/azure-resource-manager/templates/create-multiple-instances.md",
3740+
"redirect_url": "/azure/azure-resource-manager/templates/copy-resources",
37363741
"redirect_document_id": false
37373742
},
37383743
{
@@ -4662,7 +4667,7 @@
46624667
},
46634668
{
46644669
"source_path": "articles/resource-group-create-multiple.md",
4665-
"redirect_url": "/azure/azure-resource-manager/templates/create-multiple-instances",
4670+
"redirect_url": "/azure/azure-resource-manager/templates/copy-resources",
46664671
"redirect_document_id": false
46674672
},
46684673
{
@@ -12037,7 +12042,7 @@
1203712042
},
1203812043
{
1203912044
"source_path": "articles/azure-resource-manager/resource-manager-property-copy.md",
12040-
"redirect_url": "/azure/azure-resource-manager/templates/create-multiple-instances",
12045+
"redirect_url": "/azure/azure-resource-manager/templates/copy-properties",
1204112046
"redirect_document_id": false
1204212047
},
1204312048
{
@@ -12047,7 +12052,7 @@
1204712052
},
1204812053
{
1204912054
"source_path": "articles/azure-resource-manager/resource-manager-sequential-loop.md",
12050-
"redirect_url": "/azure/azure-resource-manager/templates/create-multiple-instances",
12055+
"redirect_url": "/azure/azure-resource-manager/templates/copy-resources",
1205112056
"redirect_document_id": false
1205212057
},
1205312058
{

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/claim-resolver-overview.md

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ Settings:
122122
1. The `IncludeClaimResolvingInClaimsHandling` metadata must set to `true`
123123
1. The input or output claims attribute `AlwaysUseDefaultValue` must set to `true`
124124

125-
## How to use claim resolvers
125+
## Claim resolvers samples
126126

127127
### RESTful technical profile
128128

@@ -138,12 +138,13 @@ The following example shows a RESTful technical profile:
138138
<Item Key="ServiceUrl">https://your-app.azurewebsites.net/api/identity</Item>
139139
<Item Key="AuthenticationType">None</Item>
140140
<Item Key="SendClaimsIn">Body</Item>
141+
<Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
141142
</Metadata>
142143
<InputClaims>
143-
<InputClaim ClaimTypeReferenceId="userLanguage" DefaultValue="{Culture:LCID}" />
144-
<InputClaim ClaimTypeReferenceId="policyName" DefaultValue="{Policy:PolicyId}" />
145-
<InputClaim ClaimTypeReferenceId="scope" DefaultValue="{OIDC:scope}" />
146-
<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" />
147148
</InputClaims>
148149
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
149150
</TechnicalProfile>
@@ -175,6 +176,17 @@ As a result Azure AD B2C sends the above parameters to the HTML content page:
175176
/selfAsserted.aspx?campaignId=hawaii&language=en-US&app=0239a9cc-309c-4d41-87f1-31288feb2e82
176177
```
177178

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+
178190
### Application Insights technical profile
179191

180192
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.
@@ -192,3 +204,28 @@ With Azure Application Insights and claim resolvers you can gain insights on use
192204
</InputClaims>
193205
</TechnicalProfile>
194206
```
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.
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+
```

articles/active-directory-b2c/phone-number-claims-transformations.md

Lines changed: 15 additions & 5 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: conceptual
12-
ms.date: 02/12/2020
12+
ms.date: 02/14/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -28,7 +28,8 @@ This claim validates the format of the phone number. If it is in a valid format,
2828

2929
| Item | TransformationClaimType | Data Type | Notes |
3030
| ---- | ----------------------- | --------- | ----- |
31-
| InputClaim | inputClaim | string | The claim of string type converting from. |
31+
| InputClaim | phoneNumberString | string | The string claim for the phone number. The phone number has to be in international format, complete with a leading "+" and country code. If input claim `country` is provided, the phone number is in local format (without the country code). |
32+
| InputClaim | country | string | [Optional] The string claim for the country code of the phone number in ISO3166 format (the two-letter ISO-3166 country code). |
3233
| OutputClaim | outputClaim | phoneNumber | The result of this claims transformation. |
3334

3435
The **ConvertStringToPhoneNumberClaim** 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 [display control](display-controls.md). The **UserMessageIfClaimsTransformationInvalidPhoneNumber** self-asserted technical profile metadata controls the error message that is presented to the user.
@@ -40,7 +41,8 @@ You can use this claims transformation to ensure that the provided string claim
4041
```XML
4142
<ClaimsTransformation Id="ConvertStringToPhoneNumber" TransformationMethod="ConvertStringToPhoneNumberClaim">
4243
<InputClaims>
43-
<InputClaim ClaimTypeReferenceId="phoneString" TransformationClaimType="inputClaim" />
44+
<InputClaim ClaimTypeReferenceId="phoneString" TransformationClaimType="phoneNumberString" />
45+
<InputClaim ClaimTypeReferenceId="countryCode" TransformationClaimType="country" />
4446
</InputClaims>
4547
<OutputClaims>
4648
<OutputClaim ClaimTypeReferenceId="phoneNumber" TransformationClaimType="outputClaim" />
@@ -59,11 +61,19 @@ The self-asserted technical profile that calls the validation technical profile
5961
</TechnicalProfile>
6062
```
6163

62-
### Example
64+
### Example 1
6365

6466
- Input claims:
65-
- **inputClaim**: +1 (123) 456-7890
67+
- **phoneNumberString**: 045 456-7890
68+
- **country**: DK
6669
- Output claims:
70+
- **outputClaim**: +450546148120
71+
72+
### Example 2
73+
74+
- Input claims:
75+
- **phoneNumberString**: +1 (123) 456-7890
76+
- Output claims:
6777
- **outputClaim**: +11234567890
6878

6979
## GetNationalNumberAndCountryCodeFromPhoneNumberString

articles/active-directory/app-provisioning/customize-application-attributes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ Certain attributes such as phoneNumbers and emails are multi-value attributes wh
296296

297297
## Restoring the default attributes and attribute-mappings
298298

299-
Should you need to start over and reset your existing mappings back to their default state, you can select the **Restore default mappings** check box and save the configuration. Doing so sets all mappings as if the application was just added to your Azure AD tenant from the application gallery.
299+
Should you need to start over and reset your existing mappings back to their default state, you can select the **Restore default mappings** check box and save the configuration. Doing so sets all mappings and scoping filters as if the application was just added to your Azure AD tenant from the application gallery.
300300

301301
Selecting this option will effectively force a resynchronization of all users while the provisioning service is running.
302302

articles/active-directory/b2b/current-limitations.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,22 @@ Azure AD B2B is subject to Azure AD service directory limits. For details about
3131
## National clouds
3232
[National clouds](https://docs.microsoft.com/azure/active-directory/develop/authentication-national-cloud) are physically isolated instances of Azure. B2B collaboration is not supported across national cloud boundaries. For example, if your Azure tenant is in the public, global cloud, you can't invite a user whose account is in a national cloud. To collaborate with the user, ask them for another email address or create a member user account for them in your directory.
3333

34+
## Azure US Government clouds
35+
Within the Azure US Government cloud, B2B collaboration is currently only supported between tenants that are both within Azure US Government cloud and that both support B2B collaboration. If you invite a user in a tenant that isn't part of the Azure US Government cloud or that doesn't yet support B2B collaboration, the invitation will fail or the user won't be able to redeem the invitation. For details about other limitations, see [Azure Active Directory Premium P1 and P2 Variations](https://docs.microsoft.com/azure/azure-government/documentation-government-services-securityandidentity#azure-active-directory-premium-p1-and-p2).
36+
37+
### How can I tell if B2B collaboration is available in my Azure US Government tenant?
38+
To find out if your Azure US Government cloud tenant supports B2B collaboration, do the following:
39+
40+
1. In a browser, go to the following URL, substituting your tenant name for *&lt;tenantname&gt;*:
41+
42+
`https://login.microsoftonline.com/<tenantname>/v2.0/.well-known/openid-configuration`
43+
44+
2. Find `"tenant_region_scope"` in the JSON response:
45+
46+
- If `"tenant_region_scope":"USGOV”` appears, B2B is supported.
47+
- If `"tenant_region_scope":"USG"` appears, B2B is not supported.
48+
49+
3450
## Next steps
3551

3652
See the following articles on Azure AD B2B collaboration:

articles/active-directory/b2b/self-service-portal.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: B2B
88
ms.topic: sample
9-
ms.date: 05/08/2018
9+
ms.date: 02/12/2020
1010

1111
ms.author: mimart
1212
author: msmimart
@@ -16,17 +16,17 @@ ms.reviewer: mal
1616
ms.collection: M365-identity-device-management
1717
---
1818

19-
# Self-service portal for Azure AD B2B collaboration sign-up
19+
# Self-service for Azure AD B2B collaboration sign-up
2020

21-
Customers can do a lot with the built-in features that are exposed through the [Azure portal](https://portal.azure.com) and the [Application Access Panel](https://myapps.microsoft.com) for end users. However, you might need to customize the onboarding workflow for B2B users to fit your organization’s needs. You can do that with [the invitation API](https://developer.microsoft.com/graph/docs/api-reference/v1.0/resources/invitation).
21+
Customers can do a lot with the built-in features that are exposed through the [Azure portal](https://portal.azure.com) and the [Application Access Panel](https://myapps.microsoft.com) for end users. However, you might need to customize the onboarding workflow for B2B users to fit your organization’s needs.
2222

23-
As an inviting organization, you may not know ahead of time who the individual external collaborators are who need access to your resources. You need a way for users from partner companies to sign themselves up with a set of policies that you as the inviting organization controls. This scenario is possible through the APIs. There's a [sample project on GitHub](https://github.com/Azure/active-directory-dotnet-graphapi-b2bportal-web) that does just that.
23+
## Azure AD entitlement management for B2B guest user sign-up
2424

25-
This GitHub project shows how organizations can use the APIs to provide a policy-based, self-service sign-up capability for your trusted partners, with rules that determine the apps they can access. Partner users can get access to resources when they need them. They can do this securely, without requiring the inviting organization to manually onboard them. You can easily deploy the project into an Azure subscription of your choice.
25+
As an inviting organization, you might not know ahead of time who the individual external collaborators are who need access to your resources. You need a way for users from partner companies to sign themselves up with policies that you control. If you want to enable users from other organizations to request access, and upon approval be provisioned with guest accounts and assigned to groups, apps and SharePoint Online sites, you can use [Azure AD entitlement management](https://docs.microsoft.com/azure/active-directory/governance/entitlement-management-overview) to configure policies that [manage access for external users](https://docs.microsoft.com/azure/active-directory/governance/entitlement-management-external-users#how-access-works-for-external-users).
2626

27-
## As-is code
27+
## Azure Active Directory B2B invitation API
2828

29-
This code is made available as a sample to demonstrate usage of the Azure Active Directory B2B invitation API. It should be customized by your development team or a partner, and should be reviewed before you deploy it in a production scenario.
29+
Organizations can use the [Microsoft Graph invitation manager API](https://docs.microsoft.com/graph/api/resources/invitation?view=graph-rest-1.0) to build their own onboarding experiences for B2B guest users. When you want to offer self-service B2B guest user sign-up, we recommend that you use [Azure AD entitlement management](https://docs.microsoft.com/azure/active-directory/governance/entitlement-management-overview). But if you want to build your own experience, you can use the [create invitation API](https://docs.microsoft.com/graph/api/invitation-post?view=graph-rest-1.0&tabs=http) to automatically send your customized invitation email directly to the B2B user, for example. Or your app can use the inviteRedeemUrl returned in the creation response to craft your own invitation (through your communication mechanism of choice) to the invited user.
3030

3131
## Next steps
3232

articles/active-directory/b2b/toc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
href: b2b-tutorial-require-mfa.md
2424
- name: Samples
2525
items:
26-
- name: Self-service sign-up portal sample
27-
href: self-service-portal.md
2826
- name: Code and Azure PowerShell samples
2927
href: code-samples.md
3028
- name: Concepts
@@ -50,6 +48,8 @@
5048
href: conditional-access.md
5149
- name: B2B for hybrid organizations
5250
href: hybrid-organizations.md
51+
- name: Self-service sign-up
52+
href: self-service-portal.md
5353
- name: Current limitations
5454
href: current-limitations.md
5555
- name: How-to guides

articles/active-directory/b2b/troubleshoot.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@ If the identity tenant is a just-in-time (JIT) or viral tenant (meaning it's a s
9494

9595
As of November 18, 2019, guest users in your directory (defined as user accounts where the **userType** property equals **Guest**) are blocked from using the AzureAD PowerShell V1 module. Going forward, a user will need to either be a member user (where **userType** equals **Member**) or use the AzureAD PowerShell V2 module.
9696

97+
## In an Azure US Government tenant, I can't invite a B2B collaboration guest user
98+
99+
Within the Azure US Government cloud, B2B collaboration is currently only supported between tenants that are both within Azure US Government cloud and that both support B2B collaboration. If you invite a user in a tenant that isn't part of the Azure US Government cloud or that doesn't yet support B2B collaboration, you'll get an error. For details and limitations, see [Azure Active Directory Premium P1 and P2 Variations](https://docs.microsoft.com/azure/azure-government/documentation-government-services-securityandidentity#azure-active-directory-premium-p1-and-p2).
100+
101+
97102
## Next steps
98103

99104
[Get support for B2B collaboration](get-support.md)

0 commit comments

Comments
 (0)