Freigeben über


Einrichten der OIDC-Authentifizierung in SharePoint Server mit öffentlichen RSA-Schlüsseln

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

OIDC ist ein Authentifizierungsprotokoll, das JSON-Webtoken (JWTs) verwendet, um die Identität von Benutzern zu überprüfen und ihnen Zugriff auf geschützte Ressourcen zu gewähren. JWTs werden digital signiert, indem entweder symmetrische Schlüssel (vom Aussteller und dem Consumer gemeinsam genutzt) oder asymmetrische Schlüssel (öffentliche/private Schlüsselpaare) verwendet werden.

SharePoint Server unterstützt derzeit den OIDC-Authentifizierungsfluss mit x5c-Schlüsseln, bei denen es sich um Zertifikate handelt, die den öffentlichen Schlüssel und andere Metadaten enthalten. Einige OIDC-Anbieter verwenden jedoch möglicherweise keine x5c-Schlüssel, sondern stattdessen öffentliche RSA-Schlüssel, die direkt mit RSA-Modulus und dem öffentlichen RSA-Exponenten dargestellt werden. Um diese Anbieter zu unterstützen, hat SharePoint Server die Möglichkeit hinzugefügt, öffentliche RSA-Schlüssel in JWTs zu analysieren und zu überprüfen.

In diesem Artikel werden die neuen Verbesserungen von Version 24H2 erläutert, mit denen Sie die OIDC-Authentifizierung in SharePoint Server mithilfe öffentlicher RSA-Schlüssel einrichten können.

Übersicht über die OIDC-Konfiguration mit öffentlichen RSA-Schlüsseln

  1. Richten Sie OIDC mit Microsoft Entra ID mithilfe der Anmeldeinformationen des globalen Administrators ein, indem Sie die hier beschriebenen Schritte ausführen.
  2. Ändern Sie die SharePoint Server-Farmeigenschaften basierend auf der Version Ihrer SharePoint Server-Farm. Weitere Informationen finden Sie unter Ändern von SharePoint-Farmeigenschaften.
  3. Konfigurieren Sie SharePoint so, dass es dem Identitätsanbieter vertraut, indem Sie mit öffentlichen RSA-Schlüsseln erstellen SPTrustedIdentityTokenIssuer, indem Sie die in diesem Artikel beschriebenen Schritte ausführen.
  4. Konfigurieren Sie eine Webanwendung in SharePoint so, dass sie mit dem Microsoft Entra OIDC verbunden wird, indem Sie den SPTrustedIdentityTokenIssuer im vorherigen Schritt erstellten verwenden. Weitere Informationen finden Sie unter Erstellen einer neuen Webanwendung.
  5. Stellen Sie sicher, dass die Webanwendung mit EINEM SSL-Zertifikat konfiguriert ist. Führen Sie zum Konfigurieren der Webanwendung die Schritte zum Festlegen des Zertifikats aus.
  6. Erstellen Sie eine Teamwebsitesammlung sowohl als Windows-Administrator als auch als Verbundadministrator (Microsoft Entra ID). Weitere Informationen finden Sie unter Erstellen der Websitesammlung.
  7. Richten Sie eine Personen Auswahl mithilfe eines benutzerdefinierten Anspruchsanbieters oder des neuen UPA-gestützten Anspruchsanbieters ein, der in SharePoint Server-Abonnementedition enthalten ist. Weitere Informationen finden Sie unter Einrichten von Personen Picker.

Schritt 3: Konfigurieren von SharePoint zum Vertrauen des Identitätsanbieters mit öffentlichen RSA-Schlüsseln

Für öffentliche RSA-Schlüssel erstellen oder richten Sie ein SPTrustedTokenIssuer ein, um die Konfiguration zu speichern, der SharePoint als OIDC-Anbieter vertrauen muss. Sie können SharePoint so konfigurieren, dass dem Identitätsanbieter entweder manuell oder mithilfe des Metadatenendpunkts vertraut wird.

Konfigurieren von SharePoint OIDC mit öffentlichen RSA-Schlüsseln mithilfe des Metadatenendpunkts

Ein Administrator kann denselben PowerShell-Befehl ausführen, der für x5c-Schlüssel verwendet wird, wenn er einen Metadatenendpunkt für öffentliche RSA-Schlüssel verwendet. SharePoint ermittelt, welche Art von Schlüssel aus der Antwort des Metadatenendpunkts verwendet wird, und erstellt den SPTrustedIdentityTokenIssuer entsprechend. Weitere Informationen finden Sie unter Konfigurieren von SharePoint zum Vertrauen Microsoft Entra ID mithilfe des Metadatenendpunkts.

Manuelles Konfigurieren von SharePoint OIDC mit öffentlichen RSA-Schlüsseln

Beim manuellen Erstellen oder Einrichten von SPTrustedIdentityTokenIssuer für öffentliche RSA-Schlüssel müssen Sie einen neuen -PublicKey Parameter angeben, während Sie die New-SPTrustedIdentityTokenIssuer Cmdlets oder Set-SPTrustedIdentityTokenIssuer ausführen, um den Modulus und exponenten öffentlichen RSA-Schlüssel zu definieren.

New-SPTrustedIdentityTokenIssuer

Sie können das folgende PowerShell-Cmdlet mit -PublicKey dem Parameter ausführen:

New-SPTrustedIdentityTokenIssuer -Name "RSA-Manual" -Description "RSA Manually Created" -PublicKey $publicKeyXML -ClaimsMappings $emailClaimMap -IdentifierClaim $emailClaimMap.InputClaimType -DefaultClientIdentifier $clientIdentifier -RegisteredIssuerName $registeredissuernameurl -AuthorizationEndPointUri $authendpointurl -SignOutUrl $signouturl -Scope "openid profile" 

Das New-SPTrustedIdentityTokenIssuer PowerShell-Cmdlet verwendet die folgenden Parameter:

Parameter Beschreibung
Name Gibt dem neuen Tokenaussteller einen Namen.
Beschreibung Gibt dem neuen Tokenaussteller eine Beschreibung.
PublicKey Gibt an, dass es sich bei dem Wert um eine XML-Zeichenfolge handeln soll, die den Modulus und den Exponenten des öffentlichen RSA-Schlüssels definiert.
Beispiel für einen $publicKeyXML Wert:

<RSAKeyValue><Modulus>modulus</Modulus><Exponent>exponent</Exponent></RSAKeyValue>

ClaimsMappings Ein SPClaimTypeMapping -Objekt, das verwendet wird, um zu identifizieren, welcher Anspruch in der id_token als Bezeichner in SharePoint angesehen wird.
IdentifierClaim Gibt den Typ des Bezeichners an.
DefaultClientIdentifier Gibt den client_id des SharePoint-Servers an, der vom OIDC-Identitätsanbieter zugewiesen wird. Dies wird anhand des aud-Anspruchs in id_tokenüberprüft.
RegisteredIssuerName Gibt den Ausstellerbezeichner an, der ausgibt id_token. Es wird verwendet, um zu id_tokenüberprüfen.
AuthorizationEndPointUrl Gibt den Autorisierungsendpunkt des OIDC-Identitätsanbieters an.
SignoutUrl Gibt den Abmeldeendpunkt des OIDC-Identitätsanbieters an.

Um den richtigen $publicKeyXML Wert aus einem x509-Zertifikat zu extrahieren, können Sie den folgenden PowerShell-Befehl ausführen:

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 

$cert.Import("c:\certs\YourSigningCertificateHere.cer") 

$publicKeyXml = $cert.PublicKey.Key.ToXmlString($false) 

Set-SPTrustedIdentityTokenIssuer

Das Set-SPTrustedIdentityTokenIssuer Cmdlet unterstützt den neuen -PublicKey Parameter für öffentliche RSA-Schlüssel und verwendet dieselbe <RSAKeyValue><Modulus>modulus</Modulus><Exponent>exponent</Exponent></RSAKeyValue> XML-Zeichenfolge, die New-SPTrustedIdentityTokenIssuer verwendet. Beispiel:

Set-SPTrustedIdentityTokenIssuer -Identity "RSA-Manual" -PublicKey $publicKeyXml -IsOpenIDConnect 

Verbesserungen für die OIDC-Konfiguration

Mit Version 24H2 können Administratoren die folgenden Verbesserungen erwarten, wenn sie sharePoint Server so konfigurieren, dass er dem Identitätsanbieter vertraut.

Konfigurieren mehrerer Clientbezeichner in OIDC zulassen

Das Konfigurieren mehrerer Clientbezeichner ist jetzt mit dem Schalter -ScopedClientIdentifier in einer OIDC SPTrustedIdentityTokenIssuerzulässig. Führen Sie den folgenden Befehl aus:

Set-SPTrustedIdentityTokenIssuer -Identity <name> -ScopedClientIdentifier Dictionary<Uri,string> -IsOpenIDConnect 

Aktivieren der Bearbeitungsfunktion für ClaimsMappings in Set-SPTrustedIdentityTokenIssuer

In früheren Versionen von SharePoint Server müssen Sie beim Erstellen SPTrustedIdentityTokenIssuervon die Liste der Anspruchszuordnungen bereitstellen, die verwendet wird, um den Anspruch aus dem IdP-Token dem ausgestellten SharePoint-Token zuzuordnen. Nachdem SPTrustedIdentityTokenIssuer erstellt wurde, können Sie nur die vorhandene Anspruchszuordnung entfernen oder die entfernte Anspruchszuordnung wieder hinzufügen, die identisch mit der von Ihnen entfernten ist. Sie können jedoch keine neue Anspruchszuordnung hinzufügen, die ursprünglich nicht in der Liste enthalten ist, oder eine vorhandene Anspruchszuordnung an Ort und Stelle ändern. 

Mit dem neuen Update von Version 24H2 können Benutzer einen neuen Parameter hinzufügen, damit Set-SPTrustedIdentityTokenIssuer sie die Liste der Anspruchszuordnungen ändern können. Mit diesem neuen folgenden Parameter können Sie sogar die Anspruchszuordnungsliste des Tokenausstellers ändern.

Neuer Parameter: -ClaimsMappings <SPClaimMappingPipeBind[]>

Unterstützung von OIDC-IdPs, die nicht mit Wildcardzeichen in der Umleitungs-URL funktionieren können

Einige OIDC-IdPs, z. B. Azure Active Directory B2C, können nicht mit Wildcardzeichen in der Umleitungs-URL verwendet werden. Dies führt dazu, dass SharePoint nicht zur ursprünglichen Ressource zurückgeleitet werden kann, die nach der Authentifizierung abgefragt wird. In dieser Version haben wir eine Zustandseigenschaft im Antwortheader hinzugefügt, um die Umleitungs-URL beizubehalten, sodass SharePoint weiß, an welche URL umgeleitet werden soll. 

Sie können das folgende PowerShell-Cmdlet verwenden, um es für das von Ihnen erstellte tokenissuer zu aktivieren:

Set-SPTrustedIdentityTokenIssuer -Identity <name> -UseStateToRedirect:$True -IsOpenIDConnect

Aktualisieren des Zertifikats nach Zeitgeberauftrag

Ein neuer Zeitgeberauftrag (RefreshMetadataFeed) wird erstellt, um täglich automatisch die neuesten Konfigurationseinstellungen vom konfigurierten OIDC-Metadatenendpunkt abzurufen und den OIDC-Aussteller für vertrauenswürdige Token entsprechend zu aktualisieren. Sie enthält die Zertifikate, die für die Tokenverschlüsselung und -signierung, den Tokenaussteller, den Autorisierungsendpunkt und signoutUrl verwendet werden. Sie können die Aktualisierungshäufigkeit ändern, indem Sie den Zeitgeberauftragszeitplan ändern. Sie können beispielsweise den Zeitplan des Zeitgeberauftrags in "5:00 jeden Samstag" ändern, indem Sie PowerShell verwenden:

Get-SPTimerJob refreshmetadafeed | Set-SPTimerJob -Schedule "weekly at sat 5:00" 

Dieser Zeitgeberauftrag wird aktiviert, wenn Sie einen OIDC-vertrauenswürdigen Tokenaussteller mit Metadatenendpunkt einrichten. Wenn Sie vor dem Anwenden dieses Updates einen OIDC-vertrauenswürdigen Tokenaussteller eingerichtet haben, müssen Sie diesen Tokenaussteller erneut zurücksetzen, damit der Zeitgeberauftrag für diesen Tokenaussteller aktiviert werden kann. Sie können den Tokenaussteller mithilfe von PowerShell zurücksetzen.

Set-SPTrustedIdentityTokenIssuer -Identity <OIDCtokenissuer> -MetadataEndPoint <URL>