DBMS_NETWORK_ACL_UTILITYパッケージは、ネットワークのアクセス制御リスト(ACL)を管理するためのインタフェースにユーティリティを提供します。
|
関連項目: 詳細は、『Oracle Databaseセキュリティ・ガイド』の外部ネットワーク・サービスへのファイングレイン・アクセスの管理に関する項を参照してください。 |
この章では、次の項目について説明します。
このパッケージのDOMAINSファンクションは、ホストが属するすべてのドメインを戻します。 このファンクションをDBMS_NETWORK_ACL_ADMINパッケージのCHECK_PRIVILEGE_ACLIDファンクションとともに使用して、ネットワーク・ホストにアクセスする権限に影響を与える権限の割当てを決定できます。 このパッケージのDOMAIN_LEVELファンクションは、各ドメインのレベルを戻し、優先順位に従ってACLの割当て順序を決定するときに使用できます。
例1
たとえば、SCOTTがwww.us.oracle.comに接続する権限の場合は、次のとおりです。
SELECT host, lower_port, upper_port, acl,
DECODE(
DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE_ACLID(aclid, 'SCOTT', 'connect'),
1, 'GRANTED', 0, 'DENIED', null) privilege
FROM dba_network_acls
WHERE host IN
(SELECT * FROM
TABLE(DBMS_NETWORK_ACL_UTILITY.DOMAINS('www.us.oracle.com')))
ORDER BY DBMS_NETWORK_ACL_UTLITITY.DOMAIN_LEVEL(host) desc, lower_port,
upper_port;
HOST LOWER_PORT UPPER_PORT ACL PRIVILEGE
-------------------- ---------- ---------- -------------------- ---------
www.us.oracle.com 80 80 /sys/acls/www.xml GRANTED
www.us.oracle.com 3000 3999 /sys/acls/www.xml GRANTED
www.us.oracle.com /sys/acls/www.xml GRANTED
*.oracle.com /sys/acls/all.xml
* /sys/acls/all.xml
例2
たとえば、SCOTTがwww.us.oracle.comのドメイン名解決を行う権限の場合は、次のとおりです。
SELECT host, lower_port, upper_port, acl,
DECODE(
DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE_ACLID(aclid, 'SCOTT', 'resolve'),
1, 'GRANTED', 0, 'DENIED', null) privilege
FROM dba_network_acls
WHERE host IN
(SELECT * FROM
TABLE(DBMS_NETWORK_ACL_UTILITY.DOMAINS('www.us.oracle.com'))) and
lower_port IS NULL AND upper_port IS NULL
ORDER BY DBMS_NETWORK_ACL_UTILITY.DOMAIN_LEVEL(host) desc;
HOST LOWER_PORT UPPER_PORT ACL PRIVILEGE
-------------------- ---------- ---------- -------------------- ---------
www.us.oracle.com /sys/acls/www.xml GRANTED
*.oracle.com /sys/acls/all.xml
* /sys/acls/all.xml
resolve権限は、ポート範囲なしで割り当てられたACL内でのみ有効です(lower_portおよびupper_portがNULLの場合)。このため、lower_portおよびupper_port列はこの問合せに含まれていません。
表81-1 DBMS_NETWORK_ACL_UTILITYパッケージのサブプログラム
| サブプログラム | 説明 |
|---|---|
|
|
特定のホスト名、ドメインまたはサブネットのドメイン・レベルを戻します。 |
|
|
このファンクションは、与えられたホストに対して、そのホストへのアクセス権がユーザーに付与されているかどうかを判別するために使用されるACLが割り当てられているドメインを戻します。 |
このファンクションは、特定のホスト名、ドメインまたはサブネットのドメイン・レベルを戻します。
構文
DBMS_NETWORK_ACL_UTILITY.DOMAIN_LEVEL (
host IN VARCHAR2)
RETURN NUMBER;
パラメータ
戻り値
特定のホスト、ドメインまたはサブネットのドメイン・レベル。
例
SELECT DBMS_NETWORK_ACL_UTILITY.DOMAIN_LEVEL('www.us.oracle.com') FROM DUAL;
このファンクションは、与えられたホストに対して、そのホストへのアクセス権がユーザーに付与されているかどうかを判別するために使用されるACLが割り当てられているドメインを戻します。ホストのIPアドレスが指定されている場合は、かわりにサブネットを戻します。
構文
DBMS_NETWORK_ACL_UTILITY.DOMAINS (
host IN VARCHAR2)
RETURN DOMAIN_TABLE PIPELINED;
パラメータ
戻り値
特定のホストのドメインまたはサブネット。
例
SELECT * FROM TABLE (DBMS_NETWORK_ACL_UTILITY.DOMAINS('www.us.oracle.com'));