APIキー
Zilliz Cloudでは、すべての組織にAPIキーのセットが付属しています。これらのキーは、RESTful APIまたはSDKの呼び出しを開始するために必要な必須の認証トークンです。組織内の特定のプロジェクトやリソースにアクセスする際に重要な役割を果たします。
APIキーの概要
さまざまな要件に対応するため、Zilliz Cloudは2種類の異なるAPIキーを提供しています。
-
個人キー:個々のユーザーにリンクされたこのタイプのキーは、Zilliz Cloudによって各組織のユーザーごとに自動生成され、ユーザーロールの権限を継承します。ユーザーが組織を離れると、その個人キーは自動的に削除されるため、長期的なプロジェクトには適していない場合があります。
-
カスタマイズキー:個々のユーザーではなく、アプリケーションやプログラムに関連付けられています。所有者または管理者ステータスを持つユーザーは、組織ごとに最大100個のカスタムAPIキーを使用して、このタイプのキーを作成および監視できます。カスタマイズキーは開発目的に適しており、安定した長期的なAPI統合および自動化機能を提供します。
2024年1月16日以前にリリースされたバージョンでは、APIキータイプは分類されていませんでした。この日以前にリリースされたバージョンからZilliz Cloudサービスをアップグレードする場合、以前に生成されたAPIキーはカスタマイズされたAPIキーとして指定されます。これらのキーは、元のAPIキーのプロジェクトレベルの権限を継承します。
RBACを使用した安全なAPI呼び出しを実現
ロールベースアクセス制御(RBAC)は、API呼び出しの管理に適用されるZilliz Cloudの重要なセキュリティメカニズムです。このシステムにより、組織内のユーザーに特定の権限を持つロールを割り当てることで、リソースへのアクセスを細かく制御できます。
各ロールのアクセスレベルの詳細については、アクセス制御を参照してください。
APIキーの管理
組織内のユーザーロールは、APIキー管理権限の範囲に影響します。具体的な権限は以下の通りです。
組織オーナー | プロジェクト管理者 | プロジェクトの読み書き | 読み取り専用プロジェクト | |
---|---|---|---|---|
パーソナルAPIキー | ||||
クリエーション | 自動生成された | 自動生成された | 自動生成された | 自動生成された |
ユーザーに割り当てられたAPIキーの表示 | ✔️ | ✔️ | ✔️ | ✔️ |
メンバーのAPIキー名を表示する[1] | ✔️ | ✔️ | ✘ | ✘ |
リセットAPIキー[2] | ✔️ | ✔️ | ✔️ | ✔️ |
カスタマイズされたAPIキー | ||||
クリエーション | ✔️ | ✔️ [3] | ✘ | ✘ |
閲覧する | ✔️ | ✔️ [4] | ✘ | ✘ |
アクセス許可をAPIキーから削除する | ✔️ | ✔️ [4] | ✘ | ✘ |
APIキー名の編集 | ✔️ | ✘ | ✘ | ✘ |
APIキーのリセット | ✔️ | ✘ | ✘ | ✘ |
APIキーの削除 | ✔️ | ✘ | ✘ | ✘ |
メモ:
[1]オーナーまたは管理者のユーザーは、権限範囲に基づいてメンバーのAPIキー名を閲覧できます。Organizationのオーナーは、Organization全体のメンバーのAPIキー名を閲覧できますが、プロジェクト管理者は自分の権限範囲内のキーのみを閲覧できます。プロジェクトの読み書きまたは読み取り専用は、自分の個人キーのみを閲覧できます。
[2]各ユーザーは自分の個人キーのみをリセットできます。
[3]プロジェクト管理者がカスタマイズされたAPIキーに付与できるパーミッションは、プロジェクト管理者自身のパーミッションスコープの対象となります。
[4]プロジェクト管理者は、権限範囲内でのみカスタマイズされたAPIキーを表示または管理できます。たとえば、ユーザー1がプロジェクトAを所有し、カスタマイズされたAPIキー(Key 1)がプロジェクトA、B、およびCにアクセスできる場合、ユーザー1はアクセス範囲がKey 1の権限を超えるため、Key 1にアクセスできません。
作成するAPIキー
Zilliz Cloudが組織のユーザーごとに自動的に生成する個人キー以外にも、カスタマイズされたキーを作成することができます。長期プロジェクトやアプリケーション開発の場合は、個人キーではなくカスタマイズされたAPIキーを使用することをお勧めします。
各Organizationオーナーまたはプロジェクト管理者は、カスタマイズされた APIキーを作成する権限を持っています。APIキーを作成するための重要なステップは、アクセス範囲を定義することです。ここで、APIキーがアクセス可能なプロジェクトやクラスタを決定します。
- APIキーアクセス:現在のカスタマイズされたAPIキーのアクセススコープを定義するには、適切な組織の役割を割り当て、ターゲットプロジェクトにキーをアクセス可能に指定し、そのプロジェクト内でキーの役割を設定します。より細かいアクセス制御を行うには、Restrict Access to Specific Clustersでホワイトリストを設定して、キーがアクセス可能なクラスターを制限できます。
プロジェクトはAPI Key Accessで追加できます。
カスタマイズされたAPIキーを作成するプロジェクト管理者の場合、付与できる権限は自分の権限範囲に限定されます。これにより、各APIキーの機能が作成者の責任と役割に合わせて調整され、安全で制御された環境が維持されます。
カスタマイズされたAPIキーを使用して、APIキーがアクセスできるクラスタへの接続を確立できます。詳細については、Clusterに接続を参照してください。
APIキーを見る
Organizationで作成されたAPIキーを表示するには、Organization OwnerまたはProject Adminの役割を持っている必要があります。
-
個人キー:Organizationオーナーまたはプロジェクト管理者は、Organization内のユーザーのために生成されたメンバーのAPIキーの名前を見る特権を持っています。ただし、これらの個人APIキーの実際の値にはアクセスできないため、ユーザーのプライバシーとセキュリティが確保されます。
-
カスタマイズされたキー:Organization OwnersOrganization内で作成されたすべてのカスタマイズされたAPIキーを閲覧可能です。プロジェクト管理者の場合、アクセス範囲が自分自身の範囲内にあるAPIキーのみ閲覧可能です。つまり、プロジェクトに関連し、管理者がアクセスできるAPIキーのみにアクセスできます。
APIキーの編集
Organizationオーナーまたはプロジェクト管理者は、APIキーを編集して名前を変更したり、アクセス権限を変更したりできます。
-
カスタマイズキーの名前変更:Organizationオーナーのみが、カスタマイズAPIキーの名前を変更できます。
-
アクセス権限の変更:Organization Ownerとして、APIキーの権限を任意の容量で更新する権限があります。プロジェクト管理者の場合、APIキーの権限を変更する権限は、すでに保持している権限の範囲に制限されます。つまり、プロジェクト管理者として、現在のアクセス権限よりも高いレベルに権限を拡張することはできず、権限の昇格が発生しないようにします。
カスタマイズされたAPIキーのみが編集できます。
APIキーをリセットする
アクセス制御のセキュリティと整合性を維持するために、APIキーをリセットすることは非常に重要です。キーの種類によって、その過程は異なります。
-
個人キー:各組織のユーザーは、役割に関係なく、自分の個人APIキーのみをリセットできます。これにより、ユーザーは新しいキーを生成してセキュリティ上の懸念やアクセスの問題に迅速に対応し、安全でパーソナライズされたアクセスシステムを維持できます。
-
カスタマイズされたキー:カスタマイズされたAPIキーのリセットは、組織所有者専用です。このレベルの制御は、より広範な組織全体のアクセスとセキュリティを管理する上で重要です。組織所有者は、これらのキーをリセットしてセキュリティ問題に対処したり、アクセスプロトコルを更新したりして、アプリケーションレベルのアクセスの整合性が損なわれないようにすることができます。
この操作により、現在のAPIキーがリセットおよび無効化されます。このキーを使用するカスタムコードは、関連するコードを新しいキーで更新するまで機能しなくなります。
APIキーの削除
不要になったAPIキーは、Organization Ownerとして削除できます。
カスタマイズされたAPIキーのみ削除できます。個人キーは自分のユーザーによってリセットできますが、削除することはできません。
APIキーを削除する場合は注意してください。削除すると、そのキーを使用していたリソースへのアクセスがすぐに取り消されます。