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 di Il mio Drive, ma non a un elemento al suo interno, ha "accesso limitato". Si crea una situazione in cui è difficile sapere chi ha accesso all'interno della gerarchia.
Al contrario, i file dei Drive condivisi 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 dei Drive condivisi in 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 ed espansivo in Google Drive.
Informazioni sulle cartelle con accesso limitato
Le cartelle con accesso limitato consentono di limitare le cartelle a utenti specifici. Solo gli utenti che aggiungi direttamente alle autorizzazioni della cartella possono aprirla e accedere ai suoi contenuti. Gli utenti con accesso ereditato alla cartella condivisa di Il mio Drive o alla cartella del Drive condiviso (tramite l'accesso da una cartella principale) possono vedere la cartella con accesso limitato 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 delle cartelle non sono necessarie autorizzazioni speciali. I ruoli che possono condividere le cartelle possono aggiornare gli elenchi dei membri. Per saperne 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 nella risorsa files su true. Se il valore è true, solo il ruolo owner, il ruolo organizer e gli utenti con autorizzazioni dirette per le cartelle possono accedervi.
Per riattivare le autorizzazioni ereditate, imposta inheritedPermissionsDisabled su false.
Verificare l'autorizzazione per limitare l'accesso a una cartella
Per verificare se puoi limitare l'accesso a una cartella, esamina i valori booleani
dei capabilities.canDisableInheritedPermissions e
capabilities.canEnableInheritedPermissions campi nella files risorsa. Queste impostazioni confermano se hai l'autorizzazione per limitare l'accesso a una cartella tramite il campo inheritedPermissionsDisabled.
Per saperne di più su capabilities, consulta Informazioni sulle funzionalità dei file.
Elencare gli elementi secondari di una cartella con accesso limitato
Per verificare se puoi elencare gli elementi secondari di una cartella, utilizza il campo booleano capabilities.canListChildren.
Il valore restituito è sempre false se 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 se il
capabilities.canListChildren campo è impostato su false. Se provi a elencare gli elementi secondari 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 delle cartelle anche se non hai accesso ai contenuti della cartella.
Quando utilizzi la risorsa permissions per determinare l'accesso di un utente, sia le cartelle di Il mio Drive sia quelle dei Drive condivisi 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 una 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 non è stato concesso l'accesso diretto ai contenuti della cartella.
Per concedere l'accesso sia ai contenuti sia ai metadati della cartella, imposta il campo inheritedPermissionsDisabled su false o aggiorna il ruolo a reader o superiore.
Infine, se un'autorizzazione è stata limitata per la prima volta disattivando l'ereditarietà in una cartella (inheritedPermissionsDisabled=true) e poi l'autorizzazione è stata aggiunta 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 ha una voce con il campo inherited impostato su false per indicare che l'autorizzazione non è ereditata. Questa autorizzazione concede l'accesso sia ai contenuti sia ai metadati della cartella, come qualsiasi altra autorizzazione.
Eliminare le cartelle con accesso limitato
Puoi eliminare le cartelle con accesso limitato utilizzando il files.delete() metodo nella files risorsa.
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 state aggiunte 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 espansivo
L'introduzione delle cartelle con accesso limitato estende il modello di accesso espansivo dei Drive condivisi a Il mio Drive. Una volta implementato il modello di accesso, avere accesso a una cartella significa avere almeno lo stesso livello di accesso a tutto ciò che si trova nella 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 caso, 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 espansivo
Per semplificare l'adattamento degli sviluppatori all'accesso espansivo, sono stati apportati diversi miglioramenti all'API Google Drive:
Il campo
permissionDetails[]nella risorsapermissionsviene ora compilato per gli elementi in Il mio Drive. In precedenza, i campi non erano impostati o venivano replicati dal campoteamDrivePermissionDetails, se appropriato. In Il mio Drive vengono compilati solo i campipermissionTypeeinherited.Il campo
permissionDetails[].inheritedindica se un'autorizzazione è ereditata dall'elemento principale. Ti consente di rilevare se determinati ruoli (ad esempioreader) sono ereditati dal principale e se un ruolo superiore (ad esempiowriter) viene concesso direttamente all'elemento.Quando visualizzi le autorizzazioni per un elemento, il campo
permissionDetails[]potrebbe contenere più voci. Se presente, è presente una voce per l'autorizzazione direttamente sull'elemento per l'ambito e poi le voci per le autorizzazioni ereditate o dei membri sull'elemento.Gli sviluppatori possono attivare il comportamento dell'API di accesso espansivo in Il mio Drive prima di qualsiasi applicazione obbligatoria futura. Puoi impostare il parametro della richiesta
enforceExpansiveAccesssutruein modo che le modifiche future all'accesso espansivo non influiscano sulla tua app.Se attivi questa opzione ora, l'API funziona allo stesso modo per gli elementi in Il mio Drive e per gli elementi nei Drive condivisi. Ad esempio, qualsiasi tentativo di limitare l'accesso al di sotto del ruolo ereditato non riesce quando chiami
permissions.update(). Allo stesso modo, una chiamata apermissions.delete()non riesce se l'autorizzazione è ereditata.
Rilevare e impedire l'accesso limitato
La tua app potrebbe creare un accesso limitato (in cui un utente ha accesso alla cartella principale di Il mio Drive, ma non a un file al suo interno) nelle cartelle di Il mio Drive quando utilizzi i metodi permissions.update() o permissions.delete().
Quando utilizzi questi metodi, puoi esaminare i campi nella 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 seguire questi passaggi:
Attraversa la gerarchia di cartelle per rimuovere l'accesso limitato. Al suo posto, devi impostare l'accesso limitato alle cartelle.
Se l'elemento di cui stai tentando di annullare la condivisione è un file, puoi creare una cartella intermedia, impostare l'accesso limitato e spostare il file nella 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 comunque utilizzarlo.
Argomenti correlati
- Condividere file, cartelle e Drive
- Come funziona l'accesso ai file nei Drive condivisi
- Informazioni sulle cartelle con accesso limitato