Freigeben über


Implementieren der Verbundauthentifizierung

GILT FÜR:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

Implementieren der Verbundauthentifizierung in SharePoint Server

In dieser Schritt-für-Schritt-Anleitung wird erläutert, wie Die Verbundauthentifizierung in SharePoint mit Active Directory-Verbunddiensten (AD FS) konfiguriert wird.

Übersicht über die Verbundauthentifizierung

Bei der Verbundauthentifizierung verarbeitet SharePoint SAML-Token, die von einem vertrauenswürdigen, externen Sicherheitstokendienst (Security Token Service, STS) ausgestellt wurden. Ein Benutzer, der versucht, sich anzumelden, wird zu diesem STS umgeleitet, der den Benutzer authentifiziert und bei erfolgreicher Authentifizierung ein SAML-Token generiert. Anschließend verarbeitet SharePoint dieses Token und verwendet es, um ein eigenes Token zu erstellen und den Benutzer für den Zugriff auf die Website zu autorisieren.

Voraussetzungen

Zum Ausführen der Konfiguration benötigen Sie die folgenden Ressourcen:

  • Eine SharePoint 2013-Farm oder höher.
  • Eine bereits erstellte AD FS-Farmversion 2 oder höher mit dem öffentlichen Schlüssel des AD FS-Signaturzertifikats, die in eine .cer-Datei exportiert wurde.

In diesem Artikel werden die folgenden Werte verwendet:

  • SharePoint-Website-URL: https://spsites.contoso.local/
  • AD FS-Website-URL: https://adfs.contoso.local/adfs/ls/
  • Bereich (Bezeichner der vertrauenden Seite): urn:contoso:spsites
  • Identitätsanspruchstyp: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  • Rollenanspruchstyp: http://schemas.microsoft.com/ws/2008/06/identity/claims/role
  • Windows-Websitesammlungsadministrator: contoso\yvand
  • E-Mail-Wert des Verbundwebsitesammlungsadministrators (AD FS): yvand@contoso.local

Erstellen einer vertrauenden Seite in AD FS

In diesem Schritt erstellen Sie eine vertrauende Seite in AD FS. Die vertrauende Seite speichert die konfiguration, die für die Arbeit mit SharePoint erforderlich ist, und die Anspruchsregeln, die definieren, welche Ansprüche bei erfolgreicher Authentifizierung in das SAML-Token eingefügt werden.

Starten Sie PowerShell auf dem AD FS-Server, und führen Sie das folgende Skript aus:

### STEP 1: Create the relying party
# Name of the Relying Party
$name = "SPSites"
# Unique identifier of the Relying Party (in SharePoint it's referred to as the realm)
$identifier = "urn:contoso:spsites"
# Authority that authenticates users
$identityProvider = "Active Directory"
# SharePoint URL where user is redirected upon successful authentication
$redirectURL = "https://spsites.contoso.local/_trust/default.aspx"
# Allow everyone to use this relying party
$allowEveryoneRule = '=> issue (Type = "http://schemas.microsoft.com/authorization/claims/permit", value = "true");'
# Create the Relying Party
Add-ADFSRelyingPartyTrust -Name $name -Identifier $identifier -ClaimsProviderName $identityProvider -Enabled $true -WSFedEndpoint $redirectURL -IssuanceAuthorizationRules $allowEveryoneRule -Confirm:$false

### STEP 2: Add claim rules to the relying party
# Rule below configured relying party to issue 2 claims in the SAML token: email and role
$claimsRule = @"
@RuleTemplate = "LdapClaims"
@RuleName = "AD"
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(
store = "Active Directory", 
types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "http://schemas.microsoft.com/ws/2008/06/identity/claims/role"), 
query = ";mail,tokenGroups(fullDomainQualifiedName);{0}", 
param = c.Value);
"@
# Apply the rule to the Relying Party
Set-ADFSRelyingPartyTrust -TargetName $name -IssuanceTransformRules $claimsRule

Nach Abschluss des Skripts sollte die vertrauende Seite in AD FS wie folgt aussehen:

ADFS vertrauende Seite

Konfigurieren von SharePoint für die Vertrauenswürdigstellung von AD FS

In diesem Schritt erstellen Sie einen SPTrustedLoginProvider, der die Konfiguration speichert, die SharePoint benötigt, um AD FS zu vertrauen. Starten Sie die SharePoint-Verwaltungsshell , und führen Sie das folgende Skript aus, um sie zu erstellen:

# Define claim types
$email = New-SPClaimTypeMapping "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
$role = New-SPClaimTypeMapping "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" -SameAsIncoming

# Public key of the AD FS signing certificate
$signingCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\Data\Claims\ADFS Signing.cer")
# Unique realm (corresponds to the unique identifier of the AD FS Relying Party)
$realm = "urn:contoso:spsites"
# Set the AD FS URL where users are redirected to authenticate
$signinurl = "https://adfs.contoso.local/adfs/ls/"

# Create a new SPTrustedIdentityTokenIssuer in SharePoint
New-SPTrustedIdentityTokenIssuer -Name "Contoso.local" -Description "Contoso.local" -Realm $realm -ImportTrustCertificate $signingCert -ClaimsMappings $email,$role -SignInUrl $signinurl -IdentifierClaim $email.InputClaimType

Wichtig

Verwenden Sie NICHT die Option -UseDefaultConfiguration mit dem Cmdlet New-SPTrustedIdentityTokenIssuer. Diese Option verursacht unerwartete Nebenwirkungen, da sie die Identität der Benutzer intern festlegt.

Anschließend muss das relevante Zertifikat dem Zertifikatspeicher der SharePoint-Stammzertifizierungsstelle hinzugefügt werden. Es gibt 2 mögliche Optionen:

  • Wenn das AD FS-Signaturzertifikat von einer Zertifizierungsstelle ausgestellt wird (aus Sicherheitsgründen bewährte Methode)

Der öffentliche Schlüssel des Zertifikats des Ausstellers (und aller Zwischenspeicher) muss dem Speicher hinzugefügt werden: Starten Sie die SharePoint-Verwaltungsshell , und führen Sie das folgende Skript aus, um sie hinzuzufügen:

$rootCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\Data\Claims\ADFS Signing issuer.cer")
New-SPTrustedRootAuthority -Name "adfs.contoso.local signing root authority" -Certificate $rootCert
  • Wenn das AD FS-Signaturzertifikat ein selbstsigniertes Zertifikat ist (aus Sicherheitsgründen nicht empfohlen)

Der öffentliche Schlüssel des ADFS-Signaturzertifikats selbst muss dem Speicher hinzugefügt werden: Starten Sie die SharePoint-Verwaltungsshell , und führen Sie das folgende Skript aus, um sie hinzuzufügen:

$rootCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\Data\Claims\ADFS Signing.cer")
New-SPTrustedRootAuthority -Name "adfs.contoso.local signing certificate" -Certificate $rootCert

Konfigurieren der SharePoint-Webanwendung

In diesem Schritt konfigurieren Sie eine Webanwendung in SharePoint so, dass sie mit der AD FS-Vertrauensstellung verbunden wird, indem Sie den oben erstellten SPTrustedLoginProvider verwenden.

Es gibt einige wichtige Regeln zu beachten:

  • In der Standardzone der SharePoint-Webanwendung muss die Windows-Authentifizierung aktiviert sein. Dies ist für den Suchcrawler erforderlich.
  • Die SharePoint-URL, die den AD FS-Verbund verwendet, muss mit HTTPS konfiguriert werden.

Es gibt zwei mögliche Konfigurationen:

  • Wenn Sie eine neue Webanwendung erstellen und sowohl die Windows- als auch die AD FS-Authentifizierung in der Standardzone verwenden:

    1. Starten Sie die SharePoint-Verwaltungsshell , und führen Sie das folgende Skript aus:

      # This script creates a new web application and sets Windows and AD FS authentication on the Default zone
      # URL of the SharePoint site federated with ADFS
      $trustedSharePointSiteUrl = "https://spsites.contoso.local/"
      $applicationPoolManagedAccount = "Contoso\spapppool"
      
      $winAp = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos:$true
      $sptrust = Get-SPTrustedIdentityTokenIssuer "Contoso.local"
      $trustedAp = New-SPAuthenticationProvider -TrustedIdentityTokenIssuer $sptrust
      
      New-SPWebApplication -Name "SharePoint - ADFS on contoso.local" -Port 443 -SecureSocketsLayer -URL $trustedSharePointSiteUrl -ApplicationPool "SharePoint - ADFS on contoso.local" -ApplicationPoolAccount (Get-SPManagedAccount $applicationPoolManagedAccount) -AuthenticationProvider $winAp, $trustedAp
      
    2. Öffnen Sie die Website sharePoint-Zentraladministration .

    3. Wählen Sie unter Systemeinstellungendie Option Alternative Zugriffszuordnungen konfigurieren aus. Das Feld Sammlung alternativer Zugriffszuordnungen wird geöffnet.

    4. Filtern Sie die Anzeige mit der neuen Webanwendung, und vergewissern Sie sich, dass sie in etwa wie folgt angezeigt wird:

      Alternative Zugriffszuordnungen von Webanwendungen

  • Wenn Sie eine vorhandene Webanwendung erweitern, um die AD FS-Authentifizierung für eine neue Zone festzulegen:

    1. Starten Sie die SharePoint-Verwaltungsshell, und führen Sie das folgende Skript aus:

      # This script extends an existing web application to set AD FS authentication on a new zone
      # URL of the default zone of the web application
      $webAppDefaultZoneUrl = "http://spsites/"
      # URL of the SharePoint site federated with ADFS
      $trustedSharePointSiteUrl = "https://spsites.contoso.local/"
      
      $sptrust = Get-SPTrustedIdentityTokenIssuer "Contoso.local"
      $ap = New-SPAuthenticationProvider -TrustedIdentityTokenIssuer $sptrust
      $wa = Get-SPWebApplication $webAppDefaultZoneUrl
      New-SPWebApplicationExtension -Name "SharePoint - ADFS on contoso.local" -Identity $wa -SecureSocketsLayer -Zone Intranet -Url $trustedSharePointSiteUrl -AuthenticationProvider $ap
      
    2. Öffnen Sie die Website sharePoint-Zentraladministration .

    3. Wählen Sie unter Systemeinstellungendie Option Alternative Zugriffszuordnungen konfigurieren aus. Das Feld Sammlung alternativer Zugriffszuordnungen wird geöffnet.

    4. Filtern Sie die Anzeige mit der erweiterten Webanwendung, und vergewissern Sie sich, dass sie in etwa wie folgt angezeigt wird:

      Alternative Zugriffszuordnungen der erweiterten Anwendung

Festlegen eines HTTPS-Zertifikats in IIS

Da die SharePoint-URL das HTTPS-Protokoll (https://spsites.contoso.local/) verwendet, muss ein Zertifikat auf der entsprechenden IIS-Website (Internetinformationsdienste) festgelegt werden.

Generieren des Standortzertifikats

Hinweis

Sie können diesen Schritt überspringen, wenn Sie das Zertifikat bereits generiert haben.

  1. Öffnen Sie die Windows PowerShell-Konsole.

  2. Führen Sie das folgende Skript aus, um ein selbstsigniertes Zertifikat zu generieren und es dem MY-Speicher des Computers hinzuzufügen:

    New-SelfSignedCertificate -DnsName "spsites.contoso.local" -CertStoreLocation "cert:\LocalMachine\My"
    

Wichtig

Selbstsignierte Zertifikate eignen sich nur zu Testzwecken. In Produktionsumgebungen wird dringend empfohlen, stattdessen Zertifikate zu verwenden, die von einer Zertifizierungsstelle ausgestellt wurden.

Festlegen des Zertifikats

  1. Öffnen Sie die Internetinformationsdienste-Manager-Konsole.

  2. Erweitern Sie den Server in der Strukturansicht, erweitern Sie Websites, wählen Sie die Website SharePoint – AD FS auf contoso.local aus, und wählen Sie Bindungen aus.

  3. Wählen Sie https-Bindung und dann Bearbeiten aus.

  4. Wählen Sie im Feld TLS/SSL-Zertifikat die Option spsites.contoso.local certificate und dann OK aus.

Erstellen der Websitesammlung

In diesem Schritt erstellen Sie eine Teamwebsitesammlung mit zwei Administratoren: einen als Windows-Administrator und einen als Verbundadministrator (AD FS).

  1. Öffnen Sie die Website sharePoint-Zentraladministration .

  2. Wählen Sie unter Anwendungsverwaltung die Option Websitesammlungen erstellen aus. Die Seite Websitesammlungen erstellen wird geöffnet.

  3. Geben Sie einen Titel und eine URL ein, und wählen Sie die Vorlage Teamwebsite aus.

  4. Klicken Sie im Abschnitt Primärer Websitesammlungsadministrator auf das Buchsymbol, um das Dialogfeld für die Personenauswahl zu öffnen.

  5. Geben Sie im Dialogfeld Personenauswahl das Windows-Administratorkonto ein, z. B yvand. .

  6. Filtern Sie auf der linken Seite die Liste, indem Sie auf Organisationen klicken. Es sollte eine Ausgabe wie die folgende angezeigt werden:

    Personenauswahl Windows-Administrator

  7. Wählen Sie das Konto aus, und klicken Sie auf OK.

  8. Klicken Sie im Abschnitt Sekundärer Websitesammlungsadministrator auf das Buchsymbol, um das Dialogfeld für die Personenauswahl zu öffnen.

  9. Geben Sie im Dialogfeld personenauswahl den genauen E-Mail-Wert des AD FS-Administratorkontos ein, z. B yvand@contoso.local. .

  10. Filtern Sie auf der linken Seite die Liste, indem Sie auf Contoso.local klicken. Es sollte eine Ausgabe wie die folgende angezeigt werden:

    Personenauswahl FS-Administrator-E-Mail

  11. Wählen Sie das Konto aus, und klicken Sie auf OK.

  12. Klicken Sie auf OK, um die Websitesammlung zu erstellen.

Nachdem die Websitesammlung erstellt wurde, sollten Sie sich mit dem Windows- oder dem Verbundwebsitesammlungsadministratorkonto bei ihr anmelden können.

Nächste Schritte

Bei der Verbundauthentifizierung überprüft die Personenauswahl die Eingabe nicht, was dazu führen kann, dass Rechtschreibfehler auftreten oder Benutzer versehentlich den falschen Anspruchstyp auswählen. Dies kann mithilfe eines benutzerdefinierten Anspruchsanbieters behoben werden. Beispiel : LDAPCP.

Wichtig

LDAPCP ist kein Microsoft-Produkt und wird vom Microsoft-Support nicht unterstützt. Informationen zum Herunterladen, Installieren und Konfigurieren von LDAPCP in der lokalen SharePoint-Farm finden Sie auf der LDAPCP-Website.

In der SharePoint Server-Abonnementedition kann die native Personenauswahl Personen mithilfe der Benutzerprofildienstanwendung für die Verbundauthentifizierung suchen und auflösen. Erfahren Sie, wie Sie die Personenauswahl für die Verwendung der Verbundauthentifizierung konfigurieren.