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. Mit den Linux-Optionen können Sie den NFS-Zugriff steuern und mit Identity and Access Management (IAM) den Zugriff auf Instanzvorgänge steuern, z. B. das Erstellen, Bearbeiten, Ansehen und Löschen von Instanzen.

Exporteinstellungen für die Dateifreigabe

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

  • Die Clientliste, in der die Clients aufgeführt sind, die eine Verbindung zur Dateifreigabe herstellen dürfen, enthält alle internen IP-Adressen im VPC-Netzwerk, die Sie für die Filestore-Instanz ausgewählt haben. Interne IP-Adressen können beliebige Bereiche sein, die in Subnetzbereichen aufgeführt sind. Wenn Sie jedoch Clients in Subnetzbereichen außerhalb von RFC 1918 haben, müssen Sie ihnen mithilfe der IP-basierten Zugriffssteuerung explizit Zugriff auf die Filestore-Instanz gewähren.
  • Da die Option rw verwendet wird, ermöglicht die Dateifreigabe sowohl Lese- als auch Schreibvorgänge.
  • 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.

Instanzen der Basis-Stufe

Basic SSD- und einfache HDD-Instanzen wird eine exportierte Freigabe mit der Bezeichnung /config/google-prober erstellt, die zur Unterstützung interner Sondierungsprozesse verwendet wird, die wiederum den Zugriff, die Langlebigkeit oder die Leistung prüfen. Die Freigabe wird in eine Clientbibliothek exportiert, die nur für die IP-Adresse der Instanz zugänglich ist. Dabei werden die oben beschriebenen Einstellungen verwendet. Die Freigabe ist nur für Prober zugänglich, die auf der Instanz gehostet werden oder von ihr stammen, aber außerhalb der Instanz nicht. Die Instanz exportiert die Freigabe, unabhängig davon, ob eine IP-basierte Zugriffssteuerung angewendet wird. Nutzer können die exportierte Freigabe mit dem Befehl showmount -e sehen.

IP-basierte Zugriffssteuerung

Sie können diese Exporteinstellungen ändern, indem Sie in der Google Cloud Console Regeln für die Zugriffssteuerung erstellen oder während der Instanzerstellung mit der gcloud CLI 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 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 Standard-Linux-Befehle wie chmod und setfacl verwenden, um die Berechtigungen für die Datei und die Dateifreigabe festzulegen. 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".

Sich überschneidende Berechtigungen

Zonale (früher SSD-) und Unternehmensinstanzen unterstützen jetzt sich überschneidende Berechtigungen.

Wenn für sich überschneidende IP-Adress-Subnetze zwei separate Zugriffssteuerungsregeln definiert sind, hat die für das kleinere Subnetz definierte Regel Vorrang.

Wenn beispielsweise eine JSON-Konfigurationsdatei eine Regel mit Lese- und Schreibzugriff auf das Subnetz 10.0.0.0/24 der IPv4-Adresse enthält und eine separate Regel nur Lesezugriff auf das Subnetz 10.0.0.0/28 der IPv4-Adresse gewährt, erkennt Filestore die Regel und wendet sie zuerst auf das kleinere Subnetz an. Die andere Regel wird dann auf die restlichen Teile des definierten IP-Adresssubnetzes angewendet. In diesem Beispiel erhält ein Client mit der IPv4-Adresse 10.0.0.20 Lese- und Schreibberechtigungen, während ein Client mit 10.0.0.12 schreibgeschützte Berechtigungen erhält:

   {
  "--file-share":
    {
      "capacity": "2048",
      "name": "my_vol",
      "nfs-export-options": [
        {
          "access-mode": "READ_WRITE",
          "ip-ranges": [
            "10.0.0.0/24"
          ],
          "squash-mode": "ROOT_SQUASH",
          "anon_uid": 1003,
          "anon_gid": 1003
        },
         {
          "access-mode": "READ_ONLY",
          "ip-ranges": [
            "10.0.0.0/28"
          ],
          "squash-mode": "NO_ROOT_SQUASH"
        }
      ]
    }
}

Es gelten folgende Einschränkungen:

  • Sich überschneidende Berechtigungen für identische IPv4-Subnetze werden nicht unterstützt und geben einen Fehler zurück.

  • Sich überschneidende Berechtigungen werden für einfache SSD- oder einfache HDD-Instanzen nicht unterstützt.

Nächste Schritte