メインコンテンツまでスキップ
バージョン: Latest-3.4

EXECUTE AS

説明

ユーザーを偽装する権限 (IMPERSONATE) を取得した後、EXECUTE AS ステートメントを使用して、現在のセッションの実行コンテキストをそのユーザーに切り替えることができます。

このコマンドは v2.4 からサポートされています。

構文

EXECUTE AS user WITH NO REVERT

パラメーター

user: ユーザーは既に存在している必要があります。

使用上の注意

  • 現在ログインしているユーザー (EXECUTE AS ステートメントを呼び出すユーザー) は、他のユーザーを偽装する権限を付与されている必要があります。詳細については、GRANT を参照してください。
  • EXECUTE AS ステートメントには WITH NO REVERT 句を含める必要があります。これは、現在のセッションが終了する前に、元のログインユーザーに実行コンテキストを戻すことができないことを意味します。

現在のセッションの実行コンテキストをユーザー test2 に切り替えます。

EXECUTE AS test2 WITH NO REVERT;

切り替えが成功した後、select current_user() コマンドを実行して現在のユーザーを取得できます。

select current_user();
+-----------------------------+
| CURRENT_USER() |
+-----------------------------+
| 'default_cluster:test2'@'%' |
+-----------------------------+