In diesem Leitfaden wird das NFSv4.1-Protokoll beschrieben.
Filestore bietet Unterstützung für das NFSv4.1-Protokoll für Instanzen, die in den folgenden Dienststufen erstellt wurden:
- Zonal
- Regional
- Unternehmen
Diese Funktion kann in Managed Service for Microsoft Active Directory (Managed Microsoft AD) eingebunden werden, um Arbeitslasten zu unterstützen, die Client- und Serverauthentifizierung, Überprüfungen der Nachrichtendaten integrität und Datenverschlüsselung bei der Übertragung erfordern. Diese Funktionen waren in Filestore bisher nicht verfügbar.
Die Authentifizierung wird über LDAP und Kerberos unterstützt und umfasst die folgenden Sicherheitsvarianten (Einstellungen):
- Client- und Serverauthentifizierung (
krb5). - Überprüfungen der Nachrichtenintegrität (
krb5i). Umfasst die Funktionen der vorherigen Einstellung. - Datenverschlüsselung bei der Übertragung (
krb5p). Umfasst die Funktionen der vorherigen Einstellung.
Managed Microsoft AD ist die einzige vollständig verwaltete Google Cloud Lösung, die sowohl LDAP als auch Kerberos unterstützt. Dies sind Anforderungen für das NFSv4.1-Protokoll und seine Sicherheits- und Datenschutzvorteile. Die Einbindung in Managed Microsoft AD ist zwar nicht erforderlich, wird aber dringend empfohlen, um eine optimale Google Cloud Nutzererfahrung bei der Verwaltung von Nutzerkonten und wechselnden Gruppen und Berechtigungen zu gewährleisten.
Sollte ich NFSv4.1 verwenden?
Viele Unternehmen verwenden für geschäftskritische Vorgänge ältere Systeme. Viele dieser Systeme erfordern Authentifizierung und Verschlüsselung bei der Übertragung für ihren Netzwerkspeicher. NFSv3 wurde nicht mit Blick auf die Authentifizierung entwickelt. Die NFSv4.1-Protokolleinbindung von Filestore in Managed Microsoft AD erfüllt jetzt diese wichtige Nutzeranforderung.
Weitere Informationen zu den Vorteilen von NFSv4.1 finden Sie unter Unterstützte Protokolle.
Netzwerkbasierte Access Control Lists (ACLs) in NFSv4.1
In NFSv3 wird nur die Sicherheitsvariante sys unterstützt. Bei dieser Einstellung wird der Nutzer uid und gid vertraut, die vom Client während der Bereitstellung bereitgestellt werden.
Im Filestore NFSv4.1-Protokoll sind mehrere Sicherheitsvarianten oder Einstellungen für Netzwerk-ACLs verfügbar:
krb5Authentifiziert den Client mit einem Kerberos-Ticket, das auf dem Managed Microsoft AD-Kerberos-Server validiert wird.
krb5iUmfasst die von
krb5bereitgestellte Authentifizierung und verwendet Kerberos auch, um die Nachrichtenintegrität für den gesamten Netzwerkverkehr zur und von der Instanz zu prüfen.krb5pUmfasst die von
krb5bereitgestellte Authentifizierung und die Überprüfungen der Nachrichtenintegrität vonkrb5iund verwendet Kerberos auch für die Datenverschlüsselung bei der Übertragung.
Wenn Sie diese Optionen nutzen möchten, ist die Einbindung von Managed Service for Microsoft Active Directory erforderlich. Weitere Informationen finden Sie unter Filestore-Instanz mit Managed Microsoft AD erstellen.
Wenn keine Managed Service for Microsoft Active Directory-Domain angegeben ist, wird nur die Sicherheitsvariante sys unterstützt.
Weitere Informationen finden Sie unter Einschränkungen von NFSv4.1.
Filestore NFSv4.1-Instanzen auf Linux-Clients bereitstellen
In den folgenden Schritten wird beschrieben, wie Sie Instanzen auf Linux-Clients bereitstellen.
Mit
sec=sysfür Standard-NFS-Berechtigungen bereitstellen:sudo mount -vvvv -t nfs4 -o vers=4.1,sec=sys,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINTMit
sec=krb5für die Kerberos-basierte Authentifizierung bereitstellen:sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINTMit
sec=krb5ifür die Kerberos-basierte Authentifizierung und Überprüfungen der Nachrichtenintegrität bereitstellen:sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5i,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINTMit
sec=krb5pfür die Kerberos-basierte Authentifizierung, Überprüfungen der Nachrichtenintegrität und Verschlüsselung bei der Übertragung bereitstellen:sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5p,rw \ FILESTORE-INSTANCE-FQ DN:/INSTANCE_SHARE_POINT /MOUNT_POINTErsetzen Sie Folgendes:
- FILESTORE-INSTANCE-FQDN ist der vollständig qualifizierte Domainname, unter dem sich die Filestore-Instanz befindet.
- INSTANCE_SHARE_POINT ist der Name der Dateifreigabe der Filestore Instanz, mit der Sie eine Verbindung herstellen möchten.
- MOUNT_POINT ist der Bereitstellungspunkt oder Verzeichnisname, unter dem Sie die Bereitstellung ausführen möchten.
Linux-Clientkonfiguration
Mit einer NFSv4.1-Filestore-Instanz können Clients NFS-Vorgänge mit verschiedenen Sicherheitsvarianten ausführen. Diese Varianten werden vom Instanzadministrator über Netzwerk-ACLs in der Filestore NFSv4.1-Instanz konfiguriert, entweder bei der Erstellung oder wenn sie nach der Erstellung aktualisiert werden.
Die Sicherheitsvariante sys verwendet die Standard-Unix-Authentifizierung, während die Varianten krb5,
krb5i und krb5p die Kerberos-basierte Authentifizierung verwenden.
Für die Varianten krb5, krb5i und krb5p müssen die Clients mit
derselben Managed Microsoft AD-Domain verbunden sein wie die Filestore-Instanz.
Führen Sie die für Ihre Umgebung geeigneten Schritte aus.
Ubuntu-Image
- Stellen Sie eine SSH-Verbindung zur Compute Engine-Instanz her.
Führen Sie die folgenden Befehle aus, um der Managed Microsoft AD-Domain beizutreten.
Führen Sie den folgenden Einrichtungsbefehl aus:
sudo apt-get update \ sudo apt-get -y -qq install adcli realmd sssd sssd-tools packagekit krb5-user \ nfs-common expect retryWenn Sie nach dem Realm gefragt werden, ersetzen Sie den vorhandenen Eintrag durch die Managed Microsoft AD-Domain, die in der Filestore-Instanz verwendet wird. Geben Sie den Wert in Großbuchstaben ein, drücken Sie dann die Pfeil taste, um OK auszuwählen, und drücken Sie dann die Eingabetaste.
Wenn Sie nach Hosts gefragt werden, lassen Sie das Feld leer und fahren Sie fort.
Führen Sie einen der folgenden Schritte aus:
Führen Sie für VMs mit einem Hostnamen, der maximal 15 Zeichen lang ist, den folgenden Befehl aus:
sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no MANAGED_AD_DOMAIN_NAMEErsetzen Sie Folgendes:
- JOIN_DOMAIN_USER ist der Name des Nutzerkontos , das zum Beitreten der Domain verwendet wird.
- MANAGED_AD_DOMAIN_NAME ist der Domainname des Managed Microsoft AD-Dienstes, den Sie verwenden möchten.
Führen Sie für VMs mit einem Hostnamen, der länger als 15 Zeichen ist, den folgenden Befehl aus:
sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no \ --user-principal=host/`hostname -f`@MANAGED_AD_REALM_NAME MANAGED_AD_DOMAIN_NAMEErsetzen Sie Folgendes:
- JOIN_DOMAIN_USER ist der Name des Nutzerkontos , das zum Beitreten der Domain verwendet wird.
- MANAGED_AD_REALM_NAME ist der Realm-Name des Managed Microsoft AD-Dienstes, den Sie verwenden möchten.
- MANAGED_AD_DOMAIN_NAME ist der Domainname des Managed Microsoft AD-Dienstes, den Sie verwenden möchten.
Aktualisieren Sie die Kerberos-Konfiguration. Aktualisieren Sie
/etc/krb5.confmit der erforderlichen Realm-Definition und Realm-Domain-Zuordnung:[realms] DOMAIN_NAME = { kdc = DOMAIN_NAME default_domain = DOMAIN_NAME } [domain_realm] .domain_name_lowercase = DOMAIN_NAME domain_name_lowercase = DOMAIN_NAMEErsetzen Sie Folgendes:
- DOMAIN_NAME ist der Domainname, den Sie verwenden möchten, eingegeben in Großbuchstaben.
- domain_name_lowercase ist der Domainname, den Sie verwenden möchten, in Kleinbuchstaben.
Ein Beispiel finden Sie hier:
[realms] FILE.DEMO.LOCAL = { kdc = FILE.DEMO.LOCAL default_domain = FILE.DEMO.LOCAL } [domain_realm] .file.demo.local = FILE.DEMO.LOCAL file.demo.local = FILE.DEMO.LOCALFühren Sie den rpc-gssd-Dienst aus. Fügen Sie den folgenden Attributwert
No-Stripzum Abschnitt[General]in/etc/idmapd.confhinzu:[General] No-Strip = bothFühren Sie dazu diesen Befehl aus:
sudo systemctl restart rpc-gssd
CentOS-Image
- Stellen Sie eine SSH-Verbindung zur Compute Engine-Instanz her.
Treten Sie der Managed Microsoft AD-Domain bei:
sudo yum update \ sudo yum install -y adcli realmd sssd samba-common-tools krb5-workstation nfs-utils \ bind-utils openldap-clientsFühren Sie einen der folgenden Schritte aus:
Führen Sie für VMs mit einem Hostnamen, der maximal 15 Zeichen lang ist, den folgenden Befehl aus:
sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no MANAGED_AD_DOMAIN_NAMEErsetzen Sie Folgendes:
- JOIN_DOMAIN_USER ist der Name des Nutzerkontos das zum Beitreten der Domain verwendet wird.
- MANAGED_AD_DOMAIN_NAME ist der Domainname des Managed Microsoft AD-Dienstes, den Sie verwenden möchten.
Führen Sie für VMs mit einem Hostnamen, der länger als 15 Zeichen ist, den folgenden Befehl aus:
sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no \ --user-principal=host/`hostname -f`@MANAGED_AD_REALM_NAME MANAGED_AD_DOMAIN_NAMEErsetzen Sie Folgendes:
- JOIN_DOMAIN_USER ist der Name des Nutzerkontos das zum Beitreten der Domain verwendet wird.
- MANAGED_AD_REALM_NAME ist der Realm-Name des Managed Microsoft AD-Dienstes, den Sie verwenden möchten.
- MANAGED_AD_DOMAIN_NAME ist der Domainname des Managed Microsoft AD-Dienstes, den Sie verwenden möchten.
Prüfen Sie, ob der sssd-Dienst ausgeführt wird:
sudo systemctl status sssdFühren Sie den rpc-gssd-Dienst aus. Fügen Sie Folgendes unter dem Attributwert
No-Stripzum Abschnitt[General]in/etc/idmapd.confhinzu:[General] No-Strip = bothFühren Sie dazu diesen Befehl aus. Dieser Befehl sorgt dafür, dass der Domainname nicht aus dem Hostnamen des NFS-Servers entfernt wird. Weitere Informationen finden Sie unter NFS Ganesha List Archives und Arch Linux Archive:
sudo systemctl start rpc-gssd
Nächste Schritte
- Filestore-Instanz bearbeiten
- Instanz in einem freigegebene VPC-Netzwerk in Dienstprojekten erstellen
- Filestore-Instanz mit Private Service Connect erstellen