2016-06-22 11 views

答えて

0

アクセスは、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

0

はわからないが、それはあなたのauthenicationのために働く場合は、コードの下に見ることができますAUTHID CURRENT_USER。

関連する問題