バージョントークンは、次の要素を実装するプラグインライブラリに基づいています:
version_tokens
という名前のサーバー側プラグインは、サーバーに関連付けられたバージョントークンのリストを保持し、ステートメント実行イベントの通知をサブスクライブします。version_tokens
プラグインは、audit plugin API を使用してクライアントからの受信ステートメントをモニターし、各クライアントセッション固有のバージョントークンリストをサーバーのバージョントークンリストと照合します。 一致がある場合、プラグインはステートメントを通過させ、サーバーはそのステートメントの処理を続行します。 それ以外の場合、プラグインはクライアントにエラーを返し、ステートメントは失敗します。一連のユーザー定義関数 (UDF) は、プラグインによって保持されるサーバーバージョントークンのリストを操作および検査するための SQL レベルの API を提供します。 任意のバージョントークン UDF をコールするには、
VERSION_TOKEN_ADMIN
権限 (または非推奨のSUPER
権限) が必要です。version_tokens
プラグインがロードされると、VERSION_TOKEN_ADMIN
動的権限が定義されます。 この権限は UDF のユーザーに付与できます。システム変数を使用すると、クライアントは必要なサーバー状態を登録するバージョントークンのリストを指定できます。 クライアントがステートメントを送信したときにサーバーの状態が異なる場合、クライアントはエラーを受け取ります。