Configuración del SSO basado en Kerberos desde el servicio Power BI a los orígenes de datos localesConfigure Kerberos-based SSO from Power BI service to on-premises data sources

La habilitación de SSO facilita la tarea de los informes y paneles de Power BI de actualizar los datos de orígenes locales al tiempo que se respetan los permisos de nivel de usuario configurados en esos orígenes.Enabling SSO makes it easy for Power BI reports and dashboards to refresh data from on-premises sources while respecting user-level permissions configured on those sources. Use la delegación restringida de Kerberos para habilitar la conectividad directiva del SSO.Use Kerberos constrained delegation to enable seamless SSO connectivity.

Requisitos previosPrerequisites

Deben configurarse varios elementos para que la delegación restringida de Kerberos funcione correctamente, incluidos los nombres de entidad de seguridad de servicio (SPN) y la configuración de delegación de cuentas de servicio.Several items must be configured for Kerberos constrained delegation to work properly, including Service Principal Names (SPN) and delegation settings on service accounts.

Nota

No se admite el uso de alias DNS con SSO.Using DNS aliasing with SSO is not supported.

instalar y configurar la puerta de enlace de datos local de MicrosoftInstall and configure the Microsoft on-premises data gateway

La puerta de enlace de datos local admite la actualización local, así como la adquisición de la configuración de las puertas de enlace existentes.The on-premises data gateway supports an in-place upgrade, and settings takeover of existing gateways.

ejecución del servicio de Windows de puerta de enlace como cuenta de dominioRun the gateway Windows service as a domain account

En una instalación estándar, la puerta de enlace se ejecuta como una cuenta de servicio de la máquina local (NT Service\PBIEgwService).In a standard installation, the gateway runs as the machine-local service account, NT Service\PBIEgwService.

Cuenta de servicio de la máquina local

Para habilitar la delegación restringida de Kerberos, debe ejecutar la puerta de enlace como una cuenta de dominio, a menos que su instancia de Azure Active Directory (Azure AD) ya esté sincronizada con su instancia de Active Directory local (mediante Azure AD DirSync o Azure AD Connect).To enable Kerberos constrained delegation, the gateway must run as a domain account, unless your Azure Active Directory (Azure AD) instance is already synchronized with your local Active Directory instance (by using Azure AD DirSync/Connect). Para cambiar a una cuenta de dominio, consulte Cambio de la cuenta de servicio de puerta de enlace.To switch to a domain account, see change the gateway service account.

Nota

Si Azure AD Connect está configurado y las cuentas de usuario están sincronizadas, el servicio de puerta de enlace no necesita realizar búsquedas de Azure AD locales en tiempo de ejecución.If Azure AD Connect is configured and user accounts are synchronized, the gateway service doesn't need to perform local Azure AD lookups at runtime. En su lugar, puede usar simplemente el SID de servicio local para que el servicio de puerta de enlace complete toda la configuración necesaria en Azure AD.Instead, you can simply use the local service SID for the gateway service to complete all required configuration in Azure AD. Los pasos de configuración de la delegación restringida de Kerberos que se describen en este artículo son los mismos que los pasos de configuración necesarios en el contexto de Azure AD.The Kerberos constrained delegation configuration steps outlined in this article are the same as the configuration steps required in the Azure AD context. Se aplican al objeto de equipo de la puerta de enlace (como lo identifica el SID de servicio local) en Azure AD, en lugar de la cuenta de dominio.They are applied to the gateway's computer object (as identified by the local service SID) in Azure AD instead of the domain account.

Obtención de derechos de administrador de dominio para configurar los SPN (SetSPN) y la delegación restringida de KerberosObtain domain admin rights to configure SPNs (SetSPN) and Kerberos constrained delegation settings

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.To configure SPNs and Kerberos delegation settings, a domain administrator should avoid granting rights to someone that doesn't have domain admin rights. En la siguiente sección, trataremos con más detalle los pasos de configuración recomendados.In the following section, we cover the recommended configuration steps in more detail.

Configuración de la delegación restringida de Kerberos para la puerta de enlace y el origen de datosConfigure Kerberos constrained delegation for the gateway and data source

Si es necesario, configure un SPN para la cuenta de dominio del servicio de la puerta de enlace como administrador de dominio y configure la delegación en esa cuenta.If necessary, configure an SPN for the gateway service domain account as a domain administrator and configure delegation settings on the gateway service domain account.

Configuración de un SPN para la cuenta de servicio de la puerta de enlaceConfigure an SPN for the gateway service account

En primer lugar, determine si ya se ha creado un nombre de entidad de seguridad de servicio para la cuenta de dominio que se usa como la cuenta de servicio de la puerta de enlace:First, determine whether an SPN was already created for the domain account used as the gateway service account:

  1. Como administrador de dominio, inicie el complemento Equipos y usuarios de Active Directory de Microsoft Management Console (MMC).As a domain administrator, launch the Active Directory Users and Computers Microsoft Management Console (MMC) snap-in.

  2. En el panel izquierdo, haga clic con el botón derecho en el nombre del dominio, seleccione Buscar y escriba el nombre de la cuenta de servicio de la puerta de enlace.In the left pane, right-click the domain name, select Find, and then enter the account name of the gateway service account.

  3. En el resultado de la búsqueda, haga clic con el botón derecho en la cuenta de servicio de la puerta de enlace y seleccione Propiedades.In the search result, right-click the gateway service account and select Properties.

  4. Si la pestaña Delegación aparece en el cuadro de diálogo Propiedades, ya se creó un SPN y es posible pasar directamente a Elección del tipo de delegación restringida de Kerberos que usar.If the Delegation tab is visible on the Properties dialog, then an SPN was already created and you can skip to Decide on the type of Kerberos constrained delegation to use.

  5. Si no hay ninguna pestaña Delegación en el cuadro de diálogo Propiedades, puede crear manualmente un SPN en la cuenta para su habilitación.If there isn't a Delegation tab on the Properties dialog box, you can manually create an SPN on the account to enable it. Use la herramienta setspn que viene con Windows (necesita derechos de administrador de dominio para crear el SPN).Use the setspn tool that comes with Windows (you need domain admin rights to create the SPN).

    Por ejemplo, imagine que la cuenta de servicio de puerta de enlace es Contoso\GatewaySvc y que el nombre de la máquina donde se ejecuta el servicio de puerta de enlace es MyGatewayMachine.For example, suppose the gateway service account is Contoso\GatewaySvc and the gateway service is running on the machine named MyGatewayMachine. Para establecer el SPN de la cuenta de servicio de puerta de enlace, debe ejecutar el comando siguiente:To set the SPN for the gateway service account, run the following command:

    setspn -a gateway/MyGatewayMachine Contoso\GatewaySvc

    También puede establecer el SPN mediante el complemento MMC de Equipos y usuarios de Active Directory.You can also set the SPN by using the Active Directory Users and Computers MMC snap-in.

Incorporación de una cuenta de servicio de la puerta de enlace al grupo de autorización y acceso de Windows si es necesarioAdd gateway service account to Windows Authorization and Access Group if required

En ciertos escenarios, la cuenta de servicio de la puerta de enlace se debe agregar al grupo de autorización y acceso de Windows.In certain scenarios the gateway service account must be added to the Windows Authorization and Access Group. Estos escenarios incluyen la protección de la seguridad del entorno de Active Directory y cuando la cuenta de servicio de la puerta de enlace y las cuentas de usuario que la puerta de enlace va a suplantar se encuentran en dominios o bosques independientes.These scenarios include security hardening of the Active Directory environment, and when the gateway service account and the user accounts that the gateway will impersonate are in separate domains or forests. También puede agregar la cuenta de servicio de la puerta de enlace al grupo de autorización y acceso de Windows en situaciones donde el dominio y el bosque no están protegidos, pero no es necesario.You can also add the gateway service account to Windows Authorization and Access Group in situations where the domain / forest has not been hardened, but it isn't required.

Para más información, consulte la sección sobre el grupo de autorización y acceso de Windows.For more information, see Windows Authorization and Access Group.

Para completar este paso de configuración, en cada dominio que contenga usuarios de Active Directory usuarios que quiere que la cuenta de servicio de la puerta de enlace pueda suplantar haga lo siguiente:To complete this configuration step, for each domain that contains Active Directory users you want the gateway service account to be able to impersonate:

  1. Inicie sesión en un equipo del dominio e inicie el complemento MMC de Equipos y usuarios de Active Directory.Sign in to a computer in the domain, and launch the Active Directory Users and Computers MMC snap-in.
  2. Busque el grupo Grupo de autorización y acceso de Windows, que por lo general está en el contenedor Builtin.Locate the group Windows Authorization and Access Group, which is typically found in the Builtin container.
  3. Haga doble clic en el grupo y, luego, haga clic en la pestaña Miembros.Double click on the group, and click on the Members tab.
  4. Haga clic en Agregar y cambie la ubicación del dominio al dominio donde reside la cuenta de servicio de la puerta de enlace.Click Add, and change the domain location to the domain that the gateway service account resides in.
  5. Escriba el nombre de la cuenta de servicio de la puerta de enlace y haga clic en Comprobar nombres para comprobar que es posible acceder a la cuenta de servicio de la puerta de enlace.Type in the gateway service account name and click Check Names to verify that the gateway service account is accessible.
  6. Haga clic en OK.Click OK.
  7. Haga clic en Aplicar.Click Apply.
  8. Reinicie el servicio de puerta de enlace.Restart the gateway service.

Elección del tipo de delegación restringida de Kerberos que usarDecide on the type of Kerberos constrained delegation to use

Es posible configurar la delegación tanto para una delegación restringida de Kerberos estándar como para una delegación restringida de Kerberos basada en recurso.You can configure delegation settings for either standard Kerberos constrained delegation or resource-based Kerberos constrained delegation. Use la delegación basada en recurso (requiere Windows Server 2012 o posterior) si el origen de datos pertenece a un dominio diferente al de la puerta de enlace.Use resource-based delegation (requires Windows Server 2012 or later) if your data source belongs to a different domain than your gateway. Para más información sobre las diferencias entre ambos enfoques para la delegación, consulte la página de información general sobre la delegación restringida de Kerberos.For more information on the differences between the two approaches to delegation, see Kerberos constrained delegation overview.

En función del enfoque que desee usar, continúe con una de las siguientes secciones.Depending on which approach you want to use, proceed to one of the following sections. No complete ambas secciones:Don't complete both sections:

Configuración de la cuenta de servicio de la puerta de enlace para la delegación restringida de Kerberos estándarConfigure the gateway service account for standard Kerberos constrained delegation

Nota

Complete los pasos de esta sección si desea habilitar la delegación restringida de Kerberos estándar.Complete the steps in this section if you want to enable standard Kerberos constrained delegation. Si, por el contrario, quiere habilitar la delegación restringida de Kerberos basada en recurso, complete los pasos de Configuración de la cuenta de servicio de la puerta de enlace para la delegación restringida de Kerberos basada en recurso.Otherwise, if you want to enable resource-based Kerberos constrained delegation, complete the steps in Configure the gateway service account for resource-based Kerberos constrained delegation.

Ahora estableceremos la configuración de delegación para la cuenta de servicio de la puerta de enlace.We'll now set the delegation settings for the gateway service account. Hay varias herramientas que puede usar para realizar estos pasos.There are multiple tools you can use to perform these steps. Aquí utilizaremos el complemento de MMC Usuarios y equipos de Active Directory para administrar y publicar información en el directorio.Here, we'll use the Active Directory Users and Computers MMC snap-in to administer and publish information in the directory. Está disponible en los controladores de dominio de manera predeterminada; en otras máquinas, se puede habilitar mediante la configuración de características de Windows.It's available on domain controllers by default; on other machines, you can enable it through Windows feature configuration.

Es necesario configurar la delegación restringida de Kerberos con tránsito de protocolo.We need to configure Kerberos constrained delegation with protocol transiting. Con la delegación restringida, debe ser explícito con respecto a qué servicios permitirá que la puerta de enlace presente credenciales delegadas.With constrained delegation, you must be explicit about which services you allow the gateway to present delegated credentials to. Por ejemplo, solo SQL Server o el servidor de SAP HANA aceptan llamadas de delegación de la cuenta de servicio de la puerta de enlace.For example, only SQL Server or your SAP HANA server accepts delegation calls from the gateway service account.

En esta sección se da por supuesto que ya ha configurado los SPN de los orígenes de datos subyacentes (como SQL Server, SAP HANA, SAP BW, Teradata o Spark).This section assumes you have already configured SPNs for your underlying data sources (such as SQL Server, SAP HANA, SAP BW, Teradata, or Spark). Para obtener información sobre cómo configurar esos SPN de servidor de orígenes de datos, consulte la documentación técnica del servidor de base de datos correspondiente y vea la sección What SPN does your app require? (¿Qué SPN requiere la aplicación) de la entrada de blog My Kerberos Checklist (Mi lista de comprobación de Kerberos).To learn how to configure those data source server SPNs, refer to the technical documentation for the respective database server and see the section What SPN does your app require? in the My Kerberos Checklist blog post.

En los pasos siguientes, se asume que hay un entorno local con dos equipos en el mismo dominio: un equipo de la puerta de enlace y un servidor de base de datos que ejecuta SQL Server que ya está configurado para el SSO basado en Kerberos.In the following steps, we assume an on-premises environment with two machines in the same domain: a gateway machine and a database server running SQL Server that has already been configured for Kerberos-based SSO. Los pasos se pueden adoptar para uno de los otros orígenes de datos admitidos, siempre y cuando el origen de datos ya se haya configurado para el inicio de sesión único basado en Kerberos.The steps can be adopted for one of the other supported data sources, so long as the data source has already been configured for Kerberos-based single sign-on. En este ejemplo, vamos a usar la configuración siguiente:For this example, we'll use the following settings:

  • Dominio de Active Directory (Netbios): ContosoActive Directory Domain (Netbios): Contoso
  • Nombre de la máquina de la puerta de enlace: MyGatewayMachineGateway machine name: MyGatewayMachine
  • Cuenta de servicio de la puerta de enlace: Contoso\GatewaySvcGateway service account: Contoso\GatewaySvc
  • Nombre de la máquina del origen de datos de SQL Server: TestSQLServerSQL Server data source machine name: TestSQLServer
  • Cuenta de servicio del origen de datos de SQL Server: Contoso\SQLServiceSQL Server data source service account: Contoso\SQLService

Aquí le mostramos cómo configurar las opciones de delegación:Here's how to configure the delegation settings:

  1. Con derechos de administrador de dominio, abra el complemento de MMC Usuarios y equipos de Active Directory.With domain administrator rights, open the Active Directory Users and Computers MMC snap-in.

  2. Haga clic con el botón derecho en la cuenta de servicio de la puerta de enlace (Contoso\GatewaySvc) y seleccione Propiedades.Right-click the gateway service account (Contoso\GatewaySvc), and select Properties.

  3. Seleccione la ficha Delegación.Select the Delegation tab.

  4. Seleccione Confiar en este equipo para la delegación solo a los servicios especificados > Usar cualquier protocolo de autenticación.Select Trust this computer for delegation to specified services only > Use any authentication protocol.

  5. En Servicios en los que esta cuenta puede presentar credenciales delegadas, haga clic en Agregar.Under Services to which this account can present delegated credentials, select Add.

  6. En el cuadro de diálogo nuevo, seleccione Usuarios o equipos.In the new dialog box, select Users or Computers.

  7. Escriba la cuenta de servicio para el origen de datos y, a continuación, seleccione Aceptar.Enter the service account for the data source, and then select OK.

    Por ejemplo, un origen de datos de SQL Server puede tener una cuenta de servicio como Contoso\SQLService.For example, a SQL Server data source can have a service account like Contoso\SQLService. Ya se debe haber establecido un SPN adecuado para el origen de datos en esta cuenta.An appropriate SPN for the data source should have already been set on this account.

  8. Seleccione el SPN que ha creado para el servidor de base de datos.Select the SPN that you created for the database server.

    En nuestro ejemplo, el SPN empieza por MSSQLSvc.In our example, the SPN begins with MSSQLSvc. Si ha agregado tanto el SPN de FQDN como el de NetBIOS, seleccione ambos.If you added both the FQDN and the NetBIOS SPN for your database service, select both. Es posible que solo vea uno.You might see only one.

  9. Seleccione Aceptar.Select OK.

    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.You should now see the SPN in the list of services to which the gateway service account can present delegated credentials.

    Cuadro de diálogo Propiedades del conector de puerta de enlace

  10. Para continuar con el proceso de configuración, vaya a Concesión de derechos de directiva local a la cuenta de servicio de la puerta de enlace en la máquina de la puerta de enlace.To continue the setup process, proceed to Grant the gateway service account local policy rights on the gateway machine.

Configuración de la cuenta de servicio de la puerta de enlace para la delegación restringida de Kerberos basada en recursoConfigure the gateway service account for resource-based Kerberos constrained delegation

Nota

Complete los pasos de esta sección si desea habilitar la delegación restringida de Kerberos basada en recurso.Complete the steps in this section if you want to enable resource-based Kerberos constrained delegation. Si, por el contrario, quiere habilitar la delegación restringida de Kerberos estándar, complete los pasos de Configuración de la cuenta de servicio de la puerta de enlace para la delegación restringida de Kerberos estándar.Otherwise, if you want to enable standard Kerberos constrained delegation, complete the steps in Configure the gateway service account for standard Kerberos constrained delegation.

La delegación restringida de Kerberos basada en recursos se usa para habilitar la conectividad de inicio de sesión único de Windows Server 2012 y versiones posteriores.You use resource-based Kerberos constrained delegation to enable single sign-on connectivity for Windows Server 2012 and later versions. Este tipo de delegación permite a los servicios front-end y back-end estar en dominios diferentes.This type of delegation permits front-end and back-end services to be in different domains. Para que esto funcione, el dominio del servicio back-end debe confiar en el dominio del servicio front-end.For it to work, the back-end service domain needs to trust the front-end service domain.

En los pasos siguientes, se asume que disponemos de un entorno local con dos equipos en distintos dominios: un equipo de puerta de enlace y un servidor de bases de datos que ejecuta SQL Server que ya está configurado para el SSO basado en Kerberos.In the following steps, we assume an on-premises environment with two machines in different domains: a gateway machine and a database server running SQL Server that has already been configured for Kerberos-based SSO. Estos pasos se pueden adoptar para uno de los otros orígenes de datos admitidos, siempre y cuando el origen de datos ya se haya configurado para el inicio de sesión único basado en Kerberos.These steps can be adopted for one of the other supported data sources, so long as the data source has already been configured for Kerberos-based single sign-on. En este ejemplo, vamos a usar la configuración siguiente:For this example, we'll use the following settings:

  • Dominio de front-end de Active Directory (Netbios): ContosoFrontEndActive Directory frontend Domain (Netbios): ContosoFrontEnd
  • Dominio de back-end de Active Directory (Netbios): ContosoBackEndActive Directory backend Domain (Netbios): ContosoBackEnd
  • Nombre de la máquina de la puerta de enlace: MyGatewayMachineGateway machine name: MyGatewayMachine
  • Cuenta de servicio de la puerta de enlace: ContosoFrontEnd\GatewaySvcGateway service account: ContosoFrontEnd\GatewaySvc
  • Nombre de la máquina del origen de datos de SQL Server: TestSQLServerSQL Server data source machine name: TestSQLServer
  • Cuenta de servicio del origen de datos de SQL Server: ContosoBackEnd\SQLServiceSQL Server data source service account: ContosoBackEnd\SQLService

Complete los siguientes pasos de configuración:Complete the following configuration steps:

  1. Use el complemento de MMC Equipos y usuarios de Active Directory en el controlador de dominio para el dominio ContosoFrontEnd y asegúrese de que no se aplica ninguna configuración de delegación para la cuenta de servicio de la puerta de enlace.Use the Active Directory Users and Computers MMC snap-in on the domain controller for the ContosoFrontEnd domain and verify no delegation settings are applied for the gateway service account.

    Propiedades del conector de puerta de enlace

  2. Use Equipos y usuarios de Active Directory en el controlador de dominio para el dominio ContosoBackEnd y asegúrese de que no se aplica ninguna configuración de delegación para la cuenta de servicio de back-end.Use Active Directory Users and Computers on the domain controller for the ContosoBackEnd domain and verify no delegation settings are applied for the back-end service account.

    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.In the Attribute Editor tab of the account properties, verify that the msDS-AllowedToActOnBehalfOfOtherIdentity attribute isn't set.

    Atributos de servicio de SQL

  4. En Equipos y usuarios de Active Directory, cree un grupo en el controlador de dominio para el dominio ContosoBackEnd.In Active Directory Users and Computers, create a group on the domain controller for the ContosoBackEnd domain. Agregue la cuenta de servicio de puerta de enlace GatewaySvc al grupo ResourceDelGroup.Add the GatewaySvc gateway service account to the ResourceDelGroup group.

    Propiedades del grupo

  5. Abra un símbolo del sistema y ejecute los comandos siguientes en el controlador de dominio para el dominio ContosoBackEnd para actualizar el atributo msDS-AllowedToActOnBehalfOfOtherIdentity de la cuenta de servicio de back-end:Open a command prompt and run the following commands in the domain controller for the ContosoBackEnd domain to update the msDS-AllowedToActOnBehalfOfOtherIdentity attribute of the back-end service account:

    $c = Get-ADGroup ResourceDelGroup
    Set-ADUser SQLService -PrincipalsAllowedToDelegateToAccount $c
    
  6. En Equipos y usuarios de Active Directory, compruebe que la actualización se refleja en la pestaña Editor de atributos en las propiedades de la cuenta de servicio de back-end.In Active Directory Users and Computers, verify that the update is reflected in the Attribute Editor tab in the properties for the back-end service account.

Concesión de derechos de directiva local a la cuenta de servicio de la puerta de enlace en la máquina de la puerta de enlaceGrant the gateway service account local policy rights on the gateway machine

Por último, en la máquina en la que se ejecuta el servicio de puerta de enlace (MyGatewayMachine en el ejemplo), conceda a la cuenta de servicio de la puerta de enlace las directivas locales Suplantar a un cliente tras la autenticación y Actuar como parte del sistema operativo (SeTcbPrivilege).Finally, on the machine running the gateway service (MyGatewayMachine in our example), grant the gateway service account the local policies Impersonate a client after authentication and Act as part of the operating system (SeTcbPrivilege). Realice esta configuración con el Editor de directivas de grupo local (gpedit.msc).Perform this configuration with the Local Group Policy Editor (gpedit.msc).

  1. En la máquina de puerta de enlace, ejecute gpedit.msc.On the gateway machine, run 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.Go to Local Computer Policy > Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment.

    Estructura de carpetas de Directiva de equipo local

  3. En la lista de directivas de Asignación de derechos de usuario, seleccione Suplantar a un cliente tras la autenticación.Under User Rights Assignment, from the list of policies, select Impersonate a client after authentication.

    Directiva de suplantación de un cliente

  4. Haga clic con el botón derecho en la directiva, abra Propiedades y, a continuación, vea la lista de cuentas.Right-click the policy, open Properties, and then view the list of accounts.

    La lista debe incluir la cuenta de servicio de puerta de enlace (Contoso\GatewaySvc o ContosoFrontEnd\GatewaySvc según el tipo de delegación restringida).The list must include the gateway service account (Contoso\GatewaySvc or ContosoFrontEnd\GatewaySvc depending on the type of constrained delegation).

  5. En Asignación de derechos de usuario, seleccione Actuar como parte del sistema operativo (SeTcbPrivilege) en la lista de directivas.Under User Rights Assignment, select Act as part of the operating system (SeTcbPrivilege) from the list of policies. Asegúrese de que la cuenta de servicio de la puerta de enlace está incluida en la lista de cuentas.Ensure that the gateway service account is included in the list of accounts.

  6. Reinicie el proceso del servicio de la puerta de enlace de datos local.Restart the On-premises data gateway service process.

Establecimiento de los parámetros de configuración de la asignación de usuario en la máquina de la puerta de enlace (si es necesario)Set user-mapping configuration parameters on the gateway machine (if necessary)

Si no tiene configurado Azure AD Connect, siga estos pasos para asignar un usuario del servicio Power BI a un usuario de Active Directory local.If you don't have Azure AD Connect configured, follow these steps to map a Power BI service user to a local Active Directory user. Cada usuario de Active Directory asignado de este modo debe tener permisos de SSO para el origen de datos.Each Active Directory user mapped in this way needs to have SSO permissions for your data source. Para más información, consulte este vídeo de Guy in a Cub.For more information, see Guy in a Cube video.

  1. Abra el archivo de configuración de puerta de enlace principal Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.Open the main gateway configuration file, Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll. Este archivo se almacena, de forma predeterminada, en C:\Archivos de programa\Puerta de enlace de datos local.By default, this file is stored at C:\Program Files\On-premises data gateway.

  2. Establezca la propiedad ADUserNameLookupProperty en un atributo de Active Directory sin usar.Set ADUserNameLookupProperty to an unused Active Directory attribute. Usaremos msDS-cloudExtensionAttribute1 en los pasos siguientes.We'll use msDS-cloudExtensionAttribute1 in the steps that follow. Este atributo solo está disponible en Windows Server 2012 y versiones posteriores.This attribute is available only in Windows Server 2012 and later.

  3. Establezca ADUserNameReplacementProperty en SAMAccountName y, a continuación, guarde el archivo de configuración.Set ADUserNameReplacementProperty to SAMAccountName and then save the configuration file.

  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, después, haga clic en Reiniciar.From the Services tab of Task Manager, right-click the gateway service and select Restart.

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

  5. Para cada usuario del servicio Power BI para el que desee habilitar el SSO de Kerberos, establezca la propiedad msDS-cloudExtensionAttribute1 de un usuario de Active Directory local (con permiso de SSO para el origen de datos) en el nombre de usuario completo (UPN) del usuario del servicio Power BI.For each Power BI service user you want to enable Kerberos SSO for, set the msDS-cloudExtensionAttribute1 property of a local Active Directory user (with SSO permission to your data source) to the full username (UPN) of the Power BI service user. Por ejemplo, si inicia sesión en el servicio Power BI como test@contoso.com y quiere asignar este usuario a un usuario de Active Directory local con permisos de SSO, como test@LOCALDOMAIN.COM, establezca el atributo msDS-cloudExtensionAttribute1 del usuario en test@contoso.com.For example, if you sign in to Power BI service as test@contoso.com and you want to map this user to a local Active Directory user with SSO permissions, say, test@LOCALDOMAIN.COM, set this user's msDS-cloudExtensionAttribute1 attribute to test@contoso.com.

    Puede establecer la propiedad msDS-cloudExtensionAttribute1 mediante el complemento MMC de Equipos y usuarios de Active Directory:You can set the msDS-cloudExtensionAttribute1 property with the Active Directory Users and Computers MMC snap-in:

    1. Como administrador de dominio, inicie Usuarios y equipos de Active Directory.As a domain administrator, launch Active Directory Users and Computers.

    2. Haga clic con el botón derecho en el nombre del dominio, seleccione Buscar y escriba el nombre de la cuenta del usuario de Active Directory local que asignar.Right-click the domain name, select Find, and then enter the account name of the local Active Directory user to map.

    3. Seleccione la pestaña Editor de atributos.Select the Attribute Editor tab.

      Localice la propiedad msDS-cloudExtensionAttribute1 y haga doble clic en ella.Locate the msDS-cloudExtensionAttribute1 property, and double-click it. Establezca el valor en el nombre de usuario completo (UPN) del usuario que usa para iniciar sesión en el servicio Power BI.Set the value to the full username (UPN) of the user you use to sign in to the Power BI service.

    4. Seleccione Aceptar.Select OK.

      Ventana Editor de atributos de cadena

    5. Seleccione Aplicar.Select Apply. Compruebe que se ha establecido el valor correcto en la columna Valor.Verify that the correct value has been set in the Value column.

Finalización de los pasos de configuración específicos para el origen de datosComplete data source-specific configuration steps

SAP HANA y SAP BW tienen requisitos de configuración específicos de origen de datos adicionales y requisitos previos que deben cumplirse para poder establecer una conexión de SSO a través de la puerta de enlace a estos orígenes de datos.SAP HANA and SAP BW have additional data-source specific configuration requirements and prerequisites that you need to meet before you can establish an SSO connection through the gateway to these data sources. Para más información, consulte la configuración de SAP HANA y la página de configuración de SAP BW: CommonCryptoLib (sapcrypto.dll).For more information, see SAP HANA configuration and the SAP BW - CommonCryptoLib (sapcrypto.dll) configuration page. Aunque es posible configurar SAP BW para su uso con la biblioteca gx64krb5 de SNC, no se recomienda usar esta biblioteca porque ya no es compatible con SAP.Although it's possible to configure SAP BW for use with the gx64krb5 SNC library, this library isn't recommended because it's no longer supported by SAP. Debe usar CommonCryptoLib o gx64krb5 como su biblioteca de SNC.You should use CommonCryptoLib or gx64krb5 as your SNC library. No complete los pasos de configuración para ambas bibliotecas.Don't complete the configuration steps for both libraries.

Nota

Aunque otras bibliotecas de SNC también podrían servir para el inicio de sesión único de BW, no son compatibles oficialmente con Microsoft.Although other SNC libraries might also work for BW SSO, they aren't officially supported by Microsoft.

Ejecutar un informe de Power BIRun a Power BI report

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 usará para el SSO.After you complete all the configuration steps, use the Manage Gateway page in Power BI to configure the data source to use for SSO. Si tiene varias puertas de enlace, asegúrese de seleccionar la que ya configuró para el SSO de Kerberos.If you have multiple gateways, ensure that you select the gateway you've configured for Kerberos SSO. Después, en la sección Configuración avanzada del origen de datos, confirme que la casilla Uso de un SSO mediante Kerberos en las consultas de DirectQuery o la casilla Uso de SSO mediante Kerberos en consultas de importación y DirectQuery están activadas para los informes basados en DirectQuery, y que la casilla Uso de SSO mediante Kerberos en consultas de importación y DirectQuery está activada para los informes basados en importación.Then, under Advanced Settings for the data source, ensure Use SSO via Kerberos for DirectQuery queries or Use SSO via Kerberos for DirectQuery And Import queries is checked for DirectQuery based Reports and Use SSO via Kerberos for DirectQuery And Import queries is checked for Import based Reports.

Opción de configuración avanzada

Las configuraciones Uso de un SSO mediante Kerberos en las consultas de DirectQuery y Uso de SSO mediante Kerberos en consultas de importación y DirectQuery dan un comportamiento distinto a los informes basados en DirectQuery y a los informes basados en importación.The settings Use SSO via Kerberos for DirectQuery queries and Use SSO via Kerberos for DirectQuery And Import queries give a different behaviour for DirectQuery based reports and Import based reports.

Uso de un SSO mediante Kerberos en las consultas de DirectQuery:Use SSO via Kerberos for DirectQuery queries:

  • En el caso de un informe basado en DirectQuery, se usan las credenciales de SSO del usuario.For DirectQuery based report, SSO credentials of the user are used.
  • En el caso de un informe basado en la importación, no se usan las credenciales de SSO, sino que se utilizan las credenciales especificadas en la página de origen de datos.For Import based report, SSO credentials are not used, but the credentials entered in data source page are used.

Uso de SSO mediante Kerberos en consultas de importación y DirectQuery:Use SSO via Kerberos for DirectQuery And Import queries:

  • En el caso de un informe basado en DirectQuery, se usan las credenciales de SSO del usuario.Fore DirecyQuery based report, SSO credentials of the user are used.
  • En el caso de un informe basado en importación, se usan las credenciales de SSO del propietario del conjunto de datos, independientemente del usuario que desencadenó la importación.For Import based report, the SSO credentials of the dataset owner are used, regardless of the user triggering the Import.

Al publicar, seleccione la puerta de enlace que ha configurado para el SSO si tiene varias puertas de enlace.When you publish, select the gateway you've configured for SSO if you have multiple gateways.

Esta configuración funciona en la mayoría de los casos.This configuration works in most cases. Sin embargo, con Kerberos puede haber distintas configuraciones en función de su entorno.However, with Kerberos there can be different configurations depending on your environment. Si no se carga el informe, póngase en contacto con el administrador del dominio para investigar en profundidad.If the report won't load, contact your domain administrator to investigate further. Si el origen de datos es SAP BW, consulte las secciones de solución de problemas de las páginas de configuración específicas del origen de datos para CommonCryptoLib y gx64krb5/gsskrb5, en función de la biblioteca de SNC que haya elegido.If your data source is SAP BW, refer to the troubleshooting sections of the data source-specific configuration pages for CommonCryptoLib and gx64krb5/gsskrb5, depending on which SNC library you've chosen.

Pasos siguientesNext steps

Para más información sobre la puerta de enlace de datos local y DirectQuery, consulte los recursos siguientes:For more information about the on-premises data gateway and DirectQuery, see the following resources: