メインコンテンツまでスキップ

クラスターユーザーの管理(SDK)

Zilliz Cloud では、クラスターユーザーを作成し、クラスターロールを割り当てて権限を定義することで、データセキュリティを実現できます。

このガイドでは、クラスターユーザーの作成、ユーザーへのロールの付与、ユーザーからのロールの取り消し、最後にユーザーの削除という一連の手順を説明します。クラスターロールの詳細については、クラスターロールの管理(コンソール) を参照してください。

ユーザーを作成する​

次の例は、ユーザー名 user_1 とパスワード P@ssw0rd でユーザーを作成する方法を示しています。ユーザーのユーザー名とパスワードは、次のルールに従う必要があります。

  • ユーザー名:英字で始まる必要があり、大文字または小文字の英字、数字、アンダースコアのみを含めることができます。

  • パスワード:長さが 8-64 文字である必要があり、大文字の英字、小文字の英字、数字、特殊文字のうち 3 種類以上を含める必要があります。

  • (任意)説明:最大 1024(UTF-8 バイト単位)。

python
from pymilvus import MilvusClient

client = MilvusClient(
uri="YOUR_CLUSTER_ENDPOINT",
token="YOUR_CLUSTER_TOKEN"
)

client.create_user(user_name="user_1", password="P@ssw0rd", description="a new user in the developers team")

ユーザーを一覧表示する​

複数のユーザーを作成した後、既存のすべてのユーザーを一覧表示して確認できます。

python
from pymilvus import MilvusClient

client.list_users()

以下は出力例です。root は自動的に生成されるデフォルトユーザーです。user_1 は作成したばかりの新しいユーザーです。

bash
['root', 'user_1']

ユーザーにロールを付与する​

次の例は、ユーザー user_1 にロール role_a を付与する方法を示しています。

python
from pymilvus import MilvusClient

client = MilvusClient(
uri="YOUR_CLUSTER_ENDPOINT",
token="YOUR_CLUSTER_TOKEN"
)

client.grant_role(user_name="user_1", role_name="role_a")

ユーザーを記述する​

ユーザーにロールを付与した後、describe_user() メソッドを使用して、付与操作が成功したかどうかを確認できます。

次の例は、ユーザー user_1 のロールを確認する方法を示しています。

python
from pymilvus import MilvusClient

client.describe_user(user_name="user_1")

以下は出力例です。

bash
{'user_name': 'user_1', 'description':'a new user in the developers team', 'roles': 'role_a'}

ロールを取り消す​

ユーザーに割り当てられたロールを取り消すこともできます。

次の例は、ユーザー user_1 に割り当てられたロール role_a を取り消す方法を示しています。

python
from pymilvus import MilvusClient

client.revoke_role(
user_name='user_1',
role_name='role_a'
)

ユーザーを削除する​

次の例は、ユーザー user_1 を削除する方法を示しています。

Notes

root ユーザーは削除できません。

python
from pymilvus import MilvusClient

client = MilvusClient(
uri="YOUR_CLUSTER_ENDPOINT",
token="YOUR_CLUSTER_TOKEN"
)

# drop the user
client.drop_user(user_name="user_1")

ユーザーを削除した後、既存のすべてのユーザーを一覧表示して、削除操作が成功したかどうかを確認できます。

python
from pymilvus import MilvusClient

client.list_users()

以下は出力例です。リストに user_1 は存在しません。削除操作は成功しています。

bash
['root']