Compartir a través de


Resolución de problemas de acceso al almacenamiento del grupo de Apache Spark de Azure Synapse Analytics

Se aplica a: Azure Synapse Analytics

Apache Spark es una plataforma de procesamiento paralelo que admite el procesamiento en memoria para mejorar el rendimiento de las aplicaciones de análisis de macrodatos. Apache Spark en Azure Synapse Analytics es una de las implementaciones de Microsoft de Apache Spark en la nube. Azure Synapse facilita la creación y la configuración de un grupo de Apache Spark sin servidor en Azure. Los grupos de Spark en Azure Synapse son compatibles con Azure Storage y Azure Data Lake Storage Generation 2. Por lo tanto, puede usar grupos de Spark para procesar los datos almacenados en Azure.

Si tiene problemas de acceso al almacenamiento del grupo, como errores "403" o el error del área de trabajo de Synapse para buscar servicios vinculados, use las instrucciones proporcionadas para ayudar a resolver los problemas.

Escenarios no admitidos

Los siguientes casos de uso no se admiten al conectarse a una cuenta de almacenamiento desde un grupo de Spark de Synapse:

  • Conexión a la cuenta de almacenamiento de ADLS Gen 1
  • Conexión a la cuenta de almacenamiento de ADLS Gen 2 con identidad administrada asignada por el usuario
  • Conexión a la cuenta de almacenamiento de ADLS Gen 2 que tiene:
    • Área de trabajo de Synapse de red virtual compartida
    • Cuenta de Storage habilitada para firewall

Problemas comunes y soluciones

Error Solución
"errorMessage":"LSRServiceException es [{"StatusCode":400,"ErrorResponse":{"code":"LSRLinkedServiceFailure","message":"No se pudo encontrar el servicio vinculado AzureDataLakeStorage1; Este error se genera si un área de trabajo de Synapse está asociada a un repositorio de Git, Azure DevOps Services o GitHub. También se genera cuando no se publica un artefacto como un cuaderno o un servicio vinculado.

Publique manualmente los cambios de código en la rama de colaboración en el servicio Synapse.
stdout: Exception in thread "main" org.apache.hadoop.fs.FileAlreadyExistsException: Operation failed: "This endpoint does not support BlobStorageEvents or SoftDelete. Deshabilite estas características de cuenta si desea usar este punto de conexión.", 409, HEAD, https://< storageaccountname.dfs.core.windows.net/scripts/?upn=false&action=getAccessControl&timeout=90> Compruebe que el almacenamiento de ADLS Gen 2 está configurado como almacenamiento principal.

Para deshabilitar SoftDelete, desactive la casilla Habilitar eliminación temporal de blobs para la cuenta de almacenamiento.

Solución de problemas de "403"

Acceso de almacenamiento y acceso a la cuenta

  • Para escribir en el almacenamiento a través de una canalización, MSI del área de trabajo de Synapse es la entidad de seguridad que ejecuta cualquier operación, como Lectura, Escritura y Eliminación en el almacenamiento.
    • Asegúrese de que la cuenta MSI del área de trabajo tiene el rol Colaborador de datos de Storage Blob para realizar todas las acciones.
  • Si usa Azure Notebooks para acceder a la cuenta de almacenamiento, use la cuenta de inicio de sesión, a menos que acceda al almacenamiento a través de servicios vinculados.
    • La cuenta de usuario que ha iniciado sesión debe tener el rol Colaborador de datos de Storage Blob para tener acceso completo y permisos.
  • Para conectarse al almacenamiento, use el servicio vinculado y la autenticación de entidad de servicio. A continuación, la aplicación registrada en Azure Active debe asignarse "Colaborador de datos de Storage Blob" en Azure Storage.

Para la implementación del control de acceso basado en rol (RBAC) en el almacenamiento, los detalles se controlan en el nivel de contenedor. Para obtener más información, consulte Modelo de control de acceso en Azure Data Lake Storage Gen2.

Control de acceso basado en rol de Azure

El control de acceso basado en roles de Azure usa asignaciones de roles para aplicar conjuntos de permisos a entidades de seguridad, como msi del área de trabajo de Synapse, usuario que ha iniciado sesión o registro de aplicación en el identificador de Microsoft Entra. Los roles como Propietario, Colaborador, Lector y Colaborador de la cuenta de almacenamiento permiten que una entidad de seguridad administre una cuenta de almacenamiento.

Listas de control de acceso

Use listas de control de acceso (ACL) para aplicar niveles detallados de acceso a directorios y archivos.

  • Si se encuentran roles de acceso a datos como Lector de datos de Storage Blob o Colaborador de datos de Storage Blob para la entidad de seguridad, se ejecuta una comprobación para comprobar si el rol tiene los permisos para realizar acciones como Escritura, Lectura y Eliminación. Si es así, la entidad de seguridad podría acceder a todos los archivos y carpetas, en función del rol de contenedor.
    • No hay comprobaciones adicionales de ACL en los archivos o carpetas.
  • Si no se encuentra un rol de acceso a datos para la entidad de seguridad en el nivel de contenedor de almacenamiento, las comprobaciones de ACL se ejecutan en los archivos y carpetas.

Recursos