Zugriffssteuerung

Auf dieser Seite wird beschrieben, wie Sie den Zugriff auf Filestore-Instanzen steuern.

Filestore unterstützt Kerberos nicht, um den Zugriff auf Filestore-Instanzen zu sichern. Verwenden Sie stattdessen die auf dieser Seite beschriebenen Optionen für Linux und Identity and Access Management (IAM).

Exporteinstellungen für die Dateifreigabe

Einer Filestore-Dateifreigabe werden die folgenden Standardeinstellungen für /etc/exports zugewiesen:

  • Die Client-Liste, die die Clients angibt, die eine Verbindung zur Dateifreigabe herstellen dürfen, besteht aus allen internen IP-Adressen in dem VPC-Netzwerk, das Sie für die Filestore-Instanz ausgewählt haben. Interne IP-Adressen können ein beliebiger Bereich sein, der unter Subnetzbereiche aufgeführt ist. Wenn Sie jedoch Clients in Subnetzbereichen außerhalb von RFC 1918 haben, müssen Sie ihnen über IP-basierte Zugriffssteuerung.
  • Die Option rw wird verwendet, damit die Dateifreigabe nicht schreibgeschützt ist.
  • Die Nutzer-ID-Zuordnungsoption no_root_squash wird verwendet, daher wird erwartet, dass alle Nutzer und Gruppen, einschließlich des Root-Nutzers, sowohl auf der Filestore-Instanz als auch auf dem Client gleich sind.
  • Alle anderen Optionen verwenden die Standardeinstellungen von /etc/exports.

IP-basierte Zugriffssteuerung

Sie können diese Exporteinstellungen ändern, indem Sie in der Cloud Console Zugriffssteuerungsregeln erstellen oder bei der Instanzerstellung mit dem Tool gcloud eine JSON-Konfigurationsdatei angeben. Weitere Informationen finden Sie unter IP-basierte Zugriffssteuerung konfigurieren.

Sie können auch neue Zugriffssteuerungsregeln hinzufügen oder vorhandene ändern, nachdem eine Instanz erstellt wurde. Weitere Informationen finden Sie unter Instanzen bearbeiten.

Fileshare-Berechtigungen

Wenn Sie eine Filestore-Instanz erstellen, hat die Dateifreigabe für diese Instanz die standardmäßige POSIX-Dateiberechtigung von rwxr-xr-x. Diese Berechtigungen bedeuten, dass nur bei einer Filestore-Instanz nur Root-Nutzer auf verbundenen Clients Lese-/Schreibzugriff auf die Dateifreigabe haben. Andere Nutzer haben standardmäßig nur Lesezugriff. Client-Root-Nutzer können Berechtigungen und Inhaber ändern.

Zugriff auf eine Dateifreigabe konfigurieren

Beim Bereitstellen einer Dateifreigabe können Sie mit den Bereitstellungsoptionen und /etc/fstab-Einstellungen festlegen, ob die Dateifreigabe beschreibbar ist und ob Darin können Dateien ausgeführt werden. Nachdem Sie die Dateifreigabe bereitgestellt haben, können Sie Standard-Linux-Befehle wie chmod und setfacl verwenden, um Berechtigungen für die Datei- und Dateifreigabe festzulegen auf Ihrem Mobilgerät.

Einheitliche Berechtigungen festlegen

Damit die Rechteausweitung nicht verhindert wird, empfehlen wir dringend, für jeden Nutzer auf allen Clients, die eine Verbindung zu derselben Filestore-Instanz herstellen, konsistente Berechtigungen festzulegen. Wenn eine Dateifreigabe auf mehr als einem Client bereitgestellt wird und ein Nutzer Root-Berechtigungen für einen Client, aber nicht für andere hat, ist das folgende Rechteausweitungsszenario möglich:

  • Ein Nutzer legt das Attribut setuid für eine ausführbare Datei vom Client fest, auf dem der Nutzer Root-Zugriff hat.
  • Der Nutzer lädt dann die ausführbare Datei in die Dateifreigabe hoch.
  • Der Nutzer führt die hochgeladene Datei als Root auf jedem Client aus, auf dem er mindestens die Leseberechtigung hat.

Dieses Szenario ist möglich, weil das Bit setuid dem Nutzer das Ausführen einer Datei mit den Berechtigungen des Dateieigentümers ermöglicht, die in diesem Fall Root sind.

IAM-Rollen und -Berechtigungen

Sie gewähren Zugriff auf Filestore-Vorgänge, indem Sie Nutzern IAM-Rollen (Identity and Access Management) zuweisen.

IAM-Berechtigungen steuern nur den Zugriff auf Filestore-Vorgänge, z. B. das Erstellen einer Filestore-Instanz. Verwenden Sie POSIX-Dateiberechtigungen, um den Zugriff auf Vorgänge für die Dateifreigabe zu steuern, z. B. Lesen oder Ausführen.

Filestore-Rollen verwenden

Wenn Sie Nutzern Filestore-Berechtigungen gewähren möchten, verwenden Sie die Rollen FileFilestore-Bearbeiter“ (roles/file.editor) und Filestore-Betrachter (roles/file.viewer). Sie können aber auch einfache Rollen für diesen Zweck verwenden.

Verwenden Sie die folgende Tabelle, um sich die mit den Filestore-Rollen verknüpften Filestore-Berechtigungen anzusehen.

Berechtigung Aktion Filestore-Bearbeiter Filestore-Betrachter
file.locations.get Rufen Sie Informationen zu einem Standort ab, der von diesem Dienst unterstützt wird.
file.locations.list Informationen zu den unterstützten Zonen für diesen Dienst auflisten
file.instances.create Filestore-Instanz erstellen
file.instances.update Filestore-Instanz löschen
file.instances.delete Filestore-Instanz löschen
file.instances.get Details zu einer bestimmten Filestore-Instanz abrufen
file.instances.list Filestore-Instanzen im Projekt auflisten
file.operations.get Status eines Filestore-Instanzvorgangs abrufen
file.operations.list Filestore-Instanzvorgänge auflisten
file.operations.cancel Filestore-Instanzvorgang abbrechen
file.operations.delete Filestore-Instanzvorgang löschen
file.backups.create Erstellen Sie eine Filestore-Sicherung.
file.backups.update Aktualisieren Sie eine Filestore-Sicherung.
file.backups.delete Löschen Sie eine Filestore-Sicherung.
file.backups.get Rufen Sie Details zu einer bestimmten Filestore-Sicherung ab.
file.backups.list Listen Sie die Filestore-Sicherungen im Projekt auf.

Grundlegende Rollen verwenden

Filestore-Berechtigungen sind auch den einfachen IAM-Rollen "Inhaber", "Bearbeiter" und "Betrachter" zugeordnet. Wenn Sie Nutzern Filestore-Berechtigungen gewähren möchten, können Sie diese Rollen zusätzlich zu den Filestore-Rollen verwenden.

In der folgenden Tabelle sehen Sie die Filestore-Berechtigungen, die mit einfachen Rollen verknüpft sind.

Berechtigung Aktion Projektinhaber Projekt-Editor Projektbetrachter
file.locations.get Rufen Sie Informationen zu einem Standort ab, der von diesem Dienst unterstützt wird.
file.locations.list Informationen zu den unterstützten Zonen für diesen Dienst auflisten
file.instances.create Filestore-Instanz erstellen
file.instances.update Filestore-Instanz löschen
file.instances.delete Filestore-Instanz löschen
file.instances.get Details zu einer bestimmten Filestore-Instanz abrufen
file.instances.list Filestore-Instanzen im Projekt auflisten
file.operations.get Status eines Filestore-Instanzvorgangs abrufen
file.operations.list Filestore-Instanzvorgänge auflisten
file.operations.cancel Filestore-Instanzvorgang abbrechen
file.operations.delete Filestore-Instanzvorgang löschen
file.backups.create Erstellen Sie eine Filestore-Sicherung.
file.backups.update Aktualisieren Sie eine Filestore-Sicherung.
file.backups.delete Löschen Sie eine Filestore-Sicherung.
file.backups.get Rufen Sie Details zu einer bestimmten Filestore-Sicherung ab.
file.backups.list Listen Sie die Filestore-Sicherungen im Projekt auf.

Benutzerdefinierte Rollen

Wenn die vordefinierten IAM-Rollen Ihren Anforderungen nicht entsprechen, können Sie eine benutzerdefinierte Rolle mit Berechtigungen definieren, die Sie mit den benutzerdefinierten IAM-Rollen festlegen. Stellen Sie beim Erstellen benutzerdefinierter Rollen für Filestore sicher, dass Sie sowohl resourcemanager.projects.get als auch resourcemanager.projects.list angeben, damit die Rolle die Berechtigung zum Abfragen von Projektressourcen hat.