Delen via


Een cloudvertrouwensrelatie configureren tussen on-premises AD DS en Microsoft Entra ID voor toegang tot Azure Files

Veel organisaties willen verificatie op basis van identiteiten gebruiken voor SMB Azure-bestandsshares in omgevingen die zowel on-premises Active Directory-domein Services (AD DS) als Microsoft Entra ID (voorheen Azure Active Directory) omvatten, maar voldoen niet aan de vereiste vereisten voor het besturingssysteem of domein.

In dergelijke scenario's kunnen klanten Microsoft Entra Kerberos-verificatie inschakelen voor hybride gebruikersidentiteiten en vervolgens een cloudvertrouwensrelatie tot stand brengen tussen hun on-premises AD DS en Microsoft Entra-id voor toegang tot SMB-bestandsshares met hun on-premises referenties. In dit artikel wordt uitgelegd hoe een cloudvertrouwensrelatie werkt en vindt u instructies voor het instellen en valideren. Het bevat ook stappen voor het roteren van een Kerberos-sleutel voor uw serviceaccount in Microsoft Entra ID en Trusted Domain Object, en stappen voor het verwijderen van een vertrouwd domeinobject en alle Kerberos-instellingen, indien gewenst.

Dit artikel is gericht op het verifiëren van hybride gebruikersidentiteiten, die on-premises AD DS-identiteiten zijn die worden gesynchroniseerd met Microsoft Entra ID met behulp van Microsoft Entra Connect of Microsoft Entra Connect-cloudsynchronisatie. Identiteiten in de cloud worden momenteel niet ondersteund voor Azure Files.

Van toepassing op

Bestands sharetype SMB NFS
Standaardbestandsshares (GPv2), LRS/ZRS Ja Nee
Standaardbestandsshares (GPv2), GRS/GZRS Ja Nee
Premium bestandsshares (FileStorage), LRS/ZRS Ja Nr.

Scenario's

Hier volgen enkele voorbeelden van scenario's waarin u mogelijk een cloudvertrouwensrelatie wilt configureren:

  • U hebt een traditionele on-premises AD DS, maar u kunt deze niet gebruiken voor verificatie omdat u geen niet-gempte netwerkconnectiviteit met de domeincontrollers hebt.

  • U bent begonnen met migreren naar de cloud, maar momenteel worden toepassingen nog steeds uitgevoerd op traditionele on-premises AD DS.

  • Sommige of al uw clientcomputers voldoen niet aan de besturingssysteemvereisten voor Microsoft Entra Kerberos-verificatie.

Machtigingen

Voor het voltooien van de stappen die in dit artikel worden beschreven, hebt u het volgende nodig:

  • De gebruikersnaam en het wachtwoord van een on-premises Active Directory-beheerder
  • Gebruikersnaam en wachtwoord van het Microsoft Entra Global Administrator-account

Vereisten

Voordat u de binnenkomende verificatiestroom op basis van een vertrouwensrelatie implementeert, moet u ervoor zorgen dat aan de volgende vereisten wordt voldaan:

Vereiste Beschrijving
De Client moet Windows 10, Windows Server 2012 of een hogere versie van Windows uitvoeren.
Clients moeten worden toegevoegd aan Active Directory (AD). Het domein moet een functioneel niveau van Windows Server 2012 of hoger hebben. U kunt bepalen of de client is gekoppeld aan AD door de opdracht dsregcmd uit te voeren: dsregcmd.exe /status
Een Microsoft Entra-tenant. Een Microsoft Entra-tenant is een grens voor identiteitsbeveiliging die onder controle staat van de IT-afdeling van uw organisatie. Het is een instantie van Microsoft Entra-id waarin informatie over één organisatie zich bevindt.
Een Azure-abonnement onder dezelfde Microsoft Entra-tenant die u wilt gebruiken voor verificatie.
Een Azure-opslagaccount in het Azure-abonnement. Een Azure-opslagaccount is een resource die fungeert als een container voor het groeperen van alle gegevensservices uit Azure Storage, inclusief bestanden.
Microsoft Entra Connect of Microsoft Entra Connect-cloudsynchronisatie moet zijn geïnstalleerd. Deze oplossingen worden gebruikt in hybride omgevingen waar identiteiten bestaan, zowel in Microsoft Entra ID als on-premises AD DS.

Microsoft Entra Kerberos-verificatie inschakelen

Als u Microsoft Entra Kerberos-verificatie al hebt ingeschakeld voor uw opslagaccount, kunt u deze stap overslaan en doorgaan met het maken en configureren van het vertrouwde domeinobject van Microsoft Entra Kerberos.

U kunt Microsoft Entra Kerberos-verificatie inschakelen in Azure Files voor hybride gebruikersaccounts met behulp van Azure Portal, PowerShell of Azure CLI.

Volg deze stappen om Microsoft Entra Kerberos-verificatie in te schakelen met behulp van Azure Portal.

  1. Meld u aan bij Azure Portal en selecteer het opslagaccount waarvoor u Microsoft Entra Kerberos-verificatie wilt inschakelen.

  2. Selecteer onder Gegevensopslag bestandsshares.

  3. Selecteer naast Active Directory de configuratiestatus (bijvoorbeeld Niet geconfigureerd).

    Schermopname van Azure Portal met instellingen voor bestandsshares voor een opslagaccount. Active Directory-configuratie-instellingen zijn geselecteerd.

  4. Selecteer Instellen onder Microsoft Entra Kerberos.

  5. Schakel het selectievakje Microsoft Entra Kerberos in .

    Schermopname van Azure Portal met Active Directory-configuratie-instellingen voor een opslagaccount. Microsoft Entra Kerberos is geselecteerd.

  6. Optioneel: Als u machtigingen op map- en bestandsniveau wilt configureren via Windows Bestandenverkenner, moet u de domeinnaam en domein-GUID voor uw on-premises AD opgeven. U kunt deze informatie ophalen van uw domeinbeheerder of door de volgende Active Directory PowerShell-cmdlet uit te voeren vanaf een on-premises AD-gekoppelde client: Get-ADDomain. Uw domeinnaam moet worden vermeld in de uitvoer onder DNSRoot en uw domein-GUID moet worden vermeld onder ObjectGUID. Als u liever machtigingen op map- en bestandsniveau wilt configureren met behulp van icacls, kunt u deze stap overslaan. Als u echter icacls wilt gebruiken, heeft de client een ongempte netwerkverbinding met de on-premises AD nodig.

  7. Selecteer Opslaan.

Waarschuwing

Als u Microsoft Entra Kerberos-verificatie eerder hebt ingeschakeld via handmatige beperkte preview-stappen voor het opslaan van FSLogix-profielen op azure Files voor aan Microsoft Entra gekoppelde VM's, wordt het wachtwoord voor de service-principal van het opslagaccount ingesteld op verlopen om de zes maanden. Zodra het wachtwoord is verlopen, kunnen gebruikers geen Kerberos-tickets ophalen naar de bestandsshare. Als u dit wilt verhelpen, raadpleegt u 'Error - Service principal password has expired in Microsoft Entra ID' onder Potential errors when enabling Microsoft Entra Kerberos authentication for hybrid users.

Nadat u Microsoft Entra Kerberos-verificatie hebt ingeschakeld, moet u expliciet beheerderstoestemming verlenen aan de nieuwe Microsoft Entra-toepassing die is geregistreerd in uw Microsoft Entra-tenant. Deze service-principal wordt automatisch gegenereerd en wordt niet gebruikt voor autorisatie voor de bestandsshare, dus breng geen wijzigingen aan in de service-principal die hier worden beschreven. Als u dit doet, krijgt u mogelijk een foutmelding.

U kunt de API-machtigingen vanuit Azure Portal configureren door de volgende stappen uit te voeren:

  1. Open Microsoft Entra ID.
  2. Selecteer App-registraties in het servicemenu onder Beheren.
  3. Selecteer Alle toepassingen.
  4. Selecteer de toepassing met de naam die overeenkomt met [Opslagaccount] <your-storage-account-name>.file.core.windows.net.
  5. Selecteer API-machtigingen in het servicemenu onder Beheren.
  6. Selecteer Beheerderstoestemming verlenen voor [Directory-naam] om toestemming te verlenen voor de drie aangevraagde API-machtigingen (openid, profiel en User.Read) voor alle accounts in de map.
  7. Selecteer Ja om te bevestigen.

Belangrijk

Als u verbinding maakt met een opslagaccount via een privé-eindpunt/privékoppeling met behulp van Microsoft Entra Kerberos-verificatie, moet u ook de FQDN van de privékoppeling toevoegen aan de Microsoft Entra-toepassing van het opslagaccount. Zie de vermelding in onze gids voor probleemoplossing voor instructies.

Meervoudige verificatie uitschakelen voor het opslagaccount

Microsoft Entra Kerberos biedt geen ondersteuning voor het gebruik van MFA voor toegang tot Azure-bestandsshares die zijn geconfigureerd met Microsoft Entra Kerberos. U moet de Microsoft Entra-app die uw opslagaccount vertegenwoordigt uitsluiten van uw MFA-beleid voor voorwaardelijke toegang als deze van toepassing zijn op alle apps.

De app voor het opslagaccount moet dezelfde naam hebben als het opslagaccount in de uitsluitingslijst voor voorwaardelijke toegang. Wanneer u zoekt naar de opslagaccount-app in de uitsluitingslijst voor voorwaardelijke toegang, zoekt u naar: [Opslagaccount] <your-storage-account-name>.file.core.windows.net

Vergeet niet om te vervangen door <your-storage-account-name> de juiste waarde.

Belangrijk

Als u MFA-beleid niet uitsluit van de opslagaccount-app, hebt u geen toegang tot de bestandsshare. Als u de bestandsshare net use probeert toe te wijzen, wordt er een foutbericht weergegeven met de tekst 'Systeemfout 1327: Accountbeperkingen verhinderen dat deze gebruiker zich aanmeldt. Bijvoorbeeld: lege wachtwoorden zijn niet toegestaan, aanmeldingstijden zijn beperkt of er is een beleidsbeperking afgedwongen.

Zie het volgende voor hulp bij het uitschakelen van MFA:

Machtigingen op deelniveau toewijzen

Wanneer u op identiteit gebaseerde toegang inschakelt, moet u voor elke share toewijzen welke gebruikers en groepen toegang hebben tot die specifieke share. Zodra een gebruiker of groep toegang heeft tot een share, nemen Windows ACL's (ook wel NTFS-machtigingen genoemd) voor afzonderlijke bestanden en mappen over. Dit maakt fijnmazige controle over machtigingen mogelijk, vergelijkbaar met een SMB-share op een Windows-server.

Als u machtigingen op shareniveau wilt instellen, volgt u de instructies in Machtigingen op shareniveau toewijzen aan een identiteit.

Machtigingen op map- en bestandsniveau configureren

Zodra machtigingen op shareniveau zijn ingesteld, kunt u machtigingen op map-/bestandsniveau toewijzen aan de gebruiker of groep. Hiervoor is het gebruik van een apparaat met niet-gempte netwerkconnectiviteit met een on-premises AD vereist.

Als u machtigingen op map- en bestandsniveau wilt configureren, volgt u de instructies in Machtigingen op map- en bestandsniveau configureren via SMB.

Het vertrouwde domeinobject microsoft Entra Kerberos maken en configureren

Als u het vertrouwde domeinobject van Microsoft Entra Kerberos wilt maken en configureren, gebruikt u de PowerShell-module azure AD Hybrid Authentication Management . Met deze module kunnen organisaties met hybride identiteit moderne referenties gebruiken voor hun toepassingen en kunnen Microsoft Entra ID de vertrouwde bron worden voor zowel cloud- als on-premises verificatie.

Het vertrouwde domeinobject instellen

U gebruikt de PowerShell-module voor hybride verificatiebeheer van Azure AD om een vertrouwd domeinobject in te stellen in het on-premises AD-domein en vertrouwensinformatie te registreren bij Microsoft Entra-id. Hiermee maakt u een ingebonden vertrouwensrelatie in de on-premises AD, waardoor Microsoft Entra-id on-premises AD kan vertrouwen.

U hoeft het vertrouwde domeinobject slechts één keer per domein in te stellen. Als u dit al hebt gedaan voor uw domein, kunt u deze sectie overslaan en doorgaan met het configureren van de clients om Kerberos-tickets op te halen.

De PowerShell-module hybride verificatiebeheer van Azure AD installeren

  1. Start een Windows PowerShell-sessie met de optie Als administrator uitvoeren.

  2. Installeer de PowerShell-module hybride verificatiebeheer van Azure AD met behulp van het volgende script. Met het script:

    • Hiermee schakelt u TLS 1.2 in voor communicatie.
    • Hiermee wordt de NuGet-pakketprovider geïnstalleerd.
    • Registreert de PSGallery-opslagplaats.
    • Installeert de PowerShellGet-module.
    • Hiermee wordt de PowerShell-module hybride verificatiebeheer van Azure AD geïnstalleerd.
      • De Azure AD Hybrid Authentication Management PowerShell maakt gebruik van de AzureADPreview-module, die geavanceerde Microsoft Entra-beheerfuncties biedt.
      • Deze opdracht bevat de optievlag om te beschermen tegen onnodige installatieconflicten met de -AllowClobber Azure AD PowerShell-module.
[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

Het object Vertrouwd domein maken

  1. Start een Windows PowerShell-sessie met de optie Als administrator uitvoeren.

  2. Stel de algemene parameters in. Pas het onderstaande script aan voordat u het uitvoert.

    • Stel de $domain parameter in op uw on-premises Active Directory-domeinnaam.
    • Wanneer u hierom wordt gevraagd Get-Credential, voert u de gebruikersnaam en het wachtwoord van een on-premises Active Directory-beheerder in.
    • Stel de $cloudUserName parameter in op de gebruikersnaam van een account met bevoegdheden van een globale beheerder voor microsoft Entra-cloudtoegang.

    Notitie

    Als u uw huidige Windows-aanmeldingsaccount wilt gebruiken voor uw on-premises Active Directory-toegang, kunt u de stap overslaan waarin referenties zijn toegewezen aan de $domainCred parameter. Als u deze aanpak volgt, neemt u de -DomainCredential parameter niet op in de PowerShell-opdrachten die u volgt op deze stap.

    $domain = "your on-premises domain name, for example contoso.com"
    
    $domainCred = Get-Credential
    
    $cloudUserName = "Azure AD user principal name, for example admin@contoso.onmicrosoft.com"
    
  3. Controleer de huidige Kerberos-domeininstellingen.

    Voer de volgende opdracht uit om de huidige Kerberos-instellingen van uw domein te controleren:

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

    Als dit de eerste keer is dat u een Microsoft Entra Kerberos-opdracht aanroept, wordt u gevraagd om microsoft Entra-cloudtoegang.

    • Voer het wachtwoord in voor uw Microsoft Entra Global Administrator-account.
    • Als uw organisatie gebruikmaakt van andere moderne verificatiemethoden, zoals Microsoft Entra-meervoudige verificatie of SmartCard, volgt u de instructies die zijn aangevraagd voor aanmelding.

    Als dit de eerste keer is dat u Microsoft Entra Kerberos-instellingen configureert, geeft de cmdlet Get-AzureAdKerberosServer lege informatie weer, zoals in de volgende voorbeelduitvoer:

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

    Als uw domein al FIDO-verificatie ondersteunt, geeft de cmdlet gegevens van het Get-AzureAdKerberosServer Microsoft Entra-serviceaccount weer, zoals in de volgende voorbeelduitvoer. Het CloudTrustDisplay veld retourneert een lege waarde.

    ID                  : XXXXX
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=contoso, DC=com
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=contoso, DC=com
    DisplayName         : XXXXXX_XXXXX
    DomainDnsName       : contoso.com
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2024 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.contoso.com
    CloudDisplayName    : XXXXXX_XXXXX
    CloudDomainDnsName  : contoso.com
    CloudId             : XXXXX
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2024 9:03:15 AM
    CloudTrustDisplay   :
    
  4. Voeg het vertrouwde domeinobject toe.

    Voer de PowerShell-cmdlet Set-AzureAdKerberosServer uit om het vertrouwde domeinobject toe te voegen. Zorg ervoor dat u de parameter opneemt -SetupCloudTrust . Als er geen Microsoft Entra-serviceaccount is, wordt met deze opdracht een nieuw Microsoft Entra-serviceaccount gemaakt. Met deze opdracht maakt u alleen het aangevraagde trusted domain-object als er een Microsoft Entra-serviceaccount is.

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

    Notitie

    Om in een forest met meerdere domeinen de fout LsaCreateTrustedDomainEx 0x549 te voorkomen bij het uitvoeren van de opdracht op een onderliggend domein:

    1. Voer de opdracht uit in het hoofddomein (parameter opnemen -SetupCloudTrust ).
    2. Voer dezelfde opdracht uit op het onderliggende domein zonder de -SetupCloudTrust parameter.

    Nadat u het vertrouwde domeinobject hebt gemaakt, kunt u de bijgewerkte Kerberos-instellingen controleren met behulp van de Get-AzureAdKerberosServer PowerShell-cmdlet, zoals wordt weergegeven in de vorige stap. Als de Set-AzureAdKerberosServer cmdlet is uitgevoerd met de -SetupCloudTrust parameter, moet het CloudTrustDisplay veld nu worden geretourneerd Microsoft.AzureAD.Kdc.Service.TrustDisplay, zoals in de volgende voorbeelduitvoer:

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

    Notitie

    Voor onafhankelijke Azure-clouds is het instellen van de TopLevelNames eigenschap vereist. Deze eigenschap is standaard ingesteld windows.net . Implementaties van onafhankelijke Azure-clouds van SQL Managed Instance maken gebruik van een andere domeinnaam op het hoogste niveau, zoals usgovcloudapi.net voor Azure US Government. Stel uw vertrouwde domeinobject in op die domeinnaam op het hoogste niveau met behulp van de volgende PowerShell-opdracht: Set-AzureADKerberosServer -Domain $domain -DomainCredential $domainCred -CloudCredential $cloudCred -SetupCloudTrust -TopLevelNames "usgovcloudapi.net,windows.net". U kunt de instelling controleren met de volgende PowerShell-opdracht: Get-AzureAdKerberosServer -Domain $domain -DomainCredential $domainCred -UserPrincipalName $cloudUserName | Select-Object -ExpandProperty CloudTrustDisplay

De clients configureren om Kerberos-tickets op te halen

Identificeer uw Microsoft Entra-tenant-id en gebruik Groepsbeleid om de clientcomputer(s) te configureren waaruit u Azure-bestandsshares wilt koppelen/gebruiken. U moet dit doen op elke client waarop Azure Files wordt gebruikt.

Configureer dit groepsbeleid op de client(en) op Ingeschakeld: Administrative Templates\System\Kerberos\Allow retrieving the Azure AD Kerberos Ticket Granting Ticket during logon

  1. Implementeer de volgende groepsbeleidsinstelling op clientcomputers met behulp van de binnenkomende stroom op basis van een vertrouwensrelatie:

    1. Bewerk de beheersjablonen\System\Kerberos\Geef KDC-proxyservers op voor de beleidsinstelling kerberos-clients .

    2. Selecteer Ingeschakeld.

    3. Selecteer Onder Opties de optie Weergeven.... Hiermee opent u het dialoogvenster Inhoud weergeven.

      Schermopname van het dialoogvenster om KDC-proxyservers voor Kerberos-clients op te geven. Het dialoogvenster Inhoud weergeven staat invoer van een waardenaam en de gerelateerde waarde toe.

    4. Definieer als volgt de instellingen van de KDC-proxyservers met behulp van toewijzingen. Vervang de tenant-id van Microsoft Entra door de your_Azure_AD_tenant_id tijdelijke aanduiding. Let op de spatie die volgt https en vóór de sluiting / van de waardetoewijzing.

      Waardenaam Weergegeven als
      KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443:your_Azure_AD_tenant_id/kerberos/>

      Schermopname van het dialoogvenster KDC-proxyserverinstellingen definiëren. Een tabel maakt invoer van meerdere rijen mogelijk. Elke rij bestaat uit een waardenaam en een waarde.

    5. Selecteer OK om het dialoogvenster Inhoud weergeven te sluiten.

    6. Selecteer Toepassen in het dialoogvenster KDC-proxyservers opgeven voor Kerberos-clients.

De Kerberos-sleutel draaien

U kunt de Kerberos-sleutel periodiek roteren voor het gemaakte Microsoft Entra-serviceaccount en het vertrouwde domeinobject voor beheerdoeleinden.

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

Nadat de sleutel is geroteerd, duurt het enkele uren om de gewijzigde sleutel door te geven tussen de Kerberos KDC-servers. Vanwege deze tijdsinstelling voor sleuteldistributie kunt u de sleutel eenmaal binnen 24 uur draaien. Als u de sleutel om welke reden dan ook binnen 24 uur opnieuw moet draaien, bijvoorbeeld net nadat u het object Vertrouwd domein hebt gemaakt, kunt u de -Force parameter toevoegen:

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

Het vertrouwde domeinobject verwijderen

U kunt het toegevoegde Trusted Domain Object verwijderen met behulp van de volgende opdracht:

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

Met deze opdracht wordt alleen het vertrouwde domeinobject verwijderd. Als uw domein FIDO-verificatie ondersteunt, kunt u het object Vertrouwd domein verwijderen terwijl u het Microsoft Entra-serviceaccount dat is vereist voor de FIDO-verificatieservice, onderhoudt.

Alle Kerberos-instellingen verwijderen

U kunt zowel het Microsoft Entra-serviceaccount als het vertrouwde domeinobject verwijderen met behulp van de volgende opdracht:

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

Volgende stap