Um usuário é proprietário de uma pasta do Meu Drive. A pasta pode conter vários usuários com acesso a arquivos diferentes. Esse modelo de acesso restrito significa que diferentes usuários podem ter acesso a listas diferentes de itens na mesma pasta. Um usuário com acesso à pasta mãe do Meu Drive, mas não a um item dentro dela, tem "acesso restrito". Isso cria uma situação em que é difícil saber quem tem acesso dentro da hierarquia.
Por outro lado, os arquivos do drive compartilhado pertencem ao drive compartilhado. Os drives compartilhados têm um modelo expansivo, para que cada usuário tenha a mesma lista de itens na mesma pasta.
A introdução de pastas com acesso limitado replica o modelo de acesso expansivo dos drives compartilhados para o Meu Drive. Com essa mudança, as pastas com acesso limitado são a única exceção que permite restringir o acesso a uma subpasta específica no Meu Drive e nos drives compartilhados.
Este guia explica como gerenciar pastas com acesso limitado e expansivo no Google Drive.
Sobre as pastas com acesso limitado
As pastas com acesso limitado permitem que você restrinja o acesso a usuários específicos. Somente os usuários que você adicionar diretamente às permissões da pasta podem abrir e acessar o conteúdo dela. Os usuários com acesso herdado à pasta compartilhada do Meu Drive ou à pasta compartilhada do drive (por meio de acesso a uma pasta pai) podem ver a pasta restrita no Drive, mas não podem abri-la. Esse recurso alinha melhor o comportamento de compartilhamento de itens no Meu Drive e nos drives compartilhados, permitindo que você organize pastas com conteúdo sensível e conteúdo mais compartilhado.
As pastas com acesso limitado estão disponíveis no Meu Drive e
nos drives compartilhados. A função owner
no Meu Drive e a função organizer
nos drives compartilhados sempre podem acessar pastas com acesso limitado. Para modificar
a lista de usuários de pastas, não são necessárias permissões especiais. Os papéis que podem
compartilhar pastas podem atualizar as listas de membros. Para saber mais sobre papéis e
permissões, consulte Papéis e permissões e Visão geral de
unidades compartilhadas.
Embora as pastas sejam um tipo de arquivo, o acesso limitado não está disponível para arquivos.
Definir o acesso limitado a uma pasta
Embora os usuários com permissões diretas de pasta possam acessar uma pasta com acesso
limitado, apenas a função owner
no Meu Drive e a função organizer
em drives compartilhados podem ativar ou desativar o acesso limitado.
Além disso, se um usuário com o papel writer
no Meu Drive tiver
o campo booleano writersCanShare
no recurso files
definido como true
, ele também poderá ativar ou desativar o recurso.
Para limitar o acesso a uma pasta, defina o campo booleano inheritedPermissionsDisabled
no recurso files
como true
. Quando true
, apenas a função owner
, a
função organizer
e os usuários com permissões diretas de pastas podem acessá-la.
Para reativar as permissões herdadas, defina inheritedPermissionsDisabled
como
false
.
Verificar a permissão para limitar o acesso a uma pasta
Para verificar se é possível limitar o acesso a uma pasta, inspecione os valores booleanos
dos campos capabilities.canDisableInheritedPermissions
e
capabilities.canEnableInheritedPermissions
no recurso files
. Essas configurações confirmam se você tem
permissão para limitar o acesso a uma pasta pelo
campo inheritedPermissionsDisabled
.
Para mais informações sobre capabilities
, consulte Entenda os recursos de arquivo.
Listar as pastas filhas de uma pasta com acesso limitado
Para verificar se é possível listar os filhos de uma pasta, use o
campo booleano capabilities.canListChildren
.
O valor retornado é sempre false
quando o item não é uma pasta ou se o
acesso do solicitante ao conteúdo da pasta foi removido ao definir
inheritedPermissionsDisabled
como false
.
Se o acesso ao conteúdo da pasta tiver sido removido, ainda será possível acessar os
metadata da pasta com os métodos files.get()
e
files.list()
. Para confirmar que o acesso está
limitado, verifique o corpo da resposta para saber se o item é uma pasta com o tipo
MIME application/vnd.google-apps.folder
e se o
campo capabilities.canListChildren
está definido como falso. Se você tentar listar os
elementos filhos dessa pasta, o resultado será sempre vazio.
Acessar a pasta com metadados de acesso limitado
As pastas com acesso limitado permitem que você visualize os metadata da pasta se não tiver acesso ao conteúdo dela.
Ao usar o recurso permissions
para
determinar o acesso de um usuário, as pastas do Meu Drive e do drive compartilhado
que concedem acesso apenas aos metadados contêm os seguintes valores no
corpo da resposta: inheritedPermissionsDisabled=true
e view=metadata
. O papel
é sempre definido como reader
. O campo view
só é preenchido para permissões
que pertencem a um view
. Para mais informações, consulte Visualizações.
Todas as entradas no campo permissionDetails
têm o campo inherited
definido
como true
para indicar que a permissão é herdada e que o acesso direto ao
conteúdo da pasta não foi concedido.
Para conceder acesso ao conteúdo e aos metadados da pasta, defina o campo inheritedPermissionsDisabled
como false
ou atualize a função para reader
ou superior.
Por fim, se uma permissão foi limitada primeiro desativando a herança em uma
pasta (inheritedPermissionsDisabled=true
) e depois foi adicionada
diretamente à pasta, os valores no corpo da resposta se tornam
inheritedPermissionsDisabled=true
com o campo view
como não definido. Se a
pasta estiver em um drive compartilhado, a lista permissionDetails
terá uma entrada com o
campo inherited
definido como false
para indicar que a permissão não é herdada. Essa
permissão concede acesso ao conteúdo e aos metadados da pasta, como qualquer outra
permissão.
Excluir pastas com acesso limitado
É possível excluir pastas com acesso limitado usando o método files.delete()
no recurso files
.
No Meu Drive, apenas o proprietário do item pode excluir uma hierarquia de pastas. Se um usuário excluir uma hierarquia com pastas que têm acesso limitado e são de propriedade de outras pessoas, essas pastas vão ser movidas para o Meu Drive do proprietário.
Se o usuário tiver a função owner
, toda a hierarquia será excluída.
Em drives compartilhados, o papel organizer
pode excluir hierarquias, mesmo que elas
tenham pastas com acesso limitado. Se o papel fileOrganizer
excluir uma
hierarquia que contém pastas com acesso limitado, o resultado vai depender se
elas foram adicionadas de volta como fileOrganizer
nas pastas com acesso limitado. Se
forem, toda a hierarquia será excluída. Caso contrário, as pastas com acesso limitado
são movidas para a raiz do drive compartilhado.
Sobre o acesso estendido
A introdução de pastas com acesso limitado amplia o modelo de acesso expansivo dos drives compartilhados para o Meu Drive. Depois que o modelo de acesso for implementado, ter acesso a uma pasta significa ter pelo menos o mesmo nível de acesso a tudo na hierarquia dessa pasta. As pastas com acesso limitado são a única exceção que permite restringir o acesso a uma subpasta específica no Meu Drive e nos drives compartilhados. Isso também significa que, a menos que sua pasta tenha acesso limitado, não será mais possível remover o acesso herdado da pasta pai. Isso significa que a API do Drive vai retornar uma resposta de erro. Para definir um controle de acesso mais granular em uma hierarquia, defina o acesso limitado na pasta.
Adaptar-se ao acesso estendido
Para facilitar a adaptação dos desenvolvedores ao acesso amplo, fizemos várias melhorias na API Google Drive:
O campo
permissionDetails[]
no recursopermissions
agora é preenchido para itens no Meu Drive. Anteriormente, os campos eram desconfigurados ou replicados do campoteamDrivePermissionDetails
, quando apropriado. Somente os campospermissionType
einherited
no Meu Drive são preenchidos.O campo
permissionDetails[].inherited
indica se uma permissão é herdada do item pai. Ele permite detectar se determinados papéis (comoreader
) são herdados do pai e se um papel mais alto (comowriter
) é concedido diretamente no item.Ao conferir as permissões de um item, o campo
permissionDetails[]
pode conter várias entradas. Se presente, há uma entrada para a permissão diretamente no item para esse escopo e, em seguida, entradas para as permissões herdadas ou de membro no item.Os desenvolvedores podem ativar o comportamento de acesso de API expansivo no My Drive antes de qualquer aplicação obrigatória futura. É possível definir o parâmetro de solicitação
enforceExpansiveAccess
comotrue
para que as mudanças futuras no acesso amplo não afetem seu app.Ativar essa opção significa que a API vai funcionar da mesma forma para itens no Meu Drive, como já faz para itens em drives compartilhados. Por exemplo, qualquer tentativa de restringir o acesso abaixo da função herdada falha ao chamar
permissions.update()
. Da mesma forma, uma chamada parapermissions.delete()
falha se a permissão for herdada.
Detectar e impedir o acesso restrito
Seu app pode estar criando acesso restrito (em que um usuário tem acesso à
pasta mãe do Meu Drive, mas não a um arquivo dentro dela) nas
pastas do Meu Drive ao usar os métodos permissions.update()
ou
permissions.delete()
.
Ao usar esses métodos, você pode analisar os campos no recurso permissions
para saber onde uma solicitação pode criar acesso restrito e evitar o envio
de solicitações desse tipo. Para detectar essa situação, use o campo enforceExpansiveAccess
na solicitação.
Além disso, se o app já tiver criado o acesso restrito às pastas, siga estas etapas:
Navegue pela hierarquia de pastas para remover o acesso restrito. Em vez disso, configure o acesso limitado à pasta.
Se o item que você está tentando remover o compartilhamento for um arquivo, crie uma pasta intermediária, defina o acesso limitado nela e mova o arquivo para a nova pasta.
Se você não quiser usar pastas de acesso limitado, mas precisar remover algum acesso, mova o arquivo para uma pasta particular (como a raiz do Meu Drive). Em seguida, crie um atalho para o local original do item para que os usuários ainda possam usá-lo.
Temas relacionados
- Compartilhar arquivos, pastas e unidades
- Como funciona o acesso a arquivos em drives compartilhados
- Saiba mais sobre as pastas com acesso limitado