Skip to content

Commit cd89c36

Browse files
committed
2 parents e264e0f + 5a386ab commit cd89c36

File tree

270 files changed

+4083
-2418
lines changed

Some content is hidden

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

270 files changed

+4083
-2418
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/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)

articles/active-directory/b2b/what-is-b2b.md

Lines changed: 19 additions & 12 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: overview
9-
ms.date: 01/23/2020
9+
ms.date: 02/12/2020
1010

1111
ms.author: mimart
1212
author: msmimart
@@ -27,23 +27,29 @@ The following video provides a useful overview.
2727
>[!VIDEO https://www.youtube.com/embed/AhwrweCBdsc]
2828
2929
## Collaborate with any partner using their identities
30-
With Azure AD B2B, the partner uses their own identity management solution, so there is no external administrative overhead for your organization.
31-
- The partner uses their own identities and credentials; Azure AD is not required.
32-
- You don't need to manage external accounts or passwords.
30+
31+
With Azure AD B2B, the partner uses their own identity management solution, so there is no external administrative overhead for your organization.
32+
33+
- The partner uses their own identities and credentials; Azure AD is not required.
34+
- You don't need to manage external accounts or passwords.
3335
- You don't need to sync accounts or manage account lifecycles.
3436

3537
![Screenshot showing the Add members page](media/what-is-b2b/add-member.png)
3638

3739
## Invite guest users with a simple invitation and redemption process
40+
3841
Guest users sign in to your apps and services with their own work, school, or social identities. If the guest user doesn’t have a Microsoft account or an Azure AD account, one is created for them when they redeem their invitation.
42+
3943
- Invite guest users using the email identity of their choice.
40-
- Send a direct link to an app, or send an invitation to the guest user's own Access Panel.
44+
- Send a direct link to an app, or send an invitation to the guest user's own Access Panel.
4145
- Guest users follow a few simple redemption steps to sign in.
4246

4347
![Screenshot showing the Review permissions page](media/what-is-b2b/consentscreen.png)
4448

4549
## Use policies to securely share your apps and services
50+
4651
You can use authorization policies to protect your corporate content. Conditional Access policies, such as multi-factor authentication, can be enforced:
52+
4753
- At the tenant level.
4854
- At the application level.
4955
- For specific guest users to protect corporate apps and data.
@@ -54,6 +60,7 @@ You can use authorization policies to protect your corporate content. Conditiona
5460
## Easily add guest users in the Azure AD portal
5561

5662
As an administrator, you can easily add guest users to your organization in the Azure portal.
63+
5764
- Create a new guest user in Azure AD, similar to how you'd add a new user.
5865
- The guest user immediately receives a customizable invitation that lets them sign in to their Access Panel.
5966
- Guest users in the directory can be assigned to apps or groups.
@@ -62,19 +69,19 @@ As an administrator, you can easily add guest users to your organization in the
6269

6370
## Let application and group owners manage their own guest users
6471

65-
You can delegate guest user management to application owners so that they can add guest users directly to any application they want to share, whether it's a Microsoft application or not.
66-
- Administrators set up self-service app and group management.
67-
- Non-administrators use their [Access Panel](https://myapps.microsoft.com) to add guest users to applications or groups.
72+
You can delegate guest user management to application owners so that they can add guest users directly to any application they want to share, whether it's a Microsoft application or not.
73+
74+
- Administrators set up self-service app and group management.
75+
- Non-administrators use their [Access Panel](https://myapps.microsoft.com) to add guest users to applications or groups.
6876

6977
![Screenshot showing the Access panel for a guest user](media/what-is-b2b/access-panel-manage-app.png)
7078

71-
## Use APIs and sample code to easily build applications to onboard
79+
## Customize the onboarding experience for B2B guest users
7280

7381
Bring your external partners on board in ways customized to your organization’s needs.
74-
- Use the [B2B collaboration invitation APIs](https://developer.microsoft.com/graph/docs/api-reference/v1.0/resources/invitation) to customize your onboarding experiences, including creating self-service sign-up portals.
75-
- Use the sample code we provide for a self-service portal [on GitHub](https://github.com/Azure/active-directory-dotnet-graphapi-b2bportal-web).
7682

77-
![Screenshot showing the sample sign-up portal](media/what-is-b2b/sign-up-portal.png)
83+
- 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).
84+
- Use the [B2B collaboration invitation APIs](https://developer.microsoft.com/graph/docs/api-reference/v1.0/resources/invitation) to customize your onboarding experiences.
7885

7986
## Next steps
8087

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.workload: identity
1414
ms.tgt_pltfrm: na
1515
ms.devlang: na
1616
ms.topic: tutorial
17-
ms.date: 08/28/2019
17+
ms.date: 02/11/2020
1818
ms.author: jeedes
1919

2020
ms.collection: M365-identity-device-management

0 commit comments

Comments
 (0)