🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI
Beranda
  • Panduan Administrasi
  • Home
  • Docs
  • Panduan Administrasi

  • Keamanan

  • Mengaktifkan RBAC

  • Kelompok Hak Istimewa

Membuat Grup Hak Istimewa

Untuk menyederhanakan proses pemberian hak istimewa, Anda disarankan untuk menggabungkan beberapa hak istimewa ke dalam grup hak istimewa.

Grup hak istimewa vs hak istimewa

Grup hak istimewa terdiri dari beberapa hak istimewa.

Privilege group illustrated Ilustrasi grup hak istimewa

Seperti yang ditunjukkan pada gambar di atas, misalkan Anda perlu memberikan tiga hak istimewa yang berbeda pada sebuah peran.

  • Jika Anda tidak menggunakan grup hak istimewa, Anda perlu memberikan hak istimewa tiga kali.

  • Jika Anda menggunakan grup hak istimewa, Anda hanya perlu membuat grup hak istimewa dan menambahkan tiga hak istimewa ke grup hak istimewa ini dan memberikan grup hak istimewa tersebut ke Role A.

Dengan menggunakan grup hak istimewa, Anda dapat memberikan beberapa hak istimewa secara massal ke sebuah peran.

Grup hak istimewa bawaan

Untuk kemudahan penggunaan, Milvus menyediakan total 9 hak istimewa bawaan di tingkat koleksi, basis data, dan instance: COLL_RO, COLL_RW, COLL_ADMIN, DB_RO, DB_RW, DB_Admin, Cluster_RO, Cluster_RW, dan Cluster_Admin.

Tiga tingkat grup hak istimewa bawaan tidak memiliki hubungan berjenjang. Menetapkan grup hak istimewa pada tingkat instance tidak secara otomatis menetapkan izin untuk semua database dan koleksi di bawah instance tersebut. Hak istimewa di tingkat database dan koleksi perlu diatur secara manual.

Tabel berikut ini menjelaskan hak istimewa yang disertakan dalam setiap grup hak istimewa bawaan.

Tingkat koleksi

  • COLL_RO: mencakup hak istimewa untuk membaca data koleksi

  • COLL_RW: mencakup hak istimewa untuk membaca dan menulis data koleksi

  • COLL_ADMIN: mencakup hak istimewa untuk membaca dan menulis data koleksi dan mengelola koleksi.

Tabel di bawah ini mencantumkan hak istimewa khusus yang termasuk dalam tiga kelompok hak istimewa bawaan pada tingkat koleksi.

Hak istimewa

CollectionReadOnly

KoleksiBacaTulis

CollectionAdmin

Permintaan

✔️

✔️

✔️

Pencarian

✔️

✔️

✔️

IndexDetail

✔️

✔️

✔️

GetFlushState

✔️

✔️

✔️

GetLoadState

✔️

✔️

✔️

GetLoadingProgress

✔️

✔️

✔️

MemilikiPartisi

✔️

✔️

✔️

TampilkanPartisi

✔️

✔️

✔️

DaftarAliases

✔️

✔️

✔️

JelaskanKoleksi

✔️

✔️

✔️

JelaskanAlias

✔️

✔️

✔️

GetStatistics

✔️

✔️

✔️

CreateIndex

❌

✔️

✔️

DropIndex

❌

✔️

✔️

BuatPartisi

❌

✔️

✔️

JatuhkanPartisi

❌

✔️

✔️

Memuat

❌

✔️

✔️

Lepaskan

❌

✔️

✔️

Sisipkan

❌

✔️

✔️

Menghapus

❌

✔️

✔️

Upsert

❌

✔️

✔️

Impor

❌

✔️

✔️

Siram

❌

✔️

✔️

Pemadatan

❌

✔️

✔️

Keseimbangan Beban

❌

✔️

✔️

BuatAlias

❌

❌

✔️

DropAlias

❌

❌

✔️

Tingkat basis data

  • DB_RO: mencakup hak istimewa untuk membaca data basis data

  • DB_RW: mencakup hak istimewa untuk membaca dan menulis data basis data

  • DB_Admin: mencakup hak istimewa untuk membaca dan menulis data basis data dan mengelola basis data.

Tabel di bawah ini mencantumkan hak istimewa spesifik yang termasuk dalam tiga kelompok hak istimewa bawaan pada tingkat basis data.

Hak istimewa

DatabaseReadOnly

DatabaseReadWrite

DatabaseAdmin

TampilkanKoleksi

✔️

✔️

✔️

JelaskanDatabase

✔️

✔️

✔️

MembuatKoleksi

❌

❌

✔️

DropCollection

❌

❌

✔️

AlterDatabase

❌

✔️

✔️

Tingkat cluster

  • Cluster_RO: termasuk hak istimewa untuk membaca data instnace

  • Cluster_RW: termasuk hak istimewa untuk membaca dan menulis data instance

  • Cluster_Admin: mencakup hak istimewa untuk membaca dan menulis data instans dan mengelola instans.

Tabel di bawah ini mencantumkan hak istimewa spesifik yang termasuk dalam tiga kelompok hak istimewa bawaan di tingkat instance.

Hak istimewa

ClusterReadOnly

ClusterReadWrite

ClusterAdmin

DaftarDatabase

✔️

✔️

✔️

Ganti NamaKoleksi

❌

❌

✔️

BuatKepemilikan

❌

❌

✔️

PerbaruiPengguna

❌

❌

✔️

JatuhkanKepemilikan

❌

❌

✔️

PilihKepemilikan

✔️

✔️

✔️

KelolaKepemilikan

❌

❌

✔️

PilihPengguna

✔️

✔️

✔️

BackupRBAC

❌

❌

✔️

PulihkanRBAC

❌

❌

✔️

Membuat Grup Sumber Daya

❌

❌

✔️

Menghapus Grup Sumber Daya

❌

❌

✔️

Perbarui Grup Sumber Daya

❌

✔️

✔️

JelaskanKelompokSumberDaya

✔️

✔️

✔️

DaftarKelompokSumberDaya

✔️

✔️

✔️

TransferNode

❌

✔️

✔️

TransferReplika

❌

✔️

✔️

MembuatDatabase

❌

❌

✔️

DropDatabase

❌

❌

✔️

FlushAll

❌

✔️

✔️

BuatKelompokHakKhusus

❌

❌

✔️

HapusKeistimewaanGrup

❌

❌

✔️

DaftarKelompokHakKhusus

❌

❌

✔️

OperatePrivilegeGroup

❌

❌

✔️

Prosedur

Anda dapat membuat grup hak istimewa dan kemudian menambahkan hak istimewa ke grup hak istimewa.

Membuat grup hak istimewa

Contoh berikut ini menunjukkan cara membuat grup hak istimewa bernama privilege_group_1.

from pymilvus import MilvusClient
client.create_privileg_group(group_name='privilege_group_1')

import io.milvus.v2.service.rbac.request.CreatePrivilegeGroupReq;

client.createPrivilegeGroup(CreatePrivilegeGroupReq.builder()
        .groupName("privilege_group_1")
        .build());

import "github.com/milvus-io/milvus-sdk-go/v2/client"

client.CreatePrivilegeGroup(context.Background(), "privilege_group_1")

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/privilege_groups/create" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "privilegeGroupName":"privilege_group_1"
}'

Menambahkan hak istimewa ke grup hak istimewa

Contoh berikut menunjukkan cara menambahkan hak istimewa PrivilegeBackupRBAC dan PrivilegeRestoreRBAC ke grup hak istimewa privilege_group_1 yang baru saja dibuat.

from pymilvus import MilvusClient
client.add_privileges_to_group(group_name='privilege_group_1', privileges=['Query', 'Search'])

import io.milvus.v2.service.rbac.request.AddPrivilegesToGroupReq;

client.addPrivilegesToGroup(AddPrivilegesToGroupReq.builder()
        .groupName("privilege_group_1")
        .privileges(Arrays.asList("Query", "Search"))
        .build());

import "github.com/milvus-io/milvus-sdk-go/v2/client"

client.AddPrivilegesToGroup(context.Background(), "privilege_group_1", []string{"Query", "Search"})

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/privilege_groups/add_privileges_to_group" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "privilegeGroupName":"privilege_group_1",
    "privileges":["Query", "Search"]
}'

Menghapus hak istimewa dari grup hak istimewa

Contoh berikut menunjukkan cara menghapus hak istimewa PrivilegeRestoreRBAC dari grup hak istimewa privilege_group_1.

from pymilvus import MilvusClient
client.remove_privileges_from_group(group_name='privilege_group_1', privileges='Search')

import io.milvus.v2.service.rbac.request.RemovePrivilegesFromGroupReq;

client.removePrivilegesFromGroup(RemovePrivilegesFromGroupReq.builder()
        .groupName("privilege_group_1")
        .privileges(Collections.singletonList("Search"))
        .build());

import "github.com/milvus-io/milvus-sdk-go/v2/client"

client.RemovePrivilegesFromGroup(context.Background(), "privilege_group_1", []string{"Search"})

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/privilege_groups/remove_privileges_from_group" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "privilegeGroupName":"privilege_group_1",
    "privileges":["Search"]
}'

Membuat daftar grup hak istimewa

Contoh berikut ini menunjukkan cara membuat daftar semua grup hak istimewa yang ada.

from pymilvus import MilvusClient
client.list_privilege_groups()

import io.milvus.v2.service.rbac.PrivilegeGroup;
import io.milvus.v2.service.rbac.request.ListPrivilegeGroupsReq;
import io.milvus.v2.service.rbac.response.ListPrivilegeGroupsResp;

ListPrivilegeGroupsResp resp = client.listPrivilegeGroups(ListPrivilegeGroupsReq.builder()
        .build());
List<PrivilegeGroup> groups = resp.getPrivilegeGroups();

import "github.com/milvus-io/milvus-sdk-go/v2/client"

client.ListPrivilegeGroups(context.Background())

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/privilege_groups/list" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{}'

Di bawah ini adalah contoh keluaran.

PrivilegeGroupItem: <privilege_group:privilege_group_1>, <privileges:('Search', 'Query')>

Menghapus grup hak istimewa

Contoh berikut ini menunjukkan cara menghapus grup hak istimewa privilege_group_1.

from pymilvus import MilvusClient
client.drop_privilege_group(group_name='privilege_group_1')

import io.milvus.v2.service.rbac.request.DropPrivilegeGroupReq;

client.dropPrivilegeGroup(DropPrivilegeGroupReq.builder()
        .groupName("privilege_group_1")
        .build());

import "github.com/milvus-io/milvus-sdk-go/v2/client"

client.DropPrivilegeGroup(context.Background(), "privilege_group_1")

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/privilege_groups/drop" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "privilegeGroupName":"privilege_group_1"
}'

Coba Milvus yang Dikelola secara Gratis

Zilliz Cloud bebas masalah, didukung oleh Milvus dan 10x lebih cepat.

Mulai
Umpan balik

Apakah halaman ini bermanfaat?