Condividi tramite


Risolvere i problemi di accesso alle risorse di archiviazione del pool di Apache Spark di Azure Synapse Analytics

Si applica a: Azure Synapse Analytics

Apache Spark è un framework di elaborazione parallela che supporta l'elaborazione in memoria per migliorare le prestazioni delle applicazioni di analisi di Big Data. Apache Spark in Azure Synapse Analytics è una delle implementazioni Microsoft di Apache Spark nel cloud. Azure Synapse semplifica la creazione e la configurazione di un pool di Apache Spark serverless in Azure. I pool di Spark in Azure Synapse sono compatibili con Archiviazione di Azure e Azure Data Lake Storage Gen2. È quindi possibile usare i pool di Spark per elaborare i dati archiviati in Azure.

Se si verificano problemi di accesso all'archiviazione del pool, ad esempio errori "403" o errore dell'area di lavoro synapse per trovare i servizi collegati, usare le indicazioni fornite per risolvere i problemi.

Scenari non supportati

I casi d'uso seguenti non sono supportati quando ci si connette a un account di archiviazione da un pool di Spark Synapse:

  • Connessione all'account di archiviazione di ADLS Gen 1
  • Connessione all'account di archiviazione di ADLS Gen 2 con identità gestita assegnata dall'utente
  • Connessione all'account di archiviazione di ADLS Gen 2 con:
    • area di lavoro Synapse della rete virtuale condivisa
    • account di archiviazione abilitato per il firewall

Problemi noti e soluzioni

Errore Soluzione
"errorMessage":"LSRServiceException è [{"StatusCode":400,"ErrorResponse":{"code":"LSRLinkedServiceFailure","message":"Impossibile trovare il servizio collegato AzureDataLakeStorage1; Questo errore viene generato se un'area di lavoro di Synapse è associata a un repository Git, Azure DevOps Services o GitHub. Viene generato anche quando un artefatto, ad esempio un notebook o un servizio collegato, non viene pubblicato.

Pubblicare manualmente le modifiche al codice nel ramo di collaborazione nel servizio Synapse.
stdout: eccezione nel thread "main" org.apache.hadoop.fs.FileAlreadyExistsException: Operazione non riuscita: "Questo endpoint non supporta BlobStorageEvents o SoftDelete. Disabilitare queste funzionalità dell'account se si vuole usare questo endpoint.", 409, HEAD, https://< storageaccountname.dfs.core.windows.net/scripts/?upn=false&action=getAccessControl&timeout=90> Verificare che l'archiviazione di ADLS Gen 2 sia configurata come risorsa di archiviazione primaria.

Per disabilitare SoftDelete, deselezionare la casella di controllo Abilita eliminazione temporanea BLOB per l'account di archiviazione.

Risoluzione dei problemi "403"

Accesso all'archiviazione e all'account che accede

  • Per scrivere nell'archiviazione tramite una pipeline, l'identità del servizio gestito dell'area di lavoro di Synapse è l'entità di sicurezza che esegue qualsiasi operazione, ad esempio Lettura, Scrittura ed Eliminazione nella risorsa di archiviazione.
    • Assicurarsi che l'account MSI dell'area di lavoro disponga del ruolo Collaboratore ai dati del BLOB di archiviazione per eseguire tutte le azioni.
  • Se si usa Azure Notebooks per accedere all'account di archiviazione, usare l'account connesso, a meno che non si accaccia all'archiviazione tramite i servizi collegati.
    • L'account utente connesso deve avere il ruolo Collaboratore dati BLOB di archiviazione per avere l'accesso completo e le autorizzazioni.
  • Per connettersi all'archiviazione, usare l'autenticazione del servizio collegato e dell'entità servizio. L'applicazione registrata in Azure Active deve quindi essere assegnata a "Collaboratore ai dati dei BLOB di archiviazione" nell'archiviazione di Azure.

Per l'implementazione del controllo degli accessi in base al ruolo nella risorsa di archiviazione, i dettagli vengono controllati a livello di contenitore. Per altre informazioni, vedere Modello di controllo di accesso in Azure Data Lake Storage Gen2.

Controllo dell'accesso basato sui ruoli di Azure

Il controllo degli accessi in base al ruolo di Azure usa le assegnazioni di ruolo per applicare set di autorizzazioni alle entità di sicurezza, ad esempio l'identità del servizio gestito dell'area di lavoro synapse, l'utente connesso o la registrazione dell'applicazione nell'ID Microsoft Entra. I ruoli come Proprietario, Collaboratore, Lettore e Collaboratore account di archiviazione consentono a un'entità di sicurezza di gestire un account di archiviazione.

Elenchi di controllo di accesso

Usare gli elenchi di controllo di accesso (ACL) per applicare livelli dettagliati di accesso alle directory e ai file.

  • Se vengono trovati ruoli di accesso ai dati, ad esempio Lettore dati BLOB di archiviazione o Collaboratore ai dati blob di archiviazione per l'entità di sicurezza, viene eseguito un controllo per verificare se il ruolo dispone delle autorizzazioni per eseguire azioni quali Scrittura, Lettura ed Eliminazione. In tal caso, l'entità di sicurezza potrebbe accedere a tutti i file e le cartelle, in base al ruolo contenitore.
    • Non sono presenti controlli ACL aggiuntivi sui file o sulle cartelle.
  • Se non viene trovato un ruolo di accesso ai dati per l'entità di sicurezza a livello di contenitore di archiviazione, i controlli ACL vengono eseguiti nei file e nelle cartelle.

Risorse