Ein Nutzer ist Inhaber eines Ordners in „Meine Ablage“. Der Ordner kann mehrere Nutzer mit Zugriff auf unterschiedliche Dateien enthalten. Aufgrund dieses eingeschränkten Zugriffsmodells sehen verschiedene Nutzer möglicherweise unterschiedliche Listen von Elementen im selben Ordner. Ein Nutzer, der Zugriff auf den übergeordneten Ordner „Meine Ablage“ hat, aber nicht auf ein Element in diesem Ordner, hat „eingeschränkten Zugriff“. Das macht es schwierig zu wissen, wer innerhalb der Hierarchie Zugriff hat.
Dateien in geteilten Ablagen sind dagegen Eigentum der geteilten Ablage. Für freigegebene Laufwerke wird ein umfassendes Modell verwendet, sodass jeder Nutzer dieselbe Liste von Elementen im selben Ordner hat.
Mit der Einführung von Ordnern mit eingeschränktem Zugriff wird das erweiterte Zugriffsmodell von geteilten Ablagen auf „Meine Ablage“ übertragen. Durch diese Änderung sind Ordner mit eingeschränktem Zugriff die einzige Ausnahme, bei der der Zugriff auf einen bestimmten Unterordner sowohl in „Meine Ablage“ als auch in geteilten Ablagen eingeschränkt werden kann.
In diesem Leitfaden wird beschrieben, wie Sie Ordner mit eingeschränktem und erweitertem Zugriff in Google Drive verwalten.
Ordner mit eingeschränktem Zugriff
Mit Ordnern mit eingeschränktem Zugriff können Sie Ordner auf bestimmte Nutzer beschränken. Nur Nutzer, die Sie direkt den Berechtigungen des Ordners hinzufügen, können ihn öffnen und auf seine Inhalte zugreifen. Nutzer mit übernommenem Zugriff auf den freigegebenen Ordner „Meine Ablage“ oder den Ordner einer geteilten Ablage (über den Zugriff über einen übergeordneten Ordner) können den eingeschränkten Ordner in Drive sehen, aber nicht öffnen. Mit dieser Funktion wird das Freigabeverhalten von Elementen in „Meine Ablage“ und in geteilten Ablagen besser abgestimmt. So können Sie Ordner mit vertraulichen Inhalten neben allgemein freigegebenen Inhalten organisieren.
Ordner mit eingeschränktem Zugriff sind sowohl in „Meine Ablage“ als auch in geteilten Ablagen verfügbar. Nutzer mit der Rolle owner
in „Meine Ablage“ und der Rolle organizer
in geteilten Ablagen können immer auf Ordner mit eingeschränktem Zugriff zugreifen. Zum Ändern der Liste der Ordnernutzer sind keine speziellen Berechtigungen erforderlich. Nutzer mit Rollen, die Ordner freigeben können, können die Mitgliederlisten aktualisieren. Weitere Informationen zu Rollen und Berechtigungen finden Sie unter Rollen und Berechtigungen und Freigegebene Laufwerke – Übersicht.
Ordner sind zwar eine Art von Datei, aber für Dateien ist der eingeschränkte Zugriff nicht verfügbar.
Eingeschränkten Zugriff auf einen Ordner festlegen
Nutzer mit direkten Ordnerberechtigungen können auf einen Ordner mit eingeschränktem Zugriff zugreifen. Nur die Rolle owner
in „Meine Ablage“ und die Rolle organizer
in geteilten Ablagen können den eingeschränkten Zugriff aktivieren oder deaktivieren.
Wenn ein Nutzer mit der Rolle writer
in Google Drive das boolesche Feld writersCanShare
für die Ressource files
auf true
festgelegt hat, kann er die Funktion auch aktivieren oder deaktivieren.
Wenn Sie den Zugriff auf einen Ordner einschränken möchten, legen Sie das boolesche Feld inheritedPermissionsDisabled
der Ressource files
auf true
fest. Bei true
können nur die Rolle owner
, die Rolle organizer
und Nutzer mit direkten Ordnerberechtigungen darauf zugreifen.
Wenn Sie die übernommenen Berechtigungen wieder aktivieren möchten, legen Sie für inheritedPermissionsDisabled
den Wert false
fest.
Berechtigung zum Einschränken des Zugriffs auf einen Ordner prüfen
Ob Sie den Zugriff auf einen Ordner einschränken können, sehen Sie anhand der booleschen Werte der Felder capabilities.canDisableInheritedPermissions
und capabilities.canEnableInheritedPermissions
in der Ressource files
. In diesen Einstellungen wird bestätigt, ob Sie berechtigt sind, den Zugriff auf einen Ordner über das Feld inheritedPermissionsDisabled
einzuschränken.
Weitere Informationen zu capabilities
finden Sie unter Dateifunktionen.
Untergeordnete Elemente eines Ordners mit eingeschränktem Zugriff auflisten
Mit dem booleschen Feld capabilities.canListChildren
können Sie prüfen, ob Sie die untergeordneten Elemente eines Ordners auflisten können.
Der zurückgegebene Wert ist immer false
, wenn es sich bei dem Element nicht um einen Ordner handelt oder der Zugriff des Anfragenden auf den Inhalt des Ordners entfernt wurde, indem inheritedPermissionsDisabled
auf false
gesetzt wurde.
Wenn Ihr Zugriff auf den Inhalt des Ordners entfernt wurde, können Sie mit den Methoden files.get()
und files.list()
weiterhin auf die metadata des Ordners zugreifen. Prüfe im Antworttext, ob der Zugriff eingeschränkt ist. Dazu muss das Element ein Ordner mit dem MIME-Typ application/vnd.google-apps.folder
sein und das Feld capabilities.canListChildren
muss auf „false“ (falsch) gesetzt sein. Wenn Sie versuchen, die untergeordneten Elemente eines solchen Ordners aufzulisten, ist das Ergebnis immer leer.
Auf Ordner mit Metadaten für eingeschränkten Zugriff zugreifen
Bei Ordnern mit eingeschränktem Zugriff können Sie die metadata des Ordners aufrufen, wenn Sie keinen Zugriff auf den Inhalt des Ordners haben.
Wenn Sie die Ressource permissions
verwenden, um den Zugriff eines Nutzers zu bestimmen, enthalten sowohl „Meine Ablage“ als auch geteilte Ordner, die nur Zugriff auf die Metadaten gewähren, die folgenden Werte im Antworttext: inheritedPermissionsDisabled=true
und view=metadata
. Die Rolle ist immer auf reader
festgelegt. Das Feld view
wird nur für Berechtigungen ausgefüllt, die zu einer view
gehören. Weitere Informationen finden Sie unter Aufrufe.
Für alle Einträge im Feld permissionDetails
ist das Feld inherited
auf true
festgelegt, um anzugeben, dass die Berechtigung übernommen wurde und kein direkter Zugriff auf den Inhalt des Ordners gewährt wurde.
Wenn Sie Zugriff auf den Ordnerinhalt und die Metadaten gewähren möchten, legen Sie das Feld inheritedPermissionsDisabled
auf false
fest oder aktualisieren Sie die Rolle auf reader
oder höher.
Wenn eine Berechtigung zuerst eingeschränkt wurde, indem die Übernahme für einen Ordner (inheritedPermissionsDisabled=true
) deaktiviert wurde, und die Berechtigung dann direkt dem Ordner hinzugefügt wurde, werden die Werte im Antworttext zu inheritedPermissionsDisabled=true
, wobei das Feld view
nicht festgelegt ist. Wenn sich der Ordner in einer geteilten Ablage befindet, enthält die Liste permissionDetails
einen Eintrag, bei dem das Feld inherited
auf false
festgelegt ist, um anzugeben, dass die Berechtigung nicht übernommen wurde. Diese Berechtigung gewährt wie jede andere Berechtigung Zugriff auf den Ordnerinhalt und die Metadaten.
Ordner mit eingeschränktem Zugriff löschen
Sie können Ordner mit eingeschränktem Zugriff mit der Methode files.delete()
auf der files
-Ressource löschen.
In „Meine Ablage“ kann eine Ordnerhierarchie nur vom Eigentümer des Elements gelöscht werden. Wenn ein Nutzer eine Hierarchie mit Ordnern löscht, die nur eingeschränkt zugänglich sind und deren Eigentümer andere Nutzer sind, werden diese Ordner in „Meine Ablage“ des Eigentümers verschoben.
Wenn der Nutzer die Rolle owner
hat, wird die gesamte Hierarchie gelöscht.
In geteilten Ablagen kann die Rolle organizer
Hierarchien löschen, auch wenn sie Ordner mit eingeschränktem Zugriff enthalten. Wenn die Rolle fileOrganizer
eine Hierarchie löscht, die Ordner mit eingeschränktem Zugriff enthält, hängt das Ergebnis davon ab, ob die Rolle fileOrganizer
den Ordnern mit eingeschränktem Zugriff wieder hinzugefügt wurde. Andernfalls wird die gesamte Hierarchie gelöscht. Andernfalls werden die Ordner mit eingeschränktem Zugriff in den Stammordner der geteilten Ablage verschoben.
Erweiterter Zugriff
Mit der Einführung von Ordnern mit eingeschränktem Zugriff wird das umfassende Zugriffsmodell von geteilten Ablagen auf „Meine Ablage“ ausgeweitet. Sobald das Zugriffsmodell eingeführt wurde, bedeutet der Zugriff auf einen Ordner mindestens die gleiche Zugriffsebene auf alle Elemente in dieser Ordnerhierarchie. Ordner mit eingeschränktem Zugriff sind die einzige Ausnahme, bei der der Zugriff auf einen bestimmten Unterordner sowohl in „Mein Drive“ als auch in geteilten Ablagen eingeschränkt werden kann. Das bedeutet auch, dass Sie den Zugriff, der vom übergeordneten Ordner übernommen wird, nur dann entfernen können, wenn der Zugriff auf Ihren Ordner eingeschränkt ist. In diesem Fall gibt die Drive API eine Fehlerantwort zurück. Wenn Sie eine detailliertere Zugriffssteuerung innerhalb einer Hierarchie definieren möchten, können Sie für den Ordner einen eingeschränkten Zugriff festlegen.
Anpassung an den erweiterten Zugriff
Um Entwicklern die Umstellung auf den erweiterten Zugriff zu erleichtern, wurden mehrere Verbesserungen an der Google Drive API vorgenommen:
Das Feld
permissionDetails[]
in der Ressourcepermissions
wird jetzt für Elemente in „Meine Ablage“ ausgefüllt. Bisher wurden die Felder entweder zurückgesetzt oder bei Bedarf aus dem FeldteamDrivePermissionDetails
repliziert. In „Meine Ablage“ sind nur die FelderpermissionType
undinherited
ausgefüllt.Das Feld
permissionDetails[].inherited
gibt an, ob eine Berechtigung vom übergeordneten Element des Elements übernommen wird. So können Sie feststellen, ob bestimmte Rollen (z. B.reader
) vom übergeordneten Element übernommen werden und ob dem Element direkt eine höhere Rolle (z. B.writer
) zugewiesen wurde.Wenn Sie sich die Berechtigungen für ein Element ansehen, kann das Feld
permissionDetails[]
mehrere Einträge enthalten. Falls vorhanden, gibt es einen Eintrag für die Berechtigung direkt auf dem Element für diesen Bereich und dann Einträge für die übernommenen oder Mitgliedsberechtigungen für das Element.Entwickler können das erweiterte API-Verhalten für den Zugriff in MyDrive aktivieren, bevor es in Zukunft obligatorisch wird. Sie können den Anfrageparameter
enforceExpansiveAccess
auftrue
festlegen, damit sich zukünftige Änderungen am erweiterten Zugriff nicht auf Ihre App auswirken.Wenn Sie die Funktion jetzt aktivieren, wird die API für Elemente in „Mein Drive“ genauso verwendet wie für Elemente in freigegebenen Ablagen. Beispielsweise schlägt jeder Versuch fehl, den Zugriff unterhalb der übernommenen Rolle einzuschränken, wenn
permissions.update()
aufgerufen wird. Ebenso schlägt ein Aufruf vonpermissions.delete()
fehl, wenn die Berechtigung übernommen wird.
Eingeschränkten Zugriff erkennen und verhindern
Ihre App erstellt möglicherweise eingeschränkten Zugriff auf Ihre „Meine Ablage“-Ordner, wenn Sie die Methoden permissions.update()
oder permissions.delete()
verwenden. In diesem Fall hat ein Nutzer Zugriff auf den übergeordneten „Meine Ablage“-Ordner, aber nicht auf eine Datei in diesem Ordner.
Wenn Sie diese Methoden verwenden, können Sie die Felder in der permissions
-Ressource prüfen, um zu sehen, wo eine Anfrage zu eingeschränktem Zugriff führen könnte, und solche Anfragen vermeiden. Verwenden Sie das Feld enforceExpansiveAccess
in Ihrer Anfrage, um diese Situation zu erkennen.
Wenn Ihre App bereits eingeschränkten Zugriff auf Ihre Ordner gewährt, können Sie außerdem folgende Schritte ausführen:
Durchsuchen Sie die Ordnerhierarchie, um den eingeschränkten Zugriff zu entfernen. Stattdessen sollten Sie einen eingeschränkten Ordnerzugriff festlegen.
Wenn es sich bei dem Element, dessen Freigabe Sie aufheben möchten, um eine Datei handelt, können Sie einen Zwischenordner erstellen, für den Sie eingeschränkten Zugriff festlegen, und die Datei in den neuen Ordner verschieben.
Wenn Sie keine Ordner mit eingeschränktem Zugriff verwenden möchten, aber den Zugriff für einige Nutzer entfernen müssen, können Sie die Datei in einen privaten Ordner verschieben, z. B. in den Stammordner „Mein Drive“. Sie können dann einen Verknüpfung zum ursprünglichen Speicherort des Elements erstellen, damit Nutzer es weiterhin verwenden können.
Weitere Informationen
- Dateien, Ordner und Laufwerke freigeben
- So funktioniert der Dateizugriff in geteilten Ablagen
- Weitere Informationen zu Ordnern mit eingeschränktem Zugriff