SQL プロキシアカウント
SQLプロキシアカウントは、 TiDB Cloudによって自動的に作成されるSQLユーザーアカウントで、 TiDB Cloudユーザーに代わってSQLエディターまたはData Serviceを介してデータベースにアクセスするために作成されます。たとえば、 testuser@pingcap.comが TiDB Cloudユーザーアカウントで、 3jhEcSimm7keKP8.testuser._41mqK6H4がそれに対応するSQLプロキシアカウントです。
SQLプロキシアカウントは、 TiDB Cloud内のデータベースにアクセスするための安全なトークンベースの認証メカニズムを提供します。従来のユーザー名とパスワードによる認証が不要になるため、SQLプロキシアカウントはセキュリティを強化し、アクセス管理を簡素化します。
SQL プロキシアカウントの主な利点は次のとおりです。
- 強化されたセキュリティ: JWT トークンを使用することで、静的資格情報に関連するリスクを軽減します。
- 合理化されたアクセス: SQL エディターとData Serviceへのアクセスを具体的に制限し、正確な制御を保証します。
- 管理の容易さ: TiDB Cloudを使用する開発者と管理者の認証を簡素化します。
SQLプロキシアカウントを特定する
特定の SQL アカウントが SQL プロキシアカウントであるかどうかを識別する場合は、次の手順を実行します。
mysql.userテーブルを調べます。USE mysql; SELECT user FROM user WHERE plugin = 'tidb_auth_token';SQLアカウントの権限を確認してください。
role_admin、role_readonly、role_readwriteなどのロールがリストされている場合は、SQLプロキシアカウントです。SHOW GRANTS for 'username';
SQLプロキシアカウントの作成方法
SQL プロキシアカウントは、TiDB Cloud クラスターの初期化中に、クラスター内で権限を持つロールが付与されたTiDB Cloudユーザーに対して自動的に作成されます。
SQLプロキシアカウントを削除する方法
ユーザーが組織またはプロジェクトから削除されるか、そのロールがクラスターにアクセスできないロールに変更されると、SQL プロキシアカウントは自動的に削除されます。
SQL プロキシアカウントを手動で削除した場合、ユーザーが次回TiDB Cloudコンソールにログインしたときに自動的に再作成されることに注意してください。
SQLプロキシアカウントのユーザー名
SQLプロキシアカウントのユーザー名は、 TiDB Cloudのユーザー名と完全に一致する場合もありますが、完全に一致しない場合もあります。SQLプロキシアカウントのユーザー名は、 TiDB Cloudユーザーのメールアドレスの長さによって決まります。ルールは以下のとおりです。
例:
SQLプロキシアカウントのパスワード
SQL プロキシアカウントは JWT トークンベースであるため、これらのアカウントのパスワードを管理する必要はありません。セキュリティトークンはシステムによって自動的に管理されます。
SQL プロキシアカウント ロール
SQL プロキシアカウントのロールは、 TiDB CloudユーザーのIAMロールによって異なります。
組織レベル:
- 組織の所有者: role_admin
- 組織の請求管理者: プロキシアカウントなし
- 組織閲覧者: プロキシアカウントなし
- 組織コンソール監査マネージャ: プロキシアカウントなし
プロジェクトレベル:
- プロジェクトオーナー: role_admin
- プロジェクトデータアクセスの読み取り/書き込み: role_readwrite
- プロジェクトデータアクセス読み取り専用: role_readonly
SQL プロキシアカウント アクセス制御
SQLプロキシアカウントはJWTトークンベースであり、Data ServiceとSQLエディタからのみアクセスできます。ユーザー名とパスワードを使用してSQLプロキシアカウントを使用してTiDB Cloudクラスターにアクセスすることはできません。