モジュールに対する特権の付与と取り消し

セキュリティーの一環として、モジュール内に定義されているオブジェクトをデータベース・ユーザーが参照できる (または参照できない) ようにするには、モジュールに対する特権の付与および取り消しタスクを実行できます。

始める前に

このタスクを進める前に、以下を行ってください。
  • モジュール特権の GRANT ステートメントの構文、およびモジュール特権の REVOKE ステートメントの構文を確認してください。
  • モジュールが存在する必要があります。
  • GRANT または REVOKE ステートメントのいずれかを実行するための権限があることを確認してください。
  • 特権を付与または取り消す対象となるユーザー、グループ、または役割の許可 ID を識別してください。

このタスクについて

モジュールに対する EXECUTE 特権を付与または取り消すことができます。 EXECUTE 特権を持つユーザーは、モジュール内に定義された公開ルーチンの実行、公開されたグローバル変数の読み取り/書き込み、公開された任意のユーザー定義タイプの参照など、数多くのタスクを実行できます。

制約事項

制約事項については、

手順

  1. 次のようにして GRANT または REVOKE ステートメントを定式化します。
    1. 特権を付与する GRANT 節、または特権を取り消す REVOKE 節を指定します。
    2. 特権を示す EXECUTE ON MODULE 節を指定します。
    3. モジュールの名前を指定します。
    4. 特権を付与する場合は TO 節を指定し、特権を取り消す場合は FROM 節を指定します。
    5. 特権を変更する対象となるユーザーの許可 ID を指定します。
  2. ステートメントを実行します。

タスクの結果

ステートメントが正常に実行されると、モジュールに対する特権が更新されます。

以下の例の SQL ステートメントは、モジュール inventory に対する EXECUTE 特権を許可 ID jones に付与します。
GRANT EXECUTE ON MODULE inventory TO jones@
以下の例の SQL ステートメントは、モジュール inventory に対する EXECUTE 特権を許可 ID macdonald から取り消します。
REVOKE EXECUTE ON MODULE inventory FROM macdonald@

次のタスク

モジュールに対する特権を正常に付与または取り消した後、モジュール内のルーチンの実行を試行して、期待された結果になることを確認することにより、特権の変更内容を確認できます。