Skonfiguruj nowoczesne uwierzytelnianie hybrydowe w lokalnym programie Exchange

Jak włączyć nowoczesne uwierzytelnianie hybrydowe (HMA) w lokalnym serwerze Exchange? Chcemy zabezpieczyć lokalną organizację Exchange za pomocą nowoczesnego uwierzytelniania zamiast uwierzytelniania podstawowego. W ten sposób możemy używać MFA do lokalnych skrzynek pocztowych użytkowników, a nie tylko do skrzynek pocztowych użytkowników w chmurze. W tym artykule dowiesz się, jak krok po kroku skonfigurować Hybrid Modern Authentication w Exchange on-premise.

Wstęp

Mamy wdrożenie Exchange Hybrid. Większość skrzynek pocztowych znajduje się w Exchange Online, ale mamy skrzynki pocztowe lokalnie. Dzieje się tak z powodu polityki firmy. Teraz, gdy mamy lokalne skrzynki pocztowe, chcemy, aby użytkownicy uwierzytelniali się przy użyciu nowoczesnego uwierzytelniania zamiast domyślnego uwierzytelniania podstawowego.

Notatka:Nowoczesne uwierzytelnianie hybrydowe doskonale współpracuje z pojedynczym serwerem Exchange lub serwerem Exchange o wysokiej dostępności (z równoważeniem obciążenia).

Wymagania wstępne dotyczące nowoczesnego uwierzytelniania hybrydowego

Zanim zaczniesz konfigurować nowoczesne uwierzytelnianie hybrydowe, upewnij się, że wykonałeś następujące kroki:

  1. Kreator konfiguracji hybrydowej Exchange*
  2. Zainstaluj i skonfiguruj Microsoft Entra Connect
  3. Exchange Server 2010 nie działa w organizacji
  4. Exchange Server 2013/2016/2019 z zainstalowaną najnowszą aktualizacją zbiorczą

*Nowoczesne uwierzytelnianie hybrydowe nie jest obsługiwane przez agenta hybrydowego. Będziesz musiał wykorzystać klasyczną topologię hybrydową Exchange i opublikować punkty końcowe AutoDiscover, EWS, ActiveSync, MAPI i OAB, aby nowoczesne uwierzytelnianie hybrydowe mogło działać z różnymi klientami Outlook.

Notatka:Exchange OWA (Outlook Web Access) i ECP (Exchange Control Panel) współpracują z nowoczesnym uwierzytelnianiem. Wymagany jest jednak program Exchange Server 2019 CU14 z aktualizacjami Exchange Server Hotfix z kwietnia 2024 r. lub nowszy.

Zalecamy włączenie nowoczesnego uwierzytelniania w lokalnej organizacji programu Exchange Server w celu ochrony klientów Outlook, Exchange OWA i Exchange ECP. Oznacza to, że musisz zainstalować Exchange Server 2019 i mieć najnowszą wersję.

Diagram nowoczesnego uwierzytelniania hybrydowego

Na poniższym schemacie możesz zobaczyć jak wygląda proces Hybrid Modern Authentication po wdrożeniu.

  1. Użytkownik posiadający lokalną skrzynkę pocztową uruchamia program Outlook i łączy się za pomocą funkcji automatycznego wykrywania z serwerem Exchange. Połączenie zostanie przekierowane do ustawionego adresu URL evoSTS.
  2. Klient programu Outlook kontaktuje się z Microsoft Entra ID i pojawia się monit o zalogowanie się przy użyciu nowoczesnego uwierzytelnienia. Użytkownik zostanie uwierzytelniony przy użyciu tych samych zasad dostępu warunkowego ustawionych dla aplikacji Exchange Online (aplikacja w chmurze).
  3. Po pomyślnym uwierzytelnieniu użytkownik otrzyma token dostępu i token odświeżenia.
  4. Użytkownik udostępnia token dostępu do lokalnego serwera Exchange i uzyskuje dostęp do skrzynki pocztowej.

Zalety nowoczesnego uwierzytelniania

Zalety konfigurowania nowoczesnego uwierzytelniania w lokalnym serwerze Exchange Server to:

  • Bezpieczniejsze niż podstawowe uwierzytelnianie (klasyczna nazwa użytkownika i hasło)
  • Skonfiguruj zasady z Microsoft Entra ID (centralna lokalizacja)
  • Nowoczesny wygląd i obsługa zapewniająca wygodę użytkownika końcowego

Jak skonfigurować nowoczesne uwierzytelnianie hybrydowe

Amanda ma lokalną skrzynkę pocztową i możemy sprawdzić, czy łączy się przy użyciu podstawowego uwierzytelniania w aplikacji komputerowej Outlook, wykonując poniższe czynności:

  1. Uruchom Outlooka
  2. PrzytrzymajKlawisz CTRLIkliknij prawym przyciskiem myszyw kliencie Outlook na pasku zadań systemu Windows
  3. TrzaskStan połączenia

W kolumnie Authn (uwierzytelnienie) zobaczyszNiż*jako schemat uwierzytelniania. Oznacza to, że używasz uwierzytelniania podstawowego.

TheAutentycznykolumna musi być wyświetlana jakoOkaziciel*. Wtedy to wieszNowoczesne uwierzytelnianiejest używany.

Wykonamy poniższe kroki i upewnimy się, że wszystko jest na swoim miejscu, zanim włączymy nowoczesne uwierzytelnianie hybrydowe dla lokalnej organizacji Exchange.

Przyjrzyj się uważnie za każdym razem, gdy zamierzasz uruchomić polecenia cmdlet. Dzieje się tak dlatego, że musisz wykonywać zadania administracyjne w:

  • Powłoka zarządzania Exchange (lokalny serwer Exchange)
  • PowerShell (Microsoft Graph PowerShell)

Krok 1. Włącz nowoczesne uwierzytelnianie w Exchange Online

Więcej przeczytasz w artykule Włącz nowoczesne uwierzytelnianie w Microsoft 365.

Aby włączyć nowoczesne uwierzytelnianie w Exchange Online, wykonaj następujące kroki:

  1. Zaloguj się doCentrum administracyjne Microsoft 365
  2. ZwiększaćUstawieniai kliknijUstawienia organizacji
  3. KliknijUsługiw górnym pasku
  4. WybieraćNowoczesne uwierzytelnianiez listy
  5. Zaznacz poleWłącz nowoczesne uwierzytelnianie w programie Outlook 2013 dla systemu Windows i nowszych wersjach (zalecane)
  6. KliknijRatować

Notatka:W przypadku dzierżawców utworzonych przed 1 sierpnia 2017 r. nowoczesne uwierzytelnianie jest domyślnie wyłączone w przypadku usług Exchange Online i Skype dla firm Online.

Krok 2. Uzyskaj adresy URL katalogów wirtualnych

Uruchom Exchange Management Shell jako administrator na lokalnym serwerze Exchange. Uruchomcztery polecenia cmdletaby pobrać adresy URL katalogów wirtualnych.

Get-MapiVirtualDirectory | fl server,*url*
Get-WebServicesVirtualDirectory | fl server,*url*
Get-ClientAccessServer | fl Name, AutodiscoverServiceInternalUri
Get-OABVirtualDirectory | fl server,*url*

Wyniki pojawiają się w wynikach poniżej po uruchomieniu każdego polecenia. Zanotuj wszystkie wewnętrzne i zewnętrzne adresy URL, ponieważ konieczne będzie ich dodanie w jednym z kolejnych kroków.

W naszym przykładzie mamy tę samą nazwę wewnętrznych i zewnętrznych adresów URL. Zalecamy skonfigurowanie tego w ten sposób, ponieważ znacznie to uprości. Jeśli tego nie zrobisz, na wyjściu zobaczysz adresy wewnętrzne kończące się na .local lub .lan.

# Get-MapiVirtualDirectory | fl server,*url*

Server      : EX01-2019
InternalUrl : https://mail.exoip.com/mapi
ExternalUrl : https://mail.exoip.com/mapi

Server      : EX02-2019
InternalUrl : https://mail.exoip.com/mapi
ExternalUrl : https://mail.exoip.com/mapi

# Get-WebServicesVirtualDirectory | fl server,*url*

Server               : EX01-2019
InternalNLBBypassUrl :
InternalUrl          : https://mail.exoip.com/EWS/Exchange.asmx
ExternalUrl          : https://mail.exoip.com/EWS/Exchange.asmx

Server               : EX02-2019
InternalNLBBypassUrl :
InternalUrl          : https://mail.exoip.com/EWS/Exchange.asmx
ExternalUrl          : https://mail.exoip.com/EWS/Exchange.asmx

# Get-ClientAccessServer | fl Name, AutodiscoverServiceInternalUri

WARNING:  The Get-ClientAccessServer cmdlet will be removed in a future version of Exchange. Use the
Get-ClientAccessService cmdlet instead. If you have any scripts that use the Get-ClientAccessServer cmdlet, update them
to use the Get-ClientAccessService cmdlet.  For more information, see https://go.microsoft.com/fwlink/p/?LinkId=254711.

Name                           : EX01-2019
AutoDiscoverServiceInternalUri : https://autodiscover.exoip.com/Autodiscover/Autodiscover.xml

Name                           : EX02-2019
AutoDiscoverServiceInternalUri : https://autodiscover.exoip.com/Autodiscover/Autodiscover.xml

# Get-OABVirtualDirectory | fl server,*url*

Server      : EX01-2019
InternalUrl : https://mail.exoip.com/OAB
ExternalUrl : https://mail.exoip.com/OAB

Server      : EX02-2019
InternalUrl : https://mail.exoip.com/OAB
ExternalUrl : https://mail.exoip.com/OAB

Uruchom PowerShell jako administrator i połącz się z Microsoft Graph PowerShell. Zaloguj się przy użyciu poświadczeń administratora globalnego Microsoft 365.

Connect-MgGraph -Scopes "Application.Read.All", "Application.ReadWrite.All"

UruchomGet-MgServicePrincipalcmdlet, aby uzyskać adresy URL powiązane z Exchange w chmurze dla aplikacji 00000002-0000-0ff1-ce00-000000000000.

Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'" | select -ExpandProperty ServicePrincipalNames

Zanotuj (i zrzut ekranu do późniejszego porównania) dane wyjściowe tego polecenia, które powinny zawierać adresy URL https://autodiscover.yourdomain.com i https://mail.yourdomain.com, ale głównie składają się z nazw SPN rozpoczynających się od 00000002-0000-0ff1-ce00-000000000000/.

00000002-0000-0ff1-ce00-000000000000/mail.exoip.com
00000002-0000-0ff1-ce00-000000000000/autodiscover.exoip365.mail.onmicrosoft.com
00000002-0000-0ff1-ce00-000000000000/exoip365.mail.onmicrosoft.com
00000002-0000-0ff1-ce00-000000000000/autodiscover.exoip.com
00000002-0000-0ff1-ce00-000000000000/exoip.com
00000002-0000-0ff1-ce00-000000000000/autodiscover.exoip.local
00000002-0000-0ff1-ce00-000000000000/exoip.local
00000002-0000-0ff1-ce00-000000000000/outlook.office365.com
00000002-0000-0ff1-ce00-000000000000/mail.office365.com
00000002-0000-0ff1-ce00-000000000000/outlook.com
00000002-0000-0ff1-ce00-000000000000/*.outlook.com
00000002-0000-0ff1-ce00-000000000000
https://ps.compliance.protection.outlook.com
https://outlook-sdf.office.com/
https://outlook-sdf.office365.com/
https://outlook.office365.com:443/
https://outlook.office.com/
https://outlook.office365.com/
https://outlook.com/
https://ps.protection.outlook.com/
https://outlook-tdf.office.com/
https://outlook-tdf-2.office.com/
https://ps.outlook.com

Najprawdopodobniejhttps://adresy URLz lokalnego środowiska (krok 2) brakuje. Dlatego w następnym kroku będziemy musieli dodać te konkretne rekordy do tej listy.

Krok 4. Dodaj adresy URL lokalnych usług internetowych jako nazwy SPN

Jeśli nie widzisz na tej liście wewnętrznych i zewnętrznych rekordów MAPI/HTTP, EWS, ActiveSync, OAB i Autodiscover, musisz je dodać za pomocą poniższego polecenia w programie Microsoft Graph PowerShell.

W tym przykładzie adresy URL to https://mail.exoip.com/ i https://autodiscover.exoip.com/. Zastąp adresy URL własnymi.

$x = Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"
$x.ServicePrincipalNames += "https://mail.exoip.com/"
$x.ServicePrincipalNames += "https://autodiscover.exoip.com/"
Update-MgServicePrincipal -ServicePrincipalId $x.Id -ServicePrincipalNames $x.ServicePrincipalNames

Załóżmy, że chcesz cofnąć zmianę. Zmień poniższe adresy URL i uruchom polecenia.

$x = Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"
$x.ServicePrincipalNames = $x.ServicePrincipalNames | Where-Object { $_ -ne "https://mail.exoip.com/" -and $_ -ne "https://autodiscover.exoip.com/" }
Update-MgServicePrincipal -ServicePrincipalId $x.Id -ServicePrincipalNames $x.ServicePrincipalNames

Sprawdź, czy dodałeś nowe rekordy, uruchamiając polecenieGet-MgServicePrincipalpolecenie cmdlet w programie Microsoft Graph PowerShell.

Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'" | select -ExpandProperty ServicePrincipalNames

Przejrzyj dane wyjściowe. Porównaj wcześniejszą listę/zrzut ekranu z nową listą nazw SPN. Możesz także zrobić zrzut ekranu nowej listy dla swoich danych. Jeśli się powiedzie, na liście pojawią się dwa nowe adresy URL.

Idąc za naszym przykładem, lista nazw SPN zawiera teraz określone adresy URL https://mail.exoip.com/ i https://autodiscover.exoip.com/. Zobacz to na górze listy.

https://autodiscover.exoip.com/
https://mail.exoip.com/
00000002-0000-0ff1-ce00-000000000000/mail.exoip.com
00000002-0000-0ff1-ce00-000000000000/autodiscover.exoip365.mail.onmicrosoft.com
00000002-0000-0ff1-ce00-000000000000/exoip365.mail.onmicrosoft.com
00000002-0000-0ff1-ce00-000000000000/autodiscover.exoip.com
00000002-0000-0ff1-ce00-000000000000/exoip.com
00000002-0000-0ff1-ce00-000000000000/autodiscover.exoip.local
00000002-0000-0ff1-ce00-000000000000/exoip.local
00000002-0000-0ff1-ce00-000000000000/outlook.office365.com
00000002-0000-0ff1-ce00-000000000000/mail.office365.com
00000002-0000-0ff1-ce00-000000000000/outlook.com
00000002-0000-0ff1-ce00-000000000000/*.outlook.com
00000002-0000-0ff1-ce00-000000000000
https://ps.compliance.protection.outlook.com
https://outlook-sdf.office.com/
https://outlook-sdf.office365.com/
https://outlook.office365.com:443/
https://outlook.office.com/
https://outlook.office365.com/
https://outlook.com/
https://ps.protection.outlook.com/
https://outlook-tdf.office.com/
https://outlook-tdf-2.office.com/
https://ps.outlook.com

Krok 6. Zweryfikuj katalogi wirtualne OAuth

Teraz sprawdź, czy protokół OAuth (nowoczesne uwierzytelnianie) jest poprawnie włączony w lokalnym programie Exchange we wszystkich katalogach wirtualnych, z których może korzystać program Outlook. Uruchom polecenia cmdlet w powłoce zarządzania Exchange.

Get-MapiVirtualDirectory | fl server,*url*,*auth*
Get-WebServicesVirtualDirectory | fl server,*url*,*oauth*
Get-OABVirtualDirectory | fl server,*url*,*oauth*
Get-AutoDiscoverVirtualDirectory | fl server,*oauth*

Wyniki pojawiają się w wynikach poniżej po uruchomieniu każdego polecenia.

# Get-MapiVirtualDirectory | fl server,*url*,*auth*

Server                        : EX01-2019
InternalUrl                   : https://mail.exoip.com/mapi
ExternalUrl                   : https://mail.exoip.com/mapi
IISAuthenticationMethods      : {Ntlm, OAuth, Negotiate}
InternalAuthenticationMethods : {Ntlm, OAuth, Negotiate}
ExternalAuthenticationMethods : {Ntlm, OAuth, Negotiate}

Server                        : EX02-2019
InternalUrl                   : https://mail.exoip.com/mapi
ExternalUrl                   : https://mail.exoip.com/mapi
IISAuthenticationMethods      : {Ntlm, OAuth, Negotiate}
InternalAuthenticationMethods : {Ntlm, OAuth, Negotiate}
ExternalAuthenticationMethods : {Ntlm, OAuth, Negotiate}

# Get-WebServicesVirtualDirectory | fl server,*url*,*oauth*

Server               : EX01-2019
InternalNLBBypassUrl :
InternalUrl          : https://mail.exoip.com/EWS/Exchange.asmx
ExternalUrl          : https://mail.exoip.com/EWS/Exchange.asmx
OAuthAuthentication  : True

Server               : EX02-2019
InternalNLBBypassUrl :
InternalUrl          : https://mail.exoip.com/EWS/Exchange.asmx
ExternalUrl          : https://mail.exoip.com/EWS/Exchange.asmx
OAuthAuthentication  : True

# Get-OABVirtualDirectory | fl server,*url*,*oauth*

Server              : EX01-2019
InternalUrl         : https://mail.exoip.com/OAB
ExternalUrl         : https://mail.exoip.com/OAB
OAuthAuthentication : True

Server              : EX02-2019
InternalUrl         : https://mail.exoip.com/OAB
ExternalUrl         : https://mail.exoip.com/OAB
OAuthAuthentication : True

# Get-AutoDiscoverVirtualDirectory | fl server,*oauth*

Server              : EX01-2019
OAuthAuthentication : True

Server              : EX02-2019
OAuthAuthentication : True

Jeśli na którymkolwiek serwerze i w którymkolwiek z czterech katalogów wirtualnych brakuje protokołu OAuth, przed kontynuowaniem należy go dodać za pomocą odpowiednich poleceń:

Krok 7. Potwierdź obecność obiektu serwera autoryzacji EvoSTS

Wróć do lokalnej powłoki zarządzania programem Exchange. Uruchom polecenie cmdlet i sprawdź, czy lokalnie znajduje się wpis dla dostawcy uwierzytelniania evoSTS (usługa tokenu zabezpieczającego używana przez Microsoft Entra ID).

Get-AuthServer | Where-Object {$_.Name -like "EvoSts*"} | fl Name,DomainName,IssuerIdentifier,Realm,TokenIssuingEndpoint,Enabled,IsDefault*

Twoje dane wyjściowe powinny pokazywać AuthServer z plikiemNazwazaczyna się odEvoSts, orazWłączonywartość stanu powinna byćPRAWDA. Jeśli tego nie widzisz, pobierz i uruchom najnowszą wersję Kreatora konfiguracji hybrydowej.

W naszych wynikach mamy dwa serwery uwierzytelniające evoSts. Dzieje się tak, ponieważ mamy skonfigurowane środowisko lokalne z dwoma dzierżawcami.

Name                           : EvoSts - 5af53ad5-4ce1-4406-bf3f-b8c796cf17b8
DomainName                     : {exoip365.onmicrosoft.com}
IssuerIdentifier               : https://sts.windows.net/fe15bfe6-36b2-4c9d-bf42-51b995f8e9af/
Realm                          : fe15bfe6-36b2-4c9d-bf42-51b995f8e9af
TokenIssuingEndpoint           : https://login.windows.net/common/oauth2/token
Enabled                        : True
IsDefaultAuthorizationEndpoint : False

Name                           : EvoSts - d1c9beac-0655-48e7-9949-5e497af1d38d
DomainName                     : {exoip.com}
IssuerIdentifier               : https://sts.windows.net/d032a20d-16c9-4e5b-87c3-30b055ded8cc/
Realm                          : d032a20d-16c9-4e5b-87c3-30b055ded8cc
TokenIssuingEndpoint           : https://login.windows.net/common/oauth2/token
Enabled                        : True
IsDefaultAuthorizationEndpoint : False

Krok 8. Włącz nowoczesne uwierzytelnianie hybrydowe

Jeśli masz więcej niż jeden serwer uwierzytelniania evoSts, musisz wiedzieć, który z nich chcesz ustawić jako domyślny. W programie Microsoft Graph PowerShell uruchom polecenie cmdlet, aby pobrać identyfikator organizacji.

Get-MgOrganization | select DisplayName, Id

W naszym przykładzie identyfikator organizacji kończy się na d8cc. Musimy ustawić EvoSts – d1c9beac-0655-48e7-9949-5e497af1d38d jako domyślny punkt końcowy autoryzacji.

DisplayName Id
----------- --
EXOIP       d032a20d-16c9-4e5b-87c3-30b055ded8cc

W powłoce zarządzania programem Exchange uruchom dwa polecenia cmdlet, aby włączyć nowoczesne uwierzytelnianie w lokalnej organizacji programu Exchange.

Set-AuthServer -Identity "EvoSts - d1c9beac-0655-48e7-9949-5e497af1d38d" -IsDefaultAuthorizationEndpoint $true
Set-OrganizationConfig -OAuth2ClientProfileEnabled $true

Jeśli lokalna wersja programu Exchange to Exchange 2016 (CU18 lub nowsza) lub Exchange 2019 (CU7 lub nowsza), a hybryda została skonfigurowana z HCW pobranym po wrześniu 2020 r., uruchom następujące polecenie w lokalnej powłoce zarządzania Exchange.

Zmień tożsamość (skopiuj z kroku 7) i nazwę domeny na własną.

Set-AuthServer -Identity "EvoSts - d1c9beac-0655-48e7-9949-5e497af1d38d" -DomainName "exoip.com" -IsDefaultAuthorizationEndpoint $true
Set-OrganizationConfig -OAuth2ClientProfileEnabled $true

Krok 9. Uruchom ponownie Internetowe usługi informacyjne

Aby przyspieszyć proces, możesz ponownie uruchomić Internetowe usługi informacyjne (IIS) na serwerach Exchange.

iisreset

Krok 10. Wymagania dotyczące rejestru programu Outlook

Upewnij się, że masz uruchomionego jednego z poniższych klientów Outlook, który obsługuje nowoczesne uwierzytelnianie. Program Outlook 2010 nie jest obsługiwany i nie będzie działać. Uaktualnij swojego klienta Outlook do wersji obsługującej nowoczesne uwierzytelnianie.

Wersja OutlookaNowoczesne wsparcie uwierzytelnianiaWymagany klucz rejestracyjny EnableADALWymagany klucz rejestracyjny AlwaysUseMSOAuthForAutodiscover
Outlook 2010NIENiedostępneNiedostępne
Outlook 2013TakTakTak
Outlook 2016TakNIETak
Outlook 2019TakNIETak
Outlooka 365TakNIETak

Firma Microsoft zaleca, aby użytkownicy wymuszali na programie Outlook korzystanie z nowoczesnego uwierzytelniania, ustawiając opcjęDWORDwartość następującego klucza rejestru do1.

HKEY_CURRENT_USERSoftwareMicrosoftExchangeAlwaysUseMSOAuthForAutoDiscover

Jeśli masz Outlooka 2013, musisz dodać jeszcze dwaDWORDwartości. DodajDWORDwartość do1w następujących podkluczach rejestru:

HKEY_CURRENT_USERSOFTWAREMicrosoftOffice15.0CommonIdentityEnableADAL
HKEY_CURRENT_USERSOFTWAREMicrosoftOffice15.0CommonIdentityVersion

Krok 11. Zweryfikuj swoją pracę

Po włączeniu nowoczesnego uwierzytelniania hybrydowego przy następnym logowaniu klienta będzie używany nowy przepływ uwierzytelniania. Należy pamiętać, że samo włączenie nowoczesnego uwierzytelniania hybrydowego nie spowoduje ponownego uwierzytelnienia żadnego klienta, a przyjęcie nowych ustawień przez program Exchange może zająć trochę czasu. Dlatego teżreset lodowyna serwerach Exchange w poprzednim kroku przyspieszy to.

Możesz przytrzymaćKlawisz CTRLIkliknij prawym przyciskiem myszyklienta Outlook na pasku zadań systemu Windows. TrzaskStan połączenia. Poszukaj adresu SMTP klienta w oparciu o typ AuthnOkaziciel*, reprezentujący token okaziciela używany w OAuth.

Pomyślnie skonfigurowano nowoczesne uwierzytelnianie hybrydowe w organizacji lokalnej programu Exchange.

Jak skonfigurować nowoczesne uwierzytelnianie hybrydowe dla OWA i ECP

Ważne jest, aby przed rozpoczęciem konfigurowania nowoczesnego uwierzytelniania hybrydowego dla aplikacji OWA i ECP wykonano poprzedni krok i wszystko działało.

Ważny:Exchange OWA (Outlook Web Access) i ECP (Exchange Control Panel) współpracują z nowoczesnym uwierzytelnianiem. Wymagany jest jednak program Exchange Server 2019 CU14 z aktualizacjami Exchange Server Hotfix z kwietnia 2024 r. lub nowszy.

Tak to wygląda podczas przechodzenia do lokalnego programu Exchange OWA. Oznacza to, że HMA nie jest skonfigurowany dla OWA i ECP.

Na stronach OWA i ECP musi być widoczny ekran logowania Microsoft do programu Outlook. Wtedy wiesz, że używane jest nowoczesne uwierzytelnianie.

Wykonamy poniższe kroki i upewnimy się, że wszystko jest na swoim miejscu, zanim włączymy nowoczesne uwierzytelnianie hybrydowe dla OWA i ECP.

Przyjrzyj się uważnie za każdym razem, gdy zamierzasz uruchomić polecenia cmdlet. Dzieje się tak dlatego, że musisz wykonywać zadania administracyjne w:

  • Powłoka zarządzania Exchange (lokalny serwer Exchange)
  • PowerShell (Microsoft Graph PowerShell)

Krok 1. Uzyskaj adresy URL OWA i ECP

Uruchom Exchange Management Shell jako administrator na lokalnym serwerze Exchange. Uruchom dwa polecenia cmdlet, aby pobrać adresy URL katalogów wirtualnych OWA i ECP.

Get-OwaVirtualDirectory -ADPropertiesOnly | fl server, name, *url*
Get-EcpVirtualDirectory -ADPropertiesOnly | fl server, name, *url*

Wyniki pojawiają się w wynikach poniżej po uruchomieniu każdego polecenia. Zanotuj wszystkie wewnętrzne i zewnętrzne adresy URL, ponieważ konieczne będzie ich dodanie w jednym z kolejnych kroków.

W naszym przykładzie mamy tę samą nazwę wewnętrznych i zewnętrznych adresów URL. Zalecamy skonfigurowanie tego w ten sposób, ponieważ znacznie to uprości. Jeśli tego nie zrobisz, na wyjściu zobaczysz adresy wewnętrzne kończące się na .local lub .lan.

# Get-OwaVirtualDirectory -ADPropertiesOnly | fl server, name, *url*

Server                  : EX01-2019
Name                    : owa (Default Web Site)
Url                     : {}
InternalSPMySiteHostURL :
ExternalSPMySiteHostURL :
SetPhotoURL             :
Exchange2003Url         :
FailbackUrl             :
InternalUrl             : https://mail.exoip.com/owa
ExternalUrl             : https://mail.exoip.com/owa

Server                  : EX02-2019
Name                    : owa (Default Web Site)
Url                     : {}
InternalSPMySiteHostURL :
ExternalSPMySiteHostURL :
SetPhotoURL             :
Exchange2003Url         :
FailbackUrl             :
InternalUrl             : https://mail.exoip.com/owa
ExternalUrl             : https://mail.exoip.com/owa

# Get-EcpVirtualDirectory -ADPropertiesOnly | fl server, name, *url*

Server      : EX01-2019
Name        : ecp (Default Web Site)
InternalUrl : https://mail.exoip.com/ecp
ExternalUrl : https://mail.exoip.com/ecp

Server      : EX02-2019
Name        : ecp (Default Web Site)
InternalUrl : https://mail.exoip.com/ecp
ExternalUrl : https://mail.exoip.com/ecp

Krok 2. Dodaj lokalne adresy URL OWA i ECP jako adresy URL odpowiedzi

Uruchom PowerShell jako administrator i połącz się z Microsoft Graph PowerShell. Zaloguj się przy użyciu poświadczeń administratora globalnego Microsoft 365.

Connect-MgGraph -Scopes "User.Read", "Application.ReadWrite.All"

Dodaj lokalne adresy URL OWA i ECP serwera Exchange do adresów URL odpowiedzi aplikacji, korzystając z poniższego polecenia w programie Microsoft Graph PowerShell.

W tym przykładzie adresy URL to https://mail.exoip.com/owa i https://mail.exoip.com/ecp. Zastąp adresy URL własnymi.

$servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"
$servicePrincipal.ReplyUrls += "https://mail.exoip.com/owa"
$servicePrincipal.ReplyUrls += "https://mail.exoip.com/ecp"
Update-MgServicePrincipal -ServicePrincipalId $servicePrincipal.Id -AppId "00000002-0000-0ff1-ce00-000000000000" -ReplyUrls $servicePrincipal.ReplyUrls

Załóżmy, że chcesz cofnąć zmianę. Zmień poniższe adresy URL i uruchom polecenia.

$servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"
$servicePrincipal.ReplyUrls = $servicePrincipal.ReplyUrls | Where-Object { $_ -ne "https://mail.exoip.com/owa" -and $_ -ne "https://mail.exoip.com/ecp" }
Update-MgServicePrincipal -ServicePrincipalId $servicePrincipal.Id -ReplyUrls $servicePrincipal.ReplyUrls

Krok 3. Sprawdź adresy URL odpowiedzi Exchange

Sprawdź, czy do adresów URL odpowiedzi aplikacji dodano adresy URL OWA i ECP serwera Exchange. UruchomGet-MgServicePrincipalpolecenie cmdlet w programie Microsoft Graph PowerShell.

(Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'").ReplyUrls

Idąc za naszym przykładem, lista adresów URL zawiera teraz określone adresy URL https://mail.exoip.com/owa i https://mail.exoip.com/ecp. Zobacz to na górze listy.

https://mail.exoip.com/ecp
https://mail.exoip.com/owa
https://outlook.cloud.microsoft
https://outlook-sdf.cloud.microsoft
https://sdfpilot.outlook.com/owa

Krok 4. Ustaw globalne zastąpienie domen pobierania

Jeśli skonfigurowałeś opcję pobierania domen na serwerze Exchange, uruchom poniższe polecenie w Exchange Management Shell tylko na jednym serwerze Exchange. Jeśli nie, pomiń ten krok.

New-SettingOverride -Name "OWA HMA Download Domain Support" -Component "OAuth" -Section "OAuthIdentityCacheFixForDownloadDomains" -Parameters ("Enabled=true") -Reason "Enable support for OWA HMA when Download Domains are in use"
Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh
Restart-Service -Name W3SVC, WAS -Force

Krok 5. Uzyskaj status metod uwierzytelniania katalogu wirtualnego

Uruchom polecenia cmdlet w powłoce zarządzania Exchange, aby pobrać stan metod uwierzytelniania katalogów wirtualnych OWA i ECP.

Get-OwaVirtualDirectory -Server "EX01-2019" | fl server, *auth*
Get-EcpVirtualDirectory -Server "EX02-2019" | fl server, *auth*

Wyniki pojawiają się w wynikach poniżej po uruchomieniu każdego polecenia.

# Get-OwaVirtualDirectory -Server "EX01-2019" | fl server, *auth*

Server                        : EX01-2019
ClientAuthCleanupLevel        : High
InternalAuthenticationMethods : {Basic, Fba, Adfs}
BasicAuthentication           : True
WindowsAuthentication         : False
DigestAuthentication          : False
FormsAuthentication           : True
LiveIdAuthentication          : False
AdfsAuthentication            : False
OAuthAuthentication           : False
ExternalAuthenticationMethods : {Fba}

# Get-EcpVirtualDirectory -Server "EX01-2019" | fl server, *auth*

Server                        : EX01-2019
InternalAuthenticationMethods : {Basic, Fba, Adfs}
BasicAuthentication           : True
WindowsAuthentication         : False
DigestAuthentication          : False
FormsAuthentication           : True
LiveIdAuthentication          : False
AdfsAuthentication            : True
OAuthAuthentication           : False
ExternalAuthenticationMethods : {Fba}

Krok 6. Wyłącz metodę uwierzytelniania w OWA i ECP

Wyłącz każdą inną metodę uwierzytelniania dla katalogu wirtualnego OWA i ECP na każdym serwerze Exchange. Uruchom polecenia w powłoce zarządzania Exchange.

Get-OwaVirtualDirectory -Server "EX01-2019" | Set-OwaVirtualDirectory -AdfsAuthentication $false -BasicAuthentication $false -FormsAuthentication $false -DigestAuthentication $false
Get-EcpVirtualDirectory -Server "EX01-2019" | Set-EcpVirtualDirectory -AdfsAuthentication $false -BasicAuthentication $false -FormsAuthentication $false -DigestAuthentication $false
Get-OwaVirtualDirectory -Server "EX02-2019" | Set-OwaVirtualDirectory -AdfsAuthentication $false -BasicAuthentication $false -FormsAuthentication $false -DigestAuthentication $false
Get-EcpVirtualDirectory -Server "EX02-2019" | Set-EcpVirtualDirectory -AdfsAuthentication $false -BasicAuthentication $false -FormsAuthentication $false -DigestAuthentication $false

Krok 7. Włącz nowoczesne uwierzytelnianie hybrydowe dla OWA i ECP

Włącz OAuth dla katalogu wirtualnego OWA i ECP na każdym serwerze Exchange. Uruchom polecenia w powłoce zarządzania Exchange.

Get-EcpVirtualDirectory -Server "EX01-2019" | Set-EcpVirtualDirectory -OAuthAuthentication $true
Get-OwaVirtualDirectory -Server "EX01-2019" | Set-OwaVirtualDirectory -OAuthAuthentication $true
Get-EcpVirtualDirectory -Server "EX02-2019" | Set-EcpVirtualDirectory -OAuthAuthentication $true
Get-OwaVirtualDirectory -Server "EX02-2019" | Set-OwaVirtualDirectory -OAuthAuthentication $true

Krok 8. Zweryfikuj swoją pracę

Po zastosowaniu powyższej konfiguracji nie trzeba ponownie uruchamiać IIS ani serwera Exchange, aby zmiany odniosły skutek.

Notatka:Upewnij się, że Twoje konta administratora są zsynchronizowane z Microsoft Entra ID; w przeciwnym razie nie będziesz mógł zalogować się do ECP. Domyślne konto administratora nie zostanie zsynchronizowane z identyfikatorem Microsoft Entra ID i nie można go używać do logowania. W każdym przypadku należy WYŁĄCZYĆ domyślne konto administratora w środowiskach produkcyjnych, aby ograniczyć obszary ataku.

Więcej czytania:Skonfiguruj uwierzytelnianie Kerberos dla serwera Exchange

Otwórz przeglądarkę internetową i wpisz adres URL OWA lub ECP serwera Exchange. Natychmiast zobaczysz ekran logowania Microsoft do programu Outlook.

Po wypełnieniu poświadczeń zostaniesz przekierowany do lokalnego adresu URL OWA lub ECP serwera Exchange.

Pomyślnie skonfigurowałeś nowoczesne uwierzytelnianie hybrydowe dla OWA i ECP w lokalnej organizacji Exchange.

To wszystko!

Wniosek

Dowiedziałeś się, jak skonfigurować nowoczesne uwierzytelnianie hybrydowe w lokalnym programie Exchange. Postępuj zgodnie z instrukcjami, aby skonfigurować protokół OAuth między usługą Exchange Online a lokalnym programem Exchange. Po skonfigurowaniu zarówno klienci Outlook, jak i OWA/ECP są chronieni.

Czy podobał Ci się ten artykuł? Być może spodoba Ci się także monit Outlooka o podanie hasła po migracji do Office 365. Nie zapomnij nas obserwować i udostępnić ten artykuł.

Related Posts