|
SET SECURITY ステートメントを使用すると、Master ユーザーはログオンしているデータベースのセキュリティを有効または無効にできます。
次の例では、データベースのセキュリティを有効にし、Master パスワードを 'mypasswd' と設定しています。
次の例では、パスワードを 123456 と設定しています。
次の例ではセキュリティが無効になります。
セキュリティを設定するには、まず Master としてログオンする必要があります。その後、SET SECURITY ステートメントを使用してパスワードを割り当てることができます。セキュリティで保護されていないデータベースにログオンする場合、Master はパスワードを要求されません。データベースのセキュリティを有効にするには、Master にパスワードを割り当てる必要があります。
SET SECURITY は、Master ユーザーのセッションが現在の唯一のデータベース接続である場合のみ発行できます。セキュリティは Pervasive PSQL Control Center(PCC)から設定することもできます。『Pervasive PSQL User's Guide』の Pervasive PSQL エクスプローラーを使ってセキュリティをオンにするにはを参照してください。
メモ
SQL Editor 内で SET SECURITY ステートメントを実行することはできません。実行しようとするとエラーになります。セキュリティなしのデータベースの場合、SQL Editor は辞書ファイルをロックして、パスワードが設定されないようにします。セキュリティで保護されたデータベースの場合、SQL Editor はデータベース ファイルへの 2 番目の接続を開いて、セキュリティが無効にされないようにします。
パスワード要件については、パスワードの特性を参照してください。
オブジェクト(テーブル、ビュー、およびストアド プロシージャなど)のユーザー権限は、SET SECURITY が NULL に設定された後もシステム テーブルに保持されます。次のシナリオについて考えてみましょう。
テーブル "t1" が存在しなくなっても、"t1" の権限はシステム テーブル内に残っています("t1" の ID は X$Rights 内にまだあります)。以下について考えてみましょう。
メモ
オブジェクトに対する権限を削除したい場合は、明示的にその権限を取り消す必要があります。このことは、テーブル、ビュー、およびストアド プロシージャに当てはまります。権限はオブジェクト ID と関連付けられており、データベースは新しいオブジェクトに対し、削除されたオブジェクトのオブジェクト ID を再使用するからです。
|