Supprimer des utilisateurs et des rôles
Pour garantir la sécurité des données, il est recommandé de supprimer les utilisateurs et les rôles qui ne sont plus utilisés. Ce guide explique comment supprimer des utilisateurs et des rôles.
Supprimer un utilisateur
L'exemple suivant montre comment supprimer l'utilisateur user_1.
L'utilisateur root ne peut pas être supprimé.
from pymilvus import MilvusClient
client = MilvusClient(
uri="http://localhost:19530",
token="root:Milvus"
)
# create a user
client.drop_user(user_name="user_1")
import io.milvus.v2.client.ConnectConfig
import io.milvus.v2.client.MilvusClientV2
import io.milvus.v2.service.rbac.request.DropUserReq
ConnectConfig connectConfig = ConnectConfig.builder()
.uri("http://localhost:19530")
.token("root:Milvus")
.build();
MilvusClientV2 client = new MilvusClientV2(connectConfig);
DropUserReq dropUserReq = DropUserReq.builder()
.userName("user_1")
.build();
client.dropUser(dropUserReq);
import (
"context"
"fmt"
"github.com/milvus-io/milvus/client/v2/milvusclient"
)
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
client, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
Address: "localhost:19530",
APIKey: "root:Milvus",
})
if err != nil {
fmt.Println(err.Error())
// handle error
}
defer client.Close(ctx)
err = client.DropUser(ctx, milvusclient.NewDropUserOption("user_1"))
if err != nil {
fmt.Println(err.Error())
// handle error
}
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")
const address = "http://localhost:19530";
const token = "root:Milvus";
const client = new MilvusClient({address, token});
milvusClient.deleteUser({
username: 'user_1'
})
export CLUSTER_ENDPOINT="http://localhost:19530"
export TOKEN="root:Milvus"
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/users/drop" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
--header "Request-Timeout: 10" \
-d '{
"userName": "user_1"
}'
Une fois l'utilisateur supprimé, vous pouvez dresser la liste de tous les utilisateurs existants pour vérifier si l'opération de suppression a réussi.
from pymilvus import MilvusClient
client.list_users()
import io.milvus.v2.service.rbac.request.listUsersReq
List<String> resp = client.listUsers();
users, err := client.ListUsers(ctx, milvusclient.NewListUserOption())
if err != nil {
fmt.Println(err.Error())
// handle error
}
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" \
--header "Request-Timeout: 10" \
-d '{}'
Voici un exemple de résultat. Il n'y a pas de user_1 dans la liste. L'opération d'abandon est réussie.
['root']
Abandon d'un rôle
L'exemple suivant montre comment supprimer le rôle role_a.
Le rôle intégré admin ne peut pas être supprimé.
from pymilvus import MilvusClient
client.drop_role(role_name="role_a")
import io.milvus.v2.service.rbac.request.DropRoleReq
DropRoleReq dropRoleReq = DropRoleReq.builder()
.roleName("role_a")
.build();
client.dropRole(dropRoleReq);
err = client.DropRole(ctx, milvusclient.NewDropRoleOption("role_a"))
if err != nil {
fmt.Println(err.Error())
// handle error
}
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")
await milvusClient.dropRole({
roleName: 'role_a',
});
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/drop" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
--header "Request-Timeout: 10" \
-d '{
"roleName": "role_a"
}'
Une fois le rôle supprimé, vous pouvez dresser la liste de tous les rôles existants pour vérifier si l'opération de suppression a réussi.
from pymilvus import MilvusClient
client.list_roles()
List<String> resp = client.listRoles();
roles, err := client.ListRoles(ctx, milvusclient.NewListRoleOption())
if err != nil {
fmt.Println(err.Error())
// handle error
}
await client.listRoles({
includeUserInfo: true
});
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/list" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
--header "Request-Timeout: 10" \
-d '{}'
Voici un exemple de résultat. Il n'y a pas de role_a dans la liste. L'opération de suppression est réussie.
['admin']