TiDB Cloud CLI のリージョン、セキュリティ、および制限事項
このリファレンスでは、現在の配置、認証、プラットフォーム、およびプレビューに関する境界について説明します。
サポートされるリージョン
TiDB Cloud CLI を使用する場合、CLI 操作のデフォルトリージョンを設定する必要があります。
次の表は、TiDB Cloud CLI でサポートされるリージョンと、各リージョンで利用可能な TiDB Cloud CLI サービスを示しています。
設定したリージョンが TiDB Cloud Starter をサポートしていても TiDB Cloud Filesystem をサポートしていない場合、そのリージョンで Starter インスタンスを管理できます。Filesystem コマンドは unsupported endpoint エラーで失敗します。
サポートされる Filesystem リージョンは、各 ti リリースに組み込まれています。インストール済みバージョンのリリース後に追加されたリージョンで Filesystem を使用するには、ti をアップグレードしてください。サービス URL を指定しても、非サポートのリージョンを有効にすることはできません。
認証情報の要件
TiDB Cloud API 呼び出しでは Digest 認証を使用します。SQL HTTPS 実行では、生成された SQL のユーザー名とパスワードによる Basic 認証を TLS 上で使用します。これらの認証情報は相互に置き換えできません。
セキュリティのベストプラクティス
- TiDB Cloud API キーは、ワークフローに必要なアクセス権のみを持つように作成してください。無人自動化で個人の管理者キーを再利用しないでください。
- 自動化用の認証情報は、CI のシークレットストアまたは実行時シークレットマネージャーから注入してください。認証情報をソース管理、コンテナイメージ、シェルスクリプト、またはプロセス一覧やシェル履歴に表示される可能性のあるコマンドライン引数に置かないでください。
- 完全な
~/.ti/ディレクトリをエージェントのサンドボックスにコピーしないでください。既存の Filesystem には、TI_FS_TOKENとTI_REGION_CODEのみを渡し、TI_FS_FILE_SYSTEM_IDは任意のアサーションとしてのみ使用してください。 - FS オーナートークンは、その Filesystem への完全アクセスとして扱ってください。エージェントが一部のシークレットのみを必要とする場合は、最も狭い field scope と実用上最短の TTL を持つ vault grant を作成し、代わりに委任された vault トークンを渡してください。
- マシン、CI ワークフロー、またはサンドボックスのクラスごとに別々の Filesystem トークンを使用してください。これにより、ある環境を無効化または失効しても、他の環境を中断せずに済みます。トークン名は運用上のラベルであり、一意識別子ではありません。トークンの変更は
token_idでのみ行ってください。 - 生成または更新されたトークンの平文は、1 回しか返されないため、すぐに取得してください。
TI_FS_TOKENから更新されたトークンは、外部シークレットマネージャーには書き戻されません。更新は冪等ではないため、ネットワーク障害が曖昧な場合は再試行しないでください。 - 共有トークンのローテーションでは、まず置き換え用トークンを生成して配布し、アクセスを検証してから、古いトークンを無効化して削除してください。状態変更後、認証キャッシュが収束するまで約 10 秒かかります。
- AI プロバイダーキーは
TI_FS_AI_PROVIDER_API_KEYを通じてのみ渡してください。TiDB Cloud CLI はこの値をローカルに永続化せず、Filesystem サービスはマスクされた形式でのみ返します。有効な設定を describe するまで、曖昧な障害後に AI 設定更新を再試行しないでください。 - 抽出を有効にすると、Filesystem のメディアが設定された抽出プロバイダーと共有されます。アプリケーション管理埋め込みを有効にすると、テキストまたは抽出された説明が設定された埋め込みプロバイダーと共有されます。いずれかの機能を有効にする前に、そのプロバイダーのデータ保持およびセキュリティ条件を確認してください。
- 信頼できないエージェントや探索的なエージェントによる SQL 調査には
--read-onlyを使用してください。DDL または権限管理には--adminのみを使用し、データ変更を意図する場合にのみ--read-writeを使用してください。 - 破壊的なコントロールプレーン操作の前に
--dry-runを使用してください。~/.ti/credentials、リソース認証情報、および DB SQL 認証情報は、所有者のみが読み取り可能にしてください。 /dev/fuse、SYS_ADMIN、および制限のない AppArmor プロファイルへの Docker アクセスは、Dedicated で信頼できるコンテナにのみ付与してください。これらの設定はコンテナ分離を弱めます。- 診断情報を共有する前に、ローカルの操作ログを確認してください。ログには SQL テキスト、パス、ペイロード、認証情報の値は含まれませんが、コマンド名、フラグ名、プロファイルおよびリージョンのメタデータ、ステータスコード、操作タイミングは依然として機微情報となる可能性があります。
マウントのプラットフォーム制限
FUSE と WebDAV は、同梱された Drive9 companion によって実装されています。TiDB Cloud CLI は、別個のネイティブマウント実装にはフォールバックしません。
Ubuntu 26.04 では、さらに AppArmor により fusermount3 が制限されます。マウントパスには $HOME または /mnt 配下を使用してください。/workspace では、ti を root として実行している場合でも、明示的なローカル AppArmor ルールが必要です。
耐久性の制限事項
- デフォルトの FUSE 動作では、companion によって許可される場合、ローカルバッファリングと非同期のリモート処理を使用します。
unmount-file-systemが成功すると、FUSE の処理は正常に flush および drain されるため、事前に別途 drain は不要です。drain-file-systemは、マウントをアクティブなままにする、FUSE 専用のオンライン耐久性バリアです。- マウントプロセスを強制終了したり、マシンを削除したりすると、未コミットのメモリ/write-back 状態が失われる可能性があります。
- デフォルトの coding-agent マウントプロファイルは、依存関係ツリー、生成出力、キャッシュ、および Git 内部データをローカルに保存します。ローカル専用データは、パックされるか別の方法で保持されない限り、そのディスクが失われると消失します。
- 実行中のマウントは、マウント時に読み込まれた companion バージョンのまま動作し続けます。TiDB Cloud CLI を更新した後は、アンマウントして再度マウントしてください。
- リモートにコミット済みの Filesystem データは、クライアントまたはサンドボックスが削除されても保持されます。マシンを削除しても、リモートリソースは削除されません。
製品の制限事項
- TiDB Cloud CLI はプレビュー段階であり、コマンドの仕様は変更される可能性があります。
- データベース管理の対象は TiDB Cloud Starter であり、すべての TiDB Cloud クラスタープランではありません。
- SQL 実行では、1 回の呼び出しにつき 1 つのステートメントのみ受け付けます。
- read-write はデフォルトの SQL ロールです。セキュリティに敏感な自動化では、明示的なロールフラグを使用してください。
- ジャーナルは追記専用であり、現在の公開コマンド体系にはジャーナルを削除するコマンドはありません。
- Filesystem の list および describe コマンドは、TiDB Cloud 認証情報を使用してリージョンスコープのリモートインベントリを照会します。リージョンをまたいで集約はしません。
- ローカル認証情報ストアは、プロファイルおよび Filesystem ごとに 1 つの選択済みトークンを保持します。すべてのリモートトークンをミラーリングするわけではありません。既知のトークン ID を持たない古い create/import 認証情報も引き続き使用できますが、リモートトークンメタデータと関連付けることはできません。
- Filesystem の抽出および埋め込みプロバイダー設定は任意です。未設定でも、リソース管理、ファイルアクセス、検索、レイヤー、Git、ジャーナル、vault、またはマウントワークフローは妨げられません。
- OpenAI プロバイダーインターフェースは、埋め込みと画像、音声、動画の抽出でサポートされます。Alibaba Cloud Model Studio Qwen ASR は音声抽出でのみサポートされます。その他のベンダーは、正確な OpenAI 互換コントラクトを通じた場合にのみ条件付きで互換性があります。ネイティブの Anthropic、Gemini、Vertex AI、Bedrock、および Azure OpenAI インターフェースはサポートされません。
- アプリケーション管理埋め込みには、正確に 1024 次元を返すプロバイダーモデルが必要です。
source=database_autoを報告する Filesystem はデータベース管理埋め込みを使用しており、アプリケーション管理設定を拒否します。 - テレメトリー管理コマンドは意図的に実装されていません。テレメトリーは
~/.ti/.preferencesまたはTI_TELEMETRYで制御してください。サーバーレス関数のデプロイ、Homebrew、および Scoop 配布は実装されていません。 - TiDB Cloud CLI は、直接のファイル操作、レイヤー、マウント、Git ワークスペース、ジャーナル、および Vault 操作を含む、公開されているすべての Filesystem ランタイム動作について、インストール済みの
ti-drive9companion に依存します。