Freigabetypen Zugriffskontrolle

Ein Freigabetyp ist ein vom Administrator definierter „Diensttyp“, der aus einer sichtbaren Anzeige des Tenants besteht und eine Liste von Nicht-Tenant-sichtbaren Schlüsselwertpaaren - zusätzliche Spezifikationen enthält. Der Manila-Scheduler verwendet zusätzliche Spezifikationen, um Terminierungsentscheidungen zu treffen, und Treiber steuern die Freigabeerstellung.

Ein Administrator kann Freigabetypen erstellen und löschen sowie zusätzliche Spezifikationen verwalten, die ihnen in dem Shared File Systems Service entsprechen. Die Tenant können die Anteilstypen auflisten und sie zur Erstellung neuer Freigaben verwenden. Weitere Informationen zum Verwalten der Freigabetypen finden Sie unter APD der Shared File Systems <https://docs.openstack.org/api-ref/shared-file-system/index.html#share-types>`_ und` Freigabearten verwalten <https://docs.openstack.org/admin-guide/shared_file_systems_share_types.html>`_ Dokumentation.

Freigabetypen können als public und private erstellt werden. Dies ist die Sichtbarkeit für die Freigabeart, die festlegt, ob andere Tenant es in einer Freigabesatzliste sehen oder nicht sehen können und es verwenden, um eine neue Freigabe zu erstellen.

Standardmäßig werden Freigabetypen als öffentlich angelegt. Beim Erstellen eines Freigabe-Typs verwenden Sie --is_public-Parametersatz auf `` False``, um Ihren Freigabetyp privat zu machen, der verhindert, dass andere Tenants sie in einer Liste von Freigabetypen sehen und neue Freigaben mit ihm erstellen. Auf der anderen Seite stehen für jeden Tenant in einer Cloud * public* Freigabetypen zur Verfügung.

Der Shared File Systems Service ermöglicht es einem Administrator, den Zugriff auf die privaten Freigabetypen für Tenant zu gewähren oder zu verweigern. Es ist auch möglich, Informationen über den Zugriff auf einen bestimmten privaten Anteilstyp zu erhalten.

Tipp

Da Freigabetypen aufgrund ihrer zusätzlichen Spezifikationen helfen, zu filtern oder wählen Sie Backends, bevor Benutzer eine Freigabe erstellen, mit Zugriff auf die Freigabetypen können Sie Kunden in der Wahl der spezifischen Backends begrenzen.

Als Beispiel, als Administrator-Benutzer in Admin-Tenant können Sie einen privaten Freigabe-Typ namens my_type erstellen und in der Liste sehen. In den Konsolenbeispielen wird das Anmelden und Ausgeben weggelassen, und Umgebungsvariablen werden bereitgestellt, um den aktuell angemeldeten Benutzer anzuzeigen.

$ env | grep OS_
...
OS_USERNAME=admin
OS_TENANT_NAME=admin
...
$ manila type-list --all
+----+--------+-----------+-----------+-----------------------------------+-----------------------+
| ID | Name   | Visibility| is_default| required_extra_specs              | optional_extra_specs  |
+----+--------+-----------+-----------+-----------------------------------+-----------------------+
| 4..| my_type| private   | -         | driver_handles_share_servers:False| snapshot_support:True |
| 5..| default| public    | YES       | driver_handles_share_servers:True | snapshot_support:True |
+----+--------+-----------+-----------+-----------------------------------+-----------------------+

demo``Benutzer in ``demo``Tenant kann die Typen auflisten und der private Anteil Typ namens ``my_type ist für ihn nicht sichtbar.

$ env | grep OS_
...
OS_USERNAME=demo
OS_TENANT_NAME=demo
...
$ manila type-list --all
+----+--------+-----------+-----------+----------------------------------+----------------------+
| ID | Name   | Visibility| is_default| required_extra_specs             | optional_extra_specs |
+----+--------+-----------+-----------+----------------------------------+----------------------+
| 5..| default| public    | YES       | driver_handles_share_servers:True| snapshot_support:True|
+----+--------+-----------+-----------+----------------------------------+----------------------+

Der Administrator kann den Zugriff auf den privaten Anteilstyp für den demo-Tenant mit der Tenant-ID gleich df29a37db5ae48d19b349fe947fada46 gewähren:

$ env | grep OS_
...
OS_USERNAME=admin
OS_TENANT_NAME=admin
...
$ openstack project list
+----------------------------------+--------------------+
| ID                               | Name               |
+----------------------------------+--------------------+
| ...                              | ...                |
| df29a37db5ae48d19b349fe947fada46 | demo               |
+----------------------------------+--------------------+
$ manila type-access-add my_type df29a37db5ae48d19b349fe947fada46

So können nun User im demo-Tenant den Private-Share-Typ sehen und ihn in der Freigabe-Erstellung verwenden:

$ env | grep OS_
...
OS_USERNAME=demo
OS_TENANT_NAME=demo
...
$ manila type-list --all
+----+--------+-----------+-----------+-----------------------------------+-----------------------+
| ID | Name   | Visibility| is_default| required_extra_specs              | optional_extra_specs  |
+----+--------+-----------+-----------+-----------------------------------+-----------------------+
| 4..| my_type| private   | -         | driver_handles_share_servers:False| snapshot_support:True |
| 5..| default| public    | YES       | driver_handles_share_servers:True | snapshot_support:True |
+----+--------+-----------+-----------+-----------------------------------+-----------------------+

Um den Zugriff für ein bestimmtes Projekt zu verweigern, verwenden Sie :command: `manila type-access-remove <share_type><project_id>`Befehl.

Tipp

A real production use case that shows the purpose of a share types and access to them is a situation when you have two back ends: cheap LVM as a public storage and expensive Ceph as a private storage. In this case you can grant access to certain tenants and make the access with user/group authentication method.