TiDB Cloud Filesystem の認可
TiDB Cloud Filesystem では、ファイルシステムの管理とそのデータへのアクセスに、それぞれ異なる認証情報を使用します。これにより、高い権限を持つ認証情報は信頼できる環境に保持しつつ、ユーザー、アプリケーション、エージェントには必要最小限のアクセスのみを付与できます。
一般に、アクセスは各レベルで次第に制限されます。
TiDB Cloud API credentials
↓
Manage file system resources
↓
Owner token
↓
Access one file system
↓
Scoped token
↓
Access selected paths and operations
認可モデル
TiDB Cloud Filesystem では、次の種類の認証情報を使用します。
これらの認証情報は相互に置き換え可能ではありません。TiDB Cloud API 認証情報はファイルシステムリソース自体を管理し、ファイルシステムトークンはファイルシステム内でのアクセスを制御します。
TiDB Cloud API 認証情報
TiDB Cloud API 認証情報は、公開 API キーと秘密 API キーのペアで構成されます。これらの権限は、関連付けられた TiDB Cloud アカウントによって決まります。
TiDB Cloud API 認証情報は、ファイルシステムの作成、一覧表示、詳細表示、削除などの CLI 操作に使用します。また、CLI で追加のオーナートークンを生成する際にも必要です。
これらの認証情報は、ファイルシステムデータへのアクセスだけを必要とするアプリケーションやエージェントに配布するのではなく、信頼できる管理環境または自動化環境に保持してください。
これらの認証情報は ti configure で設定するか、TIDB_CLOUD_PUBLIC_KEY と TIDB_CLOUD_PRIVATE_KEY を一緒に指定してください。詳細は、TiDB Cloud CLI の設定と認証情報を参照してください。
オーナートークン
オーナートークンは、1 つのファイルシステムに対する広範なアクセスを提供します。ファイルの読み取り、書き込み、削除が可能であり、そのファイルシステム用のスコープ付きトークンの作成と管理も行えます。
オーナートークンは、そのファイルシステムにのみ適用されます。ファイルシステムの作成や削除など、リソースレベルの操作において TiDB Cloud API 認証情報の代わりにはなりません。また、オーナートークンは別のオーナートークンを作成することもできません。別のオーナートークンを生成するには、TiDB Cloud API 認証情報が必要です。
オーナートークンはファイルシステム内で広範な権限を持つため、信頼できるマシンまたはシークレットマネージャーに保管してください。別のユーザー、アプリケーション、またはエージェントが限定的なアクセスのみを必要とする場合は、オーナートークンを共有するのではなく、スコープ付きトークンを作成してください。
1 つのファイルシステムには、複数の有効なオーナートークンを持たせることができます。これにより、異なるユーザー、アプリケーション、または環境で、同じトークンを共有する代わりに個別の認証情報を使用できます。
オーナートークンの生成と管理の手順については、ファイルシステムトークンの管理を参照してください。
スコープ付きトークン
スコープ付きトークンは、1 つのファイルシステム内の指定されたパスと操作にアクセスを制限します。
サポートされる操作は次のとおりです。
read: ファイルの内容とメタデータを読み取ります。list: ディレクトリ配下のエントリを一覧表示します。search: 許可されたパス配下のファイルを検索します。searchにはreadも必要です。write: ファイルおよびディレクトリを作成または変更します。delete: ファイルまたはディレクトリを削除します。
たとえば、レポートアプリケーションには次のようなアクセスを付与できます。
/inputsに対するread,listアクセス/reportsに対するread,list,writeアクセス
生成済みレポートの確認だけが必要な別のユーザーには、/reports に対する read,list アクセスを付与できます。
スコープ付き権限は、マウント経由でファイルシステムにアクセスする場合も含めて、ファイルシステムサービスによって強制されます。スコープ付きトークンは自身の権限を拡張したり、他のトークンを作成または管理したりできません。スコープ付きトークンは有効期間中に更新できますが、更新しても権限が拡張されることはありません。
スコープ付きトークンが発行された後、その作成元であるオーナートークンを無効化または取り消しても、スコープ付きトークンは自動的には取り消されません。アクセスが不要になった場合は、スコープ付きトークンを個別に取り消してください。
ファイルシステムへのフルアクセスを必要としないユーザー、アプリケーション、エージェント、または他のマシンにファイルシステムアクセスを付与する場合は、スコープ付きトークンを使用してください。
スコープ付きトークンの作成と委任の手順については、ファイルシステムトークンの管理を参照してください。
認証情報の境界
ワークフローに必要な最小限のアクセスを持つ認証情報を使用してください。
- ファイルシステムリソースの管理には TiDB Cloud API 認証情報 を使用します。
- 信頼できるワークフローで、1 つのファイルシステムへの広範なアクセスまたはアクセスの委任が必要な場合は オーナートークン を使用します。
- ユーザー、アプリケーション、またはエージェントが特定のパスと操作のみにアクセスする必要がある場合は スコープ付きトークン を使用します。
同じ環境で複数種類の認証情報を利用できても、それらの権限が結合されることはありません。たとえば、TiDB Cloud API 認証情報も設定されていても、スコープ付きトークンのアクセス範囲は制限されたままです。
TiDB Cloud CLI は、利便性のために選択したファイルシステムトークンをローカルに保存できます。ローカルでの認証情報の選択によって、リモートトークンが変更、無効化、または取り消されることはありません。ti がファイルシステムと認証情報をどのように選択するかの詳細は、TiDB Cloud CLI の設定と認証情報を参照してください。