オラクルマスターゴールド12c移行勉強記の目次はこちらのページからどうぞ!

こんにちは、ぽんたこすです。

オラクルマスターゴールド12c移行試験の勉強記
セキュリティ 権限3 をはじめます。

オラクルマスターゴールド12c

◆PL/SQLコール時の権限チェック

PL/SQLのストアドプログラムやビューでは、オブジェクトの所有者の権限で動作する「定義者権限」、オブジェクトを実行するユーザに権限を与える「実行者権限」があります。

▼実行者権限
実行者権限では、定義者が実行者の権限をもらって実行します。これは定義者に権限がなくても、実行者に権限があれば実行できる悪意を持ったコードのプログラムの場合に問題になります。

INHERIT PRIVILEGES権限

INHERIT PRIVILEGES権限は、実行者から定義者に許可を出す権限です。
権限の付与は、実行者が行います。

※デフォルトでは、PUBLICに対してINHERIT PRIVILEGES権限が付与されている。

SQL> connect jikko -- 実行者

-- INHERIT PRIVILEGES権限がない場合
SQL> execute scott.proc(8000,:name)
BEGIN scott.proc(8000,:name);END;
*
行1でエラーが発生しました。:
ORA-06598:INHERIT PRIVILEGES権限が不十分です
ORA-06512:"SCOTT.PROC", 行1
ORA-06512:行1

-- INHERIT PRIVILEGES権限を付与
SQL> GRANT INHERIT PRIVILEGES ON USER jikko TO scott;
◆ビューの権限チェック

BEQUEATH句を使用したビューは12cで追加されました。ストアドプログラム同様に、定義者権限と実行者権限を指定することができます。実行者権限で定義されたビューへのアクセスは、実行者の権限で実行されます。

SQL> connect jikko -- 実行者

-- INHERIT PRIVILEGES権限を付与する
SQL> GRANT INHERIT PRIVILEGES ON USER jikko to scott;

今日はここまで。

オラクルマスター 12c GOLD 合格体験記こちらのページからどうぞ!

オラクルマスター試験対策のための書籍の紹介こちらのページからどうぞ!

資格でスキルを身に着けたあとは、転職でもいかかですか?
転職活動に関する情報こちらのページからどうぞ!

にほんブログ村 資格ブログへ にほんブログ村 資格ブログ IT系資格へ にほんブログ村 転職キャリアブログ 転職情報・転職サイトへ ブログランキング・にほんブログ村へ
にほんブログ村 にほんブログ村 にほんブログ村 にほんブログ村