Condividi tramite


Diagnosticare e risolvere i problemi relativi ad eccezioni non autorizzate di Azure Cosmos DB

SI APPLICA A: NoSQL

Il codice di stato HTTP 403 rappresenta una richiesta non autorizzata.

Firewall che blocca le richieste

Le richieste del piano dati possono arrivare ad Azure Cosmos DB tramite i tre percorsi seguenti.

  • Internet pubblico (IPv4)
  • Endpoint di servizio
  • Endpoint privato

Quando una richiesta del piano dati viene bloccata con l'errore 403 Accesso negato, il messaggio di errore specifica tramite quale dei tre percorsi precedenti è stata inviata ad Azure Cosmos DB.

  • Request originated from client IP {...} through public internet.
  • Request originated from client VNET through service endpoint.
  • Request originated from client VNET through private endpoint.

Soluzione

Comprendere tramite quale percorso è prevista la ricezione della richiesta in Azure Cosmos DB.

  • Se il messaggio di errore indica che la richiesta non è stata inviata ad Azure Cosmos DB tramite il percorso previsto, è probabile che il problema si verifichi con la configurazione lato client. Controllare attentamente la configurazione lato client attenendosi alle documentazioni seguenti.
  • Se la richiesta è stata inviata ad Azure Cosmos DB tramite il percorso previsto, la richiesta è stata bloccata perché l'identità di rete di origine non è stata configurata per l'account. Controllare le impostazioni dell'account a seconda del percorso in cui è stata inviata la richiesta ad Azure Cosmos DB.
    • Internet pubblico: controllare l'accesso alla rete pubblica e le configurazioni dei filtri dell'intervallo IP dell'account.
    • Endpoint di servizio: controllare l'accesso alla rete pubblica e le configurazioni dei filtri della rete virtuale dell'account.
    • Endpoint privato: controllare la configurazione dell'endpoint privato dell'account e la configurazione DNS privata del client. Questo problema potrebbe essere dovuto all'accesso all'account da un endpoint privato configurato per un account diverso.

Se le configurazioni del firewall dell'account sono state aggiornate di recente, tenere presente che l'applicazione delle modifiche può richiedere fino a 15 minuti.

Chiave di partizione che supera l'archiviazione

In questo scenario, è comune vedere errori come quelli presenti di seguito:

Response status code does not indicate success: Forbidden (403); Substatus: 1014
Partition key reached maximum size of {...} GB

Soluzione

Questo errore indica che la progettazione del partizionamento corrente e il carico di lavoro stanno tentando di archiviare più della quantità di dati consentita per un determinato valore della chiave di partizione. Non esiste alcun limite al numero di partizioni logiche nel contenitore, ma le dimensioni dei dati che ogni partizione logica può archiviare è limitata. È possibile contattare il supporto per ottenere chiarimenti.

Le operazioni non basate sui dati non sono consentite

Questo scenario si verifica quando si tenta di eseguire operazioni non basate su dati usando le identità di Microsoft Entra. In questo scenario, è comune vedere errori come quelli presenti di seguito:

Operation 'POST' on resource 'calls' is not allowed through Azure Cosmos DB endpoint
Forbidden (403); Substatus: 5300; The given request [PUT ...] cannot be authorized by AAD token in data plane.

Soluzione

Eseguire l'operazione tramite Azure Resource Manager, il portale di Azure, l'interfaccia della riga di comando di Azure o Azure PowerShell. Se si usa il Trigger di Azure Cosmos DB per Funzioni di Azure, assicurarsi che la proprietà CreateLeaseContainerIfNotExists del trigger non sia impostata su true. L'uso delle identità di Microsoft Entra blocca qualsiasi operazione non basata sui dati, ad esempio la creazione del contenitore di lease.