« 文字列の分解 | トップページ | ある文字列のうち、nバイト以内に収まるのは何文字か »

2013年8月29日 (木)

Oracleで三者間の権限設定をする話

Oracle で、あるユーザ/スキーマで見える他のユーザ/スキーマのオブジェクトを制限したい。 権限いろいろ付けたり消したりでやりますが、ビューが絡むと単純なやり方ではダメな場合がある。 制限したいっつーより一部だけ許可したいという場合ですな。


二者間の場合についてはここ http://www50.tok2.com/home/oppama/oramemo.html の「元表の持ち主にビューをGRANTしてもORA-01720が発生する」に書いてあるんですが、三者間でどうなるのかがいまいち理解できてなかった。ので一応メモ。


スキーマA に テーブルa が、スキーマB に ビューb があって テーブルa を参照しています。
スキーマC は テーブルa を直にも見るし、 ビューb も見たい。
その他 テーブルx や ビューy が存在してますが、スキーマC からは ab だけ見えて xy は見えない状態にしないといけない。



初期状態よくわかんないんだけど、スキーマCは自分のもの以外何も見えないように設定しておきます。
スキーマAで入って、スキーマCにテーブルaのSELECT権限を与えます。


GRANT select ON scheme_A.table_a TO scheme_C


ビューbのSELECT権限も与えます、


GRANT select ON scheme_B.view_b TO scheme_C


としようとすると、ORA-01720 のエラーを出されます。
ので、まずスキーマBに、テーブルaのSELECT権限を、WITH GRANT OPTION 付きで与える必要があります。


GRANT select ON scheme_A.table_a TO scheme_B WITH GRANT OPTION


その後、スキーマCにビューbのSELECT権限をつけると大丈夫です。


GRANT select ON scheme_B.view_b TO scheme_C


A ← B ← C
↑←←←↓


Cに付けたいのにA-B間の権限にオプションを付けてやらなければならないという話でした。



ちょっと厳しいところだと、すでに使われている権限に対して操作をくわえるなんてとんでもない、もしなんかあったらどうすんだ、ということで拒否されそうな状況ですね。
結局ウチでもこれは採用されず、スキーマBのビューbと同じ定義文でスキーマCにもビューbを作ったっぽい。


世の中そういう、既存のものに手を加えるのははばかられる状況ばっかりですから、そんなことしなくても新しく作るものへの設定だけで何とかなるようにしてほしいなー。



2016/06/09 に書きました。

« 文字列の分解 | トップページ | ある文字列のうち、nバイト以内に収まるのは何文字か »

パソコン・インターネット」カテゴリの記事

コメント

ぜひ、お気に入りの1本を見つけてみてくださいね!こんな考えも浮かんだが、一瞬だった。
腕時計を日常的につけるようになったは高校に進学した時だった。
高校進学のお祝いで父親に2万円のセイコーの腕時計買ってもらったのだ。
その後、大学に入り運動から遠ざかった俺は、社会人になるまで親父にプレゼントしてもらったセイコーを愛用していた。
しかし、一定のマナーさえ守れば自由度も高いので是非、オシャレな社会人として腕時計を堪能できるようになりましょう!高級時計は数あれど歴史が深く、知名度もあり、技術も高い。
そして、店舗が売る利益を最大限削り、お客様の満足度向上に努める。
大事な思い出の時計。
大人の女性から支持の高いブランドです。
女性は、指輪やネックレスなど身に付けるアイテムを多数持っているが、男性が日常的に身に付けるものといえば、これしか無い! お洒落アイテムだったり、自分の個性を演出するアイテムだったり、深い意味もなくロマンを感じたりするアイテムなのだ。
オメガの腕時計に興味がある方は是非こちらを確認してみてください!先日、腕時計を買い替えた。
時計を購入した際の「1年保証」、時計を修理した際の「6カ月保証」などの保証は、「取扱説明書に沿った正常な使用範囲内において、内装部品が故障した場合、無償修理をお約束する」というものです。
どの製品も通販で購入することができるものなので、お気に入りの一品を手に入れてください!その結果、、、委託販売の手数料率は、わずか3%を達成しています。
オメガの場合はそのモデルの市場価値、時計としての価値などあらゆる部分を含めて査定しまして買取金額をご提示致します。
さらに既存の時計とは別のカテゴリーだと考えられるため、価格で収入や品格を想像されにくい。
そして、オメガが初めての一本や玄人に愛されるのは高い技術で作られているのも関わらず、十分に手に入れられる価格帯であることです。

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Oracleで三者間の権限設定をする話:

« 文字列の分解 | トップページ | ある文字列のうち、nバイト以内に収まるのは何文字か »

AmazonSearch


最近のトラックバック

無料ブログはココログ