Ordner mit eingeschränktem und erweitertem Zugriff verwalten

Ein Nutzer ist Eigentümer eines Ordners in „Meine Ablage“. Der Ordner enthält möglicherweise mehrere Nutzer mit Zugriff auf verschiedene Dateien. Dieses restriktive Zugriffsmodell bedeutet, dass verschiedene Nutzer möglicherweise unterschiedliche Listen von Elementen im selben Ordner sehen. Ein Nutzer mit Zugriff auf den übergeordneten Ordner „Meine Ablage“, aber nicht auf ein Element in diesem Ordner, hat „eingeschränkten Zugriff“. Dadurch ist es schwierig, herauszufinden, wer innerhalb der Hierarchie Zugriff hat.

Dateien in geteilten Ablagen gehören der geteilten Ablage. Geteilte Ablagen haben ein umfassendes Modell, sodass jeder Nutzer dieselbe Liste mit Elementen im selben Ordner hat.

Mit der Einführung von Ordnern mit eingeschränktem Zugriff wird das umfassende Zugriffsmodell von geteilten Ablagen auf „Meine Ablage“ übertragen. Mit dieser Ä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 dieser Anleitung wird beschrieben, wie Sie Ordner mit eingeschränktem und umfassendem Zugriff in Google Drive verwalten können.

Ordner mit eingeschränktem Zugriff

Ordner auf bestimmte Nutzer beschränken

Mit Ordnern mit eingeschränktem Zugriff können Sie den Zugriff auf Ordner auf bestimmte Nutzer beschränken. Nur Nutzer, die Sie direkt zu den Berechtigungen des Ordners hinzufügen, können ihn öffnen und auf seine Inhalte zugreifen. Nutzer mit übernommenem Zugriff auf den freigegebenen Ordner in „Meine Ablage“ oder den freigegebenen Ordner in der geteilten Ablage (über den Zugriff auf 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 aufeinander abgestimmt. So können Sie Ordner mit vertraulichen Inhalten neben Inhalten organisieren, die für einen größeren Kreis freigegeben sind.

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. Rollen, die Ordner freigeben können, können die Mitgliederlisten aktualisieren. Weitere Informationen zu Rollen und Berechtigungen finden Sie unter Rollen und Berechtigungen und Übersicht über freigegebene Ablagen.

Ordner sind zwar eine Art von Datei, aber eingeschränkter Zugriff ist für Dateien 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 „Meine Ablage“ das boolesche Feld writersCanShare für die Ressource files auf true gesetzt 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. Wenn true, können nur Nutzer mit der Rolle owner oder organizer sowie 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 bestätigen

Wenn Sie prüfen möchten, ob Sie den Zugriff auf einen Ordner einschränken können, sehen Sie sich die booleschen Werte der Felder capabilities.canDisableInheritedPermissions und capabilities.canEnableInheritedPermissions in der Ressource files an. Mit diesen Einstellungen wird bestätigt, ob Sie die Berechtigung haben, 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 das Element kein Ordner ist oder wenn der Zugriff des Anfragenden auf den Inhalt des Ordners durch Festlegen von inheritedPermissionsDisabled auf false entfernt wurde.

Wenn Ihr Zugriff auf die Inhalte des Ordners entfernt wurde, können Sie mit den Methoden files.get() und files.list() weiterhin auf die Metadaten des Ordners zugreifen. Wenn Sie bestätigen möchten, dass der Zugriff eingeschränkt ist, prüfen Sie im Antworttext, ob das Element ein Ordner mit dem MIME-Typ application/vnd.google-apps.folder ist und das Feld capabilities.canListChildren auf „false“ gesetzt ist. Wenn Sie versuchen, die untergeordneten Elemente eines solchen Ordners aufzulisten, ist das Ergebnis immer leer.

Auf Metadaten von Ordnern mit eingeschränktem Zugriff zugreifen

In Ordnern mit eingeschränktem Zugriff können Sie Metadaten des Ordners ansehen, auch wenn Sie keinen Zugriff auf den Inhalt des Ordners haben.

Wenn Sie die Ressource permissions verwenden, um den Zugriff eines Nutzers zu ermitteln, enthalten sowohl „Meine Ablage“- als auch geteilte Ablageordner, 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 einem view gehören. Weitere Informationen finden Sie unter Ansichten.

Für alle Einträge im Feld permissionDetails ist das Feld inherited auf true gesetzt. Das bedeutet, dass die Berechtigung übernommen wird 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, in dem das Feld inherited auf false gesetzt ist. Das bedeutet, dass die Berechtigung nicht übernommen wird. Diese Berechtigung gewährt Zugriff auf Ordnerinhalte und Metadaten wie jede andere Berechtigung.

Ordner mit eingeschränktem Zugriff löschen

Sie können Ordner mit eingeschränktem Zugriff mit der Methode files.delete() für die Ressource files 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, für die der Zugriff eingeschränkt ist und die anderen Nutzern gehören, werden diese Ordner in den Ordner „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 mit der Rolle fileOrganizer eine Hierarchie gelöscht wird, die Ordner mit eingeschränktem Zugriff enthält, hängt das Ergebnis davon ab, ob sie den Ordnern mit eingeschränktem Zugriff wieder als fileOrganizer hinzugefügt wurden. Wenn ja, wird die gesamte Hierarchie gelöscht. Andernfalls werden die Ordner mit eingeschränktem Zugriff in den Stammordner der geteilten Ablage verschoben.

Erweiterter Zugriff

Durch die Einführung von Ordnern mit eingeschränktem Zugriff wird das umfassende Zugriffsmodell von geteilten Ablagen auf „Meine Ablage“ ausgeweitet. Nach der Einführung des Zugriffsmodells bedeutet der Zugriff auf einen Ordner mindestens die gleiche Zugriffsebene für alle Elemente in dieser Ordnerhierarchie. Ordner mit eingeschränktem Zugriff sind die einzige Ausnahme, bei der der Zugriff auf einen bestimmten Unterordner sowohl in „Meine Ablage“ als auch in geteilten Ablagen eingeschränkt werden kann. Das bedeutet auch, dass Sie den Zugriff, der vom übergeordneten Ordner übernommen wurde, nicht mehr entfernen können, es sei denn, der Zugriff auf Ihren Ordner ist eingeschränkt. 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 eingeschränkten Zugriff für den Ordner festlegen.

An erweiterten Zugriff anpassen

Um Entwicklern die Anpassung an den erweiterten Zugriff zu erleichtern, wurden mehrere Verbesserungen an der Google Drive API vorgenommen:

  1. Das Feld permissionDetails[] in der Ressource permissions wird jetzt für Elemente in „Meine Ablage“ ausgefüllt. Bisher waren die Felder entweder nicht festgelegt oder wurden gegebenenfalls aus dem Feld teamDrivePermissionDetails repliziert. Nur die Felder permissionType und inherited in „Meine Ablage“ werden ausgefüllt.

    Das Feld permissionDetails[].inherited gibt an, ob eine Berechtigung vom übergeordneten Element des Elements übernommen wurde. So können Sie erkennen, ob bestimmte Rollen (z. B. reader) vom übergeordneten Element übernommen werden und ob für das Element direkt eine höhere Rolle (z. B. writer) gewährt wird.

    Wenn Sie die Berechtigungen für ein Element aufrufen, kann das Feld permissionDetails[] mehrere Einträge enthalten. Falls vorhanden, gibt es einen Eintrag für die Berechtigung direkt für das Element für diesen Bereich und dann Einträge für die geerbten oder Mitgliedsberechtigungen für das Element.

  2. Entwickler können das API-Verhalten für den erweiterten Zugriff in „Mein Drive“ vor einer zukünftigen obligatorischen Durchsetzung aktivieren. Sie können den Anfrageparameter enforceExpansiveAccess auf true festlegen, damit sich zukünftige Änderungen am erweiterten Zugriff nicht auf Ihre App auswirken.

    Wenn Sie sich jetzt anmelden, funktioniert die API für Elemente in „Meine Ablage“ genauso wie für Elemente in geteilten Ablagen. Wenn Sie beispielsweise versuchen, den Zugriff unterhalb der geerbten Rolle einzuschränken, schlägt der Aufruf von permissions.update() fehl. Ebenso schlägt ein Aufruf von permissions.delete() fehl, wenn die Berechtigung übernommen wird.

Eingeschränkten Zugriff erkennen und verhindern

Ihre App erstellt möglicherweise eingeschränkten Zugriff (bei dem ein Nutzer Zugriff auf den übergeordneten Ordner „Meine Ablage“, aber nicht auf eine Datei in diesem Ordner hat) auf Ihre Ordner in „Meine Ablage“, wenn Sie die Methoden permissions.update() oder permissions.delete() verwenden.

Wenn Sie diese Methoden verwenden, können Sie die Felder in der permissions-Ressource prüfen, um zu sehen, wo eine Anfrage eingeschränkten Zugriff erstellen 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 erstellt hat, können Sie folgendermaßen vorgehen:

  1. Durchlaufen Sie die Ordnerhierarchie, um den eingeschränkten Zugriff zu entfernen. Stattdessen sollten Sie den Ordnerzugriff einschränken.

  2. Wenn es sich bei dem Element, dessen Freigabe Sie aufheben möchten, um eine Datei handelt, können Sie einen Zwischenordner erstellen, den Zugriff darauf einschränken und die Datei in den neuen Ordner verschieben.

  3. Wenn Sie keine Ordner mit eingeschränktem Zugriff verwenden möchten, aber den Zugriff auf eine Datei entfernen müssen, können Sie die Datei in einen privaten Ordner verschieben, z. B. in den Stammordner „Meine Ablage“. Anschließend können Sie eine Verknüpfung zum ursprünglichen Speicherort des Elements erstellen, damit Nutzer es weiterhin verwenden können.