Membuat Pengguna & Peran
Milvus mencapai kontrol akses yang halus melalui RBAC. Anda bisa mulai dengan membuat pengguna dan peran, kemudian menetapkan hak istimewa atau grup hak istimewa untuk peran, dan akhirnya mengelola kontrol akses dengan memberikan peran kepada pengguna. Metode ini memastikan efisiensi dan keamanan manajemen akses. Halaman ini memperkenalkan cara membuat pengguna dan peran di Milvus.
Pengguna
Setelah menginisialisasi instans Milvus, pengguna root secara otomatis dibuat untuk autentikasi saat terhubung ke Milvus untuk pertama kalinya. Nama pengguna root adalah root
dan kata sandinya adalah Milvus
. Peran default dari pengguna root adalah admin
, yang memiliki akses ke semua sumber daya. Untuk memastikan keamanan data, simpanlah kredensial pengguna root Anda dengan aman untuk mencegah akses yang tidak sah.
Untuk operasi harian, kami sarankan untuk membuat pengguna daripada menggunakan pengguna root.
Membuat pengguna
Contoh berikut ini menunjukkan cara membuat pengguna dengan nama pengguna user_1
dan kata sandi P@ssw0rd
. Nama pengguna dan kata sandi untuk pengguna harus mengikuti aturan berikut.
Nama pengguna: Harus dimulai dengan huruf dan hanya boleh terdiri dari huruf besar atau huruf kecil, angka, dan garis bawah.
Kata sandi: Harus terdiri dari 8-64 karakter dan harus menyertakan tiga hal berikut ini: huruf besar, huruf kecil, angka, dan karakter khusus.
from pymilvus import MilvusClient
client = MilvusClient(
uri="http://localhost:19530",
token="root:Milvus"
)
client.create_user(user_name="user_1", password="P@ssw0rd")
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;
import io.milvus.v2.service.rbac.request.CreateUserReq;
ConnectConfig connectConfig = ConnectConfig.builder()
.uri("http://localhost:19530")
.token("root:Milvus")
.build();
MilvusClientV2 client = new MilvusClientV2(connectConfig);
CreateUserReq createUserReq = CreateUserReq.builder()
.userName("user_1")
.password("P@ssw0rd")
.build();
client.createUser(createUserReq);
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")
const address = "http://localhost:19530";
const token = "root:Milvus";
const client = new MilvusClient({address, token});
await milvusClient.createUser({
username: 'user_1',
password: 'P@ssw0rd',
});
export CLUSTER_ENDPOINT="http://localhost:19530"
export TOKEN="root:Milvus"
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/users/create" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"userName": "user_1",
"password": "P@ssw0rd"
}'
Memperbarui kata sandi
Setelah membuat pengguna, Anda dapat memperbarui kata sandi jika Anda lupa.
Kata sandi yang baru juga harus mengikuti aturan berikut.
- Harus terdiri dari 8-64 karakter dan mencakup tiga hal berikut ini: huruf besar, huruf kecil, angka, dan karakter khusus.
Contoh berikut ini menunjukkan cara memperbarui kata sandi untuk pengguna user_1
menjadi NewP@ssw0rd
.
from pymilvus import MilvusClient
client.update_password(
user_name="user_1",
old_password="P@ssw0rd",
new_password="NewP@ssw0rd"
)
import io.milvus.v2.service.rbac.request.UpdatePasswordReq;
UpdatePasswordReq updatePasswordReq = UpdatePasswordReq.builder()
.userName("user_1")
.password("P@ssw0rd")
.newPassword("NewP@ssw0rd")
.build();
client.updatePassword(updatePasswordReq);
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")
await milvusClient.updateUser({
username: 'user_1',
newPassword: 'P@ssw0rd',
oldPassword: 'NewP@ssw0rd',
});
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/users/update_password" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"newPassword": "P@ssw0rd!",
"userName": "user_1",
"password": "P@ssw0rd"
}'
Membuat daftar pengguna
Setelah membuat beberapa pengguna, Anda dapat membuat daftar dan melihat semua pengguna yang ada.
from pymilvus import MilvusClient
client.list_users()
List<String> resp = client.listUsers();
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")
await milvusClient.listUsers();
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/users/list" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{}'
Di bawah ini adalah contoh keluaran. root
adalah pengguna default yang dibuat secara otomatis di Milvus. user_1
adalah pengguna baru yang baru saja dibuat.
['root', 'user_1']
Peran
Milvus menyediakan sebuah role bawaan yang disebut admin
, yang merupakan role administrator yang dapat mengakses sumber daya di bawah semua instans dan memiliki hak istimewa untuk semua operasi. Untuk manajemen akses yang lebih baik dan keamanan data yang lebih baik, Anda disarankan untuk membuat role khusus berdasarkan kebutuhan Anda.
Membuat peran
Contoh berikut ini menunjukkan cara membuat peran bernama role_a
.
Nama peran harus mengikuti aturan berikut.
- Harus dimulai dengan huruf dan hanya boleh menyertakan huruf besar atau huruf kecil, angka, dan garis bawah."
from pymilvus import MilvusClient
client.create_role(role_name="role_a")
import io.milvus.v2.service.rbac.request.CreateRoleReq;
CreateRoleReq createRoleReq = CreateRoleReq.builder()
.roleName("role_a")
.build();
client.createRole(createRoleReq);
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")
await milvusClient.createRole({
roleName: 'role_a',
});
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/create" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"roleName": "role_a"
}'
Membuat daftar peran
Setelah membuat beberapa peran, Anda dapat membuat daftar dan melihat semua peran yang ada.
from pymilvus import MilvusClient
client.list_roles()
List<String> roles = client.listRoles();
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")
await milvusClient.listRoles(
includeUserInfo: True
);
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/list" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{}'
Di bawah ini adalah contoh keluaran. admin
adalah peran default di Milvus. role_a
adalah peran baru yang baru saja dibuat.
['admin', 'role_a']