Skip to content

Commit ac66539

Browse files
Merge pull request #177726 from MicrosoftDocs/repo_sync_working_branch
Confirm merge from repo_sync_working_branch to master to sync with https://github.com/MicrosoftDocs/azure-docs (branch master)
2 parents 29e04b0 + 212b8a8 commit ac66539

File tree

46 files changed

+208
-164
lines changed

Some content is hidden

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

46 files changed

+208
-164
lines changed

articles/active-directory-b2c/custom-email-mailjet.md

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -406,13 +406,6 @@ For more information, see [Self-asserted technical profile](restful-technical-pr
406406
<DisplayName>Local Account</DisplayName>
407407
<TechnicalProfiles>
408408
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
409-
<Metadata>
410-
<!--OTP validation error messages-->
411-
<Item Key="UserMessageIfSessionDoesNotExist">You have exceeded the maximum time allowed.</Item>
412-
<Item Key="UserMessageIfMaxRetryAttempted">You have exceeded the number of retries allowed.</Item>
413-
<Item Key="UserMessageIfInvalidCode">You have entered the wrong code.</Item>
414-
<Item Key="UserMessageIfSessionConflict">Cannot verify the code, please try again later.</Item>
415-
</Metadata>
416409
<DisplayClaims>
417410
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
418411
<DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
@@ -423,13 +416,6 @@ For more information, see [Self-asserted technical profile](restful-technical-pr
423416
</DisplayClaims>
424417
</TechnicalProfile>
425418
<TechnicalProfile Id="LocalAccountDiscoveryUsingEmailAddress">
426-
<Metadata>
427-
<!--OTP validation error messages-->
428-
<Item Key="UserMessageIfSessionDoesNotExist">You have exceeded the maximum time allowed.</Item>
429-
<Item Key="UserMessageIfMaxRetryAttempted">You have exceeded the number of retries allowed.</Item>
430-
<Item Key="UserMessageIfInvalidCode">You have entered the wrong code.</Item>
431-
<Item Key="UserMessageIfSessionConflict">Cannot verify the code, please try again later.</Item>
432-
</Metadata>
433419
<DisplayClaims>
434420
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
435421
</DisplayClaims>
@@ -566,18 +552,18 @@ The Localization element allows you to support multiple locales or languages in
566552
<LocalizedString ElementType="ClaimType" ElementId="emailVerificationCode" StringId="DisplayName">Verification Code</LocalizedString>
567553
<LocalizedString ElementType="ClaimType" ElementId="emailVerificationCode" StringId="UserHelpText">Verification code received in the email.</LocalizedString>
568554
<LocalizedString ElementType="ClaimType" ElementId="emailVerificationCode" StringId="AdminHelpText">Verification code received in the email.</LocalizedString>
569-
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="DisplayName">Eamil</LocalizedString>
555+
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="DisplayName">Email</LocalizedString>
570556
<!-- Email validation error messages-->
571557
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfSessionDoesNotExist">You have exceeded the maximum time allowed.</LocalizedString>
572558
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMaxRetryAttempted">You have exceeded the number of retries allowed.</LocalizedString>
559+
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMaxNumberOfCodeGenerated">You have exceeded the number of code generation attempts allowed.</LocalizedString>
573560
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidCode">You have entered the wrong code.</LocalizedString>
574561
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfSessionConflict">Cannot verify the code, please try again later.</LocalizedString>
575562
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfVerificationFailedRetryAllowed">The verification has failed, please try again.</LocalizedString>
576563
</LocalizedStrings>
577564
</LocalizedResources>
578565
```
579566

580-
After you add the localized strings, remove the OTP validation error messages metadata from the LocalAccountSignUpWithLogonEmail and LocalAccountDiscoveryUsingEmailAddress technical profiles.
581567

582568
## Next steps
583569

articles/active-directory-b2c/custom-email-sendgrid.md

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -392,13 +392,6 @@ For more information, see [Self-asserted technical profile](restful-technical-pr
392392
<DisplayName>Local Account</DisplayName>
393393
<TechnicalProfiles>
394394
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
395-
<Metadata>
396-
<!--OTP validation error messages-->
397-
<Item Key="UserMessageIfSessionDoesNotExist">You have exceeded the maximum time allowed.</Item>
398-
<Item Key="UserMessageIfMaxRetryAttempted">You have exceeded the number of retries allowed.</Item>
399-
<Item Key="UserMessageIfInvalidCode">You have entered the wrong code.</Item>
400-
<Item Key="UserMessageIfSessionConflict">Cannot verify the code, please try again later.</Item>
401-
</Metadata>
402395
<DisplayClaims>
403396
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
404397
<DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
@@ -409,13 +402,6 @@ For more information, see [Self-asserted technical profile](restful-technical-pr
409402
</DisplayClaims>
410403
</TechnicalProfile>
411404
<TechnicalProfile Id="LocalAccountDiscoveryUsingEmailAddress">
412-
<Metadata>
413-
<!--OTP validation error messages-->
414-
<Item Key="UserMessageIfSessionDoesNotExist">You have exceeded the maximum time allowed.</Item>
415-
<Item Key="UserMessageIfMaxRetryAttempted">You have exceeded the number of retries allowed.</Item>
416-
<Item Key="UserMessageIfInvalidCode">You have entered the wrong code.</Item>
417-
<Item Key="UserMessageIfSessionConflict">Cannot verify the code, please try again later.</Item>
418-
</Metadata>
419405
<DisplayClaims>
420406
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
421407
</DisplayClaims>
@@ -550,18 +536,18 @@ The Localization element allows you to support multiple locales or languages in
550536
<LocalizedString ElementType="ClaimType" ElementId="emailVerificationCode" StringId="DisplayName">Verification Code</LocalizedString>
551537
<LocalizedString ElementType="ClaimType" ElementId="emailVerificationCode" StringId="UserHelpText">Verification code received in the email.</LocalizedString>
552538
<LocalizedString ElementType="ClaimType" ElementId="emailVerificationCode" StringId="AdminHelpText">Verification code received in the email.</LocalizedString>
553-
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="DisplayName">Eamil</LocalizedString>
539+
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="DisplayName">Email</LocalizedString>
554540
<!-- Email validation error messages-->
555541
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfSessionDoesNotExist">You have exceeded the maximum time allowed.</LocalizedString>
556542
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMaxRetryAttempted">You have exceeded the number of retries allowed.</LocalizedString>
543+
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMaxNumberOfCodeGenerated">You have exceeded the number of code generation attempts allowed.</LocalizedString>
557544
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidCode">You have entered the wrong code.</LocalizedString>
558545
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfSessionConflict">Cannot verify the code, please try again later.</LocalizedString>
559546
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfVerificationFailedRetryAllowed">The verification has failed, please try again.</LocalizedString>
560547
</LocalizedStrings>
561548
</LocalizedResources>
562549
```
563550

564-
After you add the localized strings, remove the OTP validation error messages metadata from the LocalAccountSignUpWithLogonEmail and LocalAccountDiscoveryUsingEmailAddress technical profiles.
565551

566552
## Next steps
567553

articles/active-directory-b2c/overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Azure Active Directory B2C provides business-to-customer identity as a service.
2121

2222
Azure AD B2C is a customer identity access management (CIAM) solution capable of supporting millions of users and billions of authentications per day. It takes care of the scaling and safety of the authentication platform, monitoring, and automatically handling threats like denial-of-service, password spray, or brute force attacks.
2323

24-
Azure AD B2C is a separate service from [Azure Active Directory (Azure AD)](../active-directory/fundamentals/active-directory-whatis.md). It is built on the same technology as Azure AD but for a different purpose. It allows businesses to build customer facing application, and then allow anyone to sign up into those applications with no restrictions on user account.
24+
Azure AD B2C is a separate service from [Azure Active Directory (Azure AD)](../active-directory/fundamentals/active-directory-whatis.md). It is built on the same technology as Azure AD but for a different purpose. It allows businesses to build customer facing applications, and then allow anyone to sign up into those applications with no restrictions on user account.
2525

2626
## Who uses Azure AD B2C?
2727
Any business or individual who wishes to authenticate end users to their web/mobile applications using a white-label authentication solution. Apart from authentication, Azure AD B2C service is used for authorization such as access to API resources by authenticated users. Azure AD B2C is meant to be used by **IT administrators** and **developers**.
@@ -132,4 +132,4 @@ Now that you have an idea of what Azure AD B2C is and some of the scenarios it c
132132
133133
<!-- LINKS - External -->
134134
[woodgrove]: https://aka.ms/ciamdemo
135-
[woodgrove-repo]: https://github.com/Azure-Samples/active-directory-external-identities-woodgrove-demo
135+
[woodgrove-repo]: https://github.com/Azure-Samples/active-directory-external-identities-woodgrove-demo

articles/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises.md

Lines changed: 63 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -70,23 +70,42 @@ The following scenarios aren't supported:
7070
- *Run as* by using a security key.
7171
- Log in to a server by using a security key.
7272

73+
## Install the Azure AD Kerberos PowerShell module
74+
75+
The [Azure AD Kerberos PowerShell module](https://www.powershellgallery.com/packages/AzureADHybridAuthenticationManagement) provides FIDO2 management features for administrators.
76+
77+
1. Open a PowerShell prompt using the Run as administrator option.
78+
1. Install the Azure AD Kerberos PowerShell module:
79+
80+
```powershell
81+
# First, ensure TLS 1.2 for PowerShell gallery access.
82+
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
83+
84+
# Install the Azure AD Kerberos PowerShell Module.
85+
Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber
86+
```
87+
88+
> [!NOTE]
89+
> - The Azure AD Kerberos PowerShell module uses the [AzureADPreview PowerShell module](https://www.powershellgallery.com/packages/AzureADPreview) to provide advanced Azure Active Directory management features. If the [AzureAD PowerShell module](https://www.powershellgallery.com/packages/AzureAD) is already installed on your local computer, the installation described here might fail because of conflict. To prevent any conflicts during installation, be sure to include the "-AllowClobber" option flag.
90+
> - You can install the Azure AD Kerberos PowerShell module on any computer from which you can access your on-premises Active Directory Domain Controller, without dependency on the Azure AD Connect solution.
91+
> - The Azure AD Kerberos PowerShell module is distributed through the [PowerShell Gallery](https://www.powershellgallery.com/). The PowerShell Gallery is the central repository for PowerShell content. In it, you can find useful PowerShell modules that contain PowerShell commands and Desired State Configuration (DSC) resources.
92+
7393
## Create a Kerberos Server object
7494

75-
Administrators use PowerShell tools from their Azure AD Connect server to create an Azure AD Kerberos Server object in their on-premises directory. Run the following steps in each domain and forest in your organization that contains Azure AD users:
95+
Administrators use the Azure AD Kerberos PowerShell module to create an Azure AD Kerberos Server object in their on-premises directory.
7696

77-
1. Upgrade to the latest version of Azure AD Connect. The instructions assume that you've already configured Azure AD Connect to support your hybrid environment.
78-
1. On the Azure AD Connect server, open an elevated PowerShell prompt, and then go to *C:\Program Files\Microsoft Azure Active Directory Connect\AzureADKerberos\\*.
79-
1. Run the following PowerShell commands to create a new Azure AD Kerberos Server object in both your on-premises Active Directory domain and Azure AD tenant.
97+
Run the following steps in each domain and forest in your organization that contain Azure AD users:
8098

81-
> [!NOTE]
82-
> Replace `contoso.corp.com` in the following example with your on-premises Active Directory domain name.
99+
1. Open a PowerShell prompt using the Run as administrator option.
100+
1. Run the following PowerShell commands to create a new Azure AD Kerberos Server object both in your on-premises Active Directory domain and in your Azure Active Directory tenant.
83101

84-
```powerShell
85-
Import-Module ".\AzureAdKerberos.psd1"
102+
> [!NOTE]
103+
> Replace `contoso.corp.com` in the following example with your on-premises Active Directory domain name.
86104
87-
# Specify the on-premises Active Directory domain. A new Azure AD
88-
# Kerberos Server object will be created in this Active Directory domain.
89-
$domain = "contoso.corp.com"
105+
```powershell
106+
# Specify the on-premises Active Directory domain. A new Azure AD
107+
# Kerberos Server object will be created in this Active Directory domain.
108+
$domain = "contoso.corp.com"
90109
91110
# Enter an Azure Active Directory global administrator username and password.
92111
$cloudCred = Get-Credential
@@ -99,43 +118,57 @@ Administrators use PowerShell tools from their Azure AD Connect server to create
99118
Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred
100119
```
101120

102-
> [!NOTE]
103-
> If your organization protects password-based sign-in and enforces modern authentication methods such as multifactor authentication, FIDO2, or smart card technology, you must use the `-UserPrincipalName` parameter with the User Principal Name (UPN) of a global administrator.
104-
> - Replace `contoso.corp.com` in the following example with your on-premises Active Directory domain name.
105-
> - Replace `[email protected]` in the following example with the UPN of a global administrator.
121+
> [!NOTE]
122+
> If you're working on a domain-joined machine with an account that has domain administrator privileges, you can skip the "-DomainCredential" parameter. If the "-DomainCredential" parameter isn't provided, the current Windows login credential is used to access your on-premises Active Directory Domain Controller.
106123
107-
```powerShell
108-
Import-Module ".\AzureAdKerberos.psd1"
124+
```powershell
125+
# Specify the on-premises Active Directory domain. A new Azure AD
126+
# Kerberos Server object will be created in this Active Directory domain.
127+
$domain = "contoso.corp.com"
109128
110-
# Specify the on-premises Active Directory domain. A new Azure AD
111-
# Kerberos Server object will be created in this Active Directory domain.
112-
$domain = "contoso.corp.com"
129+
# Enter an Azure Active Directory global administrator username and password.
130+
$cloudCred = Get-Credential
131+
132+
# Create the new Azure AD Kerberos Server object in Active Directory
133+
# and then publish it to Azure Active Directory.
134+
# Use the current windows login credential to access the on-prem AD.
135+
Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred
136+
```
137+
138+
> [!NOTE]
139+
> If your organization protects password-based sign-in and enforces modern authentication methods such as MFA, FIDO2, or Smart Card, you must use the "-UserPrincipalName" parameter with the User Principal Name of a Global administrator.
140+
> - Replace `contoso.corp.com` in the following example with your on-premises Active Directory domain name.
141+
> - Replace `[email protected]` in the following example with the User Principal Name of a Global administrator.
142+
143+
```powershell
144+
# Specify the on-premises Active Directory domain. A new Azure AD
145+
# Kerberos Server object will be created in this Active Directory domain.
146+
$domain = "contoso.corp.com"
113147
114148
# Enter a UPN of an Azure Active Directory global administrator
115149
$userPrincipalName = "[email protected]"
116150
117151
# Enter a domain administrator username and password.
118152
$domainCred = Get-Credential
119153
120-
# Create the new Azure AD Kerberos Server object in Active Directory
121-
# and then publish it to Azure Active Directory.
122-
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $userPrincipalName -DomainCredential $domainCred
123-
```
154+
# Create the new Azure AD Kerberos Server object in Active Directory
155+
# and then publish it to Azure Active Directory.
156+
# Open an interactive sign-in prompt with given username to access the Azure AD.
157+
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $userPrincipalName -DomainCredential $domainCred
158+
```
124159

125160
### View and verify the Azure AD Kerberos Server
126161

127162
You can view and verify the newly created Azure AD Kerberos Server by using the following command:
128163

129-
```powerShell
164+
```powershell
130165
Get-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred
131166
```
132167

133168
This command outputs the properties of the Azure AD Kerberos Server. You can review the properties to verify that everything is in good order.
134169

135170
> [!NOTE]
136-
> Running against another domain by supplying the credential would connect over NTLM but would then fail if the users are part of the Protected Users security group in Azure AD.
137-
>
138-
> As a workaround, log in with another domain user to the Azure AD Connect box and don’t supply a -domainCredential, because doing so would consume the Kerebros ticket of the currently logged in user. You can confirm by executing `whoami /groups` to validate whether the user has the required permissions in Azure AD to execute the preceding command.
171+
> Running against another domain by supplying the credential will connect over NTLM, and then it fails. If the users are in the Protected Users security group in Active Directory, complete these steps to resolve the issue: Sign in as another domain user in **ADConnect** and don’t supply "-domainCredential". The Kereberos ticket of the user that's currently signed in is used. You can confirm by executing `whoami /groups` to validate whether the user has the required permissions in Active Directory to execute the preceding command.
139172
140173
| Property | Description |
141174
| --- | --- |
@@ -159,15 +192,15 @@ The Azure AD Kerberos Server encryption *krbtgt* keys should be rotated on a reg
159192
> [!WARNING]
160193
> There are other tools that could rotate the *krbtgt* keys. However, you must use the tools mentioned in this document to rotate the *krbtgt* keys of your Azure AD Kerberos Server. This ensures that the keys are updated in both on-premises Active Directory and Azure AD.
161194
162-
```powerShell
195+
```powershell
163196
Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred -RotateServerKey
164197
```
165198

166199
### Remove the Azure AD Kerberos Server
167200

168201
If you want to revert the scenario and remove the Azure AD Kerberos Server from both the on-premises Active Directory and Azure AD, run the following command:
169202

170-
```powerShell
203+
```powershell
171204
Remove-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred
172205
```
173206

0 commit comments

Comments
 (0)