oracle的ACL
ACL用於定義哪些使用者擁有哪個遠端主機的什麼許可權,主要使用的是DBMS_NETWORK_ACL_ADMIN這個自帶的包來完成。
==============================================
首先要建立一個ACL。
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
acl => 'test_ast_server_permissions.xml', --->acl的名字
description => 'Enables network permissions for the quark servers',
principal => 'APP', ----->使用者
is_grant => TRUE,
privilege => 'connect'); ------->許可權為connect
END;
/
==============================================
新使用者新增到已經建立的acl中(必須兩個許可權同時擁有,新建ACL的時候已經給了connect許可權的話,只需要在給一個resolve許可權)
BEGIN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(
acl => 'test_acs_server_permissions.xml',
principal => 'APP', ----->使用者
is_grant => true,
privilege => 'resolve'); ------->許可權為resolve
END;
/
BEGIN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(
acl => 'test_acs_server_permissions.xml',
principal => 'APP',
is_grant => true,
privilege => 'connect');
END;
/
================================================
為使用者指定網址以及埠
BEGIN
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
acl => 'test_ast_server_permissions.xml',
host => '192.16.250.219',
upper_port => 80, ---->如果已經知道確切的埠號,可以將upper_port和lower_port寫成確切的埠號。
lower_port => 80);
END;
/
commit; 記得提交事務。
================================================
也可以將已經存在的ACL刪除掉:
begin
DBMS_NETWORK_ACL_ADMIN.DROP_ACL('quark_ast_server_permissions.xml');
commit;
end;
/
================================================
查詢網路訪問控制列表 acl:
select * from DBA_NETWORK_ACLS;
查詢訪問控制許可權列表:
select * from DBA_NETWORK_ACL_PRIVILEGES;
驗證使用者是否已經可以訪問外部地址:
conn app/app
select utl_http.request('http://192.16.250.219:8080/api/db/xdtCompleteCall') From dual;
只要返回的不是error,就可以認為已經配通,可以訪問外部地址了。
注:有時候ACL配好了,訪問外部地址也會報錯,如:
ORA-29273: HTTP 請求失敗
ORA-06512: 在 "SYS.UTL_HTTP", line 1722
ORA-12541: TNS: 無監聽程式
ORA-06512: 在 line 1
這個時候需要檢查的是外部地址在IE端是否能被正確開啟。
==============================================
首先要建立一個ACL。
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
acl => 'test_ast_server_permissions.xml', --->acl的名字
description => 'Enables network permissions for the quark servers',
principal => 'APP', ----->使用者
is_grant => TRUE,
privilege => 'connect'); ------->許可權為connect
END;
/
==============================================
新使用者新增到已經建立的acl中(必須兩個許可權同時擁有,新建ACL的時候已經給了connect許可權的話,只需要在給一個resolve許可權)
BEGIN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(
acl => 'test_acs_server_permissions.xml',
principal => 'APP', ----->使用者
is_grant => true,
privilege => 'resolve'); ------->許可權為resolve
END;
/
BEGIN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(
acl => 'test_acs_server_permissions.xml',
principal => 'APP',
is_grant => true,
privilege => 'connect');
END;
/
================================================
為使用者指定網址以及埠
BEGIN
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
acl => 'test_ast_server_permissions.xml',
host => '192.16.250.219',
upper_port => 80, ---->如果已經知道確切的埠號,可以將upper_port和lower_port寫成確切的埠號。
lower_port => 80);
END;
/
commit; 記得提交事務。
================================================
也可以將已經存在的ACL刪除掉:
begin
DBMS_NETWORK_ACL_ADMIN.DROP_ACL('quark_ast_server_permissions.xml');
commit;
end;
/
================================================
查詢網路訪問控制列表 acl:
select * from DBA_NETWORK_ACLS;
查詢訪問控制許可權列表:
select * from DBA_NETWORK_ACL_PRIVILEGES;
驗證使用者是否已經可以訪問外部地址:
conn app/app
select utl_http.request('http://192.16.250.219:8080/api/db/xdtCompleteCall') From dual;
只要返回的不是error,就可以認為已經配通,可以訪問外部地址了。
注:有時候ACL配好了,訪問外部地址也會報錯,如:
ORA-29273: HTTP 請求失敗
ORA-06512: 在 "SYS.UTL_HTTP", line 1722
ORA-12541: TNS: 無監聽程式
ORA-06512: 在 line 1
這個時候需要檢查的是外部地址在IE端是否能被正確開啟。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28497416/viewspace-2127372/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ACL
- ACL主席:ACL不是AI會議AI
- SD & ACL
- ACL實驗
- acl 編譯編譯
- ACL和NAT配置
- 實驗八————ACL配置
- 許可權模型:ACL模型
- Apache Ranger——Hadoop ACL控制工具ApacheRangerHadoop
- 實驗十八——————ACL配置2
- 實戰Kafka ACL機制Kafka
- IOS - ACL (訪問控制列表)iOS
- ACL 2022 SWCC 論文拆解
- 使用Java API操作zookeeper的acl許可權JavaAPI
- Apache RocketMQ ACL 2.0 全新升級ApacheMQ
- ACL Beginner Contest E.Replace DigitsGit
- 實驗11.ACL實驗
- nodejs的使用者許可權管理——acl.mdNodeJS
- 反腐層ACL - 一個有效的盾牌 - Manuel López Torrent
- Laravel Authorization:支援 ACL、RBAC、ABAC 等模型的授權庫Laravel模型
- 華為交換機配置acl策略
- Kafka SASL ACL配置踩坑總結Kafka
- ACL20 | 讓笨重的BERT問答匹配模型變快!模型
- RBAC, ACL, ABAC 的許可權控制方式具體解釋
- Linux 筆記分享九:ACL 許可權Linux筆記
- Linux ACL 許可權之進階篇Linux
- ACL2020 Contextual Embeddings When Are They Worth It 精讀Context
- Redis 6.0 訪問控制列表ACL說明Redis
- PingCode Wiki 許可權設計之ACLGC
- ACL 2019 | Few-shot Learning學習詞表外的詞表示
- ACL 2024 Oral | 大模型也會被忽悠?揭秘AI的信念之旅大模型AI
- 不容錯過!ACL 2019論文解讀合集!
- ACL2020論文閱讀筆記:BART筆記
- linux使用者使用者組與ACLLinux
- 【Redis原始碼】Redis 6 ACL原始碼詳解Redis原始碼
- HCNA Routing&Switching之訪問控制列表ACL
- PyCasbin: 支援 ACL、RBAC、ABAC 多種模型的 Python 許可權管理框架模型Python框架
- Zookeeper的基本命令詳解和ACL和watch監聽機制
- kafkaer:基於模板的 Kafka 主題/叢集/ACL 管理自動化Kafka