ユーザーがフォームのローカルネットワーク内の特定の URL にアクセスする必要がある場合があります192.168.19.*
。彼は適切な許可EXECUTE
とUTL_HTTP
ACL リストの特権を持っていますが、それでもリストで許可されている URL にアクセスできません。
具体的には、ACL を sys dba として作成しました
BEGIN
dbms_network_acl_admin.create_acl(
acl => 'acl_name.xml',
description => 'ACL description',
principal => 'MYUSER',
is_grant => TRUE,
privilege => 'connect');
commit;
dbms_network_acl_admin.assign_acl (
acl => 'acl_name.xml',
host => '192.168.19.*',
lower_port => 1,
upper_port => 9999);
commit;
END;
/
以下をsysとして実行し、
SELECT acl, principal, privilege, is_grant
FROM dba_network_acl_privileges;
私は得る
ACL PRINCIPAL PRIVILEGE IS_GRANT
----------------------- --------- --------------- --------
/sys/acls/acl_name.xml MYUSER connect true
MYUSER として接続し、次のクエリを実行します。
SELECT host, lower_port, upper_port, privilege, status
FROM user_network_acl_privileges;
私は得る
HOST LOWER_PORT UPPER_PORT PRIVILEGE STATUS
------------------ ---------- ---------- --------- -------
192.168.19.* 1 9999 connect GRANTED
そのため、次のような目的の URL に接続しようとすると、誰がonでMYUSER
許可されますか?EXECUTE
UTL_HTTP
select utl_http.request('http://192.168.19.202:7101/gdc') from dual;
取得:
[Error] Execution (1: 8): ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1720
ORA-24247: network access denied by access control list (ACL)
ORA-06512: at line 1
リストを削除して再作成しようとしましたが、うまくいきresolve
ませんでした。また、特権を割り当てようとしましたが、それでも彼は ACL を通過できません。
ユーザーがこの URL を呼び出せないようにする何かが欠けていますか?
私のバージョン情報は次のとおりです。
BANNER
-------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for IBM/AIX RISC System/6000: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
5 rows selected.