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 befinden sich gemäß RFC 1918 in den Bereichen 10.0.0.0/8, 172.16.0.0/12 und 192.168.0.0/16.
  • 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 Editor-Rolle Filestore-Betrachter-Rolle
file.locations.get Informationen zu einer bestimmten, von diesem Dienst unterstützten Zone abrufen
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

Einfache Rollen verwenden

Filestore-Berechtigungen sind auch den einfachen IAM-Rollen von Eigentümer, Editor und Viewer zugeordnet. Sie können diese Rollen zusätzlich zu den Filestore-Rollen verwenden, um Nutzern Filestore-Berechtigungen zu erteilen.

Verwenden Sie die folgende Tabelle, um sich die Filestore-Berechtigungen anzusehen, die einfachen Rollen zugeordnet sind.

Berechtigung Aktion Rolle "Projektinhaber" Rolle "Projektbearbeiter" Rolle "Projektbetrachter"
file.locations.get Informationen zu einer bestimmten, von diesem Dienst unterstützten Zone abrufen
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

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äß.