DBMS_NETWORK_ACL_ADMIN 包的使用
When you create access control lists for network connections, you should create one access control list dedicated to a group of common users, for example, users who need access to a particular application that resides on a specific host computer. For ease of administration and for good system performance, do not create too many access control lists. Network hosts accessible to the same group of users should share the same access control list.
簡單點說:Oracle允許使用幾個PL/SQL API(UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP和 UTL_INADDR)訪問外部網路服務。需要進行許可權授權才可以,比如需要透過oracle傳送郵件。
下面是幾個常用的定義acl的相關方法:
1. 建立訪問控制列表
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(acl => '',
description => 'WWW ACL',
principal => 'HR', -- 賦予許可權給哪個使用者
is_grant => true, -- true表示授予許可權 false表示取消許可權
privilege => 'connect');
2. 使用ADD_PRIVILEGE儲存過程將其他的使用者或角色新增到訪問控制列表中,它的引數與CREATE_ACL儲存過程的引數類似,
省略了DESCRIPTION引數,同時增加了POSITION引數,它用於設定優先順序。
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => '',
principal => 'HR',
is_grant => true,
privilege => 'resolve');
3.使用ASSIGN_ACL儲存過程給網路分配訪問控制列表
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(acl => '',
host => '*.qq.com'); --主機名,域名,ip地址或分配的子網,主機名大小寫敏感,ip地址和域名允許使用萬用字元
4.UNASSIGN_ACL儲存過程允許你手動刪除訪問控制列表,它使用的引數與ASSIGN_ACL儲存過程相同,使用NULL引數作為萬用字元。
DBMS_NETWORK_ACL_ADMIN.UNASSIGN_ACL(host => 'www.qq.com');
5.刪除上面的控制列表
DBMS_NETWORK_ACL_ADMIN.drop_acl ( acl => '');
6. 查詢建立的ACL資訊
SELECT host, lower_port, upper_port, acl,
DECODE(
DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE_ACLID(aclid, 'HR', 'connect'),
1, 'GRANTED', 0, 'DENIED', NULL) privilege
FROM dba_network_acls
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-1254078/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE DBMS_NETWORK_ACL_ADMIN 包詳解Oracle
- oracle dbms包和其他包的使用大全Oracle
- Go | 閉包的使用Go
- oracle包的使用(二)Oracle
- gitmoji表情包使用--github的專屬表情包Github
- Go標準包——net/rpc包的使用GoRPC
- oracle dbms包和其他包的使用大全 (十二)Oracle
- oracle dbms包和其他包的使用大全 (十一)Oracle
- oracle dbms包和其他包的使用大全 (十)Oracle
- oracle dbms包和其他包的使用大全 (九)Oracle
- oracle dbms包和其他包的使用大全 (八)Oracle
- oracle dbms包和其他包的使用大全 (七)Oracle
- oracle dbms包和其他包的使用大全 (六)Oracle
- oracle dbms包和其他包的使用大全 (五)Oracle
- oracle dbms包和其他包的使用大全 (四)Oracle
- oracle dbms包和其他包的使用大全 (三)Oracle
- oracle dbms包和其他包的使用大全(二)Oracle
- oracle dbms包和其他包的使用大全(一)Oracle
- 使用PyCharm引入需要使用的包PyCharm
- net/rpc包的使用RPC
- dbms_sqltune包的使用SQL
- 最安全的PMEER錢包,PMEER冷錢包使用教程
- 最安全的SRM錢包,SRM冷錢包使用教程
- js閉包及閉包的經典使用場景JS
- JS閉包的簡易使用JS
- 使用yum安裝oracle的包Oracle
- Javaparse包的使用和講解Java
- iproute2工具包的使用
- 標準庫 fmt 包的基本使用
- critters 開發包的使用案例分享
- 使用dubbo需要匯入的jar包JAR
- DBMS_APPLICATION_INFO包的使用APP
- Go 中 io 包的使用方法Go
- 使用JSPWiki豐富Unity-UPM包的使用JSUnity
- 【Buildroot】工具包使用UI
- 閉包的使用-高頻事件優化事件優化
- npm包:js-cookie的簡單使用NPMJSCookie
- 關於GJSON包的簡單使用JSON