みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

oracle 7.3のアクセス権限

パスとユーザー名が書かれたテーブルがあったとして、
それが一致するものだけ、他のデータを閲覧できるようにしたいのです。
テーブル上のデータはみられたくあ
上手くviewやアクセス権限を操作してパスとユーザーを一致させる方法はないでしょうか?
接続方法はVBAからoo4oを用いています。オラクルのアカウントは一つです。

select countのみ許可とかできればいいのですが、それは無理でしょうか?

データベース初心者ですが宜しくお願いします。

投稿日時 - 2002-06-24 17:32:26

QNo.299148

困ってます

質問者が選んだベストアンサー

ごちゃごちゃしてきたので、一旦整理します。
「現状」
・ユーザは200人ほどいる。
 このユーザはOracle内のテーブルで管理されている。
・Oracleのアカウントは一つである。
 そのアカウントはすべての権限を持っている。
・アプリケーションから直接ユーザIDとパスワードを入れてOracleにログインしている。

あっていますか?

結論からいうと、200人分のアカウント作成は無駄です。
同一権限のアカウントを多数作る意味はあまりないからです。
それでしたら、追加、削除、修正、参照のできるアカウント、参照のみのアカウントを二つ作り、アプリケーション側でユーザ別にOracleに対してログインするアカウントを変更する、という制御を入れるのが自然でしょうか。
ただ、最終的にSQLをキックするのがアプリケーションなので、アプリケーションのみの制御でも十分セキュアだとは思います。

投稿日時 - 2002-06-26 13:41:46

お礼

アプリケーションの方はまだ設計段階でして、
コーディング作業はほとんどが手つかずです。

とりあえず、200個のビューを作ってみて
やったのですが、何か無駄っぽいです・・・

DBについては、まだまだ私が勉強不足なようです。
アプリケーション側での制御を含めて
皆さんの意見や指摘を参考にしていきたいと思います。
色々とご指摘ありがとうございました。

投稿日時 - 2002-06-27 17:44:53

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

> セキュリティ的にOracle側で隠すのがベストと思っているのですが
> どうでしょうか?

確かに、セキュリティは向上します。
ですが、オラクルのアカウントが一つなんですよね?
Oracleのテーブル制御権限は「誰」が「どれ」に対し「何」をできるかを設定するものです。
アプリケーションから触れる「誰」の部分が一人ならば、権限付与する意味があまりありません。
見たところ、オラクルのアカウントとテーブル内にもつユーザ名というのは別なのですよね?
でしたらそのテーブルに持っているユーザ名に対する権限付与というのはできません。
そのユーザを追加するのであっても、制御で権限付与を常に変更するのはセキュリティ上というより
システム上で問題があります。
よって、アプリケーションで制御するほうが早い、という結論を述べたまでです。

投稿日時 - 2002-06-25 17:14:30

お礼

再度、お答え頂きありがとうございます。
>アプリケーションから触れる「誰」の部分が一人ならば
不特定多数です。具体的には200人ぐらいです。

クライアント側の権限ですが
制御で権限付与はしません。あらかじめ、特定のViewのみSELECT可能なアカウントを作成しておきます。
そのアカウント自体は外部にもれてもまったく問題ないようにしたいのです。
現在の仕様ではアプリケーションにそのUSERとPASSをあらかじめいれてしまう仕様なもので。

オラクルのアカウントを200人分作成してもいいのですが、その方がいいのでしょうか?

投稿日時 - 2002-06-25 22:05:51

ANo.2

Oracleのアカウントが一つの場合は、アプリケーション側
で制御する方が一般的かと思います。

Oracleのユーザを複数作成するのならば、また別の話に
なるかと思いますが...

投稿日時 - 2002-06-25 16:28:58

お礼

レスありがとうございます。
複数作成する選択肢もあります。
可能であれば1アカウントで操作できるのが
仕様上ベストなのですが。。。

投稿日時 - 2002-06-25 22:06:24

ANo.1

Oracleの権限をいじるより、アプリケーションで制御したほうが早いのではないでしょうか?

投稿日時 - 2002-06-24 17:43:03

お礼

レスありがとうございます。
セキュリティ的にOracle側で隠すのがベストと思っているのですが
どうでしょうか?

投稿日時 - 2002-06-24 21:22:54

あなたにオススメの質問