- Sicurezza a livello di riga (RLS): controlla a quali record gli utenti possono accedere.
- Sicurezza a livello di campo (FLS): controlla a quali campi all’interno dei record gli utenti possono accedere.
L’accesso con service role ignora queste regole:
base44.asServiceRole aggira completamente sia RLS sia FLS, a prescindere da come è configurata l’entità. Non ti serve quindi una regola admin corrispondente per leggere o scrivere un record. È disponibile solo nelle funzioni backend ospitate da Base44 e la tua funzione è responsabile degli eventuali controlli di accesso necessari.Tipi di permesso
Ogni livello di sicurezza ha permessi diversi che puoi impostare. Per ogni permesso, definisci chi è autorizzato a eseguire l’azione.Sicurezza a livello di riga (RLS)
create- aggiungere nuovi recordread- visualizzare i recordupdate- modificare i recorddelete- rimuovere i record
Sicurezza a livello di campo (FLS)
read- visualizzare il campowrite- creare o modificare il campo
Valori dei permessi
Ogni permesso accetta uno dei seguenti valori:true- consente a tutti gli utentifalse- blocca tutti gli utenti{<condition>}- consente agli utenti che corrispondono alla condizione
Differenze tra letture e scritture negate
Le letture negate si comportano come se i dati non esistessero, quindi non rivelano cosa c’è. Le scritture negate generano un errore, quindi una modifica bloccata non fallisce mai in silenzio.Sintassi delle condizioni
Quando usi{<condition>} come valore di permesso, puoi definire regole che verificano attributi o ruoli dell’utente.
Una condizione che fa riferimento a
{{user.*}} o usa user_condition richiede un chiamante autenticato. Un chiamante anonimo non ha un utente con cui fare il confronto, quindi la regola lo blocca direttamente invece di valutarsi come falsa.created_by- email dell’utente che ha creato il recordcreated_by_id- ID dell’utente che ha creato il recordentity_name- nome del tipo di entitàapp_id- ID dell’appenvironment-prodoppuredevis_sample- se si tratta di dati di esempiois_deleted- flag di eliminazione softdeleted_date- quando è stato eliminatodata.*- qualsiasi campo dalle proprietà del tuo schema entità
{{user.email}}- email dell’utente{{user.id}}- ID dell’utente{{user.role}}- ruolo dell’utente{{user.data.*}}- campi utente aggiuntivi che definisci
user_condition.
Campi utente che puoi verificare:
email- email dell’utenteid- ID dell’utenterole- ruolo dell’utentedata.*- campi utente personalizzati
$or, $and, $nor, $in, $nin, $all
Esempio:
Esempio di sicurezza a livello di riga (RLS)
Aggiungirls a livello di entità:
Esempio di sicurezza a livello di campo (FLS)
Aggiungirls alle singole proprietà dei campi:
Esempio completo con sicurezza
Ecco uno schema di entità con sia RLS che FLS:Distribuire le regole di sicurezza
Le regole di sicurezza fanno parte del tuo schema di entità. Dopo aver aggiunto o aggiornato le regole di sicurezza, distribuisci usandoentities push. Le regole di sicurezza vengono anche distribuite automaticamente quando esegui il comando deploy per distribuire l’intero progetto.
Vedi anche
- Panoramica delle entità: scopri la configurazione dello schema del database
- Schemi delle entità: definisci la struttura delle tue entità
- Schema utente: entità integrata speciale per l’autenticazione degli utenti
- Accesso ai dati con service role: leggi e scrivi dati senza che si applichino le regole di accesso
- Struttura del progetto: come gli schemi delle entità si inseriscono nel tuo progetto
Questa pagina è stata tradotta utilizzando l’IA. Per informazioni più accurate e aggiornate, consulta la versione inglese.