🚀 완전 관리형 Milvus인 Zilliz Cloud를 무료로 체험해보세요—10배 더 빠른 성능을 경험하세요! 지금 체험하기>>

milvus-logo
LFAI
홈페이지

사용자에게 역할 부여하기

역할을 만들고 역할에 권한을 부여한 후에는 사용자에게 역할을 부여하여 사용자가 리소스에 액세스하고 역할에 정의된 작업을 수행할 수 있도록 할 수 있습니다. 한 사용자에게 여러 개의 역할을 부여하거나 여러 사용자에게 역할을 부여할 수 있습니다. 이 가이드에서는 사용자에게 역할을 부여하는 방법을 소개합니다.

Milvus의 기본 제공 사용자 root 에게는 이미 모든 권한이 있는 admin 역할이 부여되어 있습니다. 다른 역할을 할당할 필요가 없습니다.

사용자에게 역할 부여하기

다음 예는 user_1 사용자에게 role_a 역할을 부여하는 방법을 보여줍니다.

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"
}'

사용자 설명

사용자에게 역할을 부여한 후에는 describe_user() 메서드를 통해 부여 작업이 성공했는지 확인할 수 있습니다.

다음 예는 사용자의 역할을 확인하는 방법을 보여줍니다 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"
}'

아래는 출력 예시입니다.

{'user_name': 'user_1', 'roles': 'role_a'}

역할 해지하기

사용자에게 할당된 역할을 해지할 수도 있습니다.

다음 예는 사용자에게 할당된 role_a 역할을 해지하는 방법을 보여줍니다. 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"
}'

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
피드백

이 페이지가 도움이 되었나요?