Controllo degli Accessi
IronFlock utilizza un sistema di privilegi granulare per controllare chi può leggere, modificare e gestire gli asset all’interno dei tuoi progetti. I privilegi sono tracciati per utente, per asset, e sono completamente versionati nel tempo.
Come Funzionano i Privilegi
Proprietà
Solo progetti e app hanno un concetto di proprietà. Il proprietario di un progetto è un superutente: ha automaticamente il pieno controllo su tutti gli asset all’interno di quel progetto — dispositivi, gruppi, board e backend dei dati — indipendentemente dalle impostazioni a livello di singolo asset. Anche quando altri utenti aggiungono dispositivi a un progetto, il proprietario del progetto mantiene l’accesso da superutente a quei dispositivi.
Il proprietario di un’app ha analogamente il pieno controllo sul codice, le release e la distribuzione di quell’app.
Privilegi Granulari per Asset
All’interno di un progetto, puoi concedere permessi granulari a singoli membri del progetto su quattro tipi di asset:
| Tipo di Asset | Descrizione |
|---|---|
| Device | Un dispositivo edge fisico o virtuale |
| Device Group | Un raggruppamento logico di dispositivi all’interno di un progetto |
| User Board | Un dashboard di visualizzazione dati |
| Data Backend | Un database time-series predisposto per progetto |
I privilegi possono essere assegnati solo agli utenti che sono già stati invitati nel progetto. Non è possibile concedere privilegi a livello di asset a utenti esterni al progetto.
Privilegi Predefiniti per i Membri del Progetto
All’interno di un progetto puoi definire privilegi predefiniti che si applicano a tutti i membri del progetto per ogni tipo di asset. Questo ti permette, ad esempio, di dare a ogni membro del progetto l’accesso in lettura a tutte le board per impostazione predefinita, senza concedere l’accesso singolarmente.
Privilegi del Progetto
Il proprietario del progetto ha pieno accesso da superutente al progetto e a tutti i suoi asset. Ad altri utenti possono essere concessi i seguenti permessi a livello di progetto:
| Permesso | Descrizione |
|---|---|
| Create Devices | Aggiungere nuovi dispositivi al progetto |
| Create Groups | Creare nuovi gruppi di dispositivi |
| Update | Modificare nome, descrizione e metadati del progetto |
| Grant Privileges | Assegnare o modificare i permessi per altri utenti |
| Delete | Eliminare definitivamente l’intero progetto |
Privilegi del Dispositivo
| Permesso | Descrizione |
|---|---|
| Operate | Inviare comandi di controllo e interagire con il dispositivo |
| Develop | Accedere alle funzionalità di sviluppo e ai container sul dispositivo |
| Install | Installare e rimuovere app sul dispositivo |
| Update | Modificare nome, descrizione e altri metadati |
| Network | Configurare le impostazioni di rete (Wi-Fi, Ethernet) |
| Maintain | Accedere alle funzionalità di manutenzione, al terminale e alla diagnostica di sistema |
| Delete | Rimuovere definitivamente il dispositivo dal progetto |
| Grant | Assegnare o modificare i privilegi per altri utenti su questo dispositivo |
Privilegi del Gruppo di Dispositivi
| Permesso | Descrizione |
|---|---|
| Update | Modificare nome, descrizione e appartenenza al gruppo |
| Delete | Rimuovere definitivamente il gruppo |
| Grant | Assegnare o modificare i privilegi per altri utenti su questo gruppo |
Privilegi dell’App
| Permesso | Descrizione |
|---|---|
| Read | Visualizzare l’app, la sua descrizione e i dashboard |
| Develop | Accedere al codice sorgente, modificare l’app e utilizzare App Studio |
| View Code | Accesso in sola lettura al codice sorgente dell’app |
| Update | Modificare i metadati dell’app (nome, descrizione, immagine) |
| Delete | Eliminare definitivamente l’app |
| Grant | Assegnare o modificare i privilegi per altri utenti su questa app |
| Release | Pubblicare nuove release sull’App Store |
| Use | Installare l’app in un progetto (richiesto per le app private) |
| App Store | Gestire la scheda e la visibilità sull’App Store |
Privilegi della Board e del Backend dei Dati
| Permesso | Descrizione |
|---|---|
| Update | Modificare contenuto o configurazione |
| Grant | Assegnare permessi ad altri utenti |
| Delete | Rimuovere definitivamente la board o il backend dei dati |
Invitare Utenti
Per concedere privilegi a un altro utente all’interno di un progetto:
- Naviga alla sezione Privileges di qualsiasi asset (progetto, dispositivo, gruppo, board o backend dei dati).
- Clicca su Invite User.
- Cerca l’utente tramite indirizzo email.
- Seleziona i permessi da concedere.
- Clicca su Invite.
Solo gli utenti che sono già membri del progetto possono ricevere privilegi a livello di asset all’interno di quel progetto.
Trasferimento della Proprietà
Trasferimento di un Progetto
Il proprietario di un progetto può trasferire la proprietà a un altro utente IronFlock. Il nuovo proprietario riceve pieno accesso da superutente; l’accesso del precedente proprietario dipende poi dai privilegi che mantiene nel progetto.
Per trasferire la proprietà del progetto, apri le impostazioni del progetto e naviga alla scheda Privileges.
Trasferimento di un’App
Il proprietario di un’app può trasferire la proprietà a un altro utente IronFlock. Il trasferimento della proprietà cede il pieno controllo del codice, delle release, dei prezzi e della distribuzione dell’app al nuovo proprietario.
Per trasferire la proprietà dell’app, apri l’app in App Studio e naviga alla scheda Privileges.
Trasferimento e Rivendicazione del Dispositivo
Trasferimento di un Dispositivo a un Altro Progetto
Un dispositivo può essere trasferito da un progetto a un altro. Questo sposta il dispositivo — insieme alla sua configurazione — al progetto di destinazione. Solo gli utenti con il permesso Create Devices nel progetto di destinazione possono avviare o ricevere un trasferimento.
Dispositivi Rivendicabili
Un dispositivo può essere contrassegnato come claimable. Quando un dispositivo è rivendicabile, qualsiasi utente IronFlock che conosce l’ID di quel dispositivo può rivendicarlo attivamente — trasferendolo in un progetto in cui detiene il privilegio Create Devices. Questo è utile per:
- Flussi di auto-provisioning — i tecnici sul campo registrano i dispositivi senza bisogno del coinvolgimento degli amministratori
- Attivazione out-of-box — i clienti finali scansionano un ID dispositivo (es. da un’etichetta QR code) per portare il dispositivo nel loro progetto
Una volta rivendicato, il dispositivo si sposta nel progetto del rivendicante e non è più rivendicabile.
Ereditarietà dei Privilegi
- Project owner — Ha automaticamente il pieno controllo su tutti i dispositivi, gruppi, board e backend dei dati all’interno del progetto. Non sono necessarie concessioni separate per asset.
- Default member privileges — Si applicano a tutti i membri del progetto per un dato tipo di asset, salvo sovrascritti da una concessione individuale specifica.
- I privilegi a livello di dispositivo sono indipendenti dai privilegi a livello di gruppo. Assegnare privilegi su un gruppo non si propaga alle impostazioni dei singoli dispositivi.
Audit Trail
Ogni modifica ai privilegi viene registrata con:
- Chi ha effettuato la modifica (concedente)
- Cosa è cambiato (quali permessi sono stati aggiunti o rimossi)
- Chi è stato interessato (l’utente i cui privilegi sono cambiati)
- Quando è avvenuta la modifica
Questo audit trail temporale è disponibile nella sezione Audit Logs ed è utile per revisioni di conformità e indagini di sicurezza.