Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ データベース管理 » ユーザとデータベースのセキュリティ » ユーザのセキュリティ (ロールと権限) » ロールベースのセキュリティへのアップグレード

 

権限が必要な操作を実行するシステムプロシージャの変更

16.0 より前のバージョンのデータベースでは、権限が必要な操作を行うシステムプロシージャを実行すると、デフォルトで、所有者の権限 (通常は dbo または SYS) で実行され、その定義の SQL SECURITY 句が DEFINER (所有者) に設定されていました。

バージョン 16.0 では、このようなシステムプロシージャの SQL SECURITY 句はデフォルトで INVOKER に設定されます。つまり、権限の必要な操作が、定義者ではなく、呼び出し側の権限で実行されます。

現在は、データベースを作成またはアップグレードするときに、権限の必要な操作を行うシステムプロシージャが、所有者と呼び出し側のどちらの権限で実行されるかを指定できます。CREATE DATABASE 文、ALTER DATABASE UPGRADE 文、初期化ユーティリティ (dbinit)、およびアップグレードユーティリティ (dbupgrad) は、この選択が可能であるように強化されました。

新しいデータベースでは、何も指定していない場合は、これらのシステムプロシージャに対して呼び出し側が選択されます。アップグレード時のデフォルトは、何も指定しない場合は、アップグレードしているデータベースですでに選択されているものです。

 参照