Bagikan jenis kontrol akses

Jenis share adalah "type of service" yang administrator-defined, terdiri dari deskripsi yang terlihat oleh penyewa, dan daftar non-tenant-visible key-value pairs - extra specifications. Manila-scheduler menggunakan spesifikasi tambahan untuk membuat keputusan penjadwalan, dan driver mengendalikan penciptaan share.

Administrator dapat membuat dan menghapus tipe berbagi, dan juga mengelola spesifikasi tambahan yang memberi makna pada layanan Shared File Systems. Penyewa (tenants) dapat membuat daftar jenis share dan dapat menggunakannya untuk membuat share baru. Untuk perincian mengelola tipe share, lihat Shared File Systems API dan dokumentasi Share types managing.

Jenis share dapat dibuat sebagai public dan private. Ini adalah tingkat visibilitas untuk tipe share yang menentukan apakah penyewa lain dapat atau tidak dapat melihatnya dalam daftar jenis share dan menggunakannya untuk membuat share baru.

Secara default, jenis share dibuat sebagai publik. Saat membuat jenis share, gunakan parameter --is_public yang disetel ke False untuk menjadikan tipe share Anda pribadi yang akan mencegah penyewa lain melihatnya di daftar jenis share dan membuat share baru dengannya. Di sisi lain, jenis share public tersedia untuk setiap penyewa di awan.

Layanan Shared File Systems memungkinkan administrator untuk memberikan atau menolak akses ke tipe share private untuk penyewa. Hal ini juga memungkinkan untuk mendapatkan informasi tentang akses untuk jenis share pribadi tertentu.

Tip

Karena jenis share menggunakan spesifikasi tambahan mereka membantu menyaring atau memilih kembali sebelum pengguna membuat share, dengan menggunakan akses ke jenis share Anda dapat membatasi klien dalam pilihan tujuan akhir tertentu.

Sebagai contoh, sebagai pengguna administrator di penyewa admin, Anda dapat membuat jenis share privat bernama my_type dan melihatnya dalam daftar. Dalam contoh konsol, log in dan out dihilangkan, dan variabel lingkungan disediakan untuk menunjukkan pengguna yang masuk saat ini.

$ 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 |
+----+--------+-----------+-----------+-----------------------------------+-----------------------+

Pengguna demo di penyewaan demo dapat mendaftar jenis dan jenis share privat bernama my_type tidak terlihat untuknya.

$ 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|
+----+--------+-----------+-----------+----------------------------------+----------------------+

Administrator dapat memberikan akses ke jenis share privat untuk penyewa demo dengan ID penyewa sama dengan df29a37db5ae48d19b349fe947fada46:

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

Jadi sekarang pengguna di penyewa demo dapat melihat jenis share pribadi dan menggunakannya dalam pembuatan share:

$ 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 |
+----+--------+-----------+-----------+-----------------------------------+-----------------------+

Untuk menolak akses untuk proyek tertentu, gunakan perintah manila type-access-remove <share_type> <project_id> .

Tip

real production use case yang menunjukkan tujuan dari jenis share dan akses ke mereka adalah situasi saat Anda memiliki dua tujuan: LVM murah sebagai penyimpanan publik dan Ceph mahal sebagai penyimpanan privat. Dalam hal ini Anda dapat memberikan akses ke penyewa tertentu dan membuat akses dengan metode otentikasi user/group .