Zugriffskontrolle

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

  • Beim NFSv4.1-Protokoll (Vorabversion) können Sie mit Kerberos den Zugriff auf Filestore-Instanzen sichern. Für Weitere Informationen finden Sie unter Unterstützte Protokolle.

  • Alternativ können Sie mit den Linux-Optionen den NFS-Zugriff steuern und Identity and Access Management (IAM) zum Steuern des Zugriffs auf die Instanz wie das Erstellen, Bearbeiten, Aufrufen und Löschen von Instanzen. Die der folgenden Anleitung führt Sie durch die Ausführung dieser Aufgaben.

Exporteinstellungen für die Dateifreigabe

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

  • Die Clientliste, in der die Clients angegeben werden, die eine Verbindung zur Datei herstellen dürfen Freigabe: enthält jede interne IP-Adresse im VPC-Netzwerk, das Sie für die Filestore-Instanz ausgewählt wurde. Interne IP-Adressen können ein beliebiger Bereich, der in Subnetz aufgelistet ist Bereiche. Wenn Sie jedoch haben Clients außerhalb von RFC 1918 müssen Sie ihnen explizit Zugriff auf die Filestore-Instanz mit IP-basierte Zugriffssteuerung.
  • Die Option rw wird verwendet, damit die Dateifreigabe sowohl Lese- als auch Schreibvorgänge ermöglicht.
  • 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 Basisstufe

Für Basic SSD- und einfache HDD-Instanzen wird eine exportierte Freigabe mit der Bezeichnung /config/google-prober zur Unterstützung interner Prüfungsprozesse, die den Zugriff, die Langlebigkeit oder die Leistung überprüfen. Die Freigabe wird in eine Clientliste, die nur für die IP-Adresse der Instanz zugänglich ist, unter Verwendung der gleichen wie im vorherigen Abschnitt beschrieben. Die Freigabe ist für Prober zugänglich. die ausschließlich auf der Instanz gehostet werden oder von dieser stammen und außerhalb von für die Instanz. Die Instanz exportiert den Anteil unabhängig davon, ob IP-basierte Zugriffssteuerung angewendet wird. Nutzer können die exportierte Freigabe mit dem Befehl showmount -e aufrufen.

IP-basierte Zugriffssteuerung

Sie können diese Exporteinstellungen ändern, indem Sie Zugriffssteuerungsregeln mit in der Google Cloud Console oder durch Angabe einer JSON-Konfigurationsdatei während mit der gcloud CLI erstellen. 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 bedeutet, dass auf einer Filestore-Instanz nur Root-Nutzer Clients Lese- und Schreibzugriff auf 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 Linux-Standardbefehle wie chmod, und setfacl um Berechtigungen für Dateien und Dateifreigaben festzulegen. setfacl wird nur von Basisstufen 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

Zonal, regional und Enterprise unterstützen jetzt überlappende Berechtigungen.

Wenn zwei separate Zugriffssteuerungsregeln für sich überschneidende IP-Adressen definiert sind Subnetzen hat die für das kleinere Subnetz definierte Regel Priorität.

Wenn beispielsweise eine JSON-Konfigurationsdatei eine Regel enthält, die Lese- und Schreibzugriff für das IPv4-Adresssubnetz 10.0.0.0/24 und eine separate Regel Gewährt Lesezugriff für das IPv4-Adresssubnetz 10.0.0.0/28, Filestore die Regel für das kleinere Subnetz erkennt und wendet sie zuerst an. Die andere Regel wird dann auf die verbleibenden Teile des definierten IP-Adresssubnetzes angewendet. In dieser Beispiel: Ein Client, der die IPv4-Adresse 10.0.0.20 verwendet, erhält Lese- und Schreibzugriff. Berechtigungen, während ein Client, der 10.0.0.12 verwendet, 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 einige Einschränkungen:

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

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

Nächste Schritte