Un utente è proprietario di una cartella di Il mio Drive. La cartella potrebbe contenere più utenti con accesso a file diversi. Questo modello di accesso restrittivo significa che utenti diversi potrebbero visualizzare elenchi di elementi diversi all'interno della stessa cartella. Un utente con accesso alla cartella principale Il mio Drive, ma non a un elemento al suo interno, ha "accesso limitato". In questo modo è difficile sapere chi ha accesso all'interno della gerarchia.
Al contrario, i file del Drive condiviso sono di proprietà del Drive condiviso. I Drive condivisi hanno un modello espansivo, quindi ogni utente ha lo stesso elenco di elementi all'interno della stessa cartella.
L'introduzione delle cartelle con accesso limitato replica il modello di accesso espansivo dai Drive condivisi a Il mio Drive. Con questa modifica, le cartelle con accesso limitato sono l'unica eccezione che consente di limitare l'accesso a una sottocartella specifica sia in Il mio Drive sia nei Drive condivisi.
Questa guida spiega come gestire le cartelle con accesso limitato e accesso esteso in Google Drive.
Informazioni sulle cartelle con accesso limitato
Le cartelle con accesso limitato ti consentono di limitare l'accesso a utenti specifici. Solo gli utenti che aggiungi direttamente alle autorizzazioni della cartella possono aprirla e accedere ai relativi contenuti. Gli utenti con accesso ereditato alla cartella Il mio Drive condivisa o alla cartella del Drive condiviso (tramite l'accesso da una cartella principale) possono vedere la cartella con restrizioni in Drive, ma non possono aprirla. Questa funzionalità allinea meglio il comportamento di condivisione degli elementi sia in Il mio Drive sia nei Drive condivisi, consentendoti di organizzare le cartelle con contenuti sensibili insieme a contenuti condivisi in modo più ampio.
Le cartelle con accesso limitato sono disponibili sia in Il mio Drive sia nei Drive condivisi. Il ruolo owner
in Il mio Drive e il ruolo organizer
nei Drive condivisi possono sempre accedere alle cartelle con accesso limitato. Per modificare
l'elenco degli utenti della cartella, non sono necessarie autorizzazioni speciali. I ruoli che possono
condividere le cartelle possono aggiornare gli elenchi dei membri. Per scoprire di più su ruoli e
autorizzazioni, consulta Ruoli e autorizzazioni e Panoramica dei
drive condivisi.
Tieni presente che, sebbene le cartelle siano un tipo di file, l'accesso limitato non è disponibile per i file.
Impostare l'accesso limitato a una cartella
Sebbene gli utenti con autorizzazioni dirette per le cartelle possano accedere a una cartella con accesso limitato, solo il ruolo owner
in Il mio Drive e il ruolo organizer
nei Drive condivisi possono attivare o disattivare l'accesso limitato.
Inoltre, se un utente con il ruolo writer
in Il mio Drive ha
il campo booleano writersCanShare
nella risorsa
files
impostato su true
, può anche attivare o disattivare la funzionalità.
Per limitare l'accesso a una cartella, imposta il campo booleano inheritedPermissionsDisabled
della risorsa files
su true
. Quando true
, solo il ruolo owner
, il ruolo organizer
e gli utenti con autorizzazioni dirette per la cartella possono accedervi.
Per riattivare le autorizzazioni ereditate, imposta inheritedPermissionsDisabled
su
false
.
Verificare l'autorizzazione a limitare l'accesso a una cartella
Per verificare se puoi limitare l'accesso a una cartella, esamina i valori booleani
dei campi capabilities.canDisableInheritedPermissions
e
capabilities.canEnableInheritedPermissions
nella risorsa files
. Queste impostazioni confermano se hai
l'autorizzazione per limitare l'accesso a una cartella tramite il
campo inheritedPermissionsDisabled
.
Per maggiori informazioni su capabilities
, consulta la sezione Informazioni sulle funzionalità dei file.
Elencare i figli di una cartella con accesso limitato
Per verificare se puoi elencare i figli di una cartella, utilizza il campo booleano
capabilities.canListChildren
.
Il valore restituito è sempre false
quando l'elemento non è una cartella o se l'accesso del richiedente ai contenuti della cartella è stato rimosso impostando inheritedPermissionsDisabled
su false
.
Se il tuo accesso ai contenuti della cartella è stato rimosso, puoi comunque accedere ai
metadati della cartella con i metodi
files.get()
e
files.list()
. Per verificare che l'accesso sia limitato, controlla il corpo della risposta per vedere se l'elemento è una cartella con il tipo MIME application/vnd.google-apps.folder
e il campo capabilities.canListChildren
è impostato su false. Se provi a elencare
i figli di una cartella di questo tipo, il risultato è sempre vuoto.
Accedere ai metadati delle cartelle con accesso limitato
Le cartelle con accesso limitato ti consentono di visualizzare i metadati della cartella se non hai accesso ai contenuti della cartella.
Quando utilizzi la risorsa permissions
per
determinare l'accesso di un utente, sia le cartelle di My Drive sia quelle del Drive condiviso
che concedono l'accesso solo ai metadati contengono i seguenti valori nel
corpo della risposta: inheritedPermissionsDisabled=true
e view=metadata
. Il ruolo
è sempre impostato su reader
. Il campo view
viene compilato solo per le autorizzazioni
che appartengono a un view
. Per saperne di più, consulta Visualizzazioni.
Tutte le voci nel campo permissionDetails
hanno il campo inherited
impostato
su true
per indicare che l'autorizzazione è ereditata e che l'accesso diretto ai
contenuti della cartella non è stato concesso.
Per concedere l'accesso sia ai contenuti che ai metadati della cartella, imposta il campo
inheritedPermissionsDisabled
su false
o aggiorna il ruolo a reader
o a un livello superiore.
Infine, se un'autorizzazione è stata inizialmente limitata disattivando l'ereditarietà in una cartella (inheritedPermissionsDisabled=true
) e poi l'autorizzazione è stata aggiunta di nuovo direttamente alla cartella, i valori nel corpo della risposta diventano inheritedPermissionsDisabled=true
con il campo view
non impostato. Se la cartella si trova in un Drive condiviso, l'elenco permissionDetails
contiene una voce con il campo inherited
impostato su false
per indicare che l'autorizzazione non è ereditata. Questa
autorizzazione concede l'accesso sia ai contenuti della cartella sia ai metadati, come qualsiasi altra
autorizzazione.
Eliminare le cartelle con accesso limitato
Puoi eliminare le cartelle con accesso limitato utilizzando il metodo files.delete()
sulla risorsa files
.
In Il mio Drive, solo il proprietario dell'elemento può eliminare una gerarchia di cartelle. Se un utente elimina una gerarchia con cartelle con accesso limitato e di proprietà di altri, queste cartelle vengono spostate in Il mio Drive del proprietario.
Se l'utente ha il ruolo owner
, l'intera gerarchia viene eliminata.
Nei Drive condivisi, il ruolo organizer
può eliminare le gerarchie anche se
contengono cartelle con accesso limitato. Se il ruolo fileOrganizer
elimina una
gerarchia che contiene cartelle con accesso limitato, il risultato dipende dal fatto che
siano stati aggiunti di nuovo come fileOrganizer
nelle cartelle con accesso limitato. In caso affermativo, l'intera gerarchia viene eliminata. In caso contrario, le cartelle con accesso limitato vengono spostate nella cartella principale del Drive condiviso.
Informazioni sull'accesso esteso
L'introduzione delle cartelle con accesso limitato estende il modello di accesso espansivo dai Drive condivisi a Il mio Drive. Una volta implementato il modello di accesso, l'accesso a una cartella implica almeno lo stesso livello di accesso a tutti gli elementi della gerarchia di cartelle. Le cartelle con accesso limitato sono l'unica eccezione che consente di limitare l'accesso a una sottocartella specifica sia in Il mio Drive sia nei Drive condivisi. Ciò significa anche che, a meno che la cartella non abbia accesso limitato, non puoi più rimuovere l'accesso ereditato dalla cartella principale. In questo modo, l'API Drive restituisce una risposta di errore. Per definire un controllo dell'accesso più granulare all'interno di una gerarchia, puoi impostare l'accesso limitato alla cartella.
Adattarsi all'accesso esteso
Per consentire agli sviluppatori di adattarsi più facilmente all'accesso esteso, sono stati apportati diversi miglioramenti all'API Google Drive:
Il campo
permissionDetails[]
nella risorsapermissions
ora viene compilato per gli elementi in Il mio Drive. In precedenza, i campi non erano impostati o venivano replicati dal campoteamDrivePermissionDetails
, se opportuno. Vengono compilati solo i campipermissionType
einherited
in Il mio Drive.Il campo
permissionDetails[].inherited
indica se un'autorizzazione è ereditata dall'elemento principale. Consente di rilevare se determinati ruoli (ad esempioreader
) vengono ereditati dall'elemento principale e se un ruolo di livello superiore (ad esempiowriter
) viene concesso direttamente all'elemento.Quando visualizzi le autorizzazioni per un elemento, il campo
permissionDetails[]
potrebbe contenere più voci. Se presente, c'è una voce per l'autorizzazione direttamente sull'elemento per l'ambito, quindi voci per le autorizzazioni ereditate o dei membri sull'elemento.Gli sviluppatori possono attivare il comportamento dell'API di accesso espansivo in My Drive prima di qualsiasi applicazione obbligatoria futura. Puoi impostare il parametro di richiesta
enforceExpansiveAccess
sutrue
in modo che le modifiche future all'accesso espansivo non influiscano sulla tua app.L'attivazione ora significa che l'API funziona allo stesso modo per gli elementi in Il mio Drive e per quelli nei Drive condivisi. Ad esempio, qualsiasi tentativo di limitare l'accesso al di sotto del ruolo ereditato non va a buon fine quando viene chiamato
permissions.update()
. Allo stesso modo, una chiamata apermissions.delete()
non va a buon fine se l'autorizzazione viene ereditata.
Rilevare e impedire l'accesso limitato
La tua app potrebbe creare un accesso limitato (in cui un utente ha accesso alla
cartella principale Il mio Drive, ma non a un file al suo interno) nelle
cartelle Il mio Drive quando utilizzi i metodi permissions.update()
o
permissions.delete()
.
Quando utilizzi questi metodi, puoi esaminare i campi della risorsa permissions
per vedere dove una richiesta potrebbe creare un accesso limitato ed evitare di inviare tali richieste. Per rilevare questa situazione, utilizza il campo enforceExpansiveAccess
nella richiesta.
Inoltre, se la tua app ha già creato un accesso limitato alle tue cartelle, puoi procedere nel seguente modo:
Attraversa la gerarchia delle cartelle per rimuovere l'accesso limitato. Al suo posto, devi impostare l'accesso limitato alla cartella.
Se l'elemento che stai tentando di annullare la condivisione è un file, puoi creare una cartella intermedia, impostare l'accesso limitato e spostare il file all'interno della nuova cartella.
Se non vuoi utilizzare le cartelle con accesso limitato, ma devi rimuovere alcuni accessi, puoi spostare il file in una cartella privata (ad esempio la cartella principale di Il mio Drive). Puoi quindi creare una scorciatoia alla posizione originale dell'elemento in modo che gli utenti possano continuare a utilizzarlo.
Argomenti correlati
- Condividere file, cartelle e unità
- Come funziona l'accesso ai file nei Drive condivisi
- Informazioni sulle cartelle con accesso limitato