Freigabe Zugriffskontrolle

Der Dienst Shared File Systems ermöglicht es, den Zugriff auf verschiedene Entitäten des Dienstes für andere Clients zu gewähren oder zu verweigern.

Wenn Sie eine Freigabe als Remote-installierbare Instanz eines Dateisystems haben, können Sie den Zugriff auf eine angegebene Freigabe verwalten und Berechtigungen für eine angegebene Freigabe auflisten.

Eine Freigabe kann public oder private sein. Dies ist ein Maß an Sichtbarkeit für die Freigabe, die festlegt, ob andere Tenants die Freigabe sehen können oder nicht. Standardmäßig werden alle Freigaben als private angelegt. Beim Erstellen einer Freigabe verwenden Sie den Schlüssel `` –public``, um Ihre Freigabe für andere Tenants public zu machen, um sie in einer Liste von Freigaben zu sehen und ihre detaillierten Informationen zu sehen.

Nach policy.json <shared_fs_policies>`file, können ein Administrator und die Benutzer als Share-Besitzer den Zugriff auf Freigaben durch die Erstellung von Zugriffsregeln verwalten. Mit :command:`manila access-allow, :command:` manila access-deny` und manila access-list Befehle, können Sie den Zugriff auf eine angegebene Freigabe entsprechend gewähren, verweigern und auflisten.

Tipp

Wenn ein Freigabe erstellt wird und seinen Exportort hat, erwartet der Shared File Systems Service standardmäßig, dass niemand auf die Freigabe zugreifen kann. Bitte beachten Sie, dass der von Ihnen verwendete Share-Treiber diese Konfiguration ändern kann oder direkt auf dem Share-Storage geändert werden kann. Um den Zugriff auf die Freigabe zu gewährleisten, überprüfen Sie die Mount-Konfiguration für das Exportprotokoll.

Wenn eine Freigabe gerade erstellt wird, gibt es keine Standardzugriffsregeln, die mit ihr verknüpft sind, und die Berechtigung, sie zu installieren. Dies konnte bei der Montagekonfiguration für das Exportprotokoll gesehen werden. Zum Beispiel gibt es einen NFS-Befehl `` exportfs`` oder /etc/exports Datei auf dem Speicher, der jede entfernte Freigabe steuert und Hosts definiert, die darauf zugreifen können.

Mit dem Dienst Shared File Systems können Sie den Zugriff auf eine Freigabe erteilen oder verweigern, indem Sie eine dieser unterstützten Zugriffsstufen angeben:

  • rw Lesen und Schreiben (RW). Dies ist der Standardwert.

  • ro. Read-only (RO) Zugriff.

Tipp

Die RO-Zugriffsebene kann in öffentlichen Freigaben hilfreich sein, wenn der Administrator Lese- und Schreibzugriff (RW) für einige bestimmte Redakteure oder Mitwirkenden gibt und für den Rest der Benutzer (Zuschauer) schreibgeschützten Zugriff gewährt.

Sie müssen auch eine dieser unterstützten Authentifizierungsmethoden angeben:

  • ip Authentifiziert eine Instanz durch ihre IP-Adresse. Ein gültiges Format ist XX.XX.XX.XX oder XX.XX.XX.XX/XX. Zum Beispiel 0.0.0.0/0.

  • cert. Authentifiziert eine Instanz durch ein TLS-Zertifikat. Geben Sie die TLS-Identität als IDENTKEY an. Ein gültiger Wert ist ein String mit einer Länge von bis zu 64 Zeichen im Common Name (CN) des Zertifikats.

  • Benutzer. Authentifiziert durch einen bestimmten Benutzer oder Gruppennamen. Ein gültiger Wert ist ein alphanumerischer String, der einige Sonderzeichen enthalten kann und von 4 bis 32 Zeichen lang ist.

Bemerkung

Unterstützte Authentifizierungsmethoden hängen davon ab, welchen Share-Treiber, Sicherheitsdienst und gemeinsam genutztes Dateisystem-Protokoll Sie konfigurieren und verwenden. Unterstützte freigegebene Dateisystemprotokolle sind NFS, CIFS, GlusterFS und HDFS. Unterstützte Sicherheitsdienste sind LDAP, Kerberos-Protokolle oder Microsoft Active Directory-Dienst. Weitere Informationen zur Unterstützung von Features durch verschiedene Treiber finden Sie unter `Manila Share Features Support Mapping <http://docs.openstack. org/developer/manila/devref/share_back_ends_feature_support_ mapping.html> `_.

Um zu überprüfen, ob Zugriffsregeln (ACL) für eine Freigabe korrekt konfiguriert wurden, können Sie ihre Berechtigungen auflisten.

Tipp

Sie können auch wählen und hinzufügen Sicherheitsdienst, die vom Share-Treiber unterstützt wird, um Zugriffsregeln mit Authentifizierungsmethoden für Clients zu erstellen, die für Ihre Freigabe geeignet sind. Unterstützte Sicherheitsdienste sind LDAP, Kerberos und Microsoft Active Directory.

Unten ist ein Beispiel für eine NFS-Freigabe mit dem generischen Treiber. Nachdem die Aktie erstellt wurde, hat sie den Exportort 10.254.0.3:/ shares/share-b2874f8d-d428-4a5c-b056-e6af80a995de. Wenn Sie versuchen, es auf dem Host mit ``10.254.0.4``IP-Adresse zu installieren, erhalten Sie

# mount.nfs -v 10.254.0.3:/shares/share-b2874f8d-d428-4a5c-b056-e6af80a995de /mnt
mount.nfs: timeout set for Mon Oct 12 13:07:47 2015
mount.nfs: trying text-based options 'vers=4,addr=10.254.0.3,clientaddr=10.254.0.4'
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting 10.254.0.3:/shares/share-b2874f8d-...

Als Administrator können Sie über SSH mit einem Host mit ``10.254.0.3``IP- Adresse verbinden, die ``/etc/exports``Datei darauf sehen und sehen, dass sie leer ist:

# cat /etc/exports
#

Der generische Treiber, den wir im Beispiel verwenden, unterstützt keine der Sicherheitsdienste, also mit dem NFS-Dateisystemprotokoll können wir nur über die IP-Adresse Zugriff gewähren:

$ manila access-allow Share_demo2 ip 10.254.0.4
+--------------+--------------------------------------+
| Property     | Value                                |
+--------------+--------------------------------------+
| share_id     | e57c25a8-0392-444f-9ffc-5daadb9f756c |
| access_type  | ip                                   |
| access_to    | 10.254.0.4                           |
| access_level | rw                                   |
| state        | new                                  |
| id           | 62b8e453-d712-4074-8410-eab6227ba267 |
+--------------+--------------------------------------+

Nachdem die Regel den Status ``active``hat, können wir uns wieder mit dem ``10.254.0.3``Host verbinden und die ``/etc/exports``Datei überprüfen

# cat /etc/exports
/shares/share-b2874f8d-d428-4a5c-b056-e6af80a995de     10.254.0.4(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)
#

Jetzt können wir eine Freigabe auf dem Host mit IP-Adresse 10.254.0.4 einhängen und haben ``rw``Berechtigungen an der Freigabe:

# mount.nfs -v 10.254.0.3:/shares/share-b2874f8d-d428-4a5c-b056-e6af80a995de /mnt
# ls -a /mnt
.  ..  lost+found
# echo "Hello!" > /mnt/1.txt
# ls -a /mnt
.  ..  1.txt  lost+found
#