Les08 管理用戶安全性)[2080312]

来源:https://www.cnblogs.com/also-brook/archive/2018/03/12/8549809.html
-Advertisement-
Play Games

目的 創建和管理資料庫用戶帳戶 -驗證用戶 -分配預設存儲區(表空間) 授予和撤銷許可權 創建和管理角色 創建和管理概要文件 -實施標準口令安全功能 -控制用戶的資源使用量 相關術語 資料庫用戶帳號:是一種組織資料庫對象的所有權和訪問許可權的方法 口令:是Oracle DB使用的一種驗證方法 角色:是一 ...


目的     創建和管理資料庫用戶帳戶         -驗證用戶         -分配預設存儲區(表空間)     授予和撤銷許可權     創建和管理角色     創建和管理概要文件         -實施標準口令安全功能         -控制用戶的資源使用量       相關術語         資料庫用戶帳號:是一種組織資料庫對象的所有權和訪問許可權的方法         口令:是Oracle DB使用的一種驗證方法         角色:是一個有相關許可權組成的指定組,可授予給用戶或其他角色         概要文件:是用於限制資料庫使用和實例資源的一組指定資源限制條件,並管理賬戶狀態和口令管理規則         限額:是允許給定表空間具有的空間。通過這種方法,可以控制用戶的資料使用量。   資料庫用戶帳戶     每個資料庫用戶帳戶都包括以下項:         -唯一的用戶名             用戶名不能超過30個位元組,不能包含特殊字元,而且必須以字母開頭。         -驗證方法             最常見的驗證方法是口令,但是Oracle Database 11g支持口令/全局和外部驗證方法(例如生物統計學驗證/證書驗證和標記驗證)。         -預設表空間             如果用戶未指定其它表空間,則可在這個位置創建對象。請註意,具有預設表空間並且不意味著用戶在該表空間具有創建對象的許可權,也不意味著用戶在該表空間中具有用於創建對象的空間限額。這兩項需要另外授權。         -臨時表空間             這是實例代表用戶創建臨時對象(如排序和臨時表)的位置。臨時表空間沒有限額。         -用戶概要文件             分配給用戶的一組資源與口令限制。         -初始使用者組             由資源管理器使用         -帳戶狀態                 打開(Open)/鎖定(Lock)/過期(Expired)       方案:         是資料庫用戶擁有的資料庫對象的集合         與用戶帳戶具有相同的名稱         方案對象包括表/視圖/序列/存儲過程/同義詞/索引/集群和資料庫鏈接等結構.           註:資料庫用戶不一定是人員。常見的作法是創建一個擁有特定應用程式的資料庫對象的用戶。資料庫用戶可以是設備/應用程式或只是一種出於安全目的而對資料庫對象進行分組的方法。資料庫用戶不需要具有個人身份信息。   預定義管理賬戶     SYS賬戶:         -被授予DBA角色以及幾個其它角色         -具有帶ADMIN OPTION的所有許可權         -執行啟動/關閉和某些維護命令時需要使用該賬戶         -擁有數據字典和自動工作量資料檔案庫(AWR)         -連接資料庫必須使用AS SYSDBA子句。連接ASM實例,必須使用AS SYSASM子句     SYSTEM賬戶被授予DBA/MGMT_USER和AQ_ADMINISTRATOR_ROLE角色     DBSNMP賬戶被授予OEM_MONITOR角色     SYSMAN賬戶被授予MGMT_USER/RESOURCE和SELECT_CATALOG_ROLE角色     常規操作不使用這兩個賬戶   創建用戶         驗證用戶,創建用戶時,必須確定要使用的驗證方法,以後可修改此方法。             -口令驗證(Oracle DB驗證)                 創建的每一個用戶都有一個關聯口令,用戶嘗試建立連接時,必須提供這個口令。                 Oracle Database 11g中創建的所有口令都區分大小寫。                 口令可以包含多個位元組字元,但長度被限製為30位元組。                 升級到Oracle Database 11g的資料庫中創建的每個口令仍然不區分大小寫,直到更改該口令。                 通過高級加密標準(AES)演算法以自動且透明的方式對口令進行加密,然後再通過網路發送這些口令。             -外部驗證                 使用資料庫外部(操作系統/Kerberos或Radius)的方法進行驗證。                 Kerberos或Radius需要使用高級安全選件。用戶可以在不指定用戶名或口令的情況下連接到Oracle DB。                 系統可以通過使用生物統計學/x509證書和標記設備來識別用戶。                 資料庫依賴於基礎操作系統/網路驗證服務或外部驗證服務來限制對資料庫賬戶的訪問。                     操作系統驗證                         OS_AUTHENT_PREFIX初始化參數(預設值OPS$),併在Oracle用戶名中使用該首碼。             -全局驗證                 使用Oracle高級安全選件時,可使用Oracle Internet Directory通過全局驗證來識別用戶。   管理員驗證     操作系統安全性         DBA必須具有創建或刪除文件的操作系統許可權         普通資料庫用戶不應具有創建或刪除資料庫文件的操作系統許可權     管理員安全性         對於SYSDBA/SYSOPER和SYSASM連接             -對於口令文件和嚴格驗證方法,按名稱審計DBA用戶             -對於操作系統驗證,審計操作系統賬戶名             -對授權用戶,操作系統驗證優先於口令文件驗證             -口令文件使用區分大小寫的口令 許可權     用戶許可權有兩類         系統許可權:允許用戶在資料庫中執行特定的操作。有170多種不同的系統許可權。         對象許可權:允許用戶訪問和操作特定的對象(如表/視圖/序列/過程/函數或程式包)             沒有特定授權的情況下,用戶只能訪問自己用戶的對象。             對象許可權可以由對象的所有者或管理員授予,也可以由被顯示授予了許可權,可以為其他人員分配對某個對象的許可權的人員授予。           系統許可權:出於安全的考慮,某些系統許可權通常只能授予給管理員             語法:GRANT <system_privilege> TO <grant clause> [WITH ADMIN OPTION]             RESTRICTED SESSION:資料庫在受限模式下也能訪問。             SYSDAB和SYSOPER:這兩個許可權可以在資料庫中執行關閉/啟動/恢復及其它管理任務。SYSOPER可執行基本操作任務,但不能查詢用戶數據它包含系統許可權                 -STARTUP和SHUTDOWN                 -CREATE SPFILE                 -ALTER DATABASE OPEN/MOUNT/BACKUP                 -ALTER DATABASE ARCHIVELOG                 -ALTER DATABASE RECOVER (僅限完全恢復。任何形式的不完全恢復,如UNTIL TIME|CHANG|CANCEL|CONTROLFILE,都需要SYSDAB身份連接)。                 -RESTRICTED SESSION             SYSASM:使用此許可權可以啟動/關閉和管理ASM實例             DROP ANY object:用戶使用DROP ANY許可權可以刪除其他用戶擁有的對象。             CREATE /MANAGE/DROP和ALTER TABLESPACE:這些許可權運行進行表空間管理/包括創建/刪除和更改表空間的屬性。             CREATE LIBRARY:Oracle DB允許開發人員在PL\SQL內創建和調用外部代碼(如C庫)。此庫必須由資料庫中的LIBRARY對象指定。             CREATE ANY DIRECTORY:作為一種安全措施,代碼所在的操作系統目錄必須鏈接到一個虛擬Oracle目錄對象。使用CREATE ANY DIRECTORY許可權時,有可能會調用不安全的代碼對象。用戶使用CREATE ANY DIRECTORY許可權可以在Oracle軟體所有者能夠訪問的任何目錄中創建目錄對象(具有讀寫訪問許可權)。             GRANT ANY OBJECT PRIVILEGE:使用此許可權可以對其他人擁有的對象授予對象許可權。             ALTER DATABASE和ALTER SYSTEM:這些許可權的功能很強,可用於修改資料庫和Oracle實例,例如,重命令數據文件或刷新緩衝區高速緩存。                      對象許可權:將對象許可權授予給用戶的對象的類型             語法:GRANT <object_privilege> ON <object> TO <grantee clause> [WITH GRANT OPTION]                      撤銷帶ADMIN OPTION 的系統許可權,如果有許可權者將此許可權授予其他用戶,REVOKE則不會級聯撤銷許可權。                 REVOKE <system_privilege> FROM <grantee clause>;                      撤銷帶GRANT OPTION的對象許可權             撤銷與數據操縱語言(DML)操作相關的系統許可權時可能會產生級聯影響。             REVOKE <object_privilege> FROM <grantee clause>;會級聯移除對象許可權   角色     角色的優點         -簡化許可權管理,使用角色可簡化許可權管理,可以將一組許可權授予給某個角色,然後將該角色授予給每個用戶,而不是將同一組許可權授予給多個用戶。         -進行動態許可權管理,如果修改了與某個角色關聯的許可權,則所有被授予該角色的用戶都會立即自動獲得修改後的許可權。         -有選擇地提供許可權,通過啟用或禁用角色可以暫時打開或關閉許可權。這樣便可以在指定情形下控制用戶的許可權。                角色特性         角色就像用戶,可以授予角色許可權或撤銷角色許可權。         角色就像系統許可權一樣,可以將其授予給用戶或其它角色,也可以從用戶或其它角色撤銷。         角色可以由系統許可權和對象許可權組成。         可以對授予了某一角色的每個用戶啟用或禁用該角色。         可能需要口令才能啟用角色。         角色不歸任何用戶擁有,也不屬於任何方案。                創建角色         CREATE ROLE <role_name>;     保護角色         -角色可以是非預設的,併在需要時啟用。         SET ROLE vacationdba;         -可以通過驗證保護角色。             None/Password/External/Global         -還可以通過編輯保護角色             CREATE ROLE secure_application_role IDENTIFIED USING <security_procedure_name>;       概要文件和用戶         概要文件時用於限制資料庫使用和實例資源的一組指定資源限制條件。通過概要文件還可管理賬戶狀態並對用戶的口令進行限制(長度,到期時間等)。每個用戶都分配有一個概要文件,而且該用戶在指定時間只屬於一個概要文件。如果在更改用戶概要文件時用戶已登錄,則所做更改在用戶下一次登錄時才生效。         DEFAULT概要文件是其它所有概要文件的基礎。         概要文件控制的系統資源:             -CPU:可按會話或調用限制CPU資源。             -網路/記憶體:每個資料庫會話都會占用系統記憶體資源和網路資源(如果會話不是來自伺服器的本地用戶)                     -連接時間,指示用戶在自動註銷前可以保持連接的分鐘數                     -空閑時間,指示用戶會話在自動註銷前可以保持空閑的分鐘。只會計算伺服器進程的空閑時間。                     -並行會話,用戶可以創建多少並行會話。                     -專用SGA,限制在系統全局區SGA中執行排序/合併點陣圖等操作所占用的空間量。此限制僅在會話使用了共用伺服器才有效。                     -磁碟I/O,限制用戶在每個會話級或每個調用級可讀取的數據量。“讀取/會話”和“讀取/調用”可限制記憶體和磁碟的總讀取次數。這樣做可確保執行大量I/O操作的語句不會過度使用記憶體和磁碟。       實施口令安全功能         賬戶鎖定             -FAILED_LOGIN_ATTEMPTS: 指定在鎖定賬戶前嘗試登錄的失敗次數             -PASSWORD_LOCK_TIME:指定嘗試登錄失敗達到了指定的次數後鎖定賬戶的天數         口令失效和到期             -PASSWORD_LIFE_TIME:確定口令生存期(天),之後該口令就會到期             -PASSWORD_GRACE_TIME :指定首次成功登錄後更改口令的寬限期(天),之後該口令就會到期         註:使用SYS/SYSMAN和DBSNMP賬戶口令到期和鎖定這些賬戶,會導致Oracle Enterprise Manager無法正常運行。         口令歷史記錄             -PASSWORD_REUSE_TIME:指定用戶不能在指定天數內重覆使用口令             -PASSWORD_REUSE_MAX:指定可以重覆使用當前口令之前口令更改需達到的次數。         口令複雜性驗證             -PASSWORD_VERIFY_FUNCTION:參數指定一個PL\SQL函數,以便在分配口令之前執行口令複雜性檢查。口令驗證函數必須有SYS用戶擁有,而且必須返回布爾值(TRUE或FALASE)。utlpwdmg.sql腳本提供了模型口令驗證函數。           口令驗證函數:VERIFY_FUNCTION_11G             -至少包含八個字元             -與用戶名,帶有一個數字的用戶名以及逆序的用戶名不同             -與資料庫以及帶有一個數字的資料庫名不同             -至少含有一個字母和一個數字的字元串             -與之前的口令至少有三個字母不相同             使用此函數可以創建自己的定製口令驗證
create profile profile_test_0312 limit
password_life_time 180
failed_login_attempts 7
password_lock_time 1
password_grace_time 7
password_reuse_time unlimited
password_reuse_max unlimited
password_verify_function verify_function_11g
;

  

 

    將限額分配給用戶         限額,是允許給定表空間具有的空間。預設情況下,對於任何表空間用戶都沒有限額。             -無限制,unlimited 允許用戶最大限度的使用表空間中的可用空間。             -值:用戶可以使用的空間             -UNLIMITED TABLESPACE系統許可權:覆蓋所有單獨的表空間限額,對於所有表空間(包括SYSTEM和SYSAUX),為用戶提供無限制的限額。RESOURCE角色包括此系統許可權。           當用戶創建或擴展段時,Oracle實例會檢查限額         對於分配給用戶方案的活動,只有那些使用表空間中的空間的活動才會計入限額。(如視圖和臨時表空間)不會影響限額。         使用purge子句刪除了用戶擁有的對象或回收站中自動清除了用戶所擁有的對象時,會補充限額。       應用最少許可權原則         -保護數據字典 07_DICTIONARY_ACCESSIBILITY=FALSE         -撤銷不必要的PUBLIC 許可權         -使用訪問控制列表(ACL)來控制網路訪問                 UTL_SMTP,允許將資料庫使用簡單傳輸協議SMTP郵件伺服器來發送任意電子郵件                 UTL_TCP,允許資料庫伺服器與任何正在接收或等待的網路服務建立外出網路連接。                 UTL_HTTP,允許資料庫伺服器通過HTTP請求並檢索數據。                 UTL_FILE,允許對主機操作系統上的文件進行訪問。         -限制用戶可訪問的目錄         -限制具有管理許可權的用戶         -限制遠程資料庫驗證 REMOTE_OS_AUTHENT=FALSE             遠程驗證過程                 資料庫用戶通過外部方式來進行驗證                 遠程系統驗證用戶                 用戶登錄資料庫,不必接受另外的驗證       保護授權賬戶         使用口令區分大小寫的口令文件         對管理員角色啟用嚴格的驗證方法             orapwd file=orapw+<sid> entries=5 ignorecase=N     小結     創建和管理資料庫用戶帳戶         驗證用戶         分配預設表空間     授予和撤銷許可權     創建和管理角色     創建和管理概要文件         實施標準口令安全功能         控制用戶的資源使用量
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 預設情況下,安裝完操作系統時,ip是採用dhcp來動態分配的。通常我們需要將其固定下來。 不然 每次系統重啟後,ip都會變動,這樣會給日常工作帶來不必要的麻煩的。 下麵就是在rhel 、centos 下,如何固定Ip. 1、使用ifconfig命令,查看有哪些網路介面。 例如上面的ens33, lo ...
  • 磁碟陣列(Redundant Arrays of Independent Disks,RAID),有“獨立磁碟構成的具有冗餘能力的陣列”之意。 磁碟陣列是由很多價格較便宜的磁碟,組合成一個容量巨大的磁碟組,利用個別磁碟提供數據所產生加成效果提升整個磁碟系統效能。利用這項技術,將數據切割成許多區段,分 ...
  • 查詢語句的處理主要包括三個過程:編譯(parse)、執行(execute)和提取數據(fetch)。 ...
  • 一提到關係型資料庫,我禁不住想:有些東西被忽視了。關係型資料庫無處不在,而且種類繁多,從小巧實用的 SQLite 到強大的 Teradata 。但很少有文章講解資料庫是如何工作的。你可以自己谷歌/百度一下『關係型資料庫原理』,看看結果多麼的稀少【譯者註:百度為您找到相關結果約1,850,000個…】 ...
  • MySQL的MyISAM、InnoDB引擎預設均使用B+樹索引(查詢時都顯示為“BTREE”),本文討論兩個問題: 為什麼MySQL等主流資料庫選擇B+樹的索引結構? 如何基於索引結構,理解常見的MySQL索引優化思路? 為什麼索引無法全部裝入記憶體 索引結構的選擇基於這樣一個性質:大數據量時,索引無 ...
  • 前言 這邊文章,筆者要分享的是如何在我們的Linux系統中安裝我們的Mysql資料庫。 一、Mysql安裝 1.1下載資源並上傳到虛擬機上 1.1.1下載資源 官網下載資源:點我跳轉到資料庫下載官網 因為筆者使用的系統是centOS,所以下載的是red hat相關的資料庫系統: 當然了筆者下載的版本 ...
  • HDFS體繫結構 1<!--[if gte mso 9]><xml> <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F006300350030003800360033003400350039003 ...
  • 什麼是DBLINK? dblink(Database Link)資料庫鏈接顧名思義就是資料庫的鏈接 ,就像電話線一樣,是一個通道,當我們要跨本地資料庫,訪問另外一個資料庫表中的數據時,本地資料庫中就必須要創建遠程資料庫的dblink,通過dblink本地資料庫可以像訪問本地資料庫一樣訪問遠程資料庫表 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...