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