Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Informacje zawarte w tym artykule dotyczą systemu Windows 2016 lub nowszego.
Jeśli Twoja organizacja jest federacyjna z identyfikatorem Firmy Microsoft Entra, możesz użyć uwierzytelniania wieloskładnikowego firmy Microsoft do zabezpieczenia zasobów usług Active Directory Federation Services (AD FS), zarówno lokalnych, jak i w chmurze. Uwierzytelnianie wieloskładnikowe firmy Microsoft umożliwia wyeliminowanie haseł i zapewnienie bezpieczniejszego sposobu uwierzytelniania. Za pomocą usług AD FS można skonfigurować uwierzytelnianie wieloskładnikowe firmy Microsoft na potrzeby uwierzytelniania podstawowego lub użyć go jako dodatkowego dostawcy uwierzytelniania.
W przeciwieństwie do AD FS w systemie Windows Server 2012 R2, AD FS 2016 adapter uwierzytelniania wieloskładnikowego Microsoft Entra integruje się bezpośrednio z Microsoft Entra ID i nie wymaga lokalnego serwera uwierzytelniania wieloskładnikowego platformy Azure. Adapter Microsoft Entra do uwierzytelniania wieloskładnikowego jest wbudowany w system Windows Server 2016. Nie jest wymagana żadna inna instalacja.
Rejestrowanie użytkowników na potrzeby uwierzytelniania wieloskładnikowego firmy Microsoft przy użyciu usług AD FS
Usługi AD FS nie obsługują wbudowanej rejestracji informacji weryfikacji zabezpieczeń przy użyciu uwierzytelniania wieloskładnikowego Microsoft Entra, takich jak numer telefonu czy aplikacja mobilna. Bez obsługi weryfikacji w trybie bezpośrednim użytkownicy muszą uzyskać zatwierdzenie, odwiedzając https://account.activedirectory.windowsazure.com/Proofup.aspx przed skorzystaniem z wieloskładnikowego uwierzytelniania Microsoft Entra do uwierzytelniania w aplikacjach AD FS. Gdy użytkownik, który jeszcze nie został zweryfikowany w usłudze Microsoft Entra ID, próbuje uwierzytelnić się za pomocą uwierzytelniania wieloczynnikowego Microsoft Entra w AD FS, otrzymuje błąd AD FS. Jako administrator usług AD FS możesz dostosować ten komunikat o błędzie, aby zamiast tego poprowadzić użytkownika do strony weryfikacji. Komunikat ten można utworzyć, korzystając z dostosowywania onload.js, aby wykryć ciąg komunikatu o błędzie na stronie AD FS. Następnie można wyświetlić nowy komunikat, aby przekierować użytkownika do https://aka.ms/mfasetup, aby umożliwić ponowne uwierzytelnienie. Aby uzyskać więcej informacji, zobacz Dostosowanie strony internetowej AD FS w celu nakierowania użytkowników na rejestrację metod weryfikacji MFA.
Notatka
Przed tą aktualizacją użytkownicy musieli uwierzytelniać się przy użyciu uwierzytelniania wieloskładnikowego firmy Microsoft w celu rejestracji, odwiedzając https://account.activedirectory.windowsazure.com/Proofup.aspx. Dzięki tej aktualizacji użytkownik usług AD FS, który nie zarejestrował jeszcze informacji weryfikacyjnych usługi Microsoft Entra dla uwierzytelniania wieloskładnikowego, może uzyskać dostęp do strony rejestracji Azure za pomocą skrótu https://aka.ms/mfasetup, korzystając wyłącznie z uwierzytelniania podstawowego, takiego jak zintegrowane uwierzytelnianie systemu Windows lub nazwa użytkownika i hasło na stronach internetowych usług AD FS. Jeśli użytkownik nie ma skonfigurowanych metod weryfikacji, identyfikator Entra firmy Microsoft wykonuje rejestrację śródliniową. Użytkownik widzi komunikat "Administrator musi skonfigurować to konto na potrzeby dodatkowej weryfikacji zabezpieczeń". Następnie użytkownik wybierze Skonfiguruj go teraz. Użytkownicy, którzy mają już skonfigurowaną co najmniej jedną metodę weryfikacji, nadal będą monitowani o podanie uwierzytelniania wieloskładnikowego (MFA) podczas odwiedzania strony sprawdzania.
Zalecane topologie wdrażania
W tej sekcji opisano używanie uwierzytelniania wieloskładnikowego firmy Microsoft jako podstawowej metody uwierzytelniania przy użyciu usług AD FS i uwierzytelniania wieloskładnikowego firmy Microsoft dla usługi Office 365.
Uwierzytelnianie wieloskładnikowe Microsoft Entra jako podstawowe uwierzytelnianie
Istnieje kilka wielkich powodów, aby użyć uwierzytelniania wieloskładnikowego firmy Microsoft jako uwierzytelniania podstawowego z usługami AD FS:
- Unika haseł logowania do usługi Microsoft Entra ID, Office 365 i innych aplikacji usług AD FS.
- Chroni logowanie oparte na hasłach, wymagając innego czynnika, takiego jak kod weryfikacyjny przed hasłem.
Możesz również użyć uwierzytelniania wieloskładnikowego Microsoft Entra jako podstawowej metody uwierzytelniania i Microsoft Entra Conditional Access, w tym prawdziwego uwierzytelniania wieloskładnikowego, które wymaga podania dodatkowych czynników. Aby użyć uwierzytelniania wieloskładnikowego firmy Microsoft w środowisku lokalnym, możesz skonfigurować ustawienie domeny Microsoft Entra, ustawiając SupportsMfa
na $true
. W tej konfiguracji Microsoft Entra ID może nakazać usługom AD FS przeprowadzenie dodatkowego uwierzytelniania lub pełnego MFA w scenariuszach dostępu warunkowego, które tego wymagają.
Każdy użytkownik usług AD FS, który nie jest zarejestrowany (nie skonfigurowano jeszcze informacji weryfikacji uwierzytelniania wieloskładnikowego), powinien zostać poproszony o skonfigurowanie informacji weryfikacyjnych. Aby wyświetlić monit dla niezarejestrowanych użytkowników, możesz użyć dostosowanej strony błędu usług AD FS, aby skierować użytkowników do https://aka.ms/mfasetup i skonfigurować informacje potrzebne do weryfikacji. Po skonfigurowaniu użytkownik może ponownie zalogować się do usług AD FS.
Uwierzytelnianie wieloskładnikowe Microsoft Entra jako podstawowe jest traktowane jako jeden czynnik. Po wstępnej konfiguracji użytkownicy muszą podać inny czynnik, aby zarządzać lub aktualizować swoje informacje weryfikacyjne w identyfikatorze Entra firmy Microsoft lub uzyskać dostęp do innych zasobów, które wymagają uwierzytelniania wieloskładnikowego.
Notatka
W usługach AD FS 2019 należy wprowadzić modyfikację typu oświadczenia zakotwiczenia dla zaufania dostawcy oświadczeń usługi Active Directory i zmodyfikować to z windowsaccountname
na główną nazwę użytkownika (UPN). Uruchom następujący cmdlet programu PowerShell. Nie ma to wpływu na działanie wewnętrzne farmy usług AD FS. Po wprowadzeniu tej zmiany może zostać ponownie wyświetlony monit o podanie poświadczeń przez kilku użytkowników. Po ponownym zalogowaniu użytkownicy końcowi nie będą widzieć różnicy.
Set-AdfsClaimsProviderTrust -AnchorClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -TargetName "Active Directory"
Uwierzytelnianie wieloskładnikowe Microsoft Entra jako dodatkowa metoda uwierzytelnienia w usłudze Office 365
Adapter Microsoft Entra do uwierzytelniania wieloskładnikowego dla AD FS umożliwia użytkownikom wykonywanie MFA w AD FS. Aby zabezpieczyć zasób Microsoft Entra, należy wymagać uwierzytelniania wieloskładnikowego za pośrednictwem polityki dostępu warunkowego . Należy również skonfigurować domenę SupportsMfa
na $true
oraz wysyłać oświadczenie multipleauthn, gdy użytkownik pomyślnie ukończy weryfikację dwuetapową.
Zgodnie z opisem wcześniej każdy użytkownik usług AD FS, który nie jest zarejestrowany (nie skonfigurowano jeszcze informacji weryfikacji uwierzytelniania wieloskładnikowego) powinien być monitowany o skonfigurowanie informacji weryfikacyjnych. Aby wyświetlić monit dla niezarejestrowanych użytkowników, możesz użyć dostosowanej strony błędu usług AD FS, aby skierować użytkowników do https://aka.ms/mfasetup i skonfigurować informacje potrzebne do weryfikacji. Po skonfigurowaniu użytkownik może ponownie zalogować się do usług AD FS.
Warunki wstępne
W przypadku korzystania z uwierzytelniania wieloskładnikowego firmy Microsoft w usługach AD FS wymagane są następujące wymagania wstępne:
- subskrypcja platformy Azure z Microsoft Entra ID.
- Microsoft Entra uwierzytelnianie wieloskładnikowe.
Notatka
Identyfikator Microsoft Entra ID i uwierzytelnianie wieloskładnikowe Microsoft Entra są zawarte w Microsoft Entra ID P1/P2 oraz w pakiecie Enterprise Mobility Suite (EMS). Nie potrzebujesz indywidualnych subskrypcji, jeśli masz zainstalowaną jedną z tych aplikacji.
- Środowisko lokalne AD FS dla systemu Windows Server 2016.
- Serwer musi mieć możliwość komunikowania się z następującymi adresami URL za pośrednictwem portu 443.
https://adnotifications.windowsazure.com
https://login.microsoftonline.com
- Serwer musi mieć możliwość komunikowania się z następującymi adresami URL za pośrednictwem portu 443.
- Środowisko lokalne musi być sfederowane z Microsoft Entra ID.
- moduł Microsoft Azure Active Directory dla programu Windows PowerShell.
- Poświadczenia administratora przedsiębiorstwa służące do konfigurowania farmy usług AD FS na potrzeby uwierzytelniania wieloskładnikowego firmy Microsoft.
- Aby skonfigurować to przy użyciu programu PowerShell, musisz mieć konto z rolą Administratora aplikacji w wystąpieniu Microsoft Entra ID.
Notatka
Moduły Azure AD i MSOnline w programie PowerShell są wycofane od 30 marca 2024 r. Aby dowiedzieć się więcej, przeczytaj aktualizację dotyczącą wycofywania. Po tej dacie obsługa tych modułów jest ograniczona do pomocy dotyczącej migracji do zestawu MICROSOFT Graph PowerShell SDK i poprawek zabezpieczeń. Przestarzałe moduły będą nadal działać do 30 marca 2025 r.
Zalecamy migrację do programu Microsoft Graph PowerShell w celu interakcji z Microsoft Entra ID (dawniej Azure AD). Aby uzyskać odpowiedzi na typowe pytania dotyczące migracji, zapoznaj się z często zadawanymi pytaniami dotyczącymi migracji . Uwaga: Wersje 1.0.x MSOnline mogą doświadczyć przerw w działaniu po 30 czerwca 2024 r.
Konfigurowanie serwerów usług AD FS
Aby ukończyć konfigurację uwierzytelniania wieloskładnikowego firmy Microsoft dla usług AD FS, należy skonfigurować każdy serwer usług AD FS, wykonując kroki opisane tutaj.
Notatka
Upewnij się, że te kroki są wykonywane na wszystkich serwerach usług AD FS w farmie. Jeśli masz wiele serwerów usług AD FS w farmie, możesz wykonać niezbędną konfigurację zdalnie przy użyciu programu Azure AD PowerShell.
Krok 1. Generowanie certyfikatu dla uwierzytelniania wieloskładnikowego firmy Microsoft na każdym serwerze usług AD FS
Najpierw należy użyć polecenia New-AdfsAzureMfaTenantCertificate
PowerShell w celu wygenerowania certyfikatu dla uwierzytelniania wieloskładnikowego firmy Microsoft Entra. Po wygenerowaniu certyfikatu znajdź go w magazynie certyfikatów maszyn lokalnych. Certyfikat jest oznaczony nazwą podmiotu zawierającą TenantID dla katalogu Microsoft Entra.
TenantID to nazwa katalogu w Microsoft Entra ID. Użyj następującego polecenia cmdlet programu PowerShell, aby wygenerować nowy certyfikat:
$certbase64 = New-AdfsAzureMfaTenantCertificate -TenantID <tenantID>
Krok 2: Dodaj nowe poświadczenia do głównej jednostki usługi klienta platformy Azure do uwierzytelniania wieloskładnikowego
Aby umożliwić serwerom usług AD FS komunikację z klientem uwierzytelniania wieloskładnikowego platformy Azure, należy dodać poświadczenia do głównej usługi klienta uwierzytelniania wieloskładnikowego platformy Azure. Certyfikaty generowane przy użyciu polecenia cmdlet New-AdfsAzureMFaTenantCertificate służą jako te poświadczenia. Otwórz program PowerShell i wykonaj następujące kroki, aby dodać nowe poświadczenia do podstawowego obiektu usługi klienta uwierzytelniania wieloczynnikowego platformy Azure.
Krok 3. Ustawianie certyfikatu jako nowego poświadczenia względem klienta uwierzytelniania wieloskładnikowego platformy Azure
Notatka
Aby wykonać ten krok, musisz nawiązać połączenie z wystąpieniem programu Microsoft Entra ID za pomocą Microsoft Graph PowerShell, używając Connect-MgGraph
. W tych krokach założono, że połączenie zostało już nawiązane za pośrednictwem programu PowerShell.
Connect-MgGraph -Scopes 'Application.ReadWrite.All'
$servicePrincipalId = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").Id
$keyCredentials = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").KeyCredentials
$certX509 = [System.Security.Cryptography.X509Certificates.X509Certificate2]([System.Convert]::FromBase64String($certBase64))
$newKey = @(@{
CustomKeyIdentifier = $null
DisplayName = $certX509.Subject
EndDateTime = $null
Key = $certX509.GetRawCertData()
KeyId = [guid]::NewGuid()
StartDateTime = $null
Type = "AsymmetricX509Cert"
Usage = "Verify"
AdditionalProperties = $null
})
$keyCredentials += $newKey
Update-MgServicePrincipal -ServicePrincipalId $servicePrincipalId -KeyCredentials $keyCredentials
Ważny
To polecenie należy uruchomić na wszystkich serwerach usług AD FS w farmie. Uwierzytelnianie wieloskładnikowe firmy Microsoft zakończy się niepowodzeniem na serwerach, na których nie ustawiono certyfikatu jako nowego poświadczenia dla klienta uwierzytelniania wieloskładnikowego platformy Azure.
Notatka
981f26a1-7f43-403b-a875-f8b09b8cd720 to identyfikator GUID dla klienta uwierzytelniania wieloskładnikowego platformy Azure.
Konfigurowanie farmy usług AD FS
Po wykonaniu kroków opisanych w poprzedniej sekcji dla każdego serwera AD FS ustaw informacje o dzierżawie platformy Azure przy użyciu polecenia cmdlet Set-AdfsAzureMfaTenant. To polecenie cmdlet należy wykonać tylko raz dla farmy serwerów AD FS.
Otwórz program PowerShell i wprowadź swój własny tenantId przy użyciu polecenia cmdlet Set-AdfsAzureMfaTenant
. W przypadku klientów korzystających z chmury Microsoft Azure Government dodaj parametr -Environment USGov
:
Notatka
Przed wprowadzeniem tych zmian należy ponownie uruchomić usługę AD FS na każdym serwerze w farmie. Aby uzyskać minimalny wpływ, należy wyłączyć każdy serwer AD FS z rotacji NLB po kolei i poczekać, aż wszystkie połączenia zostaną zakończone.
Set-AdfsAzureMfaTenant -TenantId <tenant ID> -ClientId 981f26a1-7f43-403b-a875-f8b09b8cd720
System Windows Server bez najnowszego dodatku Service Pack nie obsługuje parametru -Environment
dla polecenia cmdlet Set-AdfsAzureMfaTenant
. Jeśli używasz chmury Azure Government i poprzednie kroki nie powiodły się podczas konfigurowania dzierżawy platformy Azure z powodu brakującego parametru -Environment
, wykonaj poniższe kroki, aby ręcznie utworzyć wpisy rejestru. Pomiń następujące kroki, jeśli poprzednie polecenie cmdlet poprawnie zarejestrowało informacje o dzierżawie lub jeśli nie znajdujesz się w chmurze Azure Government:
Otwórz edytor rejestru na serwerze usług AD FS.
Przejdź do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS. Utwórz następujące wartości klucza rejestru:
Klucz rejestru Wartość SasUrl https://adnotifications.windowsazure.us/StrongAuthenticationService.svc/Connector
StsUrl https://login.microsoftonline.us
"ResourceUri" https://adnotifications.windowsazure.us/StrongAuthenticationService.svc/Connector
Przed wprowadzeniem tych zmian uruchom ponownie usługę AD FS na każdym serwerze w farmie. Aby zmniejszyć wpływ na systemy, należy usunąć każdy serwer AD FS z rotacji NLB po kolei i poczekać, aż wszystkie połączenia zostaną rozładowane.
Po wykonaniu tego kroku zobaczysz, że uwierzytelnianie wieloskładnikowe firmy Microsoft jest dostępne jako podstawowa metoda uwierzytelniania dla intranetu i ekstranetu.
Jeśli chcesz użyć wieloskładnikowego uwierzytelniania Microsoft Entra jako pomocniczej metody uwierzytelniania, w polu Edytuj metody uwierzytelniania wybierz kartę wieloskładnikową (kartę Dodatkowe w usługach AD FS 2019) i upewnij się, że jest ona włączona. W przeciwnym razie mogą pojawić się komunikaty o błędach, takie jak "Nie znaleziono prawidłowej silnej metody uwierzytelniania. Skontaktuj się z administratorem, aby skonfigurować i włączyć odpowiedniego silnego dostawcę uwierzytelniania".
Odnawianie i zarządzanie certyfikatami uwierzytelniania wieloskładnikowego Microsoft Entra AD FS
Poniższe wskazówki ułatwiają zarządzanie certyfikatami uwierzytelniania wieloskładnikowego firmy Microsoft na serwerach usług AD FS.
Domyślnie podczas konfigurowania usług AD FS przy użyciu uwierzytelniania wieloskładnikowego firmy Microsoft certyfikaty generowane za pośrednictwem polecenia cmdlet programu New-AdfsAzureMfaTenantCertificate
PowerShell są ważne przez dwa lata. Aby określić, jak blisko wygasają certyfikaty, oraz aby odnowić i zainstalować nowe certyfikaty, wykonaj poniższą procedurę.
Oceń datę wygaśnięcia certyfikatu uwierzytelniania wieloskładnikowego Microsoft Entra w usługach AD FS.
Na każdym serwerze usług AD FS, na komputerze lokalnym Mój sklep, istnieje certyfikat z podpisem własnym z "Microsoft AD FS Microsoft Entra multifactor authentication" w obszarze Wystawca i Podmiot. Ten certyfikat jest certyfikatem uwierzytelniania wieloskładnikowego firmy Microsoft. Sprawdź okres ważności tego certyfikatu na każdym serwerze usług AD FS, aby określić datę wygaśnięcia.
Utwórz nowy certyfikat uwierzytelniania wieloskładnikowego usług AD FS firmy Microsoft na każdym serwerze usług AD FS.
Jeśli okres ważności certyfikatów zbliża się do końca, rozpocznij proces odnawiania, generując nowy certyfikat uwierzytelniania wieloskładnikowego firmy Microsoft na każdym serwerze usług AD FS. W programie PowerShell wygeneruj nowy certyfikat na każdym serwerze usług AD FS przy użyciu następującego polecenia cmdlet:
Ostrożność
Jeśli certyfikat już wygasł, nie dodaj parametru
-Renew $true
do następującego polecenia. W tym scenariuszu istniejący wygasły certyfikat zostaje zastąpiony nowym, zamiast być pozostawionym na miejscu i utworzeniem dodatkowego certyfikatu.$newcert = New-AdfsAzureMfaTenantCertificate -TenantId <tenant id such as contoso.onmicrosoft.com> -Renew $true
Jeśli certyfikat jeszcze nie wygasł, polecenie generuje nowy certyfikat, który jest ważny od dwóch dni od bieżącego dnia do dwóch lat i dwóch dni w przyszłości. Nie ma to wpływu na operacje uwierzytelniania wieloskładnikowego usług AD FS i Microsoft Entra podczas uruchamiania polecenia cmdlet ani odnawiania certyfikatu. Opóźnienie dwudniowe jest zamierzone i zapewnia czas na wykonanie następnych kroków w celu skonfigurowania nowego certyfikatu w dzierżawie, zanim usługa AD FS zacznie go używać na potrzeby uwierzytelniania wieloskładnikowego w Microsoft Entra.
Skonfiguruj każdy nowy certyfikat uwierzytelniania wieloskładnikowego usług AD FS Microsoft w dzierżawie Microsoft Entra.
Notatka
Aby wykonać ten krok, musisz nawiązać połączenie z wystąpieniem programu Microsoft Entra ID za pomocą Microsoft Graph PowerShell, używając
Connect-MgGraph
. W tych krokach założono, że połączenie zostało już nawiązane za pośrednictwem programu PowerShell.Connect-MgGraph -Scopes 'Application.ReadWrite.All' $servicePrincipalId = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").Id $keyCredentials = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").KeyCredentials $certX509 = [System.Security.Cryptography.X509Certificates.X509Certificate2]([System.Convert]::FromBase64String($newcert)) $newKey = @(@{ CustomKeyIdentifier = $null DisplayName = $certX509.Subject EndDateTime = $null Key = $certX509.GetRawCertData() KeyId = [guid]::NewGuid() StartDateTime = $null Type = "AsymmetricX509Cert" Usage = "Verify" AdditionalProperties = $null }) $keyCredentials += $newKey Update-MgServicePrincipal -ServicePrincipalId $servicePrincipalId -KeyCredentials $keyCredentials
Jeśli poprzedni certyfikat wygasł, uruchom ponownie usługę AD FS, aby pobrać nowy certyfikat. Nie musisz ponownie uruchamiać usługi AD FS, jeśli certyfikat został odnowiony przed jego wygaśnięciem.
Sprawdź, czy nowe certyfikaty są używane na potrzeby uwierzytelniania wieloskładnikowego firmy Microsoft.
Po tym jak nowe certyfikaty staną się ważne, usługa AD FS automatycznie je zaktualizuje i zacznie używać każdego odpowiedniego certyfikatu dla uwierzytelniania wieloskładnikowego w Microsoft Entra w ciągu kilku godzin do jednego dnia. Po użyciu nowych certyfikatów usług AD FS na każdym serwerze zobaczysz zdarzenie zarejestrowane w dzienniku zdarzeń administratora usług AD FS z następującymi informacjami:
Log Name: AD FS/Admin
Source: AD FS
Date: 2/27/2018 7:33:31 PM
Event ID: 547
Task Category: None
Level: Information
Keywords: AD FS
User: DOMAIN\adfssvc
Computer: ADFS.domain.contoso.com
Description:
The tenant certificate for Azure MFA has been renewed.
TenantId: contoso.onmicrosoft.com.
Old thumbprint: 7CC103D60967318A11D8C51C289EF85214D9FC63.
Old expiration date: 9/15/2019 9:43:17 PM.
New thumbprint: 8110D7415744C9D4D5A4A6309499F7B48B5F3CCF.
New expiration date: 2/27/2020 2:16:07 AM.
Dostosuj stronę internetową usług AD FS, aby kierować użytkowników do rejestrowania metod weryfikacji MFA.
Skorzystaj z poniższych przykładów, aby dostosować strony internetowe usług AD FS dla użytkowników, którzy jeszcze nie skonfigurowali informacji weryfikacyjnych uwierzytelniania wieloskładnikowego.
Znajdowanie błędu
Najpierw usługi AD FS zwracają kilka różnych komunikatów o błędach, gdy użytkownik nie ma informacji weryfikacyjnych. Jeśli używasz usługi Microsoft Entra do uwierzytelniania wieloskładnikowego jako uwierzytelniania podstawowego, użytkownik niezatwierdzony zobaczy stronę błędu AD FS zawierającą następujące komunikaty:
<div id="errorArea">
<div id="openingMessage" class="groupMargin bigText">
An error occurred
</div>
<div id="errorMessage" class="groupMargin">
Authentication attempt failed. Select a different sign in option or close the web browser and sign in again. Contact your administrator for more information.
</div>
Gdy podejmowana jest próba użycia Microsoft Entra ID jako dodatkowego uwierzytelniania, niezatwierdzony użytkownik widzi stronę błędu AD FS zawierającą następujące komunikaty:
<div id='mfaGreetingDescription' class='groupMargin'>For security reasons, we require additional information to verify your account (mahesh@jenfield.net)</div>
<div id="errorArea">
<div id="openingMessage" class="groupMargin bigText">
An error occurred
</div>
<div id="errorMessage" class="groupMargin">
The selected authentication method is not available for 'username@contoso.com'. Choose another authentication method or contact your system administrator for details.
</div>
Przechwyć błąd i zaktualizować tekst strony
Aby przechwycić błąd i wyświetlić użytkownikowi niestandardowe wskazówki, dołącz skrypt JavaScript na końcu pliku onload.js
, który jest częścią motywu internetowego usług AD FS. Umożliwia to:
- Znajdź ciągi identyfikujące błędy.
- Podaj niestandardową zawartość internetową.
Notatka
Aby uzyskać ogólne wskazówki dotyczące dostosowywania pliku onload.js, zobacz Zaawansowane dostosowywanie stron logowania usług AD FS.
W poniższych krokach przedstawiono prosty przykład:
Otwórz program Windows PowerShell na podstawowym serwerze usług AD FS i utwórz nowy motyw sieci Web usług AD FS, uruchamiając następujące polecenie.
New-AdfsWebTheme –Name ProofUp –SourceName default
Utwórz folder i wyeksportuj domyślny motyw sieci Web dla AD FS.
New-Item -Path 'C:\Theme' -ItemType Directory;Export-AdfsWebTheme –Name default –DirectoryPath C:\Theme
Otwórz plik C:\Theme\script\onload.js w edytorze tekstów.
Dołącz następujący kod na końcu pliku onload.js:
//Custom Code //Customize MFA exception //Begin var domain_hint = "<YOUR_DOMAIN_NAME_HERE>"; var mfaSecondFactorErr = "The selected authentication method is not available for"; var mfaProofupMessage = "You will be automatically redirected in 5 seconds to set up your account for additional security verification. After you've completed the setup, please return to the application you are attempting to access.<br><br>If you are not redirected automatically, please click <a href='{0}'>here</a>." var authArea = document.getElementById("authArea"); if (authArea) { var errorMessage = document.getElementById("errorMessage"); if (errorMessage) { if (errorMessage.innerHTML.indexOf(mfaSecondFactorErr) >= 0) { //Hide the error message var openingMessage = document.getElementById("openingMessage"); if (openingMessage) { openingMessage.style.display = 'none' } var errorDetailsLink = document.getElementById("errorDetailsLink"); if (errorDetailsLink) { errorDetailsLink.style.display = 'none' } //Provide a message and redirect to Azure AD MFA Registration Url var mfaRegisterUrl = "https://account.activedirectory.windowsazure.com/proofup.aspx?proofup=1&whr=" + domain_hint; errorMessage.innerHTML = "<br>" + mfaProofupMessage.replace("{0}", mfaRegisterUrl); window.setTimeout(function () { window.location.href = mfaRegisterUrl; }, 5000); } } } //End Customize MFA Exception //End Custom Code
Ważny
Musisz zmienić "<YOUR_DOMAIN_NAME_HERE>"; aby użyć nazwy domeny. Na przykład:
var domain_hint = "contoso.com";
.Zapisz plik onload.js.
Zaimportuj plik onload.js do motywu niestandardowego, wprowadzając następujące polecenie programu Windows PowerShell:
Set-AdfsWebTheme -TargetName ProofUp -AdditionalFileResource @{Uri='/adfs/portal/script/onload.js';path="c:\theme\script\onload.js"}
Zastosuj niestandardowy motyw dla AD FS, wprowadzając następujące polecenie w Windows PowerShell:
Set-AdfsWebConfig -ActiveThemeName "ProofUp"