Uso de Kerberos para el inicio de sesión único (SSO) en SAP BW con gx64krb5

En este artículo se describe cómo configurar el origen de datos de SAP BW para habilitar el inicio de sesión único del servicio Power BI con gx64krb5.

Importante

Microsoft le permitirá crear conexiones mediante bibliotecas SNC (como gx64krb5), pero no proporcionará compatibilidad con estas configuraciones. Además, SAP ya no es compatible con gx64krb5 para puertas de enlace de datos locales en Power BI y los pasos necesarios para configurarlo para la puerta de enlace son mucho más complejos que los de CommonCryptoLib. Como resultado, Microsoft recomienda usar CommonCryptoLib en su lugar. Para obtener más información, consulte la nota 352295 de SAP. Tenga en cuenta que gx64krb5 no permite conexiones de inicio de sesión único desde la puerta de enlace de datos para los servidores de mensajería de SAP BW; solo son posibles las conexiones a los servidores de aplicaciones de SAP BW. Esta restricción no existe si usa CommonCryptoLib como biblioteca de SNC. Para más información sobre la configuración del inicio de sesión único mediante CommonCryptoLib, consulte Configuración de SAP BW para el inicio de sesión único con CommonCryptoLib. Use CommonCryptoLib o gx64krb5 como biblioteca de SNC, pero no ambos. No complete los pasos de configuración para ambas bibliotecas.

Nota

La configuración de ambas bibliotecas (sapcrypto y gx64krb5) en el mismo servidor de puerta de enlace es un escenario no compatible. No se recomienda configurar ambas bibliotecas en el mismo servidor de puerta de enlace, ya que provocará una mezcla de bibliotecas. Si quiere usar ambas bibliotecas, separe totalmente el servidor de puerta de enlace. Por ejemplo, configure gx64krb5 para el servidor A y, después, sapcrypto para el servidor B. Recuerde que no se admite ningún error en el servidor A que use gx64krb5, ya que SAP y Microsoft ya no admiten esta biblioteca.

Esta guía es completa; si ya ha realizado algunos de los pasos descritos, puede omitirlos. Por ejemplo, es posible que ya haya configurado el servidor de SAP BW para el SSO con gx64krb5.

Configuración de gx64krb5 en el equipo de la puerta de enlace y el servidor de SAP BW

Tanto el cliente como el servidor deben usar la biblioteca gx64krb5 para que se complete una conexión de inicio de sesión único mediante la puerta de enlace. Es decir, tanto el cliente como el servidor deben usar la misma biblioteca de SNC.

  1. Descargue gx64krb5.dll desde la nota de SAP 2115486 (es necesario ser usuario-s de SAP). Asegúrese de tener al menos la versión 1.0.11.x o posterior. Descargue también gsskrb5.dll (la versión de la biblioteca de 32 bits) si quiere probar la conexión de inicio de sesión único en la interfaz gráfica de usuario de SAP antes de intentar la conexión de inicio de sesión único mediante la puerta de enlace (procedimiento recomendado). Se necesita la versión de 32 bits para realizar la prueba con la GUI de SAP, ya que esta solo está disponible en 32 bits.

  2. Coloque gx64krb5.dll en una ubicación de la máquina de la puerta de enlace que sea accesible para el usuario del servicio de puerta de enlace. Si quiere probar la conexión de inicio de sesión único mediante la interfaz gráfica de usuario de SAP, coloque también una copia de gsskrb5.dll en la máquina y establezca la variable de entorno SNC_LIB para que apunte a ella. Tanto el usuario del servicio de puerta de enlace como los usuarios de Active Directory (AD) que el usuario del servicio va a suplantar necesitan permisos de lectura y ejecución para la copia de gx64krb5.dll. Se recomienda conceder permisos para el archivo. dll al grupo usuarios autenticados. A efectos de prueba, también puede conceder estos permisos explícitamente al usuario del servicio de la puerta de enlace y al usuario de Active Directory que usará para hacer la prueba.

  3. Si el servidor de BW todavía no está configurado para el inicio de sesión único con gx64krb5.dll, coloque otra copia del archivo .dll en la máquina del servidor de SAP BW en una ubicación a la que pueda acceder el servidor de SAP BW.

    Consulte la documentación de SAP (es necesario ser usuario-s de SAP) para más información sobre la configuración de gx64krb5.dll para su uso con un servidor de SAP BW.

  4. En las máquinas del cliente y del servidor, establezca las variables de entorno SNC_LIB y SNC_LIB_64:

    • Si usa gsskrb5.dll, establezca la variable SNC_LIB en su ruta de acceso absoluta.
    • Si utiliza gx64krb5.dll, establezca la variable SNC_LIB_64 en su ruta de acceso absoluta.

Configuración de un usuario de servicio de SAP BW y habilitación de la comunicación SNC en el servidor de BW

Complete esta sección si todavía no ha configurado el servidor de SAP BW para la comunicación SNC (por ejemplo, el inicio de sesión único) con gx64krb5.

Nota

En esta sección se supone que ya ha creado un usuario de servicio para BW y le ha enlazado un SPN adecuado (es decir, un nombre que empiece por SAP/ ).

  1. Otorgue al usuario del servicio acceso al servidor de aplicaciones de SAP BW:

    1. En la máquina del servidor de SAP BW, agregue el usuario de servicio al grupo de administradores locales. Abra el programa Computer Management (Administración de equipos) e identifique el grupo de administradores locales del servidor.

      Computer Management program

    2. Haga doble clic en el grupo Administrador local y haga clic en Agregar para agregar el usuario del servicio al grupo.

    3. Seleccione Check Names (Comprobar nombres) para asegurarse de que ha escrito el nombre correctamente y seleccione Aceptar.

  2. Establezca el usuario de servicio del servidor de SAP BW como el usuario que inicia el servicio del servidor de SAP BW en la máquina del servidor de SAP BW:

    1. Abra Ejecutar y escriba Services.msc.

    2. Busque el servicio correspondiente a la instancia del servidor de aplicaciones SAP BW, haga clic en él con el botón derecho y seleccione Propiedades.

      Screenshot of Services, with Properties highlighted

    3. Cambie a la pestaña Inicio de sesión y sustituya el usuario por el usuario del servicio de SAP BW.

    4. Escriba la contraseña del usuario y seleccione Aceptar.

  3. En el inicio de sesión de SAP, inicie sesión el servidor y establezca los siguientes parámetros de perfil mediante la transacción RZ10:

    1. Establezca el parámetro de perfil snc/identity/as en p:<usuario de servicio de SAP BW que ha creado> . Por ejemplo, p:BWServiceUser@MYDOMAIN.COM. Tenga en cuenta que p: precede al UPN del usuario de servicio, en lugar de p:CN= , que precede al UPN al usarse CommonCryptoLib como biblioteca de SNC.

    2. Establezca el parámetro de perfil snc/gssapi_lib en <ruta de acceso a gx64krb5.dll en el servidor de BW>. Coloque la biblioteca en una ubicación a la cual pueda acceder el servidor de aplicaciones de SAP BW.

    3. Establezca los siguientes parámetros de perfil adicionales; para ello, cambie los valores que necesite. Las últimas cinco opciones permiten a los clientes conectarse al servidor de SAP BW mediante el inicio de sesión de SAP sin necesidad de tener SNC configurado.

      Configuración Valor
      snc/data_protection/max 3
      snc/data_protection/min 1
      snc/data_protection/use 9
      snc/accept_insecure_cpic 1
      snc/accept_insecure_gui 1
      snc/accept_insecure_r3int_rfc 1
      snc/accept_insecure_rfc 1
      snc/permit_insecure_start 1
    4. Establezca la propiedad snc/enable en 1.

  4. Después de establecer estos parámetros de perfil, abra la consola de administración de SAP en la máquina del servidor y reinicie la instancia de SAP BW.

    Si no se inicia el servidor, confirme que ha establecido correctamente los parámetros de perfil. Para más información sobre la configuración de parámetros de perfil, consulte la documentación de SAP. También puede consultar la sección Solución de problemas de este artículo.

Asignación de un usuario de SAP BW a un usuario de Active Directory

Si todavía no lo ha hecho, asigne un usuario de Active Directory a un usuario del servidor de aplicaciones de SAP BW y pruebe la conexión de inicio de sesión único en el inicio de sesión de SAP.

  1. Inicie sesión el servidor de SAP BW mediante el inicio de sesión de SAP. Ejecute la transacción SU01.

  2. En User (Usuario), escriba el usuario de SAP BW para el que desea habilitar la conexión de inicio de sesión único. Seleccione el icono Edit (Editar) (icono de lápiz) situado cerca de la parte superior izquierda de la ventana de inicio de sesión de SAP.

    SAP BW User maintenance screen

  3. Seleccione la pestaña SNC. En el cuadro de entrada del nombre de SNC, escriba p:<su usuario de Active Directory>@<su dominio>. Para el nombre de SNC, la p: obligatoria debe preceder al UPN del usuario de Active Directory. Tenga en cuenta que el UPN distingue mayúsculas de minúsculas.

    El usuario de Active Directory que especifique debe pertenecer a la persona u organización para la cual quiere habilitar el acceso SSO al servidor de aplicaciones de SAP BW. Por ejemplo, si quiere habilitar el acceso SSO para el usuario testuser@TESTDOMAIN.COM, escriba p:testuser@TESTDOMAIN.COM.

    SAP BW Maintain users screen

  4. Seleccione el icono Save (Guardar) (la imagen del disquete) cerca de la parte superior izquierda de la pantalla.

Prueba de inicio de sesión mediante el inicio de sesión único

Compruebe que puede iniciar sesión en el servidor mediante el inicio de sesión de SAP con el inicio de sesión único como el usuario de Active Directory para el cual acaba de habilitar el acceso mediante inicio de sesión único:

  1. Con el usuario de Active Directory para el que acaba de habilitar el acceso mediante inicio de sesión único, inicie sesión en una máquina del dominio en el que esté instalado el inicio de sesión de SAP. Inicie el inicio de sesión de SAP y cree una conexión nueva.

  2. Copie el archivo gsskrb5.dll que ha descargado antes en una ubicación de la máquina en la que ha iniciado sesión. Establezca la variable de entorno SNC_LIB en la ruta de acceso absoluta de esta ubicación.

  3. Inicie el inicio de sesión de SAP y cree una conexión nueva.

  4. En la pantalla Create New System Entry (Crear entrada del sistema), seleccione User Specified System (Sistema especificado del usuario) y Next (Siguiente).

    Create New System Entry screen

  5. Rellene los detalles adecuados en la siguiente página, incluidos el servidor de aplicaciones, el número de instancia y el ID del sistema. A continuación, seleccione Finish (Finalizar).

  6. Haga clic con el botón derecho en la nueva conexión, seleccione Properties (Propiedades) y la pestaña Network (Red).

  7. En el cuadro de texto SNC Name (Nombre de SNC), escriba p:<UPN del usuario de servicio de SAP BW> . Por ejemplo, p:BWServiceUser@MYDOMAIN.COM. Seleccione Aceptar.

    System Entry Properties screen

  8. Haga doble clic en la conexión que acaba de crear para intentar una conexión SSO al servidor SAP BW.

    Si esta conexión se realiza correctamente, continúe con la siguiente sección. En caso contrario, revise los pasos anteriores de este documento para asegurarse de que los ha completado correctamente o revise la sección Solución de problemas. Si no se puede conectarse al servidor de SAP BW mediante el inicio de sesión único en este contexto, no podrá conectarse al servidor de SAP BW mediante el inicio de sesión único en el contexto de la puerta de enlace.

Adición de entradas del Registro a la máquina de puerta de enlace

Agregue las entradas del registro necesarias al registro de la máquina en la que está instalada la puerta de enlace y a las máquinas que se van a conectar desde Power BI Desktop. Para agregar estas entradas del registro, ejecute los siguientes comandos:

  • REG ADD HKLM\SOFTWARE\Wow6432Node\SAP\gsskrb5 /v ForceIniCredOK /t REG_DWORD /d 1 /f

  • REG ADD HKLM\SOFTWARE\SAP\gsskrb5 /v ForceIniCredOK /t REG_DWORD /d 1 /f

Incorporación de un nuevo origen de datos de servidor de aplicaciones de SAP BW en el servicio Power BI o edición de uno existente

  1. En la ventana de configuración del origen de datos, especifique el nombre de host, el número del sistema y el ID de cliente del servidor de aplicaciones de SAP BW como si fuera a iniciar sesión el servidor de SAP BW desde Power BI Desktop.

  2. En el campo Nombre de asociado de SNC, escriba el p:<SPN que asignó al usuario de servicio de SAP BW> . Por ejemplo, si el SPN es SAP/BWServiceUser@MYDOMAIN.COM, debe escribir p:SAP/BWServiceUser@MYDOMAIN.COM en el campo Nombre de asociado de SNC.

  3. Para la biblioteca SNC, seleccione la opción Personalizado y proporcione la ruta de acceso absoluta para GX64KRB5.DLL o GSSKRB5.DLL en la máquina de puerta de enlace.

  4. Seleccione la casilla Usar un SSO mediante Kerberos para las consultas de DirectQuery y Aplicar. Si la conexión de prueba no es correcta, compruebe que los pasos de instalación y configuración anteriores se hayan completado correctamente.

  5. Ejecución de un informe de Power BI

Solución de problemas

Solución de problemas con la configuración de gx64krb5

Si detecta alguno de estos problemas, realice los pasos siguientes para solucionar los problemas de instalación de gx64krb5 y de las conexiones de inicio de sesión único:

  • Se producen errores al completar los pasos de configuración de gx64krb5. Por ejemplo, el servidor de SAP BW no se iniciará después de haber cambiado los parámetros de perfil. Consulte los registros del servidor (…work\dev_w0 en la máquina del servidor) para solucionar estos errores.

  • No puede iniciar el servicio SAP BW debido a un error de inicio de sesión. Es posible que haya proporcionado una contraseña incorrecta al establecer el usuario de inicio de SAP BW. Inicie sesión en una máquina del entorno de Active Directory como usuario de servicio de SAP BW para comprobar la contraseña.

  • Si recibe errores sobre las credenciales del origen de datos subyacente (por ejemplo, SQL Server) que impiden que se inicie el servidor, compruebe que le ha concedido el acceso de usuario de servicio a la base de datos de SAP BW.

  • Recibirá el mensaje siguiente: (GSS-API) specified target is unknown or unreachable ([GSS-API] El destino especificado no es accesible o es desconocido). Normalmente, este error significa que se ha especificado un nombre de SNC incorrecto. Asegúrese de usar p: solo, no p:CN= antes del UPN del usuario de servicio en la aplicación cliente.

  • Recibirá el mensaje siguiente: (GSS-API) An invalid name was supplied ([GSS-API] Se ha proporcionado un nombre no válido). Asegúrese de que p: es el valor del parámetro de perfil de identidad SNC del servidor.

  • Recibirá el mensaje siguiente: (SNC error) the specified module could not be found ([Error de SNC] No se ha encontrado el módulo especificado). Este error suele deberse a la colocación de gx64krb5.dll en una ubicación que requiere privilegios elevados (.../derechos de administrador) de acceso.

Solución de problemas de conectividad de la puerta de enlace

  1. Compruebe los registros de la puerta de enlace. Abra la aplicación de configuración de la puerta de enlace, seleccione Diagnósticos y después Exportar registros. Los errores más recientes están en la parte inferior de los archivos de registro que examine.

    On-premises data gateway application, with Diagnostics highlighted

  2. Active el seguimiento de SAP BW y revise los archivos de registro generados. Hay varios tipos de seguimiento de SAP BW disponibles (por ejemplo, el seguimiento de CPIC):

    a. Para habilitar el seguimiento de CPIC, establezca dos variables de entorno: CPIC_TRACE y CPIC_TRACE_DIR.

    La primera variable establece el nivel de seguimiento y la segunda, el directorio del archivo de seguimiento. El directorio debe ser una ubicación en la que puedan escribir los miembros del grupo de usuarios autenticados.

    b. Establezca CPIC_TRACE en 3 y CPIC_TRACE_DIR en el directorio en el que quiere que se escriban los archivos de seguimiento. Por ejemplo:

    CPIC tracing

    c. Reproduzca el problema y asegúrese de que CPIC_TRACE_DIR contiene archivos de seguimiento.

    d. Examine el contenido de los archivos de seguimiento para determinar el problema de bloqueo. Por ejemplo, puede que gx64krb5.dll no se haya cargado correctamente o que un usuario de Active Directory distinto del que esperaba que iniciara el intento de conexión de SSO.

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