Skip to content

Commit 63acda0

Browse files
committed
Merge branch 'main' into release-db-ship
2 parents 56a36c6 + 14ea4d3 commit 63acda0

File tree

470 files changed

+6801
-2243
lines changed

Some content is hidden

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

470 files changed

+6801
-2243
lines changed

articles/active-directory/authentication/howto-sspr-authenticationdata.md

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: authentication
88
ms.topic: how-to
9-
ms.date: 10/05/2020
9+
ms.date: 07/12/2022
1010

1111
ms.author: justinha
1212
author: justinha
@@ -18,7 +18,7 @@ ms.custom: devx-track-azurepowershell
1818
---
1919
# Pre-populate user authentication contact information for Azure Active Directory self-service password reset (SSPR)
2020

21-
To use Azure Active Directory (Azure AD) self-service password reset (SSPR), authentication contact information for a user must be present. Some organizations have users register their authentication data themselves. Other organizations prefer to synchronize from authentication data that already exists in Active Directory Domain Services (AD DS). This synchronized data is made available to Azure AD and SSPR without requiring user interaction. When users need to change or reset their password, they can do so even if they haven't previously registered their contact information.
21+
To use Azure Active Directory (Azure AD) self-service password reset (SSPR), authentication information for a user must be present. Most organizations have users register their authentication data themselves while collecting information for MFA. Some organizations prefer to bootstrap this process through synchronization of authentication data that already exists in Active Directory Domain Services (AD DS). This synchronized data is made available to Azure AD and SSPR without requiring user interaction. When users need to change or reset their password, they can do so even if they haven't previously registered their contact information.
2222

2323
You can pre-populate authentication contact information if you meet the following requirements:
2424

@@ -80,13 +80,13 @@ The following fields can be set through PowerShell:
8080
* Can only be set if you're not synchronizing with an on-premises directory.
8181

8282
> [!IMPORTANT]
83-
> There's a known lack of parity in command features between PowerShell v1 and PowerShell v2. The [Microsoft Graph REST API (beta) for authentication methods](/graph/api/resources/authenticationmethods-overview) is the current engineering focus to provide modern interaction.
83+
> Azure AD PowerShell is planned for deprecation. You can start using [Microsoft Graph PowerShell](/powershell/microsoftgraph/overview) to interact with Azure AD as you would in Azure AD PowerShell, or use the [Microsoft Graph REST API for managing authentication methods](/graph/api/resources/authenticationmethods-overview).
8484
85-
### Use PowerShell version 1
85+
### Use Azure AD PowerShell version 1
8686

8787
To get started, [download and install the Azure AD PowerShell module](/previous-versions/azure/jj151815(v=azure.100)#bkmk_installmodule). After it's installed, use the following steps to configure each field.
8888

89-
#### Set the authentication data with PowerShell version 1
89+
#### Set the authentication data with Azure AD PowerShell version 1
9090

9191
```PowerShell
9292
Connect-MsolService
@@ -98,7 +98,7 @@ Set-MsolUser -UserPrincipalName [email protected] -PhoneNumber "+1 4252345678"
9898
Set-MsolUser -UserPrincipalName [email protected] -AlternateEmailAddresses @("[email protected]") -MobilePhone "+1 4251234567" -PhoneNumber "+1 4252345678"
9999
```
100100

101-
#### Read the authentication data with PowerShell version 1
101+
#### Read the authentication data with Azure AD PowerShell version 1
102102

103103
```PowerShell
104104
Connect-MsolService
@@ -120,21 +120,21 @@ Get-MsolUser -UserPrincipalName [email protected] | select -Expand StrongAuthentic
120120
Get-MsolUser -UserPrincipalName [email protected] | select -Expand StrongAuthenticationUserDetails | select Email
121121
```
122122

123-
### Use PowerShell version 2
123+
### Use Azure AD PowerShell version 2
124124

125125
To get started, [download and install the Azure AD version 2 PowerShell module](/powershell/module/azuread/).
126126

127127
To quickly install from recent versions of PowerShell that support `Install-Module`, run the following commands. The first line checks to see if the module is already installed:
128128

129129
```PowerShell
130-
Get-Module AzureADPreview
131-
Install-Module AzureADPreview
130+
Get-Module AzureAD
131+
Install-Module AzureAD
132132
Connect-AzureAD
133133
```
134134

135135
After the module is installed, use the following steps to configure each field.
136136

137-
#### Set the authentication data with PowerShell version 2
137+
#### Set the authentication data with Azure AD PowerShell version 2
138138

139139
```PowerShell
140140
Connect-AzureAD
@@ -146,7 +146,7 @@ Set-AzureADUser -ObjectId [email protected] -TelephoneNumber "+1 4252345678"
146146
Set-AzureADUser -ObjectId [email protected] -OtherMails @("[email protected]") -Mobile "+1 4251234567" -TelephoneNumber "+1 4252345678"
147147
```
148148

149-
#### Read the authentication data with PowerShell version 2
149+
#### Read the authentication data with Azure AD PowerShell version 2
150150

151151
```PowerShell
152152
Connect-AzureAD
@@ -158,6 +158,45 @@ Get-AzureADUser -ObjectID [email protected] | select TelephoneNumber
158158
Get-AzureADUser | select DisplayName,UserPrincipalName,otherMails,Mobile,TelephoneNumber | Format-Table
159159
```
160160

161+
### Use Microsoft Graph PowerShell
162+
163+
To get started, [download and install the Microsoft Graph PowerShell module](/powershell/microsoftgraph/overview).
164+
165+
To quickly install from recent versions of PowerShell that support `Install-Module`, run the following commands. The first line checks to see if the module is already installed:
166+
167+
```PowerShell
168+
Get-Module Microsoft.Graph
169+
Install-Module Microsoft.Graph
170+
Select-MgProfile -Name "beta"
171+
Connect-MgGraph -Scopes "User.ReadWrite.All"
172+
```
173+
174+
After the module is installed, use the following steps to configure each field.
175+
176+
#### Set the authentication data with Microsoft Graph PowerShell
177+
178+
```PowerShell
179+
Connect-MgGraph -Scopes "User.ReadWrite.All"
180+
181+
Update-MgUser -UserId '[email protected]' -otherMails @("[email protected]")
182+
Update-MgUser -UserId '[email protected]' -mobilePhone "+1 4251234567"
183+
Update-MgUser -UserId '[email protected]' -businessPhones "+1 4252345678"
184+
185+
Update-MgUser -UserId '[email protected]' -otherMails @("[email protected]") -mobilePhone "+1 4251234567" -businessPhones "+1 4252345678"
186+
```
187+
188+
#### Read the authentication data with Microsoft Graph PowerShell
189+
190+
```PowerShell
191+
Connect-MgGraph -Scopes "User.Read.All"
192+
193+
Get-MgUser -UserId '[email protected]' | select otherMails
194+
Get-MgUser -UserId '[email protected]' | select mobilePhone
195+
Get-MgUser -UserId '[email protected]' | select businessPhones
196+
197+
Get-MgUser -UserId '[email protected]' | Select businessPhones, mobilePhone, otherMails | Format-Table
198+
```
199+
161200
## Next steps
162201

163202
Once authentication contact information is pre-populated for users, complete the following tutorial to enable self-service password reset:
139 KB
Loading

articles/active-directory/cloud-sync/plan-cloud-sync-topologies.md

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ This article describes various on-premises and Azure Active Directory (Azure AD)
2020
> [!IMPORTANT]
2121
> Microsoft doesn't support modifying or operating Azure AD Connect cloud sync outside of the configurations or actions that are formally documented. Any of these configurations or actions might result in an inconsistent or unsupported state of Azure AD Connect cloud sync. As a result, Microsoft can't provide technical support for such deployments.
2222
23-
For more information see the following video.
23+
For more information, see the following video.
2424

2525
> [!VIDEO https://www.microsoft.com/en-us/videoplayer/embed/RWJ8l5]
2626
2727
## Things to remember about all scenarios and topologies
28-
The following is a list of information to keep in mind when selecting a solution.
28+
The information below should be kept in mind, when selecting a solution.
2929

3030
- Users and groups must be uniquely identified across all forests
31-
- Matching across forests does not occur with cloud sync
31+
- Matching across forests doesn't occur with cloud sync
3232
- A user or group must be represented only once across all forests
3333
- The source anchor for objects is chosen automatically. It uses ms-DS-ConsistencyGuid if present, otherwise ObjectGUID is used.
34-
- You cannot change the attribute that is used for source anchor.
34+
- You can't change the attribute that is used for source anchor.
3535

3636
## Single forest, single Azure AD tenant
3737
![Diagram that shows the topology for a single forest and a single tenant.](media/tutorial-single-forest/diagram-2.png)
@@ -42,7 +42,7 @@ The simplest topology is a single on-premises forest, with one or multiple domai
4242
## Multi-forest, single Azure AD tenant
4343
![Topology for a multi-forest and a single tenant](media/plan-cloud-provisioning-topologies/multi-forest-2.png)
4444

45-
A common topology is a multiple AD forests, with one or multiple domains, and a single Azure AD tenant.
45+
Multiple AD forests is a common topology, with one or multiple domains, and a single Azure AD tenant.
4646

4747
## Existing forest with Azure AD Connect, new forest with cloud Provisioning
4848
![Diagram that shows the topology for an existing forest and a new forest.](media/tutorial-existing-forest/existing-forest-new-forest-2.png)
@@ -55,7 +55,29 @@ The piloting scenario involves the existence of both Azure AD Connect and Azure
5555

5656
For an example of this scenario see [Tutorial: Pilot Azure AD Connect cloud sync in an existing synced AD forest](tutorial-pilot-aadc-aadccp.md)
5757

58+
## Merging objects from disconnected sources
59+
### (Public Preview)
60+
![Diagram for merging objects from disconnected sources](media/plan-cloud-provisioning-topologies/attributes-multiple-sources.png)
61+
In this scenario, the attributes of a user are contributed to by two disconnected Active Directory forests.
5862

63+
An example would be:
64+
65+
- one forest (1) contains most of the attributes
66+
- a second forest (2) contains a few attributes
67+
68+
Since the second forest doesn't have network connectivity to the Azure AD Connect server, the object can't be merged through Azure AD Connect. Cloud Sync in the second forest allows the attribute value to be retrieved from the second forest. The value can then be merged with the object in Azure AD that is synced by Azure AD Connect.
69+
70+
This configuration is advanced and there are a few caveats to this topology:
71+
72+
1. You must use `msdsConsistencyGuid` as the source anchor in the Cloud Sync configuration.
73+
2. The `msdsConsistencyGuid` of the user object in the second forest must match that of the corresponding object in Azure AD.
74+
3. You must populate the `UserPrincipalName` attribute and the `Alias` attribute in the second forest and it must match the ones that are synced from the first forest.
75+
4. You must remove all attributes from the attribute mapping in the Cloud Sync configuration that don't have a value or may have a different value in the second forest – you can't have overlapping attribute mappings between the first forest and the second one.
76+
5. If there's no matching object in the first forest, for an object that is synced from the second forest, then Cloud Sync will still create the object in Azure AD. The object will only have the attributes that are defined in the mapping configuration of Cloud Sync for the second forest.
77+
6. If you delete the object from the second forest, it will be temporarily soft deleted in Azure AD. It will be restored automatically after the next Azure AD Connect sync cycle.
78+
7. If you delete the object from the first forest, it will be soft deleted from Azure AD. The object won't be restored unless a change is made to the object in the second forest. After 30 days the object will be hard deleted from Azure AD and if a change is made to the object in the second forest it will be created as a new object in Azure AD.
79+
80+
5981

6082
## Next steps
6183

articles/active-directory/develop/app-objects-and-service-principals.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ A service principal must be created in each tenant where the application is used
7272

7373
### Consequences of modifying and deleting applications
7474

75-
Any changes that you make to your application object are also reflected in its service principal object in the application's home tenant only (the tenant where it was registered). This means that deleting an application object will also delete its home tenant service principal object. However, restoring that application object will not restore its corresponding service principal. For multi-tenant applications, changes to the application object are not reflected in any consumer tenants' service principal objects until the access is removed through the [Application Access Panel](https://myapps.microsoft.com) and granted again.
75+
Any changes that you make to your application object are also reflected in its service principal object in the application's home tenant only (the tenant where it was registered). This means that deleting an application object will also delete its home tenant service principal object. However, restoring that application object through the app registrations UI won't restore its corresponding service principal. For more information on deletion and recovery of applications and their service principal objects, see [delete and recover applications and service principal objects](../manage-apps/recover-deleted-apps-faq.md).
7676

7777
## Example
7878

articles/active-directory/develop/howto-remove-app.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ In the following sections, you learn how to:
3131

3232
## Remove an application authored by you or your organization
3333

34-
Applications that you or your organization have registered are represented by both an application object and service principal object in your tenant. For more information, see [Application Objects and Service Principal Objects](./app-objects-and-service-principals.md).
34+
Applications that you or your organization have registered are represented by both an application object and service principal object in your tenant. For more information, see [Application objects and service principal objects](./app-objects-and-service-principals.md).
3535

3636
> [!NOTE]
3737
> Deleting an application will also delete its service principal object in the application's home directory. For multi-tenant applications, service principal objects in other directories will not be deleted.
@@ -50,7 +50,7 @@ To delete an application, be listed as an owner of the application or have admin
5050

5151
If you are viewing **App registrations** in the context of a tenant, a subset of the applications that appear under the **All apps** tab are from another tenant and were registered into your tenant during the consent process. More specifically, they are represented by only a service principal object in your tenant, with no corresponding application object. For more information on the differences between application and service principal objects, see [Application and service principal objects in Azure AD](./app-objects-and-service-principals.md).
5252

53-
In order to remove an application’s access to your directory (after having granted consent), the company administrator must remove its service principal. The administrator must have Global Admininstrator access, and can remove the application through the Azure portal or use the [Azure AD PowerShell Cmdlets](/previous-versions/azure/jj151815(v=azure.100)) to remove access.
53+
In order to remove an application’s access to your directory (after having granted consent), the company administrator must remove its service principal. The administrator must have Global Administrator access, and can remove the application through the Azure portal or use the [Azure AD PowerShell Cmdlets](/previous-versions/azure/jj151815(v=azure.100)) to remove access.
5454

5555
## Next steps
5656

articles/active-directory/develop/msal-net-token-cache-serialization.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,15 @@ services.Configure<MsalDistributedTokenCacheAdapterOptions>(options =>
102102
options.DisableL1Cache = false;
103103

104104
// Or limit the memory (by default, this is 500 MB)
105-
options.L1CacheOptions.SizeLimit = 1024 * 1024 * 1024, // 1 GB
105+
options.L1CacheOptions.SizeLimit = 1024 * 1024 * 1024; // 1 GB
106106
107107
// You can choose if you encrypt or not encrypt the cache
108108
options.Encrypt = false;
109109

110110
// And you can set eviction policies for the distributed
111111
// cache.
112112
options.SlidingExpiration = TimeSpan.FromHours(1);
113-
}
113+
});
114114

115115
// Then, choose your implementation of distributed cache
116116
// -----------------------------------------------------
@@ -708,4 +708,4 @@ The following samples illustrate token cache serialization.
708708
| ------ | -------- | ----------- |
709709
|[active-directory-dotnet-desktop-msgraph-v2](https://github.com/azure-samples/active-directory-dotnet-desktop-msgraph-v2) | Desktop (WPF) | Windows Desktop .NET (WPF) application that calls the Microsoft Graph API. ![Diagram that shows a topology with a desktop app client flowing to Azure Active Directory by acquiring a token interactively and to Microsoft Graph.](media/msal-net-token-cache-serialization/topology.png)|
710710
|[active-directory-dotnet-v1-to-v2](https://github.com/Azure-Samples/active-directory-dotnet-v1-to-v2) | Desktop (console) | Set of Visual Studio solutions that illustrate the migration of Azure AD v1.0 applications (using ADAL.NET) to Microsoft identity platform applications (using MSAL.NET). In particular, see [Token cache migration](https://github.com/Azure-Samples/active-directory-dotnet-v1-to-v2/blob/master/TokenCacheMigration/README.md) and [Confidential client token cache](https://github.com/Azure-Samples/active-directory-dotnet-v1-to-v2/tree/master/ConfidentialClientTokenCache). |
711-
[ms-identity-aspnet-webapp-openidconnect](https://github.com/Azure-Samples/ms-identity-aspnet-webapp-openidconnect) | ASP.NET (net472) | Example of token cache serialization in an ASP.NET MVC application (using MSAL.NET). In particular, see [MsalAppBuilder](https://github.com/Azure-Samples/ms-identity-aspnet-webapp-openidconnect/blob/master/WebApp/Utils/MsalAppBuilder.cs).
711+
[ms-identity-aspnet-webapp-openidconnect](https://github.com/Azure-Samples/ms-identity-aspnet-webapp-openidconnect) | ASP.NET (net472) | Example of token cache serialization in an ASP.NET MVC application (using MSAL.NET). In particular, see [MsalAppBuilder](https://github.com/Azure-Samples/ms-identity-aspnet-webapp-openidconnect/blob/master/WebApp/Utils/MsalAppBuilder.cs).

0 commit comments

Comments
 (0)