milvus-logo
LFAI
フロントページへ
  • 管理ガイド

ユーザ、権限、ロール

このトピックでは、Milvusにおけるロールベースアクセスコントロール(RBAC)の概要を説明し、ユーザ、ロール、オブジェクト、権限の定義と関係について詳しく説明します。

以下の図にオブジェクト、権限、ロール、ユーザの関係を示します。

users_and_roles ユーザとロール

主要概念

Milvusリソースへのアクセスコントロールを管理するためには、RBACの主要な構成要素であるオブジェクトタイプ、オブジェクト名、ユーザ、ロール、権限を理解することが重要です。

  • オブジェクトタイプ: 特権が割り当てられるオブジェクトのカテゴリ。オブジェクト タイプには次のようなものがあります:

    • Global:システム全体のオブジェクト。すべてのコレクション、ユーザー、またはシステム全体の設定に影響するアクションをユーザーが実行できます。
    • Collection:コレクション固有のオブジェクト : インデックスの作成、データのロード、データの挿入または削除、特定のコレクション内のデータのクエリなどのアクションを実行できます。
    • User:ユーザ資格情報の更新やユーザ詳細の表示など、ユーザがデータベース・ユーザの資格情報およびロールを管理できるようにします。
  • オブジェクト名:アクセスを制御するオブジェクトの具体的な名前。たとえば

    • オブジェクトのタイプがGlobal の場合、オブジェクト名にはワイルドカード (*) を設定する必要があります。
    • オブジェクト・タイプがCollection の場合、オブジェクト名はコレクション名です。
    • オブジェクト・タイプがUser の場合、オブジェクト名はデータベース・ユーザの名前です。
  • ユーザー(User): Milvusと相互作用する個人またはアプリケーションで、ユーザー名と対応するパスワードから構成される。

  • 特権:実行可能なアクションとアクセス可能なリソースを定義する。権限はユーザに直接付与されるのではなく、ロールに割り当てられる。

  • ロール:ユーザーが特定のオブジェクトに対して持つ権限のセットを定義します。ロールがユーザにバインドされると、ユーザはそのロールに付与されたすべての特権を継承します。

例権限の付与

次のコード・スニペットは、特定のコレクションに対してCreateIndex 特権をロールに付与する方法を示しています:

milvusClient.grant_privilege(
    role_name="CUSTOM_ROLE_NAME",
    object_type="Collection",  # Valid value: Global, Collection or User.
    privilege="CreateIndex",   # See the table below for valid privilege names and relevant API descriptions.
    object_name="YOUR_COLLECTION_NAME"  # The name of the collection to grant access to. Use "*" to grant access to all collections.
)
GrantPrivilegeReq grantPrivilegeReq = GrantPrivilegeReq.builder()
        .roleName("roleName")
        .objectName("CollectionName") // The name of the collection to grant access to. Use "*" to grant access to all collections.
        .objectType("Collection") // Valid value: Global, Collection or User.
        .privilege("CreateIndex") // See the table below for valid privilege names and relevant API descriptions.
        .build();
client.grantPrivilege(grantPrivilegeReq);
milvusClient.grantPrivilege({
   roleName: 'roleName',
   object: 'Collection',  // Valid value: Global, Collection or User.
   objectName: 'CollectionName', // The name of the collection to grant access to. Use "*" to grant access to all collections.
   privilegeName: 'CreateIndex' // See the table below for valid privilege names and relevant API descriptions.
 })

権限関連APIの詳細については、grant_privilegeと revoke_privilegeを参照してください。

特権関連APIについての詳細は、grantPrivilegeと revokePrivilegeを参照してください。

特権関連 API の詳細については、grantPrivilegeおよびrevokePrivilege を参照してください。

デフォルトのユーザとロール

Milvus はデフォルトでroot ユーザーをデフォルトパスワードMilvus で作成します。root ユーザーにはadmin 権限が付与されます。これは、このroot ユーザーがすべてのリソースにアクセスでき、すべてのアクションを実行できることを意味します。

ユーザがpublic ロールと関連付けられている場合、そのユーザには以下の権限が与えられます:

  • DescribeCollection
  • ShowCollections
  • IndexDetail

オブジェクト・タイプと権限のリスト

次の表は、RBACを有効にするときに選択できる値の一覧です。

オブジェクト・タイプ特権名クライアント側の関連APIの説明
コレクション作成インデックスインデックス作成
コレクションドロップインデックスドロップインデックス
コレクションインデックスの詳細DescribeIndex/GetIndexState/GetIndexBuildProgress(インデックス構築状況)
コレクションロードLoadCollection/GetLoadingProgress/GetLoadState
コレクションロード進行状況取得ロード進行状況の取得
コレクションロード状態取得ロード状態取得
コレクションリリースリリースコレクション
コレクション挿入インサート
コレクション削除削除
コレクションアップサートアップサート
コレクション検索検索
コレクションフラッシュフラッシュ/フラッシュ状態取得
コレクションフラッシュ状態取得フラッシュ状態の取得
コレクションクエリークエリー
コレクション統計コレクション統計
コレクションコンパクションコンパクト
コレクションインポート一括挿入/インポート
コレクションロードバランスロードバランス
コレクションパーティション作成パーティションの作成
コレクションドロップパーティションドロップパーティション
コレクションパーティションの表示パーティションを表示
コレクションパーティションパーティションを持つ
グローバルすべてこのテーブルのすべてのAPI操作権限
グローバルコレクションの作成コレクションの作成
グローバルドロップコレクションドロップコレクション
グローバルDescribeCollectionDescribeCollection
グローバルコレクションの表示コレクションを表示
グローバルコレクション名の変更リネームコレクション
グローバルすべてをフラッシュすべてをフラッシュ
グローバルオーナーシップの作成CreateUser CreateRole
グローバル所有権の削除削除クレデンシャル DropRole
グローバルオーナーシップ選択セレクトロール/セレクトグラント
グローバルオーナーシップの管理OperateUserRole(ユーザー役割の操作) OperatePrivilege(権限の操作
グローバルリソースグループの作成リソースグループの作成
グローバルリソースグループの削除DropResourceグループ
グローバルDescribeResourceGroupリソースグループ
グローバルリソースグループの一覧リソースグループの一覧
グローバル転送ノード転送ノード
グローバルトランスファーレプリカトランスファーレプリカ
グローバルデータベースの作成データベースの作成
グローバルデータベースの削除データベースの削除
グローバルデータベース一覧リストデータベース
グローバルエイリアスの作成エイリアス作成
グローバルエイリアスの削除ドロップエイリアス
グローバルエイリアスの記述エイリアス記述
グローバルエイリアス一覧エイリアス一覧
ユーザ更新ユーザ更新クレデンシャル
ユーザーユーザー選択ユーザー選択
  • オブジェクト名と権限名は大文字と小文字を区別します。
  • Collection、Global、Userのように、ある種類のオブジェクトにすべての権限を付与するには、権限名に "*"を使用します。
  • Globalオブジェクトに対する "*"特権名には、All特権は含まれません。All特権には、コレクションやユーザオブジェクトを含むすべての権限が含まれるからです。
  • 次のページ

    翻訳DeepLogo

    Try Managed Milvus for Free

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

    Get Started
    フィードバック

    このページは役に立ちましたか ?