Diagnosticar e solucionar problemas Azure Cosmos DB exceções proibidas

APLICA-SE A: NoSQL

O código de status HTTP 403 representa que a solicitação está proibida de ser concluída.

Solicitações de bloqueio de firewall

As solicitações do plano de dados podem chegar ao Azure Cosmos DB por meio dos três caminhos a seguir.

  • Internet pública (IPv4)
  • Ponto de extremidade de serviço
  • Ponto de extremidade privado

Quando uma solicitação de plano de dados é bloqueada com o erro 403 Proibido, a mensagem de erro especificará por qual dos três caminhos acima a solicitação chegou ao 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.

Solução

Entenda por qual caminho a solicitação deve chegar ao Azure Cosmos DB.

  • Se a mensagem de erro mostrar que a solicitação não foi para o Azure Cosmos DB por meio do caminho esperado, é provável que o problema esteja com a configuração do lado do cliente. Verifique novamente a configuração no lado do cliente após as documentações.
  • Se a solicitação for para o Azure Cosmos DB por meio do caminho esperado, a solicitação foi bloqueada porque a identidade de rede de origem não estava configurada para ser permitida para a conta. Verifique as configurações da conta, dependendo do caminho que a solicitação foi para o Azure Cosmos DB.
    • Internet pública: Verifique as configurações de filtro de intervalo de IP e acesso à rede pública da conta.
    • Ponto de extremidade de serviço: Verifique as configurações de filtro VNET e acesso à rede pública da conta.
    • Ponto de extremidade privado: Verifique a configuração do ponto de extremidade privado da conta e a configuração do DNS privado do cliente. Isso pode ser devido ao acesso à conta de um ponto de extremidade privado configurado para uma conta diferente.

Se você atualizou recentemente as configurações de firewall da conta, tenha em mente que as alterações podem levar até 15 minutos para serem aplicadas.

Chave de partição excedendo o armazenamento

Nesse cenário, é comum ver erros como os abaixo:

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

Solução

Esse erro significa que a carga de trabalho e o design de particionamento atuais estão tentando armazenar mais do que a quantidade permitida de dados para um determinado valor de chave de partição. Não há nenhum limite para o número de partições lógicas em seu contêiner, mas o tamanho dos dados que cada partição lógica pode armazenar é limitado. Entre em contato com o suporte para obter esclarecimentos.

Operações que não são de dados não são permitidas

Esse cenário ocorre ao tentar executar operações que não sejam de dados usando identidades do Microsoft Entra. Nesse cenário, é comum ver erros como os abaixo:

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.

Solução

Execute a operação por meio do Azure Resource Manager, do portal do Azure, da CLI do Azure ou do Azure PowerShell. Se você estiver usando o gatilho do Azure Cosmos DB do Azure Functions, verifique se a propriedade CreateLeaseContainerIfNotExists do gatilho não está definida como true. O uso de identidades do Microsoft Entra bloqueia todas as operações que não sejam de dados, como a criação do contêiner de concessão.

Próximas etapas