質問 |
||
| 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 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |