Diagnosticar consultas e arquivos sem acesso
Prepare o ambiente
Confira projeto, sessão, grants e políticas antes de alterar as permissões da aplicação.
- Projeto de estudo separado dos registros de produção.
- Conhecimento da trilha Comece aqui.
Registre a chamada que falhou
Anote a requisição, o status HTTP e a mensagem retornada. Preserve o nome da tabela ou bucket e os filtros usados. Remova tokens, chaves e dados pessoais antes de compartilhar logs.
Confira se a aplicação aponta para o projeto esperado. Uma URL local com uma chave de Cloud, ou a combinação inversa, pode produzir falhas antes de a consulta chegar à tabela pretendida. Reinicie o servidor de desenvolvimento depois de alterar variáveis incorporadas ao cliente.
Confira a sessão
Use getUser no cliente autenticado para verificar se há uma identidade válida. Se o cadastro exige confirmação por email, conclua essa etapa antes do login. Confira as URLs de redirecionamento quando o retorno da autenticação não levar à aplicação.
Uma chave publishable sozinha não representa uma identidade de usuário autenticada. Verifique se a consulta usa o cliente associado à sessão e se o código trata o erro de autenticação antes de tentar gravar registros.
Separe grants e RLS
Se a consulta retorna uma lista vazia, confirme se existem registros que atendem ao filtro e à política. Se retorna permissão negada, confira também os grants do papel usado. O acesso administrativo pelo SQL Editor não reproduz automaticamente a chamada feita pelo navegador.
Para uma tabela por proprietário, compare user_id da linha com o UUID da sessão. Revise USING nas leituras e WITH CHECK nas inserções. Não desative RLS para transformar uma consulta vazia em uma listagem pública.
Confira o caminho do arquivo
No Storage privado, confira bucket, nome completo do objeto e políticas de storage.objects. Se a política usa o primeiro diretório como UUID, o caminho enviado precisa seguir essa estrutura. Upload, leitura, atualização e exclusão podem exigir permissões diferentes.
Repita com dois usuários
Depois de corrigir a configuração, execute a consulta com o proprietário e com outra identidade de usuário. O primeiro deve conseguir o acesso previsto, enquanto o segundo deve continuar sem acesso aos registros alheios. Registre a alteração e o resultado para evitar que uma correção futura amplie permissões sem perceber.
Confira o resultado
Execute as conferências descritas no guia e registre ambiente, versão e resultado antes de aplicar em outro projeto.
Fontes consultadas
Procedimento conferido na documentação oficial. A execução em uma instância Supabase não foi realizada nesta revisão.
