Memberikan Peran kepada Pengguna
Setelah membuat peran dan memberikan hak istimewa pada peran tersebut, Anda dapat memberikan peran tersebut kepada pengguna agar pengguna dapat mengakses sumber daya dan melakukan tindakan yang ditentukan oleh peran tersebut. Anda dapat memberikan beberapa peran kepada pengguna atau memberikan peran kepada beberapa pengguna. Panduan ini memperkenalkan cara memberikan peran kepada pengguna.
Pengguna bawaan root
di Milvus telah diberikan peran admin
, yang memiliki semua hak istimewa. Anda tidak perlu memberikan peran lain padanya.
Memberikan peran kepada pengguna
Contoh berikut ini mendemonstrasikan cara memberikan peran role_a
kepada pengguna user_1
.
from pymilvus import MilvusClient
client = MilvusClient(
uri="http://localhost:19530",
token="root:Milvus"
)
client.grant_role(user_name="user_1", role_name="role_a")
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;
import io.milvus.v2.service.rbac.request.GrantRoleReq;
String CLUSTER_ENDPOINT = "http://localhost:19530";
String TOKEN = "root:Milvus";
ConnectConfig connectConfig = ConnectConfig.builder()
.uri(CLUSTER_ENDPOINT)
.token(TOKEN)
.build();
MilvusClientV2 client = new MilvusClientV2(connectConfig);
GrantRoleReq grantRoleReq = GrantRoleReq.builder()
.roleName("role_a")
.userName("user_1")
.build();
client.grantRole(grantRoleReq);
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")
const address = "http://localhost:19530";
const token = "root:Milvus";
const client = new MilvusClient({address, token});
milvusClient.grantRole({
username: 'user_1',
roleName: 'role_a'
})
export CLUSTER_ENDPOINT="http://localhost:19530"
export TOKEN="root:Milvus"
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/users/grant_role" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"roleName": "role_a",
"userName": "user_1"
}'
Mendeskripsikan pengguna
Setelah Anda memberikan peran kepada pengguna, Anda dapat memeriksa apakah operasi pemberian berhasil melalui metode describe_user()
.
Contoh berikut ini mendemonstrasikan cara memeriksa peran pengguna user_1
.
from pymilvus import MilvusClient
client.describe_user(user_name="user_1")
import io.milvus.v2.service.rbac.request.DescribeUserReq;
import io.milvus.v2.service.rbac.response.DescribeUserResp;
DescribeUserReq describeUserReq = DescribeUserReq.builder()
.userName("user_1")
.build();
DescribeUserResp describeUserResp = client.describeUser(describeUserReq);
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")
milvusClient.describeUser({username: 'user_1'})
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/users/describe" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"userName": "user_1"
}'
Di bawah ini adalah contoh keluaran.
{'user_name': 'user_1', 'roles': 'role_a'}
Mencabut peran
Anda juga dapat mencabut peran yang telah ditetapkan ke pengguna.
Contoh berikut ini menunjukkan cara mencabut peran role_a
yang diberikan kepada pengguna user_1
.
from pymilvus import MilvusClient
client.revoke_role(
user_name='user_1',
role_name='role_a'
)
import io.milvus.v2.service.rbac.request.RevokeRoleReq;
client.revokeRole(RevokeRoleReq.builder()
.userName("user_1")
.roleName("role_a")
.build());
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/users/revoke_role" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"userName": "user_1",
"roleName": "role_a"
}'