Un utente è proprietario di una cartella Il mio Drive. La cartella potrebbe contenere più utenti con accesso a file diversi. Questo modello di accesso restrittivo consente a diversi utenti di visualizzare elenchi diversi di elementi 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". Si crea una situazione in cui è 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 ampio dei 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 ampio su Google Drive.
Informazioni sulle cartelle con accesso limitato
Le cartelle con accesso limitato ti consentono di limitare le cartelle 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 o alla cartella del Drive condiviso (tramite l'accesso da una cartella principale) possono vedere la cartella con limitazioni in Drive, ma non possono aprirla. Questa funzionalità consente di allineare 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 più ampiamente.
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 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, anche se le cartelle sono 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, controlla 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 ulteriori informazioni su capabilities
, consulta la sezione Informazioni sulle funzionalità dei file.
Elenca le cartelle secondarie di una cartella con accesso limitato
Per verificare se puoi elencare le cartelle secondarie 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 metadata 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 le cartelle secondarie di una cartella di questo tipo, il risultato è sempre vuoto.
Accedere alla cartella con i metadati con accesso limitato
Le cartelle con accesso limitato ti consentono di visualizzare i metadata 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 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 un view
. Per ulteriori informazioni, consulta la sezione Visualizzazioni.
Per tutte le voci del campo permissionDetails
, 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 della cartella sia ai metadati, imposta il campo inheritedPermissionsDisabled
su false
o aggiorna il ruolo su reader
o 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. Come qualsiasi altra autorizzazione, questa autorizzazione concede l'accesso sia ai contenuti della cartella sia ai metadati.
Eliminare le cartelle con accesso limitato
Puoi eliminare le cartelle con accesso limitato utilizzando il metodo files.delete()
nella 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 contenente cartelle con accesso limitato, il risultato dipende dal fatto che siano state aggiunte di nuovo come fileOrganizer
alle cartelle con accesso limitato. In questo caso, l'intera gerarchia viene eliminata. In caso contrario, le cartelle con accesso limitato vengono spostate nella cartella principale del Drive condiviso.
Informazioni sull'accesso ampio
L'introduzione delle cartelle con accesso limitato amplia il modello di accesso espansivo dai 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 è presente nella gerarchia della cartella. 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 un accesso limitato alla cartella.
Adattarsi a un accesso più ampio
Per consentire agli sviluppatori di adattarsi più facilmente all'accesso ampio, sono stati apportati diversi miglioramenti all'API Google Drive:
Il campo
permissionDetails[]
nella risorsapermissions
è ora 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. Ti consente di rilevare se determinati ruoli (ad esempioreader
) vengono ereditati dall'elemento 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 quell'ambito, seguite dalle 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 ampio non influiscano sulla tua app.Se attivi questa opzione ora, l'API funzionerà allo stesso modo per gli elementi in Il mio Drive come già avviene per gli elementi 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()
. Analogamente, una chiamata apermissions.delete()
non va a buon fine se l'autorizzazione è ereditata.
Rileva e previeni 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) alle 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
queste richieste. Per rilevare questa situazione, utilizza il campo enforceExpansiveAccess
nella richiesta.
Inoltre, se la tua app ha già creato l'accesso limitato alle cartelle, puoi svolgere i seguenti passaggi:
Esplora la gerarchia delle cartelle per rimuovere l'accesso limitato. Al suo posto, devi impostare l'accesso limitato alle cartelle.
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 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 un pulsante di accesso diretto 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
- Scopri di più sulle cartelle con accesso limitato