1. 程式人生 > 資料庫 >Oracle ACL (Access Control List) 詳細介紹

Oracle ACL (Access Control List) 詳細介紹

參考:


--查詢acl資訊
SELECT * FROM dba_network_acl_privileges;
SELECT * FROM dba_network_acls;

--建立acl檔案     
begin
  dbms_network_acl_admin.create_acl
    (acl         => '/sys/acls/utl_http.xml', -- 命名
     description => 'some word.. desc',      -- 描述
     principal   => 'SCOTT',                   -- 要賦許可權的使用者
     is_grant    => true,                     -- true表示賦權,false表示取消賦權
     privilege   => 'connect');               -- 許可權限制
end;

--刪除acl
begin
 dbms_network_acl_admin.drop_acl(acl => '/sys/acls/utl_http.xml');
end;

--新增使用者許可權
begin
 dbms_network_acl_admin.add_privilege(acl        => '/sys/acls/utl_http.xml',
                                      principal  => 'SCOTT', --表示賦予許可權給哪個使用者
                                      is_grant   => TRUE,
                                      privilege  => 'connect',
                                      start_date => null,
                                      end_date   => null);

end;

--分配訪問控制列表
begin
  dbms_network_acl_admin.assign_acl
    (acl        => '/sys/acls/utl_http.xml', -- 命名
     host       => '192.168.43.190',          -- 需要訪問的伺服器地址
     lower_port => 1,                       -- 埠從
     upper_port => 10000);                  -- 埠到
end;

--刪除訪問控制列表
begin
  dbms_network_acl_admin.unassign_acl
    (acl        => '/sys/acls/utl_http.xml', -- 命名
     host       => '180.101.49.12',          -- 需要訪問的伺服器地址
     lower_port => 1,                       -- 埠從
     upper_port => 10000);                  -- 埠到
end;