Configuración de la autenticación mediante un token de seguridad de SAML (SharePoint Server 2010)

 

Se aplica a: SharePoint Foundation 2010, SharePoint Server 2010

Última modificación del tema: 2016-11-30

En los procedimientos de este artículo se proporcionan explicaciones sobre cómo configurar la autenticación mediante el token del lenguaje de marcado de aserción de seguridad (SAML) para una aplicación web basada en notificaciones de Microsoft SharePoint Server 2010.

Generalmente, el inicio de sesión basado en SAML se usa en escenarios de federación de empresas, por ejemplo, para otorgar acceso a un socio de negocio. Este inicio de sesión también se implementa para proporcionar acceso a usuarios internos cuyas cuentas residen en un dominio que no es parte del bosque que contiene SharePoint Server 2010.

Antes de configurar la autenticación con un token de seguridad de SAML para una aplicación web basada en notificaciones de SharePoint Server 2010, debe configurar un servidor que ejecute los Servicios de federación de Active Directory (AD FS) 2.0. Para obtener información sobre la configuración de un servidor para que ejecute AD FS 2.0, vea AD FS 2.0 Deployment Guide.

En este artículo:

  • Configuración de una aplicación web de un STS de proveedor de identidad (IP-STS) mediante Windows PowerShell

  • Configuración de una aplicación web de un STS de usuario de confianza (RP-STS)

  • Establecimiento de una relación de confianza entre un IP-STS y un RP-STS mediante Windows PowerShell

  • Exportación del certificado de un IP-STS de confianza mediante Windows PowerShell

  • Definición de un identificador único para la asignación de notificaciones mediante Windows PowerShell

  • Creación y configuración de una nueva aplicación web de SharePoint para que use el inicio de sesión basado en SAML

Configuración de una aplicación web de un STS de proveedor de identidad (IP-STS) mediante Windows PowerShell

Lleve a cabo los siguientes procedimientos para usar Windows PowerShell para configurar una aplicación web basada en notificaciones de SharePoint.

Para configurar una aplicación web de un STS de proveedor de identidad (IP-STS) mediante Windows PowerShell

  1. Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin.

  2. En el menú Inicio, haga clic en Todos los programas.

  3. Haga clic en Productos de Microsoft SharePoint 2010.

  4. Haga clic en Consola de administración de SharePoint 2010.

  5. Desde el símbolo del sistema de Windows PowerShell, cree un objeto x509Certificate2, como se muestra en el siguiente ejemplo:

    $cert = New-Object
    System.Security.Cryptography.X509Certificates.X509Certificate2("path to cert file")
    
  6. Cree una asignación de tipo de notificación para usarla en su proveedor de autenticación de confianza, como se muestra en el siguiente ejemplo:

    New-SPClaimTypeMapping "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
    -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
    
  7. Cree un proveedor de inicio de sesión de confianza; para ello, cree un valor para el parámetro realm, como se muestra en el siguiente ejemplo:

    $realm = "urn:" + $env:ComputerName + ":domain-int"
    
  8. Cree un valor para el parámetro signinurl que apunte a la aplicación web del servicio de token de seguridad, como se muestra en el siguiente ejemplo:

    $signinurl = "https://test-2/FederationPassive/"
    
  9. Cree el proveedor de inicio de sesión de confianza con el mismo valor IdentifierClaim que en una asignación de notificaciones ($map1.InputClaimType), como se muestra en el siguiente ejemplo:

    $ap = New-SPTrustedIdentityTokenIssuer -Name
    "WIF" -Description "Windows® Identity Foundation" -Realm
    $realm -ImportTrustCertificate $cert
    -ClaimsMappings $map1[,$map2..] -SignInUrl
    $signinurl -IdentifierClaim $map1.InputClaimType
    
  10. Cree una aplicación web; para ello, cree un valor para la cuenta del grupo de aplicaciones (para el usuario actual) en primer lugar, como se muestra en el siguiente ejemplo:

    $account = "DOMAIN\" + $env:UserName
    

    Nota

    La cuenta del grupo de aplicaciones debe ser una cuenta administrada. Para crear una cuenta administrada, use New-SPManagedAccount.

  11. Cree un valor para la dirección URL de la aplicación web ($webappurl = "https://" + $env:ComputerName), como se muestra en el siguiente ejemplo:

    $wa = New-SPWebApplication -name "Claims WIF"
    -SecureSocketsLayer -ApplicationPool "SharePoint SSL"
    -ApplicationPoolAccount $account -Url $webappurl -Port 443
    -AuthenticationProvider $ap
    
  12. Cree un sitio; para ello, cree un objeto de notificación en primer lugar, como se muestra en el siguiente ejemplo:

    $claim = New-SPClaimsPrincipal
    -TrustedIdentityTokenIssuerr $ap -Identity
    $env:UserName
    
  13. Cree un sitio, como se muestra en el siguiente ejemplo:

    $site = New-SPSite $webappurl -OwnerAlias
    $claim.ToEncodedString() -template "STS#0"
    

Configuración de una aplicación web de un STS de usuario de confianza (RP-STS)

Use el procedimiento descrito en esta sección para configurar una aplicación web de un STS de usuario de confianza.

Para configurar una aplicación web de un STS de usuario de confianza

  1. Abra la consola de administración de los Servicios de federación de Active Directory (ADFS) 2.0.

  2. En el panel izquierdo, expanda Directiva y seleccione Usuarios de confianza.

  3. En el panel derecho, haga clic en Agregar usuario de confianza. Se abrirá el asistente para configuración de Servicios de federación de Active Directory (ADFS) 2.0.

  4. En la primera página del asistente, haga clic en Inicio.

  5. Seleccione Especificar manualmente configuración de usuario de confianza y haga clic en Siguiente.

  6. Escriba el nombre del usuario de confianza y haga clic en Siguiente.

  7. Asegúrese de que Perfil del servidor de Servicios de federación de Active Directory (ADFS) 2.0 esté seleccionado y haga clic en Siguiente.

  8. No use un certificado de cifrado. Haga clic en Siguiente.

  9. Seleccione Permitir compatibilidad con la federación de identidades basada en explorador web.

  10. Escriba el nombre de la dirección URL de la aplicación web y agregue /_trust/ (por ejemplo: https://nombreServidor/_trust/). Haga clic en Siguiente.

  11. Escriba el nombre de un identificador (por ejemplo: urn:COMPUTERNAME:Geneva) y haga clic en Agregar. Haga clic en Siguiente.

  12. En la página de resumen, haga clic en Siguiente y, a continuación, haga clic en Cerrar. Se abrirá la consola de administración del editor de reglas. Use esta consola para configurar la asignación de notificaciones desde una aplicación web LDAP a SharePoint.

  13. En el panel izquierdo, expanda Nueva regla y seleccione Regla predefinida.

  14. Seleccione Crear notificaciones desde almacén de atributos LDAP.

  15. En el panel derecho, seleccione Almacén de cuentas de usuario de Active Directory de empresa de la lista desplegable Almacén de atributos.

  16. En Atributo LDAP, seleccione sAMAccountName.

  17. En Tipo de notificación saliente, seleccione Dirección de correo electrónico.

  18. En el panel izquierdo, haga clic en Guardar.

Establecimiento de una relación de confianza con un STS de proveedor de identidad (IP-STS) mediante Windows PowerShell

Use el procedimiento descrito en esta sección para establecer una relación de confianza con un IP-STS.

Para establecer una relación de confianza con un IP-STS mediante Windows PowerShell

  1. Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin.

  2. En el menú Inicio, haga clic en Todos los programas.

  3. Haga clic en Productos de Microsoft SharePoint 2010.

  4. Haga clic en Consola de administración de SharePoint 2010.

  5. Desde el símbolo del sistema de Windows PowerShell, establezca una relación de confianza, como se muestra en el siguiente ejemplo:

    $waurl = "https://" + $env:ComputerName
    $title = "SAML-Claims"
    

Exportación del certificado de un IP-STS de confianza mediante Windows PowerShell

Use el procedimiento descrito en esta sección para exportar el certificado del IP-STS con el que desea establecer una relación de confianza y, a continuación, copie el certificado a una ubicación a la que Microsoft SharePoint Server 2010 tenga acceso.

Para exportar el certificado de confianza de un IP-STS mediante Windows PowerShell

  1. Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin.

  2. En el menú Inicio, haga clic en Todos los programas.

  3. Haga clic en Productos de Microsoft SharePoint 2010.

  4. Haga clic en Consola de administración de SharePoint 2010.

  5. Desde el símbolo del sistema de Windows PowerShell, exporte el certificado de confianza del IP-STS, como se muestra en el siguiente ejemplo:

    $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("c:\geneva.cer")
    

Definición de un identificador único para la asignación de notificaciones mediante Windows PowerShell

Use el procedimiento descrito en esta sección para definir una dirección de correo electrónico que servirá como un identificador único para la asignación de notificaciones. Generalmente, el administrador del STS de confianza tendrá que proporcionar esta información porque solo el propietario del STS sabe qué valor del token siempre será único para cada usuario. Tenga en cuenta que el administrador del STS de confianza puede crear un URI para representar la dirección de correo electrónico.

Para definir un identificador único para la asignación de notificaciones mediante Windows PowerShell

  1. Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin.

  2. En el menú Inicio, haga clic en Todos los programas.

  3. Haga clic en Productos de Microsoft SharePoint 2010.

  4. Haga clic en Consola de administración de SharePoint 2010.

  5. Desde el símbolo del sistema de Windows PowerShell, cree una asignación, como se muestra en el siguiente ejemplo:

    $map = New-SPClaimTypeMapping -IncomingClaimType "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
    

Creación de un nuevo proveedor de autenticación

Use el procedimiento descrito en esta sección para crear un nuevo proveedor de autenticación que usará la aplicación web.

Para crear un nuevo proveedor de autenticación mediante Windows PowerShell

  1. Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin.

  2. En el menú Inicio, haga clic en Todos los programas.

  3. Haga clic en Productos de Microsoft SharePoint 2010.

  4. Haga clic en Consola de administración de SharePoint 2010.

  5. Desde el símbolo del sistema de Windows PowerShell, cree un nuevo proveedor de autenticación, como se muestra en el siguiente ejemplo. Tenga en cuenta que realm es el parámetro que usa el STS de confianza para identificar una granja de servidores de SharePoint.

    $realm = "urn:" + $env:ComputerName + ":Geneva"
    $ap = New-SPTrustedIdentityTokenIssuer -Name "Geneva" -Description "Geneva" -Realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map -SignInUrl "https:// test-2/FederationPassive/" -IdentifierClaim "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
    

Creación y configuración de una nueva aplicación web de SharePoint para que use el inicio de sesión basado en SAML

En este paso, creará y configurará una aplicación web.

Para crear y configurar una nueva aplicación web de SharePoint para que use inicio de sesión basado en SAML mediante Windows PowerShell

  1. Compruebe que cumple los siguientes requisitos mínimos: Consulte Add-SPShellAdmin.

  2. En el menú Inicio, haga clic en Todos los programas.

  3. Haga clic en Productos de Microsoft SharePoint 2010.

  4. Haga clic en Consola de administración de SharePoint 2010.

  5. Desde el símbolo del sistema de Windows PowerShell, cree una aplicación web de SharePoint y configúrela para usar inicio de sesión basado en SAML. Tenga en cuenta que debe reemplazar "WebAppUrl" y "domain\admin" por los valores válidos.

    $wa = New-SPWebApplication -Name "SAML Sign-In" -SecureSocketsLayer -ApplicationPool "SAML Sign-In" -ApplicationPoolAccount "domain\admin" -
    Url "WebAppUrl" -Port 443 -AuthenticationProvider $ap
    

    Nota

    Habilita SSL porque, con el inicio de sesión basado en SAML, las cookies se usan como el vale de inicio de sesión único para el usuario. Esto permite a los administradores otorgar acceso a los recursos de SharePoint durante la duración del token sin tener que autenticar nuevamente al usuario. Sin SSL, un usuario malintencionado puede secuestrar las cookies y usarlas para suplantar al usuario original.

Cuando complete estos procedimientos, cree un sitio de SharePoint y asigne un propietario. Para obtener información sobre la creación de un sitio de SharePoint, vea Creación de una colección de sitios (SharePoint Server 2010).