スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

DBへのユーザログオン制御

DBリンクを利用して、2インスタンス構成で運用している。
インスタンスA→インスタンスBへは、DBリンク経由で参照・更新・ストアドの実行が必要になってくるので、色々と操作できちゃう「DBリンク接続用ユーザ」をインスタンスBに作成しようとしている。

でも、セキュリティの観点から見ると、単純にユーザを作成するだけだと問題がある。
というわけで、「DBリンク接続用ユーザ」で接続する場合は、ログオン時に制御を加えようと考え、以下のようなトリガを検討してみた。
インスタンスAの存在するDBサーバにログインしちゃえば、「DBリンク接続用ユーザ」で接続できることにはなるけど、そもそもDBサーバにログインする人が少ないし、パスワード管理ができていれば、必要十分な制御かと。
-------------------------------------------------------------------
CREATE OR REPLACE TRIGGER DBLINK_LOGON
AFTER LOGON
ON DATABASE
DECLARE
dblink_user VARCHAR2(30); -- DBリンク専用ユーザ名
host_name VARCHAR2(30); -- 接続元ホスト名
BEGIN
-- 接続ユーザ・ホスト名を取得
SELECT UPPER(SYS_CONTEXT('USERENV','SESSION_USER')), UPPER(SYS_CONTEXT('USERENV','HOST'))
INTO dblink_user, host_name
FROM DUAL;

-- インスタンスAのDBサーバ以外からDBリンク専用ユーザで接続しようとする場合、接続不可
IF dblink_user = 'DBLINK' AND host_name != 'DBSV_A' THEN
RAISE_APPLICATION_ERROR(-20001, 'DBリンク専用ユーザのため、接続できません');
END IF;
END;
/
-------------------------------------------------------------------
関連記事
スポンサーサイト

この記事へのコメント

トラックバック

URL :

プロフィール

あんま覚えてへんわ


「あんま覚えてへんわ」です。

最新記事
最新コメント
月別アーカイブ
カテゴリ

openclose

カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
ブログ内検索

アクセス数
アクセスランキング
[ジャンルランキング]
日記
3392位
アクセスランキングを見る>>

[サブジャンルランキング]
会社員・OL
649位
アクセスランキングを見る>>

天気予報
QRコード
QR
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。