> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gestire i permessi sui dati

Base44 imposta automaticamente i permessi sui dati mentre costruisci la tua app. Puoi modificarli in qualsiasi momento usando la chat IA, o configurarli manualmente se ti serve più controllo. Se i permessi non sono impostati correttamente, le persone sbagliate potrebbero visualizzare o modificare dati nella tua app.

<Tip>
  Per impostare chi può aprire la tua app e se deve accedere, consulta [Gestire accessi e ruoli](/Setting-up-your-app/Managing-access#setting-your-app-visibility).
</Tip>

***

## Usare la chat IA per impostare i permessi

Non devi configurare i permessi manualmente. Di' alla chat IA come deve funzionare la tua app in linguaggio naturale, e imposta le regole giuste per te. Funziona quando stai costruendo la tua app per la prima volta e in qualsiasi momento successivo quando le esigenze cambiano. Se deve aggiornare regole esistenti, chiede prima la tua approvazione.

**Ecco alcuni esempi di prompt che puoi usare:**

```text theme={null}
Only the person who submitted an order should be able to see it.
```

```text theme={null}
Admins should have full access to all client details. Regular users should only see their own.
```

```text theme={null}
Anyone can browse the product catalog, but only managers can add or update listings.
```

***

## Personalizzare i permessi manualmente

Se vuoi rivedere o affinare i permessi su una specifica tabella di dati, puoi farlo dalla pagina **Permissions** della tabella nella dashboard. La pagina si apre in modalità sola lettura mostrando le regole attuali. Clicca **Edit** per fare modifiche.

<Tip>
  Non sei sicuro di quali regole impostare? Descrivi cosa ti serve alla chat IA in linguaggio naturale e configurerà i permessi per te. La configurazione manuale è lì quando ti serve un controllo più preciso.
</Tip>

**Per personalizzare i permessi di una tabella di dati:**

1. Clicca **Dashboard** nell'editor dell'app.
2. Sotto **Data**, clicca la tabella da gestire.
3. Clicca **Permissions** in alto a destra della pagina. Se ci sono problemi con i permessi, vedi un'icona di avviso sul pulsante.
4. Clicca **Edit** per aprire il pannello **Configure permissions**.
5. Spunta le caselle per le azioni che ogni regola deve coprire: **Create** (aggiungere record), **Read** (visualizzare record), **Update** (modificare record) e **Delete** (rimuovere record).
6. Se spunti una casella per **Entity-User Field Comparison**, inserisci il campo di questa tabella da confrontare in **Entity field**, poi scegli la proprietà utente corrispondente dal menu a discesa **User field**.
7. Se spunti una casella per **User Property Check**, scegli la proprietà utente dal menu a discesa **User property** e imposta il valore richiesto.
8. Clicca **Save**.

<Frame caption="Managing permissions for your data">
  <img src="https://mintcdn.com/base44/TTMXLUWSXYdGDb63/images/edit-permissions.png?fit=max&auto=format&n=TTMXLUWSXYdGDb63&q=85&s=81b76afba5cc4bdb316b0ab7b71e8cb0" alt="Managing permissions for your data" width="1456" height="844" data-path="images/edit-permissions.png" />
</Frame>

<Note>
  Se una persona corrisponde a una qualsiasi regola, ottiene l'accesso. Per aggiungere un'ulteriore riga Entity-User Field Comparison o User Property Check, clicca **Add rule** in fondo al pannello. Non puoi rimuovere una regola che è l'unica a coprire un'azione. Aggiungi prima un'altra regola per quell'azione, poi deseleziona quella da rimuovere.
</Note>

<Tip>
  La sezione **Generated JSON (Preview)** in fondo alla pagina mostra come le tue regole si traducono nel formato tecnico che Base44 usa dietro le quinte. Non devi capirlo per usare l'editor dei permessi, ma può essere utile se uno sviluppatore ti chiede di condividere la configurazione dei permessi o se vuoi verificare esattamente quali regole sono in vigore.
</Tip>

### Tipi di regole di permesso

Di solito non serve aggiungere regole manualmente. L'IA le imposta quando crea le tabelle dati, e il pannello **Permission recommendations** suggerisce correzioni quando qualcosa non va. Questa sezione è qui se vuoi capire cosa fa ogni regola prima di applicare una raccomandazione, o se hai bisogno di regolare qualcosa di specifico.

| Regola                           | Cosa fa                                                                                                  | Adatto per                                                |
| -------------------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| **All Users**                    | Chiunque può eseguire questa azione, anche senza accedere                                                | Dati pubblici come un catalogo prodotti o un blog         |
| **Creator Only**                 | Una persona può accedere solo ai record che ha creato                                                    | Dati personali come ordini, messaggi o invii di moduli    |
| **Entity-User Field Comparison** | Una persona può accedere a un record solo se un campo del record corrisponde ai dettagli del suo account | Assegnare record a persone specifiche, come task o ticket |
| **User Property Check**          | Solo le persone con una specifica proprietà nell'account possono eseguire questa azione                  | Accesso basato sui ruoli, come solo admin                 |

<Note>
  Se abiliti **All Users** per un'azione che ha già regole specifiche, appare una finestra di conferma prima che quelle regole vengano cancellate. Se abiliti una regola specifica mentre **All Users** è attivo per quell'azione, **All Users** viene rimosso automaticamente.
</Note>

### Come funziona Entity-User Field Comparison

Questa regola controlla se un campo del record corrisponde a una proprietà dell'account della persona loggata. Se corrispondono, l'accesso viene concesso.

Imposti due cose:

* **Entity field**: il nome di un campo che esiste già in questa tabella dati. Per trovare i nomi dei campi, vai su **Dashboard**, clicca la tabella sotto **Data** e guarda le colonne elencate. Digita il nome del campo esattamente come appare. Per esempio, `assigned_to` o `owner_email`.
* **User field**: la proprietà dall'account della persona loggata con cui confrontarlo, selezionata da un menu a discesa. Per esempio, l'indirizzo email.

**Esempio:** hai una tabella Tasks con un campo `assigned_to` che memorizza l'email di chi possiede il task. Imposta **Entity field** su `assigned_to` e **User field** su `email`. Ora ogni persona vede solo i task assegnati a lei.

Puoi aggiungere più righe Entity-User Field Comparison se devi abbinare su più coppie di campi.

### Come funziona User Property Check

Questa regola controlla una proprietà sull'account della persona loggata e concede l'accesso solo se corrisponde a un valore che imposti.

Imposti due cose:

* **User property**: il campo dell'account da controllare, come **User Role**, **User Email** o **Full Name**.
* **Required value**: il valore che deve corrispondere. Per **User Role**, puoi scegliere **Admin** o **User** da un menu a discesa. Per altri campi, digiti direttamente il valore.

**Esempio:** vuoi che solo gli admin possano eliminare record. Imposta **User property** su **User Role** e **Required value** su **Admin**.

Puoi aggiungere più righe User Property Check per proprietà o valori diversi.

***

## Applicare le raccomandazioni sui permessi

Se l'IA rileva un potenziale rischio nella tua configurazione attuale, appare un banner **Permission risks detected** direttamente sulla pagina della tabella dati. Mostra un riepilogo del rischio e la correzione consigliata. Puoi agire in due modi:

* Clicca **Fix** per andare direttamente alle raccomandazioni e applicarle in un passaggio.
* Clicca **More details** per aprire il pannello **Permission recommendations** completo, dove puoi rivedere le modifiche prima di applicarle.

<Frame caption="Permission risks detected on a data table">
  <img src="https://mintcdn.com/base44/TTMXLUWSXYdGDb63/images/permission-issues.png?fit=max&auto=format&n=TTMXLUWSXYdGDb63&q=85&s=54df87973f5004cf03325a40c5c53c43" alt="Permission risks detected on a data table" width="1459" height="477" data-path="images/permission-issues.png" />
</Frame>

Il pannello **Permission recommendations** mostra due sezioni. La sezione **Risk** mostra le regole attuali e spiega perché potrebbero esporre i dati a persone non intenzionali. La sezione **Recommended rules** mostra la sostituzione suggerita insieme a una descrizione in linguaggio naturale di cosa applicano.

Clicca **Apply recommendations** per sostituire le regole attuali con quelle consigliate, o clicca **Cancel** per chiudere il pannello e mantenere le regole esistenti. Puoi anche modificare le regole manualmente dopo aver applicato le raccomandazioni.

<Frame caption="Permission recommendations panel">
  <img src="https://mintcdn.com/base44/TTMXLUWSXYdGDb63/images/permissions-recommendations.png?fit=max&auto=format&n=TTMXLUWSXYdGDb63&q=85&s=6ac2e2ddfca767f888ac2a082c4a4f77" alt="Permission recommendations panel" width="894" height="677" data-path="images/permissions-recommendations.png" />
</Frame>

***

## Esempi di permessi per tipo di app

Non sai come impostare i permessi per la tua app? Usa questi scenari comuni come punto di partenza. Puoi anche chiedere alla chat IA di rivedere la tua configurazione e suggerire le regole giuste.

<AccordionGroup>
  <Accordion title="Personal or small group app (for example, a shared task list or family planner)">
    Un piccolo gruppo di persone fidate usa la stessa app, come una lista della spesa familiare o uno strumento di gestione della casa condiviso.

    * **Visibilità app:** Private. Invita le persone che devono accedere.
    * **Richiedi login:** sì.
    * **Permessi:** per i dati che tutti condividono equamente, non servono restrizioni. Per i dati che appartengono a ogni persona individualmente, come note personali o promemoria, usa **Creator Only** su Read, Update e Delete così ogni persona può accedere solo ai record che ha creato.
  </Accordion>

  <Accordion title="Public site with a contact or inquiry form (for example, a business landing page)">
    Chiunque può visitare il sito, ma gli invii che manda devono essere visibili solo a te o al tuo team.

    * **Visibilità app:** Public.
    * **Richiedi login:** no.
    * **Permessi:** per la tabella degli invii del modulo, usa **All Users** su Create così chiunque può inviare. Usa **User Property Check** su Read, Update e Delete, limitato al ruolo admin, così solo il tuo team può visualizzare e gestire i messaggi in entrata.
  </Accordion>

  <Accordion title="Internal team dashboard (for example, HR, sales, or project tracking)">
    Un team o azienda usa l'app internamente, e alcuni dati devono essere visibili solo ai manager o a ruoli specifici.

    * **Visibilità app:** Workspace.
    * **Richiedi login:** sì.
    * **Permessi:** usa **User Property Check** per limitare le tabelle sensibili, come dati salariali o valutazioni delle prestazioni, a un ruolo manager. Per contenuti generali come annunci o risorse condivise, usa **All Users** su Read così tutto il team può vedere.
  </Accordion>

  <Accordion title="User portal (for example, an expense tracker or personal dashboard)">
    Ogni persona accede e gestisce i propri dati. Deve vedere solo i propri record, mai quelli di altri.

    * **Visibilità app:** Public o Workspace, a seconda che tu voglia registrazione aperta o solo su invito.
    * **Richiedi login:** sì.
    * **Permessi:** usa **Creator Only** su Read, Update e Delete per ogni tabella di dati personali. Così ogni persona può accedere solo ai record che ha creato.
  </Accordion>

  <Accordion title="Blog or content site with private editing">
    Chiunque può sfogliare i contenuti, ma solo editor o admin possono aggiungere o cambiare qualcosa.

    * **Visibilità app:** Public.
    * **Richiedi login:** no, a meno che tu non voglia limitare determinati contenuti.
    * **Permessi:** usa **All Users** su Read così chiunque può visualizzare i contenuti. Usa **User Property Check** su Create, Update e Delete, limitato al ruolo editor o admin, così solo il tuo team può gestire i contenuti.
  </Accordion>

  <Accordion title="Multi-tenant app (for example, a SaaS platform or school system)">
    Aziende, scuole o dipartimenti diversi usano l'app, ma i loro dati devono restare completamente separati.

    * **Visibilità app:** Public o Workspace, a seconda della configurazione.
    * **Richiedi login:** sì.
    * **Permessi:** usa **Entity-User Field Comparison** per abbinare un campo su ogni record a una proprietà sull'account della persona loggata. Per esempio, se ogni record ha un campo `company_id` e ogni account utente ha una proprietà `company_id` corrispondente, imposta Entity field su `company_id` e User field su `company_id`. Ogni persona vede solo i record che appartengono alla propria azienda. Per l'accesso admin all'interno di un gruppo, combina con un **User Property Check** sul ruolo admin.
  </Accordion>
</AccordionGroup>

***

## FAQ

<AccordionGroup>
  <Accordion title="Do I need to set up permissions myself?">
    No. Base44 imposta i permessi automaticamente quando crea le tabelle dati. Puoi chiedere alla chat IA di aggiornarli in qualsiasi momento in linguaggio naturale, o modificarli manualmente dalla pagina **Permissions** di ogni tabella. Prima di pubblicare, vale la pena eseguire una scansione di sicurezza per confermare che tutto sembri giusto.
  </Accordion>

  <Accordion title="Why aren't my permissions restricting access correctly?">
    Apri la tabella interessata nella dashboard e controlla la pagina **Permissions**. Se c'è un banner **Permission risks detected**, clicca **Fix** per applicare le regole consigliate, o **More details** per rivederle prima. Puoi anche eseguire una scansione di sicurezza dalla scheda **Security** per una panoramica completa dei problemi nella tua app, o descrivere il problema alla chat IA e chiedere di risolverlo. Una volta apportate le modifiche, testa l'app in modalità **Preview** accedendo come ruoli diversi per confermare che l'accesso funzioni come previsto.
  </Accordion>

  <Accordion title="Will changing permissions affect people already using my app?">
    Sì, le modifiche hanno effetto immediato. Prima di apportare modifiche, usa la modalità **Preview** per testare come si comporta la tua app con le nuove regole. Accedi come ruoli diversi per confermare che l'accesso funzioni come ti aspetti.
  </Accordion>

  <Accordion title="Can I create more roles than just user and admin?">
    Sì. Aggiungi un campo personalizzato (come `department` o `access_level`) alla tabella User e definisci valori come manager o viewer. Poi usa regole **User Property Check** su quel campo per dare a ogni ruolo il livello di accesso giusto. Puoi chiedere alla chat IA di impostarlo per te.
  </Accordion>

  <Accordion title="Can I restrict access to specific fields in a record?">
    No. I permessi si applicano a intere tabelle di dati, non a campi individuali. Se devi limitare quali dati vengono restituiti da una tabella, puoi farlo tramite backend functions, che ti permettono di filtrare o trasformare i dati prima che raggiungano l'app. Puoi chiedere alla chat IA di aiutarti a impostarlo.
  </Accordion>

  <Accordion title="The permissions editor is showing JSON instead of the rule matrix. What happened?">
    Se i permessi sono stati impostati con regole troppo complesse perché l'editor visivo le rappresenti, come condizioni che usano operatori avanzati, l'editor passa a una vista solo JSON. Puoi comunque modificare il JSON direttamente, o ricominciare spuntando una casella nella matrice, che chiede conferma prima di sostituire la configurazione esistente.
  </Accordion>
</AccordionGroup>

<Note>Questa pagina è stata tradotta utilizzando l'IA. Per informazioni più accurate e aggiornate, consulta la [versione inglese](/). </Note>
