RBACの説明
RBAC(Role-Based Access Control)とは、ロールに基づくアクセス制御手法である。RBACを使用すると、ユーザーが実行できる操作をコレクション、データベース、およびインスタンス・レベルで細かく制御できるため、データ・セキュリティが強化されます。
従来のユーザー・アクセス制御モデルとは異なり、RBAC ではロールの概念が導入されています。RBAC モデルでは、ロールに特権を付与し、そのロールをユーザに付与します。その後、ユーザーは特権を取得できる。
RBACモデルは、アクセス制御管理の効率を向上させることができる。たとえば、複数のユーザーが同じ権限セットを必要とする場合、ユーザーごとに手動で権限を設定する必要はありません。代わりに、ロールを作成し、そのロールをユーザーに割り当てることができます。これらのユーザーの権限を調整したい場合は、ロールの権限を調整するだけで、このロールを持つすべてのユーザーに変更が適用されます。
RBACの主な概念
ユーザー ロール 特権
RBACモデルには4つの主要コンポーネントがあります。
リソース:アクセス可能なリソース・エンティティ。Milvusのリソースにはインスタンス、データベース、コレクションの3つのレベルがあります。
特権:Milvusリソースに対して特定の操作を実行する権限(例:コレクションの作成、データの挿入など)。
特権グループ:複数の権限のグループ。
ロール:ロールは特権とリソースの2つの部分から構成されます。特権はロールが実行できる操作の種類を定義し、リソースは操作が実行できる対象リソースを定義します。例えば、データベース管理者ロールは特定のデータベースに対して読み取り、書き込み、管理の操作を実行できます。
ユーザ:ユーザとは、Milvusを利用する人のことです。各ユーザは一意のIDを持ち、ロールまたは複数のロールを付与されます。
手続き
RBACによるアクセス制御を行うには、以下の手順が必要です:
ユーザを作成します:ユーザの作成: Milvus のデフォルトユーザ
rootに加え、新しいユーザを作成し、データセキュリティを保護するためのパスワードを設定することができます。ロールを作成する:ニーズに応じてカスタマイズしたロールを作成することができます。ロールの具体的な機能はその権限によって決定されます。
特権グループの作成:複数の権限を1つの権限グループにまとめることで、ロールへの権限付与プロセスを効率化できます。
ロールに特権または特権グループを付与します:このロールに特権または特権グループを付与することで、ロールの能力を定義します。
ユーザにロールを付与する:ユーザがロールの特権を持てるように、特定の特権を持つロールをユーザに付与します。1つのロールを複数のユーザに付与することができます。