O que é segurança ao nível da linha?
A segurança ao nível da linha (RLS) é uma funcionalidade da base de dados que decide, linha a linha, quais os registos que cada utilizador pode ler ou alterar, para que um cliente veja sempre apenas as suas próprias encomendas, mesmo que a aplicação peça mais.
Sem ela, a regra "os utilizadores só veem os seus próprios dados" vive no código da aplicação. Se um ecrã ou uma API se esquecer de verificar, dados privados podem ficar expostos.
Com a segurança ao nível da linha, a regra vive na própria base de dados. Escreve uma política como "uma linha de encomendas só é visível quando o seu customer_id corresponde ao utilizador com sessão iniciada", e a base de dados aplica-a a cada consulta.
O Postgres suporta a segurança ao nível da linha, e alguns serviços de backend dependem muito dela porque as suas aplicações falam com a base de dados diretamente a partir do navegador. Nesses casos, uma tabela sem política pode ser lida por qualquer pessoa.
A RLS é uma camada de proteção, não a única. As aplicações continuam a precisar de um início de sessão adequado, de verificações no servidor e de um tratamento cuidadoso do acesso de administrador.
Exemplos
- Os clientes de um portal veem apenas os seus próprios documentos
- Cada equipa numa ferramenta vê apenas os seus próprios projetos
Perguntas
Preciso de segurança ao nível da linha?
Se a sua aplicação guarda dados privados de muitos utilizadores e alguma parte consulta a base de dados diretamente a partir do navegador, sim. Se todo o acesso passar por um backend que verifica as permissões, a RLS é uma rede de segurança extra.
A segurança ao nível da linha é o mesmo que perfis?
Não. Os perfis descrevem que tipo de utilizador alguém é, como administrador ou membro. A segurança ao nível da linha usa dados como o id ou o perfil do utilizador para decidir a que linhas específicas pode aceder.
Ver também
- Como adicionar controlo de acesso baseado em perfis
- Lista de verificação de segurança para aplicações criadas com IA
Mythex · Pricing · Crie qualquer coisa com IA · Modelos de sites e apps · Mythex comparado · Glossário de criação de apps com IA · Ferramentas grátis para criar apps com IA · English