Oracleデータベースのスキーマにアクセスするには、特定のIPアドレスにアクセスする必要がありました。oracleデータベースの特定のIPアドレスにスキーマ・アクセスを与える方法
私はどのようにしてそれを達成することができますか?
Pl/SQlなどを使用する場合はif。
Oracleデータベースのスキーマにアクセスするには、特定のIPアドレスにアクセスする必要がありました。oracleデータベースの特定のIPアドレスにスキーマ・アクセスを与える方法
私はどのようにしてそれを達成することができますか?
Pl/SQlなどを使用する場合はif。
アクセスは、IPアドレスではなく、ユーザーおよびロールにのみ許可できます。
あなたはは、アクセスしてアカウントを作成し、その後、私はそれをやってないことをお勧めしますが、アクセスを制限するためにLOGON triggerを作成することにより、偽それをできました。
CREATE OR REPLACE TRIGGER check_user
AFTER LOGON ON DATABASE
BEGIN
if sys_context('userenv', 'ip_address') <> '175.45.177.50' then
raise_application_error(-20000, 'This IP cannot access this database.');
end if;
END;
/
これはいくつかの理由で悪い考えです。 IPアドレスは偽造される可能性があり、ユーザーを認証する良い方法ではありません。また、これらのトリガーが多くのユーザーをブロックする可能性があるため、これに注意してください。 (警告:上記のコードはテストしていませんでしたが、私はすぐに破棄できるデータベースを持っていません)。また、これらのトリガーはDBAロールを持つユーザーをブロックしないため、テストするのが難しい場合があります。あなたはOracleが現在のストアドプロシージャを実行するユーザの権限を使用する場合は、使用したい「
CREATE OR REPLACE procedure pg_sql_broker AUTHID current_user IS begin your code: end
はわからないが、それはあなたのauthenicationのために働く場合は、コードの下に見ることができますAUTHID CURRENT_USER。