Identity Management Overview
Zilliz Cloud は、組織、プロジェクト、クラスター、API、SDK ワークフローにアクセスできる人、グループ、非人間アクター(サービスアカウントなど)を ID として表現します。ID 管理では、Zilliz Cloud に存在するユーザーや、それらの ID の招待、同期、作成、削除、認証の方法を制御します。その後、アクセス制御によって、各 ID がアクセスできる対象や実行可能なアクションが決定されます。
ID とアクセスのモデル
Zilliz Cloud のアクセス制御モデルは、プリンシパルとロールという 2 つの概念に基づいています。プリンシパルとは認可の対象となる ID のことであり、ロールとは名前付きの権限セットです。プリンシパルにロールを割り当てると、そのロールのスコープ内で該当する権限が付与されます。
| 概念 | 意味 | 例 |
|---|---|---|
| プリンシパル | アクセス権を付与できる ID。 | 組織メンバー、プロジェクトコラボレーター、クラスターユーザー、グループ、サービスアカウント。 |
| ロール | 名前付きの権限セット。 | Organization Owner、Billing Admin、Project Admin、クラスター Admin、Data Operator、Data Viewer、カスタムロール。 |
| ロール割り当て | プリンシパルにロールを付与する操作。 | プロジェクト A のユーザーにプロジェクトロールを付与する。 |
| スコープ | ロールが適用される範囲。 | 組織、プロジェクト、クラスター。 |
| 実効アクセス | 直接割り当てとグループ割り当てを統合した最終的なアクセス権。 | ユーザーは、同期されたグループから Data Viewer を取得し、直接のプロジェクトロール割り当てからクラスター Admin を取得します。 |
プリンシパル
次の表に、Zilliz Cloud で利用可能なプリンシパルの種類を示します。
| プリンシパルタイプ | スコープ | 用途 |
|---|---|---|
| 組織ユーザー | 組織 | コンソールへのサインイン、組織ロールの割り当て、プロジェクトアクセスの管理。 |
| プロジェクトコラボレーター | プロジェクト | 特定のプロジェクトおよびそのプロジェクトレベルのリソースへのアクセス。 |
| クラスターユーザー | クラスター | データベース、コレクション、検索、クエリ、書き込み操作など、クラスターレベルおよびデータプレーンへのアクセス。 |
| グループ | 組織 | SCIM を通じて ID プロバイダーから同期されたグループ。 |
| サービスアカウント | 組織またはプロジェクト | アプリケーション、スクリプト、CI/CD,、自動化のための非人間アクセス。これはカスタマイズされた API キーと同等です。 |
プリンシパルタイプの相互関係
1 人のユーザーが複数のスコープにまたがる場合があります。たとえば、あるユーザーが組織ユーザーであると同時に、1 つ以上のプロジェクトでプロジェクトコラボレーターを務め、データプレーンへのアクセス用にクラスターユーザーとしても登録されているケースです。これらの ID は、それぞれ異なるリソース境界を保護するため、別々のレベルで管理されます。
| ID | 制御対象 | 重要な境界 |
|---|---|---|
| 組織ユーザー | その人物が組織に所属し、コンソールにサインインできるかどうか。 | 組織に所属していても、すべてのプロジェクトやクラスターへのアクセス権が自動的に付与されるわけではありません。 |
| プロジェクトコラボレーター | ユーザーまたはグループが特定のプロジェクトにアクセスできるかどうか。 | プロジェクトへのアクセスは、プロジェクトごとに個別に付与する必要があります。プロジェクトを横断するワイルドカード認可はサポートされていません。 |
| クラスターユーザー | その ID がクラスターリソースやデータプレーン操作にアクセスできるかどうか。 | クラスターユーザーはクラスターごとに管理され、組織のロールとは独立したクラスターロールを持たせることができます。 |
グループ
Zilliz Cloud はグループベースのアクセス割り当てに対応しており、個々のユーザーにロールを割り当てる代わりに、チーム単位で権限を管理できます。ID プロバイダーをチーム構成の信頼できる情報源としている場合に特に有効です。
グループは SCIM を通じて外部の ID プロバイダーから同期されます。Zilliz Cloud では、ローカルでのグループ作成やメンバーシップの編集はできません。グループのメンバーシップは ID プロバイダー側で管理し、ロールの割り当ては Zilliz Cloud で管理してください。
サービスアカウント
非人間によるアクセスにはサービスアカウントを使用します。サービスアカウントは、アプリケーション、スクリプト、CI/CD ジョブ、自動化ワークフローなどを表すものです。API キー自体はリクエストの認証に使用されますが、権限の定義は行いません。Zilliz Cloud は、カスタマイズされた API キーを所有するユーザーまたはサービスアカウントと、そのプリンシパルに割り当てられたロールに基づいて、API や SDK からのリクエストを評価します。