Udostępnij za pośrednictwem


Jak skonfigurować uwierzytelnianie systemu Windows dla usługi Microsoft Entra ID przy użyciu przepływu opartego na przychodzącej relacji zaufania

W tym artykule opisano sposób implementowania przychodzącego przepływu uwierzytelniania opartego na zaufaniu w celu umożliwienia klientom przyłączonym do usługi Active Directory (AD) z systemem Windows 10, Windows Server 2012 lub nowszymi wersjami systemu Windows w celu uwierzytelniania w usłudze Azure SQL Managed Instance przy użyciu uwierzytelniania systemu Windows.

Ten artykuł zawiera również kroki rotacji klucza Kerberos dla konta usługi w usłudze Microsoft Entra ID (dawniej Azure Active Directory) i obiektu zaufanej domeny oraz kroki usuwania zaufanego obiektu domeny i wszystkich ustawień protokołu Kerberos, jeśli to konieczne.

Włączenie przychodzącego przepływu uwierzytelniania opartego na zaufaniu jest jednym krokiem konfigurowania uwierzytelniania systemu Windows dla usługi Azure SQL Managed Instance przy użyciu identyfikatora Microsoft Entra ID i protokołu Kerberos. Nowoczesny przepływ interaktywny jest dostępny dla obsługujących klientów z systemem Windows 10 20H1, Windows Server 2022 lub nowszą wersją systemu Windows.

Uwaga

Microsoft Entra ID był wcześniej znany jako Azure Active Directory (Azure AD).

Uprawnienia

Aby wykonać kroki opisane w tym artykule, potrzebne są następujące elementy:

  • Nazwa użytkownika i hasło administratora lokalna usługa Active Directory.
  • Nazwa użytkownika i hasło konta usługi Microsoft Entra Global Administracja istrator.

Wymagania wstępne

Aby zaimplementować przychodzący przepływ uwierzytelniania opartego na zaufaniu, najpierw upewnij się, że zostały spełnione następujące wymagania wstępne:

Wymaganie wstępne Opis
Klienci muszą mieć system Windows 10, Windows Server 2012 lub nowszą wersję systemu Windows.
Klienci muszą być przyłączeni do usługi AD. Domena musi mieć poziom funkcjonalności systemu Windows Server 2012 lub wyższy. Możesz określić, czy klient jest przyłączony do usługi AD, uruchamiając polecenie dsregcmd: dsregcmd.exe /status
Moduł zarządzania uwierzytelnianiem hybrydowym usługi Azure AD. Ten moduł programu PowerShell udostępnia funkcje zarządzania na potrzeby konfiguracji lokalnej.
Dzierżawa platformy Azure.
Subskrypcja platformy Azure w ramach tej samej dzierżawy usługi Microsoft Entra, której planujesz używać do uwierzytelniania.
Zainstalowano Połączenie firmy Microsoft. Środowiska hybrydowe z tożsamościami istniejącymi zarówno w usłudze Microsoft Entra ID, jak i w usłudze AD.

Tworzenie i konfigurowanie obiektu zaufanej domeny protokołu Kerberos firmy Microsoft

Aby utworzyć i skonfigurować zaufany obiekt domeny protokołu Kerberos firmy Microsoft, zainstaluj moduł Zarządzania uwierzytelnianiem hybrydowym usługi Azure AD programu PowerShell.

Następnie użyjesz modułu Zarządzania uwierzytelnianiem hybrydowym usługi Azure AD programu PowerShell, aby skonfigurować zaufany obiekt domeny w lokalnej domenie usługi AD i zarejestrować informacje o zaufaniu przy użyciu identyfikatora entra firmy Microsoft. Spowoduje to utworzenie relacji zaufania powiązanej z lokalną usługą AD, która umożliwia usłudze Microsoft Entra ID zaufanie do lokalnej usługi AD.

Konfigurowanie obiektu zaufanej domeny

Aby skonfigurować zaufany obiekt domeny, najpierw zainstaluj moduł PowerShell zarządzania uwierzytelnianiem hybrydowym usługi Azure AD.

Instalowanie modułu Zarządzania uwierzytelnianiem hybrydowym usługi Azure AD w programie PowerShell

  1. Uruchom sesję programu Windows PowerShell z opcją Uruchom jako administrator .

  2. Zainstaluj moduł Zarządzania uwierzytelnianiem hybrydowym usługi Azure AD programu PowerShell przy użyciu następującego skryptu. Skrypt:

    • Włącza protokół TLS 1.2 na potrzeby komunikacji.
    • Instaluje dostawcę pakietów NuGet.
    • Rejestruje repozytorium PSGallery.
    • Instaluje moduł PowerShellGet.
    • Instaluje moduł PowerShell zarządzania uwierzytelnianiem hybrydowym usługi Azure AD.
      • Program PowerShell do zarządzania uwierzytelnianiem hybrydowym usługi Azure AD używa modułu AzureADPreview, który zapewnia zaawansowaną funkcję zarządzania entra firmy Microsoft.
      • Aby chronić przed niepotrzebnymi konfliktami instalacji z modułem programu PowerShell usługi Azure AD, to polecenie zawiera flagę opcji –AllowClobber.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Install-PackageProvider -Name NuGet -Force

if (@(Get-PSRepository | ? {$_.Name -eq "PSGallery"}).Count -eq 0){
    Register-PSRepository -DefaultSet-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
}

Install-Module -Name PowerShellGet -Force

Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber

Tworzenie obiektu zaufanej domeny

  1. Uruchom sesję programu Windows PowerShell z opcją Uruchom jako administrator .

  2. Ustaw typowe parametry. Dostosuj poniższy skrypt przed jego uruchomieniem.

    • $domain Ustaw parametr na nazwę domeny lokalna usługa Active Directory.
    • Po wyświetleniu monitu przez Get-Credentialprogram wprowadź nazwę użytkownika i hasło administratora lokalna usługa Active Directory.
    • $cloudUserName Ustaw parametr na nazwę użytkownika konta uprzywilejowanego global Administracja istrator dla dostępu do chmury Firmy Microsoft Entra.

    Uwaga

    Jeśli chcesz użyć bieżącego konta logowania systemu Windows dla lokalna usługa Active Directory dostępu, możesz pominąć krok, w którym poświadczenia są przypisane do parametru$domainCred. Jeśli to podejście zostanie uwzględnione, nie uwzględnij parametru -DomainCredential w poleceniach programu PowerShell, wykonując ten krok.

    $domain = "your on-premesis domain name, for example contoso.com"
    
    $domainCred = Get-Credential
    
    $cloudUserName = "Azure AD user principal name, for example admin@contoso.onmicrosoft.com"
    
  3. Sprawdź bieżącą Ustawienia domeny Protokołu Kerberos.

    Uruchom następujące polecenie, aby sprawdzić bieżące ustawienia protokołu Kerberos w domenie:

    Get-AzureAdKerberosServer -Domain $domain `
        -DomainCredential $domainCred `
        -UserPrincipalName $cloudUserName
    

    Jeśli jest to pierwsze wywołanie dowolnego polecenia protokołu Kerberos firmy Microsoft Entra, zostanie wyświetlony monit o dostęp do chmury Firmy Microsoft Entra.

    • Wprowadź hasło konta microsoft Entra Global Administracja istrator.
    • Jeśli Twoja organizacja używa innych nowoczesnych metod uwierzytelniania, takich jak uwierzytelnianie wieloskładnikowe firmy Microsoft lub karta inteligentna, postępuj zgodnie z instrukcjami, zgodnie z żądaniem logowania.

    Jeśli po raz pierwszy konfigurujesz ustawienia protokołu Kerberos firmy Microsoft Entra, polecenie cmdlet Get-AzureAdKerberosServer wyświetla puste informacje, jak w następujących przykładowych danych wyjściowych:

    ID                  :
    UserAccount         :
    ComputerAccount     :
    DisplayName         :
    DomainDnsName       :
    KeyVersion          :
    KeyUpdatedOn        :
    KeyUpdatedFrom      :
    CloudDisplayName    :
    CloudDomainDnsName  :
    CloudId             :
    CloudKeyVersion     :
    CloudKeyUpdatedOn   :
    CloudTrustDisplay   :
    

    Jeśli domena obsługuje już uwierzytelnianie FIDO, Get-AzureAdKerberosServer polecenie cmdlet wyświetla informacje o koncie usługi Microsoft Entra, jak w poniższych przykładowych danych wyjściowych. Pole CloudTrustDisplay zwraca pustą wartość.

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   :
    
  4. Dodaj zaufany obiekt domeny.

    Uruchom polecenie cmdlet Set-AzureAdKerberosServer programu PowerShell, aby dodać zaufany obiekt domeny. Pamiętaj, aby uwzględnić -SetupCloudTrust parametr. Jeśli nie ma konta usługi Microsoft Entra, to polecenie tworzy nowe konto usługi Microsoft Entra. To polecenie spowoduje utworzenie żądanego obiektu zaufanej domeny tylko wtedy, gdy istnieje konto usługi Microsoft Entra.

    Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -DomainCredential $domainCred -SetupCloudTrust
    

    Uwaga

    Aby uniknąć błędu LsaCreateTrustedDomainEx w wielu lasach domeny, 0x549 podczas uruchamiania polecenia w domenie podrzędnej:

    1. Uruchom polecenie w domenie głównej (uwzględnij -SetupCloudTrust parametr).
    2. Uruchom to samo polecenie w domenie podrzędnej bez parametru -SetupCloudTrust .

    Po utworzeniu obiektu zaufanej domeny można sprawdzić zaktualizowany protokół Kerberos Ustawienia przy użyciu Get-AzureAdKerberosServer polecenia cmdlet programu PowerShell, jak pokazano w poprzednim kroku. Set-AzureAdKerberosServer Jeśli polecenie cmdlet zostało pomyślnie uruchomione z parametrem -SetupCloudTrust , CloudTrustDisplay pole powinno teraz zwrócić Microsoft.AzureAD.Kdc.Service.TrustDisplaywartość , jak w następujących przykładowych danych wyjściowych:

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   : Microsoft.AzureAD.Kdc.Service.TrustDisplay
    

    Uwaga

    Suwerenne chmury platformy Azure wymagają ustawienia TopLevelNames właściwości, która jest domyślnie ustawiona windows.net . Wdrożenia suwerennej chmury platformy Azure usługi SQL Managed Instance używają innej nazwy domeny najwyższego poziomu, takiej jak usgovcloudapi.net azure US Government. Ustaw zaufany obiekt domeny na tę nazwę domeny najwyższego poziomu przy użyciu następującego polecenia programu PowerShell: Set-AzureADKerberosServer -Domain $domain -DomainCredential $domainCred -CloudCredential $cloudCred -SetupCloudTrust -TopLevelNames "usgovcloudapi.net,windows.net". Możesz sprawdzić to ustawienie za pomocą następującego polecenia programu PowerShell: Get-AzureAdKerberosServer -Domain $domain -DomainCredential $domainCred -UserPrincipalName $cloudUserName | Select-Object -ExpandProperty CloudTrustDisplay.

Konfigurowanie obiektu zasad grupy (GPO)

  1. Zidentyfikuj identyfikator dzierżawy firmy Microsoft Entra.

  2. Wdróż następujące ustawienie zasad grupy na maszynach klienckich przy użyciu przychodzącego przepływu opartego na zaufaniu:

    1. Edytuj ustawienia zasad Administracja istrative Templates\System\Kerberos\Specify KDC proxy servers for Kerberos clients (Szablony Administracja istrative Templates\System\Kerberos\Specify KDC proxy servers for Kerberos clients policy setting ( Określ serwery proxy centrum dystrybucji kluczy dla klientów protokołu Kerberos).

    2. Wybierz pozycję Włączone.

    3. W obszarze Opcje wybierz pozycję Pokaż.... Spowoduje to otwarcie okna dialogowego Pokaż zawartość.

      Screenshot of dialog box to enable 'Specify KDC proxy servers for Kerberos clients'. The 'Show Contents' dialog allows input of a value name and the related value.

    4. Zdefiniuj ustawienia serwerów proxy usługi KDC przy użyciu mapowań w następujący sposób. Zastąp identyfikator dzierżawy entra firmy Microsoft symbolem zastępczym your_Azure_AD_tenant_id . Zanotuj spację poniżej https i przed zamknięciem / w mapowaniu wartości.

      Nazwa wartości Wartość
      KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443:your_Azure_AD_tenant_id/kerberos />

      Screenshot of the 'Define KDC proxy server settings' dialog box. A table allows input of multiple rows. Each row consists of a value name and a value.

    5. Wybierz przycisk OK , aby zamknąć okno dialogowe "Pokaż zawartość".

    6. Wybierz pozycję Zastosuj w oknie dialogowym "Określ serwery proxy centrum dystrybucji kluczy dla klientów kerberos".

Obracanie klucza Kerberos

Można okresowo obracać klucz Kerberos dla utworzonego konta usługi Microsoft Entra i zaufanego obiektu domeny na potrzeby zarządzania.

Set-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName -SetupCloudTrust `
   -RotateServerKey

Po obróceniu klucza propagacja zmienionego klucza między serwerami dystrybucji kluczy Kerberos trwa kilka godzin. Ze względu na ten czas dystrybucji kluczy można obrócić klucz raz w ciągu 24 godzin. Jeśli musisz ponownie obrócić klucz w ciągu 24 godzin z jakiegokolwiek powodu, na przykład po utworzeniu obiektu zaufanej domeny, możesz dodać -Force parametr:

Set-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName -SetupCloudTrust `
   -RotateServerKey -Force

Usuwanie obiektu zaufanej domeny

Dodany obiekt zaufanej domeny można usunąć przy użyciu następującego polecenia:

Remove-AzureADKerberosTrustedDomainObject -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName

To polecenie spowoduje usunięcie tylko zaufanego obiektu domeny. Jeśli domena obsługuje uwierzytelnianie FIDO, możesz usunąć zaufany obiekt domeny przy zachowaniu konta usługi Microsoft Entra wymaganego dla usługi uwierzytelniania FIDO.

Usuń wszystkie Ustawienia Kerberos

Możesz usunąć zarówno konto usługi Microsoft Entra, jak i zaufany obiekt domeny, używając następującego polecenia:

Remove-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName

Następne kroki

Dowiedz się więcej o implementowaniu uwierzytelniania systemu Windows dla podmiotów zabezpieczeń firmy Microsoft w usłudze Azure SQL Managed Instance: