Ordner mit eingeschränktem und erweitertem Zugriff verwalten

Ein Nutzer ist Eigentümer eines Ordners in „Meine Ablage“. Der Ordner kann mehrere Nutzer mit Zugriff auf verschiedene Dateien enthalten. Dieses restriktive Zugriffsmodell bedeutet, dass verschiedene Nutzer unterschiedliche Listen von Elementen im selben Ordner sehen können. 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 zu wissen, wer innerhalb der Hierarchie Zugriff hat.

Im Gegensatz dazu sind Dateien in geteilten Ablagen Eigentum der geteilten Ablage. Geteilte Ablagen haben ein erweitertes Modell, sodass jeder Nutzer dieselbe Liste von Elementen im selben Ordner sieht.

Mit der Einführung von Ordnern mit eingeschränktem Zugriff wird das erweiterte Zugriffsmodell von geteilten Ablagen auf „Meine Ablage“ übertragen. Mit dieser Änderung sind Ordner mit eingeschränktem Zugriff die einzige Ausnahme, die es ermöglicht, den Zugriff auf einen bestimmten Unterordner sowohl in „Meine Ablage“ als auch in geteilten Ablagen einzuschränken.

In dieser Anleitung wird erläutert, wie Sie Ordner mit eingeschränktem und erweitertem 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 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 „Meine Ablage“ oder den Ordner der geteilten Ablage (über den Zugriff von einem übergeordneten Ordner) können den eingeschränkten Ordner in Drive sehen, aber nicht öffnen. Mit dieser Funktion wird das Freigabeverhalten von Elementen sowohl in „Meine Ablage“ als auch in geteilten Ablagen besser aufeinander abgestimmt. So können Sie Ordner mit vertraulichen Inhalten neben Inhalten organisieren, die für eine größere Gruppe freigegeben sind.

Ordner mit eingeschränktem Zugriff sind sowohl in „Meine Ablage“ als auch in geteilten Ablagen verfügbar. Die Rolle owner in „Meine Ablage“ und die Rolle organizer in geteilten Ablagen können immer auf Ordner mit eingeschränktem Zugriff zugreifen. Zum Ändern der Liste der Ordnernutzer sind keine besonderen 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 geteilte 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, setzen Sie das boolesche Feld inheritedPermissionsDisabled für die Ressource files auf true. Wenn true festgelegt ist, 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, setzen Sie inheritedPermissionsDisabled auf false.

Berechtigung zum Einschränken des Zugriffs auf einen Ordner prüfen

Wenn Sie prüfen möchten, ob Sie den Zugriff auf einen Ordner einschränken können, sehen Sie sich die booleschen Werte der capabilities.canDisableInheritedPermissions und capabilities.canEnableInheritedPermissions Felder für die files Ressource an. Diese Einstellungen bestätigen, 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

Wenn Sie prüfen möchten, ob Sie die untergeordneten Elemente eines Ordners auflisten können, verwenden Sie das boolesche Feld capabilities.canListChildren.

Der zurückgegebene Wert ist immer false, wenn das Element kein Ordner ist oder wenn der Zugriff des Anfragenden auf die Inhalte 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 Ordner Metadaten 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 capabilities.canListChildren Feld 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

Mit Ordnern mit eingeschränktem Zugriff können Sie Ordner-Metadaten ansehen, auch wenn Sie keinen Zugriff auf die Inhalte des Ordners haben.

Wenn Sie die Ressource permissions verwenden, um den Zugriff eines Nutzers zu bestimmen, enthalten sowohl Ordner in „Meine Ablage“ als auch Ordner in geteilten Ablagen, die nur Zugriff auf die Metadaten gewähren, die folgenden Werte im Antworttext: inheritedPermissionsDisabled=true und view=metadata. Die Rolle ist immer auf reader gesetzt. Das Feld view wird nur für Berechtigungen ausgefüllt, die zu einer view gehören. Weitere Informationen finden Sie unter Ansichten.

Für alle Einträge im Feld permissionDetails ist das Feld inherited auf true gesetzt, um anzugeben, dass die Berechtigung übernommen wurde und kein direkter Zugriff auf die Inhalte des Ordners gewährt wurde.

Wenn Sie Zugriff auf die Inhalte und Metadaten des Ordners gewähren möchten, setzen Sie das Feld inheritedPermissionsDisabled auf false oder aktualisieren Sie die Rolle auf reader oder höher.

Wenn eine Berechtigung zuerst eingeschränkt wurde, indem die Übernahme für einen Ordner deaktiviert wurde (inheritedPermissionsDisabled=true), und die Berechtigung dann direkt wieder dem Ordner hinzugefügt wurde, lauten die Werte im Antworttext inheritedPermissionsDisabled=true und das Feld view ist nicht festgelegt. Wenn sich der Ordner in einer geteilten Ablage befindet, enthält die Liste permissionDetails einen Eintrag, bei dem das Feld inherited auf false gesetzt ist, um anzugeben, dass die Berechtigung nicht übernommen wurde. Diese Berechtigung gewährt wie jede andere Berechtigung Zugriff auf die Inhalte und Metadaten des Ordners.

Ordner mit eingeschränktem Zugriff löschen

Sie können Ordner mit eingeschränktem Zugriff mit der files.delete() Methode für die 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, 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 die Rolle fileOrganizer eine Hierarchie löscht, die Ordner mit eingeschränktem Zugriff enthält, hängt das Ergebnis davon ab, ob sie für die Ordner mit eingeschränktem Zugriff wieder als fileOrganizer hinzugefügt wurde. 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

Mit der Einführung von Ordnern mit eingeschränktem Zugriff wird das erweiterte Zugriffsmodell von geteilten Ablagen auf „Meine Ablage“ übertragen. Sobald das Zugriffsmodell eingeführt wurde, bedeutet der Zugriff auf einen Ordner mindestens dieselbe Zugriffsebene auf alle Elemente in dieser Ordnerhierarchie. Ordner mit eingeschränktem Zugriff sind die einzige Ausnahme, die es ermöglicht, den Zugriff auf einen bestimmten Unterordner sowohl in „Meine Ablage“ als auch in geteilten Ablagen einzuschränken. Das bedeutet auch, dass Sie den Zugriff, der vom übergeordneten Ordner übernommen wurde, nicht mehr entfernen können, es sei denn, Ihr Ordner hat eingeschränkten Zugriff. 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 den Zugriff auf den Ordnereinschränken.

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[] für die permissions Ressource wird jetzt für Elemente in „Meine Ablage“ ausgefüllt. Bisher waren die Felder entweder nicht festgelegt oder wurden gegebenenfalls aus dem Feld teamDrivePermissionDetails kopiert. In „Meine Ablage“ werden nur die Felder permissionType und inherited 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 wurden und ob dem Element direkt eine höhere Rolle (z. B. writer) zugewiesen wurde.

    Wenn Sie 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 für das Element für diesen Bereich und dann Einträge für die übernommenen Berechtigungen oder die Berechtigungen für Mitglieder für das Element.

  2. Entwickler können sich vor der obligatorischen Einführung für das erweiterte Zugriffs-API-Verhalten in „Meine Ablage“ anmelden. Sie können den Anfrageparameter enforceExpansiveAccess auf true setzen, 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. Beispielsweise schlägt jeder Versuch, den Zugriff unter die übernommene Rolle einzuschränken, beim Aufrufen permissions.update() fehl. Ebenso schlägt ein Aufruf von permissions.delete() fehl, wenn die Berechtigung übernommen wurde.

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) für 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 für die Ressource permissions 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 so vorgehen:

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

  2. Wenn das Element, dessen Freigabe Sie aufheben möchten, eine Datei ist, 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 einschränken müssen, können Sie die Datei in einen privaten Ordner verschieben (z. B. den Stammordner von „Meine Ablage“). Anschließend können Sie eine Verknüpfung erstellen zum ursprünglichen Speicherort des Elements, damit Nutzer es weiterhin verwenden können.