ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3707018 Oracle 10g 権限付与
質問者:neko0515 はじめまして

Oracle10gで、今度新しいデータベースが始動します。
問題なのが、管理者向けに発行するIDと、一般ユーザ向けに発行するIDの違いです。
管理者には参照・更新、参照権限付与・更新権限付与。
一般ユーザには参照、更新(それぞれテーブルごとに申請を出してもらう)、管理者から権限をもらう。
という仕組みになりました。
月に3度から4度、新しいテーブルができます。そのたびにgrantオプション付で管理者に権限付与するのも大変です。
select anyでは、テーブルごとの切り分けができません。

Oracle10gには詳しくないのですが(そもそもOracleにそんなに詳しくないのですが)、何かOracle10gの新機能など、使えそうなものはないでしょうか。

よろしくお願いいたします。
困り度:
  • すぐに回答を!
質問投稿日時:
08/01/23 19:37
この質問に対する回答は締め切られました。
最新から表示回答順に表示

回答

ANo.2 ロール(任意の権限の集まり)の使い方で正解だと思いますが・・・
具体的には、例えば「testrole1」「testrole2」という名前のロールを作って
create role testrole1;
create role testrole2;
「testrole1」をuser1,user3に、「testrole2」をuser2に付与して
grant testrole1 to user1;
grant testrole2 to user2;
grant testrole1 to user3;
新規に表を作成したら、ロールに対して権限を付与すれば、そのロールを付与されているユーザは一括で権限が与えられる。
grant select on user0.atable to testrole1;
>>この1文でtestrole1を持っているuser1とuser3だけ、user0.atableテーブルのSELECT権限を得る。

但し、ロール経由ではなく直接権限を与えられないと許可されない動作もあります。
ストアドメンバなどのEXECUTE権限がこれに当たったはずで注意が必要です。
詳しくはORACLEマニュアルのSQLリファレンス、セキュリティガイド辺りのロールに関する記述を参照してください。
回答者:lond_nag
種類:回答
どんな人:専門家
自信:自信あり
回答日時:
08/01/25 10:18
この回答へのお礼ありがとうございます。
結局、管理者にgrant any object privilegeを付与することで決まりました。

ご助力感謝いたします。

回答

ANo.1 ロールを作ればよい?
そんな簡単な答えじゃないですよね・・・・
回答者:dyna_1550
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/01/23 20:17
この回答へのお礼この回答にお礼をつける(質問者のみ)
 
最新から表示回答順に表示