Einrichten der OIDC-Authentifizierung in SharePoint Server mit öffentlichen RSA-Schlüsseln
GILT FÜR:2013
2016
2019
Subscription Edition
SharePoint 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
- Richten Sie OIDC mit Microsoft Entra ID mithilfe der Anmeldeinformationen des globalen Administrators ein, indem Sie die hier beschriebenen Schritte ausführen.
- Ändern Sie die SharePoint Server-Farmeigenschaften basierend auf der Version Ihrer SharePoint Server-Farm. Weitere Informationen finden Sie unter Ändern von SharePoint-Farmeigenschaften.
- 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. - 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. - 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.
- Erstellen Sie eine Teamwebsitesammlung sowohl als Windows-Administrator als auch als Verbundadministrator (Microsoft Entra ID). Weitere Informationen finden Sie unter Erstellen der Websitesammlung.
- 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: |
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 SPTrustedIdentityTokenIssuer
zulä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 SPTrustedIdentityTokenIssuer
von 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>