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 unten 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.
  • 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, verfügt die Dateifreigabe für diese Instanz über Standard-Unix-Berechtigungen von rwxr-xr-x, Oktalschreibweise: 755. Diese Berechtigungen bedeuten, dass in einer Filestore-Instanz nur Root-Nutzer auf verbundenen Clients Lese-/Schreibzugriff auf der Dateifreigabe haben. Andere Nutzer haben standardmäßig nur Lesezugriff, aber Client-Stammnutzer können Berechtigungen und Inhaber ändern.

Zugriff auf eine Dateifreigabe konfigurieren

Wenn Sie eine Filestore-Dateifreigabe auf einem Client bereitstellen, können Sie Optionen für den Befehl mount und die Einstellungen in der Datei /etc/fstab verwenden, um festzustellen, ob die bereitgestellte Dateifreigabe schreibgeschützt ist oder nicht und ob Dateien darauf ausgeführt werden können. Nachdem Sie die Dateifreigabe bereitgestellt haben, können Sie mit Standard-Linux-Befehlen wie chmod und setfacl die Datei- und Dateifreigabe-Berechtigungen festlegen.

Einheitliche Berechtigungen festlegen

Es wird dringend empfohlen, dass Sie für jeden Nutzer auf allen Clients, die eine Verbindung zu derselben Filestore-Instanz herstellen, konsistente Berechtigungen festlegen, da sonst:

  • eine Dateifreigabe auf mehr als einem Client bereitgestellt wird und
  • ein Nutzer Standardberechtigungen für einen Client, aber nicht für die anderen hat.

Der Nutzer kann eine Datei mit dem gesetzten setuid-Bit vom Client hochladen, auf den er Root-Zugriff hat. Auf diese Weise kann er die Datei als Root auf jedem anderen Client ausführen, auf dem er mindestens über Leseberechtigung verfügt. Dies liegt daran, dass ein Nutzer mit dem setuid-Bit eine Datei mit den Berechtigungen des Dateieigentümers ausführen kann, in diesem Fall "root".

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. Der Zugriff auf Vorgänge in der Filestore-Dateifreigabe wie Lesen oder Ausführen wird durch Linux-Berechtigungen bestimmt.

Filestore-Rollen verwenden

Sie können die Rollen Filestore Editor und Filestore Viewer verwenden, um Nutzern Filestore-Berechtigungen zu erteilen. 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. Sie können diese Rollen zusätzlich zu den Filestore-Rollen verwenden, um Nutzern Filestore-Berechtigungen zu erteilen.

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 den von Ihnen festgelegten Berechtigungen definieren. IAM bietet benutzerdefinierte Rollen an, um dies zu unterstützen. 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. Andernfalls funktioniert die Google Cloud Console für Filestore nicht ordnungsgemäß.