Zugriffssteuerung

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

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. Mit den Linux-Optionen können Sie den NFS-Zugriff und mit der Identitäts- und Zugriffsverwaltung (IAM) den Zugriff auf Instanzvorgänge wie das Erstellen, Bearbeiten, Aufrufen und Löschen von Instanzen steuern.

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 diesen mit der IP-basierten Zugriffssteuerung explizit Zugriff auf die Filestore-Instanz gewähren.
  • 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. Dazu erstellen Sie Zugriffssteuerungsregeln über die Cloud Console oder geben eine JSON-Konfigurationsdatei während der Instanzerstellung mit der gcloud-Befehlszeile an. 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 die Standard-POSIX-Dateiberechtigungen rwxr-xr-x. Diese Berechtigungen bedeuten, dass in einer Filestore-Instanz nur Root-Nutzer auf verbundenen Clients Lese-/Schreibzugriff für die Dateifreigabe haben. Andere Nutzer haben standardmäßig nur Lesezugriff. Root-Nutzer können die Berechtigungen und Inhaber ändern.

Zugriff auf eine Dateifreigabe konfigurieren

Wenn Sie eine Dateifreigabe bereitstellen, können Sie mit den Bereitstellungsoptionen und den /etc/fstab-Einstellungen bestimmen, ob die Dateifreigabe schreibbar ist und ob darauf Dateien ausgeführt werden können. Nachdem Sie die Dateifreigabe bereitgestellt haben, können Sie mithilfe von Linux-Standardbefehlen wie chmod und setfacl Datei- und Dateifreigabeberechtigungen festlegen. setfacl wird nur von Basis-Stufen unterstützt.

Einheitliche Berechtigungen festlegen

Es wird dringend empfohlen, dass Sie konsistente Berechtigungen für jeden Nutzer auf allen Clients festlegen, die eine Verbindung zur selben Filestore-Instanz herstellen, um eine Rechteausweitung zu verhindern. Wenn eine Dateifreigabe auf mehr als einem Client bereitgestellt wird und ein Nutzer Root-Berechtigungen für einen Client, aber nicht für die anderen hat, ist das folgende Szenario der Rechteausweitung möglich:

  • Ein Nutzer legt das Attribut setuid für eine ausführbare Datei vom Client fest, für den 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, bei dem der Nutzer mindestens Leseberechtigung hat.

Dieses Szenario ist möglich, da der 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. Verwenden Sie POSIX-Dateiberechtigungen, um den Zugriff auf Vorgänge in der Dateifreigabe zu steuern, z. B. Lesen oder Ausführen.

Filestore-Rollen verwenden

Um Filestore-Berechtigungen für Nutzer zu erteilen, verwenden Sie die Rollen „Filestore-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
Datei.instances.revert Stellen Sie die Filestore-Instanzen im Projekt auf einen Snapshot-Status zurück.
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.
file.snapshots.create Filestore-Snapshot erstellen
file.snapshots.update Filestore-Snapshot aktualisieren
file.snapshots.delete Filestore-Snapshot löschen
file.snapshots.get Details zu einem bestimmten Filestore-Snapshot abrufen
file.snapshots.list Filestore-Snapshot im Projekt auflisten

Grundlegende Rollen verwenden

Filestore-Berechtigungen sind auch den einfachen IAM-Rollen "Inhaber", "Bearbeiter" und "Betrachter" zugeordnet. Um Nutzern Filestore-Berechtigungen zu erteilen, 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
Datei.instances.revert Stellen Sie die Filestore-Instanzen im Projekt auf einen Snapshot-Status zurück.
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.
file.snapshots.create Filestore-Snapshot erstellen
file.snapshots.update Filestore-Snapshot aktualisieren
file.snapshots.delete Filestore-Snapshot löschen
file.snapshots.get Details zu einem bestimmten Filestore-Snapshot abrufen
file.snapshots.list Filestore-Snapshot im Projekt auflisten

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 Rollen von IAM 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.