Freigeben über


Konfigurieren der Kerberos-Delegierung für gruppenverwaltete Dienstkonten

Normalerweise legen Sie bei der Arbeit mit der Kerberos-Delegierung nur den Dienstprinzipalnamen (Service Principal Name, SPN) fest, entweder mit dem Befehl „setspn.exe“ oder manuell mit dem Attribut-Editor in „Active Directory-Benutzer und -Computer“. Zusätzlich erhalten Sie durch Aktivieren von Ansicht>Erweiterte Funktionen in „Active Directory-Benutzer und -Computer“ eine weitere Möglichkeit zum Konfigurieren der Kerberos-Delegierung auf der Registerkarte Delegierung eines Benutzer- oder Computerkontos.

Für eigenständige und gruppenverwaltete Dienstkonten wird die Registerkarte Delegation allerdings nicht angezeigt – selbst dann nicht, wenn Sie diesen Konten SPNs hinzufügen oder Ansicht>Erweiterte Funktionen aktivieren.

Um die Delegierung für diese speziellen Konten zu konfigurieren, müssen Sie die richtigen Attribute manuell festlegen. Es gibt zwei Attribute, die Sie für diese Konten ändern müssen:

  • „userAccountControl“ definiert den Delegierungstyp.
  • „msDS-AllowedToDelegateTo“ definiert, wo die SPNs für die Delegierung hinzugefügt werden.

Diese Attribute können auf verschiedene Weise festgelegt werden:

  • Verwenden von PowerShell
  • Manuelles Aktualisieren des userAccountControl-Werts

Verwenden von PowerShell-Befehlen

Die sicherere und bequemere Methode zum Aktualisieren dieser Attribute ist die Verwendung von PowerShell-Befehlen. Wenn Sie PowerShell verwenden, müssen Sie die endgültigen userAccountControl-Werte nicht berechnen. Im Folgenden finden Sie die Befehle, mit denen Sie die verschiedenen Delegierungstypen aktivieren können:

  • Computer bei Delegierungen nicht vertrauen

    Set-ADAccountControl -Identity TestgMSA$ -TrustedForDelegation $false -TrustedToAuthForDelegation $false
    Set-ADServiceAccount -Identity TestgMSA$ -Clear 'msDS-AllowedToDelegateTo'
    
  • Nicht eingeschränkte Delegierung/Computer bei Delegierungen aller Dienste vertrauen

    Set-ADAccountControl -Identity TestgMSA$ -TrustedForDelegation $true -TrustedToAuthForDelegation $false
    Set-ADServiceAccount -Identity TestgMSA$ -Clear 'msDS-AllowedToDelegateTo'
    
  • Eingeschränkte Kerberos-Delegierung/Computer nur bei Delegierungen angegebener Dienste vertrauen (nur Kerberos verwenden)

    Set-ADAccountControl -Identity TestgMSA$ -TrustedForDelegation $false -TrustedToAuthForDelegation $false
    

    Aktualisieren Sie die Back-End-Dienst-SPNs im Attribut „msDS-AllowedToDelegateTo“.

  • Eingeschränkte Kerberos-Delegierung mit Protokollübergang/Computer nur bei Delegierungen angegebener Dienste vertrauen (beliebiges Authentifizierungsprotokoll verwenden)

    Set-ADAccountControl -Identity TestgMSA$ -TrustedForDelegation $false -TrustedToAuthForDelegation $true
    

    Aktualisieren Sie die Back-End-Dienst-SPNs im Attribut „msDS-AllowedToDelegateTo“.

Manuelles Aktualisieren des userAccountControl-Werts

Zu den einfachsten Methoden zum Ändern von Attributen gehören das Aktivieren von Ansicht>Erweiterte Funktionen in „Active Directory-Benutzer und -Computer“ oder die Verwendung von „ADSIEdit.msc“.

Im Folgenden finden Sie die userAccountControl-Werte, die für verschiedene Delegierungstypen hinzugefügt werden können. Gehen Sie beim Bearbeiten dieses Attributwerts umsichtig vor, und stellen Sie sicher, dass nur die Flags TRUSTED_FOR_DELEGATION oder TRUSTED_TO_AUTH_FOR_DELEGATION hinzugefügt und andere Eigenschaften nicht geändert werden. Stellen Sie außerdem sicher, dass dem userAccountControl-Wert eines verwalteten Dienstkontos nicht beide Flags hinzugefügt werden.

Delegierungstypen Eigenschaftenflag Wert im Hexadezimalformat Wert im Dezimalformat
Nicht eingeschränkte Delegierung/Computer bei Delegierungen aller Dienste vertrauen TRUSTED_FOR_DELEGATION 0x80000 524288
Eingeschränkte Kerberos-Delegierung/Computer nur bei Delegierungen angegebener Dienste vertrauen (nur Kerberos verwenden) Keine Änderung Keine Änderung Keine Änderung
Eingeschränkte Kerberos-Delegierung mit Protokollübergang/Computer nur bei Delegierungen angegebener Dienste vertrauen (beliebiges Authentifizierungsprotokoll verwenden) TRUSTED_TO_AUTH_FOR_DELEGATION 0x1000000 16777216

Achten Sie beim manuellen Aktualisieren des userAccountControl-Werts darauf, dass der neue Wert zum vorhandenen Wert hinzugefügt wird, aber diesen nicht ersetzt. Angenommen, der aktuelle UAC-Wert lautet 4096 (Hex 0x1000), was WORKSTATION_TRUST_ACCOUNT entspricht.

Screenshot: userAccountControl-Wert 4096

Um Nicht eingeschränkte Delegierung (nicht sicher) zu aktivieren, müssen Sie den userAccountControl-Wert für TRUSTED_FOR_DELEGATION sowie den vorhandenen Wert hinzufügen. Der UAC-Wert sollte 0x81000 (0x1000 + 0x80000) betragen, was WORKSTATION_TRUST_ACCOUNT und TRUSTED_FOR_DELEGATION entspricht.

Screenshot: userAccountControl-Wert 81000

Wenn Sie versehentlich SPNs hinzugefügt haben oder einige SPNs aus der Delegierungsliste des Kontos entfernen möchten, können Sie das Attribut msDS-AllowedToDelegateTo des Kontos manuell bearbeiten. Diese Methode ist auf beliebige Benutzer- oder Computerkonten anwendbar.

Screenshot: msDS-AllowedToDelegateTo

Nächster Schritt