Compartir a través de


Configuración de la autenticación OIDC en SharePoint Server mediante claves públicas RSA

SE APLICA A:no-img-132013 no-img-162016 no-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint en Microsoft 365

OIDC es un protocolo de autenticación que usa tokens web JSON (JWT) para comprobar la identidad de los usuarios y concederles acceso a recursos protegidos. Los JWT se firman digitalmente mediante claves simétricas (compartidas entre el emisor y el consumidor) o claves asimétricas (pares de claves públicas y privadas).

SharePoint Server admite actualmente el flujo de autenticación OIDC con claves x5c, que son certificados que contienen la clave pública y otros metadatos. Sin embargo, es posible que algunos proveedores de OIDC no usen claves x5c, sino que usen claves públicas RSA que se representen directamente con el módulo RSA y el exponente público RSA. Para admitir estos proveedores, SharePoint Server agregó la capacidad de analizar y validar claves públicas RSA en JWT.

En este artículo se explican las nuevas mejoras de la versión 24H2 que le ayudarán a configurar la autenticación OIDC en SharePoint Server mediante claves públicas RSA.

Introducción a la configuración de OIDC con claves públicas RSA

  1. Configure OIDC con Microsoft Entra ID con credenciales de administrador global mediante los pasos que se mencionan aquí.
  2. Modifique las propiedades de la granja de servidores de SharePoint Server en función de la versión de la granja de servidores de SharePoint Server. Para obtener más información, vea cambiar las propiedades de la granja de servidores de SharePoint.
  3. Configure SharePoint para que confíe en el proveedor de identidades mediante la creación SPTrustedIdentityTokenIssuer con claves públicas RSA mediante los pasos mencionados en este artículo.
  4. Configure una aplicación web en SharePoint para que se federe con el Microsoft Entra OIDC, mediante el SPTrustedIdentityTokenIssuer creado en el paso anterior. Para obtener más información, consulte Creación de una nueva aplicación web.
  5. Asegúrese de que la aplicación web está configurada con certificado SSL. Para configurar la aplicación web, realice los pasos necesarios para establecer el certificado.
  6. Cree una colección de sitios de equipo como administrador de Windows y administrador federado (Microsoft Entra ID). Para obtener más información, consulte Creación de la colección de sitios.
  7. Configure un selector de Personas mediante un proveedor de notificaciones personalizado o el nuevo proveedor de notificaciones respaldado por UPA incluido en SharePoint Server Edición de Suscripción. Consulte Configuración del selector de Personas.

Paso 3: Configurar SharePoint para confiar en el proveedor de identidades con claves públicas RSA

En el caso de las claves públicas RSA, cree o configure un SPTrustedTokenIssuer para almacenar la configuración en la que SharePoint debe confiar como proveedor OIDC. Puede configurar SharePoint para que confíe en el proveedor de identidades manualmente o mediante el punto de conexión de metadatos.

Configuración de OIDC de SharePoint con claves públicas RSA mediante el punto de conexión de metadatos

Un administrador puede seguir el mismo comando de PowerShell que se usa para las claves x5c cuando se usa un punto de conexión de metadatos para las claves públicas RSA. SharePoint determina qué tipo de clave se usa a partir de la respuesta del punto de conexión de metadatos y crea correctamente SPTrustedIdentityTokenIssuer . Para obtener más información, vea Configurar SharePoint para que confíe en Microsoft Entra ID mediante el punto de conexión de metadatos para obtener un ejemplo.

Configuración manual de OIDC de SharePoint con claves públicas RSA

Al crear o configurar manualmente para SPTrustedIdentityTokenIssuer las claves públicas RSA, debe especificar un nuevo -PublicKey parámetro al ejecutar los New-SPTrustedIdentityTokenIssuer cmdlets o Set-SPTrustedIdentityTokenIssuer para definir el módulo y el exponente de clave pública RSA.

New-SPTrustedIdentityTokenIssuer

Puede ejecutar el siguiente cmdlet de PowerShell con -PublicKey el parámetro :

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" 

El New-SPTrustedIdentityTokenIssuer cmdlet de PowerShell usa los parámetros siguientes:

Parámetro Descripción
Name Proporciona un nombre al nuevo emisor de tokens.
Descripción Proporciona una descripción al nuevo emisor de tokens.
PublicKey Especifica que el valor debe ser una cadena XML que defina el módulo y exponente de clave pública RSA.
Ejemplo de $publicKeyXML valor:

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

ClaimsMappings Objeto SPClaimTypeMapping que se usa para identificar qué notificación de id_token se considera identificador en SharePoint.
IdentifierClaim Especifica el tipo de identificador.
DefaultClientIdentifier Especifica el client_id de servidor de SharePoint, asignado por el proveedor de identidades OIDC. Esto se valida con la notificación aud en id_token.
RegisteredIssuerName Especifica el identificador del emisor, que emite .id_token Se usa para validar .id_token
AuthorizationEndPointUrl Especifica el punto de conexión de autorización del proveedor de identidades OIDC.
SignoutUrl Especifica el punto de conexión de cierre de sesión del proveedor de identidades OIDC.

Para extraer el valor correcto $publicKeyXML de un certificado x509, puede ejecutar el siguiente comando de PowerShell:

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

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

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

Set-SPTrustedIdentityTokenIssuer

El Set-SPTrustedIdentityTokenIssuer cmdlet admite el nuevo -PublicKey parámetro para las claves públicas RSA y toma la misma <RSAKeyValue><Modulus>modulus</Modulus><Exponent>exponent</Exponent></RSAKeyValue> cadena XML que New-SPTrustedIdentityTokenIssuer usa. Ejemplo:

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

Mejoras en la configuración de OIDC

Con la versión 24H2, los administradores pueden esperar las siguientes mejoras al configurar SharePoint Server para confiar en el proveedor de identidades.

Permitir configurar varios identificadores de cliente en OIDC

Ahora se permite configurar varios identificadores de cliente mediante el modificador -ScopedClientIdentifier en un OIDC SPTrustedIdentityTokenIssuer. Ejecute el siguiente comando:

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

Habilitar la funcionalidad de edición ClaimsMappings en Set-SPTrustedIdentityTokenIssuer

En versiones anteriores de SharePoint Server, al crear SPTrustedIdentityTokenIssuer, debe proporcionar la lista de asignaciones de notificaciones, que se usa para asignar la notificación del token de IdP al token emitido por SharePoint. Una vez SPTrustedIdentityTokenIssuer creada, solo puede quitar la asignación de notificaciones existente o volver a agregar la asignación de notificaciones eliminada, que es idéntica a la que ha quitado. Sin embargo, no puede agregar una nueva asignación de notificaciones, que no está originalmente en la lista ni cambiar una asignación de notificaciones existente en su lugar. 

La nueva actualización de la compilación de la versión 24H2 permite a los usuarios agregar un nuevo parámetro a Set-SPTrustedIdentityTokenIssuer para que puedan cambiar la lista de asignaciones de notificaciones. Con este nuevo parámetro siguiente, incluso puede modificar la lista de asignaciones de notificaciones del emisor de tokens.

Nuevo parámetro: -ClaimsMappings <SPClaimMappingPipeBind[]>

Compatibilidad con idP de OIDC que no pueden funcionar con caracteres comodín en la dirección URL de redireccionamiento

Algunos idP de OIDC, como Azure Active Directory B2C, no pueden trabajar con caracteres comodín en la dirección URL de redireccionamiento. Esto hace que SharePoint no pueda redirigir de nuevo al recurso original que se solicita después de la autenticación. En esta versión, agregamos una propiedad state en el encabezado de respuesta para conservar la dirección URL de redireccionamiento para que SharePoint pueda saber a qué dirección URL redirigir. 

Puede usar el siguiente cmdlet de PowerShell para habilitarlo en el tokenissuer que ha creado:

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

Actualización del certificado por trabajo del temporizador

Se crea un nuevo trabajo de temporizador (RefreshMetadataFeed) para capturar automáticamente los valores de configuración más recientes del punto de conexión de metadatos OIDC configurado diariamente y actualizar el emisor de tokens de confianza de OIDC en consecuencia. Incluye los certificados usados para el cifrado y la firma de tokens, el emisor de tokens, el punto de conexión de autorización y SignoutUrl. Puede cambiar la frecuencia de actualización cambiando la programación del trabajo del temporizador. Por ejemplo, puede cambiar la programación del trabajo del temporizador a "5:00 todos los sábados" mediante PowerShell:

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

Este trabajo del temporizador está habilitado al configurar un emisor de tokens de confianza de OIDC con un punto de conexión de metadatos. Si tiene una configuración de emisor de tokens de confianza de OIDC antes de aplicar esta actualización, debe restablecer este emisor de tokens de nuevo para que el trabajo del temporizador se pueda habilitar para este emisor de tokens. Puede restablecer el emisor del token mediante PowerShell.

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