Troubleshooting

"User does not have appropriate authorization level" – Diagnóstico y Soluciones

Simon 29/04/2018 1 views

En una arquitectura SAS© BI (Business Intelligence) distribuida, es común que el servidor de cálculo (Compute Server) esté ubicado en una máquina diferente a donde residen los datos físicos.

Un escenario clásico: su plataforma SAS© está instalada en el Servidor A, pero intenta declarar una biblioteca (library) que apunta a archivos ubicados en el Servidor B. Es entonces cuando aparece el mensaje de error que bloquea:

Illustration
User does not have appropriate authorization level for library 'library name'

Este mensaje es particularmente frustrante porque, a menudo, el usuario descubre que puede acceder a la carpeta remota a través del explorador de archivos de Windows (comando "Ejecutar") sin problemas. Si el acceso al sistema parece funcionar, ¿por qué SAS© rechaza la conexión?

Aquí están las pistas de diagnóstico y las soluciones para resolver este conflicto de autorización.

1. La distinción entre Lectura y Escritura

Esta es la causa más frecuente y la más sencilla de verificar.

Por defecto, cuando SAS© asigna una biblioteca (a través de una instrucción LIBNAME o a través de los metadatos), a menudo intenta obtener un acceso completo (Lectura y Escritura).

Si, a nivel del sistema operativo (Windows/Linux), el usuario solo tiene derechos de solo lectura en la carpeta compartida del Servidor B, SAS© devolverá este error de autorización genérico, incluso si solo intenta leer los datos.

La solución: Verifique si la opción "Solo lectura" está marcada en las propiedades de la biblioteca o fuerce el acceso de solo lectura en su código (ACCESS=READONLY).

2. La prueba de la instrucción LIBNAME (Aislar el problema)

Para saber si el bloqueo proviene de los metadatos de SAS© o de los permisos del sistema (SO), existe una prueba infalible.

Ejecute manualmente una instrucción LIBNAME en un programa (a través de SAS© Enterprise Guide o Studio), apuntando directamente a la ruta de red, sin pasar por la definición de los metadatos pregrabados.

1LIBNAME TestLib '\\ServeurB\Chemin\Vers\Donnees';
  • Si este código funciona: Significa que los permisos del sistema (SO) son correctos. Por lo tanto, el problema radica en la definición de los metadatos (SAS© Management Console). Es necesario verificar los permisos sobre el objeto de la biblioteca en el árbol de metadatos (derechos de lectura sobre los metadatos Y sobre los datos físicos).

  • Si este código falla: El problema está a nivel del sistema operativo o de la red. La cuenta de usuario con la que se ejecuta el proceso SAS© en el Servidor A no tiene los derechos adecuados en el Servidor B.

  • 3. Verificar el gestor de usuarios (User Manager)

    En una arquitectura de BI, la identidad del usuario que se conecta al portal no siempre es la que utiliza el servidor para acceder a los archivos.

    Es imperativo verificar la configuración en la SAS© Management Console:

    1. Abra el User Manager (Gestor de usuarios).

    2. Localice el perfil del usuario o del grupo en cuestión.

    3. Verifique la pestaña "Accounts" (Cuentas).

    Asegúrese de que los inicios de sesión (Login) definidos aquí correspondan a una cuenta de dominio válida que posea los privilegios necesarios en el servidor remoto. Si la autenticación se realiza a través de una cuenta de servicio genérica (por ejemplo: sassrv), es esta cuenta específica la que debe tener los derechos sobre la carpeta compartida, y no su cuenta personal.

    El error "Appropriate authorization level" a menudo enmascara un simple conflicto de derechos de "Lectura vs. Escritura" o una confusión entre la identidad del usuario conectado y la identidad del proceso del servidor SAS©. Al probar el acceso con código puro, aislará rápidamente la capa responsable del bloqueo.