Permissões no banco
O banco usa as permissões e papéis em dois níveis. Elas valem para quem chama com a sessão do usuário (o app web); o servidor, com chave de API, acessa conforme os escopos da chave.
Permissões da tabela
Seção intitulada “Permissões da tabela”Ficam nas Configurações da tabela (console) ou no permissions do createTable/updateTable. Valem para todas as linhas.
| Exemplo | Efeito |
|---|---|
Permission.read(Role.any()) |
catálogo público: qualquer pessoa lê |
Permission.create(Role.users()) |
qualquer usuário logado cria linhas |
Permission.read(Role.team('equipe')), Permission.write(Role.team('equipe')) |
só o time lê e escreve |
Segurança por linha
Seção intitulada “Segurança por linha”Com a segurança por linha ligada (rowSecurity: true), cada linha pode ter permissões próprias, somadas às da tabela. Quem tem leitura na tabela lê todas as linhas; quem não tem lê só as linhas que lhe dão leitura.
Padrão comum, “cada usuário vê só o que é dele”:
- Tabela com
Permission.create(Role.users())e segurança por linha ligada. - Cada linha criada pelo usuário recebe
read,updateedeleteparaRole.user(<id dele>). É o que acontece quando ocreateRowvem do navegador sempermissions.
O exemplo completo está em Permissões e papéis.