Compartir a través de


Configuración del inicio de sesión único basado en Kerberos desde el servicio Power BI a orígenes de datos locales

Habilitar el inicio de sesión único (SSO) facilita que los informes y paneles de Power BI actualicen los datos de orígenes locales al tiempo que respetan los permisos de nivel de usuario configurados en esos orígenes. Utiliza la delegación restringida de Kerberos para habilitar la conectividad SSO sin interrupciones.

Este artículo describe los pasos que debe seguir para configurar el inicio de sesión único basado en Kerberos desde el servicio de Power BI hacia fuentes de datos locales.

Prerrequisitos

Se deben configurar varios elementos para que la delegación limitada de Kerberos funcione correctamente, incluidos los nombres principales de servicio (SPN) y la configuración de delegación en las cuentas de servicio.

Nota:

No se admite el uso de alias dns con SSO.

Esquema de configuración

En la siguiente sección, se describen los pasos necesarios para configurar el inicio de sesión único del portal.

  1. Complete todos los pasos de la sección 1: Configuración básica.

  2. Según el entorno de Active Directory y los orígenes de datos usados, es posible que tenga que completar algunas o todas las configuraciones descritas en la sección 2: Configuración específica del entorno.

    A continuación se enumeran los posibles escenarios que podrían requerir configuración adicional:

    Escenario Ir a
    El entorno de Active Directory está protegido por la seguridad. Agregar cuenta de servicio de gateway al grupo de autorización y acceso de Windows
    La cuenta de servicio de pasarela y las cuentas de usuario que la pasarela suplantará se encuentran en dominios o bosques separados. Agregar la cuenta de servicio del gateway al grupo de Autorización y Acceso de Windows
    No tiene Microsoft Entra Connect configurado para la sincronización de cuentas de usuario, y el UPN usado en Power BI para los usuarios no coincide con el UPN de su entorno local de Active Directory. Configure los parámetros de mapeo de usuarios en la máquina de puerta de enlace
    Tiene previsto usar un origen de datos de SAP HANA con SSO. Completar los pasos de configuración específicos del origen de datos
    Tiene previsto usar un origen de datos de SAP BW con SSO. Completar los pasos de configuración específicos del origen de datos
    Tiene previsto usar un origen de datos de Teradata con SSO. Completar los pasos de configuración específicos del origen de datos
  3. Valide su configuración como se describe en la sección 3: Validar la configuración para asegurarse de que el SSO está configurado correctamente.

Sección 1: Configuración básica

Paso 1: Instalación y configuración de la puerta de enlace de datos local de Microsoft

La puerta de enlace de datos local admite una actualización in situ y la adquisición de la configuración de las puertas de enlace existentes.

Paso 2: Obtener derechos de administrador de dominio para configurar SPN (SetSPN) y configuración de delegación restringida de Kerberos

Para configurar los SPN y la delegación de Kerberos, un administrador de dominio debe evitar conceder derechos a alguien que no tenga derechos de administrador de dominio. En la sección siguiente, tratamos los pasos de configuración recomendados con más detalle.

Paso 3: Configuración de la cuenta de servicio de puerta de enlace

La Opción A que figura a continuación es la configuración requerida, a menos que tenga configurado Microsoft Entra Connect y las cuentas de usuario estén sincronizadas. En ese caso, se recomienda la opción B.

Opción A: Ejecutar el servicio de Windows de puerta de enlace como una cuenta de dominio con SPN

En una instalación estándar, la puerta de enlace se ejecuta como la cuenta de servicio local de la máquina, NT Service\PBIEgwService.

Cuenta de servicio local de máquina

Para habilitar la delegación restringida de Kerberos, la puerta de enlace debe ejecutarse como una cuenta de dominio, a menos que la instancia de Microsoft Entra ya esté sincronizada con la instancia local de Active Directory (mediante Microsoft Entra DirSync/Connect). Para cambiar a una cuenta de dominio, consulte Cambio de la cuenta de servicio de puerta de enlace.

Configuración de un SPN para la cuenta de servicio de puerta de enlace

En primer lugar, determine si ya se creó un SPN para la cuenta de dominio usada como cuenta de servicio de puerta de enlace:

  1. Como administrador de dominio, inicie el complemento de Usuarios y Equipos de Active Directory de Microsoft Management Console (MMC).

  2. En el panel izquierdo, haga clic con el botón derecho en el nombre de dominio, seleccione Buscar y escriba el nombre de cuenta de la cuenta de servicio de puerta de enlace.

  3. En el resultado de la búsqueda, haga clic con el botón derecho en la cuenta de servicio de puerta de enlace y seleccione Propiedades.

  4. Si la pestaña Delegación está visible en el cuadro de diálogo Propiedades , ya se creó un SPN y puede ir directamente a Configurar delegación restringida de Kerberos.

  5. Si no hay una pestaña Delegación en el cuadro de diálogo Propiedades , puede crear manualmente un SPN en la cuenta para habilitarlo. Use la herramienta setspn que viene con Windows (necesita derechos de administrador de dominio para crear el SPN).

    Por ejemplo, supongamos que la cuenta de servicio de puerta de enlace es Contoso\GatewaySvc y el servicio de puerta de enlace se ejecuta en la máquina denominada MyGatewayMachine. Para establecer el SPN para la cuenta de servicio de puerta de enlace, ejecute el siguiente comando:

    setspn -S gateway/MyGatewayMachine Contoso\GatewaySvc

    También puede configurar el SPN usando el complemento MMC Usuarios y equipos de Active Directory.

Opción B: Configurar el equipo para Microsoft Entra Connect

Si Microsoft Entra Connect está configurado y se sincronizan las cuentas de usuario, el servicio de puerta de enlace no necesita realizar búsquedas locales de Microsoft Entra en tiempo de ejecución. En su lugar, puede usar simplemente el identificador de seguridad del servicio local (SID) para que el servicio de puerta de enlace complete toda la configuración necesaria en microsoft Entra ID. Los pasos de configuración de delegación restringida de Kerberos descritos en este artículo son los mismos que los pasos de configuración necesarios en el contexto de Microsoft Entra. Se aplican al objeto de equipo de la puerta de enlace (identificado por el SID del servicio local) en Microsoft Entra ID en lugar de la cuenta de dominio. El SID del servicio local para NT SERVICE/PBIEgwService es el siguiente:

S-1-5-80-1835761534-3291552707-3889884660-1303793167-3990676079

Para crear el SPN para este SID en el equipo de Power BI Gateway, debe ejecutar el siguiente comando desde una ventana de comandos administrativa (reemplace <COMPUTERNAME> por el nombre del equipo de Power BI Gateway):

SetSPN -s HTTP/S-1-5-80-1835761534-3291552707-3889884660-1303793167-3990676079 <COMPUTERNAME>

Nota:

En función de la configuración de seguridad local, es posible que tenga que agregar la cuenta de servicio de puerta de enlace, NT SERVICE\PBIEgwService, al grupo administradores local en la máquina de puerta de enlace y, a continuación, reiniciar el servicio de puerta de enlace en la aplicación de puerta de enlace. Esta opción no se admite en escenarios que tienen varias puertas de enlace, ya que Active Directory aplica SPN únicos en todo un bosque. En estos escenarios, use la opción A en su lugar.

Paso 4: Configuración de la delegación restringida de Kerberos

Puede configurar las opciones de delegación para la delegación restringida de Kerberos estándar o para la delegación restringida de Kerberos basada en recursos. Para obtener más información sobre las diferencias entre los dos enfoques para la delegación, consulte Introducción a la delegación restringida de Kerberos.

Se requieren las siguientes cuentas de servicio:

  • Cuenta de servicio de puerta de enlace: usuario de servicio que representa la puerta de enlace en Active Directory, con un SPN configurado en el paso 3.
  • Cuenta de servicio del origen de datos: usuario de servicio que representa el origen de datos en Active Directory, con un SPN asignado al origen de datos.

Nota:

Las cuentas de servicio de origen de datos y puerta de enlace deben ser independientes. No se puede usar la misma cuenta de servicio para representar tanto la puerta de enlace como el origen de datos.

En función del enfoque que quiera usar, vaya a una de las secciones siguientes. No completar ambas secciones.

Opción A: Delegación restringida de Kerberos estándar

Ahora estableceremos la configuración de delegación para la cuenta de servicio de puerta de enlace. Hay varias herramientas que puede usar para realizar estos pasos. Aquí, usaremos el complemento MMC Usuarios y equipos de Active Directory para administrar y publicar información en el directorio. Está disponible en controladores de dominio de forma predeterminada; en otras máquinas, puede habilitarla a través de la configuración de características de Windows.

Es necesario configurar la delegación restringida de Kerberos con la transición del protocolo. Con la delegación restringida, debe especificar a qué servicios permite que la puerta de enlace presente credenciales delegadas. Por ejemplo, solo SQL Server o el servidor de SAP HANA aceptan llamadas de delegación de la cuenta de servicio de puerta de enlace.

En esta sección se da por supuesto que ya ha configurado SPN para los orígenes de datos subyacentes (como SQL Server, SAP HANA, SAP BW, Teradata o Spark). Para obtener información sobre cómo configurar esos SPN del servidor de origen de datos, consulte la documentación técnica del servidor de bases de datos correspondiente y consulte la sección ¿Qué SPN requiere la aplicación? en la entrada de blog My Kerberos Checklist (Lista de comprobación de Kerberos ).

En los pasos siguientes, se presupone un entorno local con dos máquinas en el mismo dominio: una máquina de puerta de enlace y un servidor de base de datos que ejecuta SQL Server que ya se ha configurado para el inicio de sesión único basado en Kerberos. Los pasos se pueden adoptar para uno de los otros orígenes de datos admitidos, siempre que el origen de datos ya se haya configurado para el inicio de sesión único basado en Kerberos. En este ejemplo, usaremos la siguiente configuración:

  • Dominio de Active Directory (Netbios): Contoso
  • Nombre de la máquina de puerta de enlace: MyGatewayMachine
  • Cuenta de servicio de puerta de enlace: Contoso\GatewaySvc
  • Nombre de la máquina del origen de datos de SQL Server: TestSQLServer
  • Cuenta de servicio de origen de datos de SQL Server: Contoso\SQLService

Aquí se muestra cómo configurar las opciones de delegación:

  1. Con permisos de administrador de dominio, abra el complemento MMC Usuarios y equipos de Active Directory.

  2. Haga clic con el botón derecho en la cuenta de servicio de puerta de enlace (Contoso\GatewaySvc) y seleccione Propiedades.

  3. Seleccione la pestaña Delegación .

  4. Seleccione Confiar en este equipo solo para la delegación a los servicios especificados>Usar cualquier protocolo de autenticación.

  5. En Servicios a los que esta cuenta puede presentar credenciales delegadas, seleccione Agregar.

  6. En el cuadro de diálogo nuevo, seleccione Usuarios o equipos.

  7. Escriba la cuenta de servicio para el origen de datos y, a continuación, seleccione Aceptar.

    Por ejemplo, un origen de datos de SQL Server puede tener una cuenta de servicio como Contoso\SQLService. Ya debería haber establecido un SPN adecuado para el origen de datos en esta cuenta.

  8. Seleccione el SPN que creó para el servidor de bases de datos.

    En nuestro ejemplo, el SPN comienza con MSSQLSvc. Si ha agregado el FQDN y el SPN netBIOS para el servicio de base de datos, seleccione ambos. Es posible que solo vea una.

  9. Selecciona Aceptar.

    Ahora debería ver el SPN en la lista de servicios a los que la cuenta de servicio de puerta de enlace puede presentar credenciales delegadas.

    Propiedades del conector de puerta de enlace (cuadro de diálogo)

  10. Para continuar con el proceso de configuración, proceda a conceder derechos de políticas locales a la cuenta de servicio del gateway en la máquina de gateway.

Opción B: Delegación restringida de Kerberos basada en recursos

Se utiliza la delegación de Kerberos restringida basada en recursos para habilitar la conectividad SSO en Windows Server 2012 y versiones posteriores. Este tipo de delegación permite que los servicios front-end y back-end estén en dominios diferentes. Para que funcione, el dominio del servicio back-end debe confiar en el dominio de servicio front-end.

En los siguientes pasos, se asume un entorno local con dos máquinas en dominios diferentes: una máquina de puerta de enlace y un servidor de bases de datos que ejecuta SQL Server, el cual ya ha sido configurado para el inicio de sesión único basado en Kerberos. Estos pasos se pueden adoptar para uno de los otros orígenes de datos admitidos, siempre que el origen de datos ya se haya configurado para el inicio de sesión único basado en Kerberos. En este ejemplo, usaremos la siguiente configuración:

  • Dominio de front-end de Active Directory (Netbios): ContosoFrontEnd
  • Dominio back-end de Active Directory (Netbios): ContosoBackEnd
  • Nombre de la máquina de puerta de enlace: MyGatewayMachine
  • Cuenta de servicio de puerta de enlace: ContosoFrontEnd\GatewaySvc
  • Nombre de la máquina del origen de datos de SQL Server: TestSQLServer
  • Cuenta de servicio de origen de datos de SQL Server: ContosoBackEnd\SQLService

Complete los pasos de configuración siguientes:

  1. Use el complemento MMC Usuarios y equipos de Active Directory en el controlador de dominio para el dominio ContosoFrontEnd y compruebe que no se aplica ninguna configuración de delegación para la cuenta de servicio de puerta de enlace.

    Propiedades del conector de pasarela

  2. Use Usuarios y equipos de Active Directory en el controlador de dominio para el dominio ContosoBackEnd y compruebe que no se aplica ninguna configuración de delegación para la cuenta de servicio back-end.

    Propiedades del servicio SQL

  3. En la pestaña Editor de atributos de las propiedades de la cuenta, compruebe que el atributo msDS-AllowedToActOnBehalfOfOtherIdentity no está establecido.

    Atributos del servicio SQL

  4. En Usuarios y equipos de Active Directory, cree un grupo en el controlador de dominio para el dominio ContosoBackEnd . Agregue la cuenta de servicio de puerta de enlace GatewaySvc al grupo ResourceDelGroup .

    Para agregar usuarios de un dominio de confianza, este grupo debe tener un ámbito de Dominio local. Propiedades de grupo

  5. Abra un símbolo del sistema y ejecute los siguientes comandos en el controlador de dominio del dominio ContosoBackEnd para actualizar el atributo msDS-AllowedToActOnBehalfOfOtherIdentity de la cuenta de servicio back-end:

    $c = Get-ADGroup ResourceDelGroup
    Set-ADUser SQLService -PrincipalsAllowedToDelegateToAccount $c
    
  6. En Usuarios y equipos de Active Directory, compruebe que la actualización se refleja en la pestaña Editor de atributos de las propiedades de la cuenta de servicio back-end.

Paso 5: Habilitar el cifrado AES en cuentas de servicio

Aplique la siguiente configuración a la cuenta de servicio de puerta de enlace y a cada cuenta de servicio de origen de datos a la que puede delegar la puerta de enlace:

Nota:

Si hay tipos de codificación existentes definidos en las cuentas de servicio, consulte con su administrador de Active Directory, ya que seguir los pasos siguientes sobrescribirá los valores existentes de tipos de codificación y podría provocar fallos en los clientes.

  1. Con derechos de administrador del dominio, abra el complemento MMC de Usuarios y Equipos de Active Directory.

  2. Haga clic con el botón derecho en la cuenta de servicio de origen de datos o puerta de enlace y seleccione Propiedades.

  3. Seleccione la pestaña Cuenta.

  4. En Opciones de cuenta, habilite al menos una (o ambas) de las siguientes opciones. Tenga en cuenta que es necesario habilitar las mismas opciones para todas las cuentas de servicio.

    • Esta cuenta admite el cifrado de 128 bits de Kerberos AES.
    • Esta cuenta admite el cifrado de 256 bits de Kerberos AES

Nota:

Si no está seguro de qué esquema de cifrado usar, consulte con el administrador de Active Directory.

Paso 6: Conceder a la cuenta de servicio del puerta de enlace derechos de directiva local en el servidor del puerta de enlace.

Por último, en la máquina que ejecuta el servicio de puerta de enlace (MyGatewayMachine en nuestro ejemplo), conceda a la cuenta de servicio de puerta de enlace la directiva local suplantar a un cliente después de la autenticación y Actuar como parte del sistema operativo (SeTcbPrivilege) . Realice esta configuración con el Editor de directivas de grupo local (gpedit.msc).

  1. En la máquina de puerta de enlace, ejecute gpedit.msc.

  2. Vaya a Directiva de equipo local>Configuración del equipo>Configuración de Windows>Configuración de seguridad>Directivas locales>Asignación de derechos de usuario.

    Estructura de carpetas de política de equipo local

  3. En Asignación de derechos de usuario, en la lista de directivas, seleccione Suplantar a un cliente después de la autenticación.

    Hacerse pasar por una política de cliente

  4. Haga clic con el botón derecho en la directiva, abra Propiedades y, a continuación, vea la lista de cuentas.

    La lista debe incluir la cuenta de servicio de puerta de enlace (Contoso\GatewaySvc o ContosoFrontEnd\GatewaySvc en función del tipo de delegación restringida).

  5. En Asignación de derechos de usuario, seleccione Actuar como parte del sistema operativo (SeTcbPrivilege) en la lista de directivas. Asegúrese de que la cuenta de servicio de puerta de enlace se incluye en la lista de cuentas.

  6. Reinicie el proceso del servicio puerta de enlace de datos 'on-premises'.

Paso 7: Una cuenta de Windows puede acceder a la máquina del gateway

El SSO usa la autenticación de Windows, por lo que asegúrese de que la cuenta de Windows pueda acceder a la máquina gateway. Si no está seguro, agregue NT-AUTHORITY\Usuarios autenticados (S-1-5-11) al grupo "Usuarios" de la máquina local.

Sección 2: Configuración específica del entorno

Adición de una cuenta de servicio de puerta de enlace al grupo de autorización y acceso de Windows

Complete esta sección si se aplica alguna de las situaciones siguientes:

  • El entorno de Active Directory está protegido por la seguridad.
  • La cuenta de servicio de pasarela y las cuentas de usuario que la pasarela suplantará se encuentran en dominios o bosques separados.

También puede agregar la cuenta de servicio de puerta de enlace al grupo de autorización y acceso de Windows en situaciones en las que el dominio o bosque no se ha protegido, pero no es necesario.

Para obtener más información, consulte Acceso de autorización de Windows.

Para completar este paso de configuración, haga lo siguiente en cada dominio que contenga usuarios de Active Directory en los que desee que la cuenta de servicio de puerta de enlace pueda suplantar:

  1. Inicie sesión en un equipo del dominio y ejecute el complemento MMC Usuarios y equipos de Active Directory.
  2. Busque el grupo Autorización y Acceso de Windows, que normalmente se encuentra en el contenedor Builtin.
  3. Haga doble clic en el grupo y seleccione la pestaña Miembros .
  4. Seleccione Agregar y cambie la ubicación del dominio al dominio en el que reside la cuenta de servicio de puerta de enlace.
  5. Escriba el nombre de la cuenta de servicio de puerta de enlace y seleccione Comprobar nombres para comprobar que la cuenta de servicio de puerta de enlace es accesible.
  6. Selecciona Aceptar.
  7. Selecciona Aplicar.
  8. Reinicie el servicio de puerta de enlace.

Establecimiento de parámetros de configuración de asignación de usuarios en la máquina de puerta de enlace

Complete esta sección si:

  • No tiene configurada la sincronización de cuentas de usuario con Microsoft Entra Connect y
  • El UPN usado en Power BI para los usuarios no coincide con el UPN en el entorno local de Active Directory.

Cada usuario de Active Directory mapeado de esta manera debe tener permisos de SSO para el origen de datos.

  1. Abra el archivo de configuración de puerta de enlace principal, Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll. De forma predeterminada, este archivo se almacena en C:\Program Files\On-premises data gateway.

  2. Establezca ADUserNameLookupProperty en un atributo de Active Directory sin usar. Usaremos msDS-cloudExtensionAttribute1 en los pasos siguientes. Este atributo solo está disponible en Windows Server 2012 y versiones posteriores.

  3. Establezca ADUserNameReplacementProperty en SAMAccountName y luego guarde el archivo de configuración.

    Nota:

    En escenarios de varios dominios, es posible que tenga que establecer ADUserNameReplacementProperty en userPrincipalName para conservar la información del dominio del usuario.

  4. En la pestaña Servicios del Administrador de tareas, haga clic con el botón derecho en el servicio de puerta de enlace y seleccione Reiniciar.

    Captura de pantalla de la pestaña Servicios del Administrador de tareas

  5. Para cada usuario del servicio Power BI para el que desea habilitar el inicio de sesión único de Kerberos, establezca la msDS-cloudExtensionAttribute1 propiedad de un usuario local de Active Directory (con permiso SSO para el origen de datos) en el nombre de usuario completo (UPN) del usuario del servicio Power BI. Por ejemplo, si inicia sesión en el servicio Power BI como test@contoso.com y desea asignar este usuario a un usuario local de Active Directory con permisos de SSO, por ejemplo, test@LOCALDOMAIN.COM, establezca el atributo msDS-cloudExtensionAttribute1 de este usuario en test@contoso.com.

    Puede establecer la msDS-cloudExtensionAttribute1 propiedad con el complemento MMC para Usuarios y Equipos de Active Directory:

    1. Como administrador de dominio, inicie Usuarios y equipos de Active Directory.

    2. Haga clic con el botón derecho en el nombre de dominio, seleccione Buscar y, a continuación, introduzca el nombre de cuenta del usuario local de Active Directory que desea mapear.

    3. Seleccione la pestaña Editor de atributos .

      Busque la msDS-cloudExtensionAttribute1 propiedad y haga doble clic en ella. Establezca el valor en el nombre de usuario completo (UPN) del usuario que usa para iniciar sesión en el servicio Power BI.

    4. Selecciona Aceptar.

      Ventana de Editor de Atributos de Cadena

    5. Selecciona Aplicar. Compruebe que el valor correcto se ha establecido en la columna Valor .

Completar los pasos de configuración específicos del origen de datos

Para los orígenes de datos de SAP HANA, SAP BW y Teradata, se requiere una configuración adicional para utilizar con el Gateway SSO.

Nota:

Aunque otras bibliotecas de SNC también pueden funcionar para el SSO de BW, no están respaldadas oficialmente por Microsoft.

Sección 3: Validación de la configuración

Paso 1: Configuración de orígenes de datos en Power BI

Después de completar todos los pasos de configuración, use la página Administrar puerta de enlace en Power BI para configurar el origen de datos que se usará para el inicio de sesión único. Si tiene varias puertas de enlace, asegúrese de seleccionar la puerta de enlace que ha configurado para el inicio de sesión único de Kerberos. A continuación, en Configuración del origen de datos, asegúrese de que Usar SSO a través de Kerberos para consultas DirectQuery o Usar SSO a través de Kerberos para consultas DirectQuery e Importación esté marcado para informes basados en DirectQuery y que Usar SSO a través de Kerberos para consultas DirectQuery e Importación esté marcado para informes basados en importación.

 Captura de pantalla de la adición de la configuración para el inicio de sesión único.

La configuración Usar SSO mediante Kerberos para consultas DirectQuery y Usar SSO mediante Kerberos para consultas DirectQuery e Import ofrecen un comportamiento diferente para informes basados en DirectQuery y en importación.

Usar SSO a través de Kerberos para consultas de DirectQuery:

  • En el caso de los informes basados en DirectQuery, se usan las credenciales de SSO del usuario.
  • En el caso de los informes basados en importación, no se usan las credenciales de SSO, pero se usan las credenciales especificadas en la página del origen de datos.

Use el inicio de sesión único a través de Kerberos para DirectQuery y consultas de importación:

  • En el caso de los informes basados en DirectQuery, se usan las credenciales de SSO del usuario.
  • Para los informes basados en importación, se usan las credenciales de SSO del propietario del modelo semántico, independientemente del usuario que desencadene la importación.

Paso 2: Prueba del inicio de sesión único

Acceda a Prueba de configuración de inicio de sesión único (SSO) para validar rápidamente que la configuración está configurada correctamente y resolver problemas comunes.

Paso 3: Ejecución de un informe de Power BI

Al publicar, seleccione la puerta de enlace que ha configurado para SSO si tiene varias puertas de enlace.

Para obtener más información sobre la puerta de enlace de datos local y DirectQuery, consulte los siguientes recursos: