設置資料庫角色
A. 資料庫所有者身份如何設置
在資料庫-安全性-登錄名里設置。
裡面還可以設定:
角色
當幾個用戶需要在某個特定的資料庫中執行類似的動作時(這里沒有相應的Windows用戶組),就可以向該資料庫中添加一個角色(role)。資料庫角色指定了可以訪問相同資料庫對象的一組資料庫用戶。
資料庫角色的成員可以分為如下幾類:
Windows用戶組或用戶賬戶
sql Server登錄
其他角色
B. oracle資料庫怎麼新建用戶,以及設置許可權和角色
新建用戶:
create
user
用戶名;
設置許可權和角色:
grant
許可權
to
用戶名;
C. 怎樣設置sqlserver2008資料庫的使用者和許可權(sql用戶許可權設置)
首先打開資料庫,並以windows身份驗證模式_牢固資料庫;
然後在左側的【對象資源管理器中】展開【安全性】節點,滑鼠右鍵點擊節點中的【登錄名】,在彈出的菜單中單擊【新建登錄名】
1.在登錄名右側的文本框中輸清讓核滑褲入新建的管理員賬號名稱;
2.一對單選按鈕組中,選擇SqlServer身份驗證,並輸入登錄密碼;
3.勾選強制實施密碼策略復選框;(密碼策略一般是指加強用戶登錄的密碼方式例如:可能需要至少8個以上字元,或在嘗試若干登陸失敗後該賬號即被禁止登陸等等!如果覺得麻煩可以不必勾選!)。
4.不勾選強制密碼過期;(如果勾選該項的話,則每一次登陸後系統都會提示用戶必須更改現有密碼,如非特殊需求,不建議勾選此項!)。
然後繼續點選左側選項頁下的【伺服器角色】;
在右側的伺服器角色面板中,勾選public和sysadmin兩項!
注意:如果建立的賬號不需要具備系統管理員的許可權時,則不要勾選sysadmin項!
繼續點選左側選項頁中的【用戶答掘映射】。
在右側的面板中勾選該賬號可以進行管理操作的資料庫名稱!並在該面板下面的【資料庫角色成員身份】中勾選db_owner項!
注意:如果給一個無系統管理許可權的賬號指定管理一個資料庫時,則一定要勾選db_owner項!否則該賬號則無法看到該資料庫中的任何數據表!
選後點選【選擇頁】下的【狀態】選項進行設置
D. ORACLE資料庫中的許可權和角色
ORACLE資料庫中的許可權和角色
Oracle資料庫是一種大型關系型的資料庫,我們知道當使用一個資料庫時,僅僅能夠控制哪些人可以訪問資料庫,哪些人不能訪問資料庫是無法滿足資料庫訪問控制的。DBA需要通過一種機制來限制用戶可以做什麼,不能做什麼,這在Oracle中可以通過為用戶設置許可權來實現。許可權就是用戶可以執行某種操作的權利。而角色是為了方便DBA管理許可權而引入的一個概念,它實際上是一個命名的許可權集合。
1 許可權
Oracle資料庫有兩種途徑獲得許可權,它們分別為:
① DBA直接向用戶授予許可權。
② DBA將許可權授予角色(一個命名的包含多個許可權的集合),然後再將角色授予一個或多個用戶。
使用角色能夠更加方便和高效地對許可權進行管理,所以DBA應該習慣於使用角色向用戶進行授予許可權,而不是直接向用戶授予許可權。
Oracle中的許可權可以分為兩類:
•系統許可權
•對象許可權
1.1 系統許可權
系統許可權是在資料庫中執行某種操作,或者針對某一類的對象執行某種操作的權利。例如,在資料庫中創建表空間的權利,或者在任何模式中創建表的權利,這些都屬於系統許可權。在Oracle9i中一共提供了60多種許可權。
系統許可權的權利很大,通常情況下:
① 只有DBA才應當擁有alter database系統許可權,該許可權允許用戶對資料庫物理結構和可用性進行修改。
② 應用程序開發者一般應該擁有Create Table、Create View和Create Type等系統許可權,用於創建支持前端的資料庫模式對象。
③ 普通用戶一般只具有Create session系統許可權(可以通過Connection角色獲得),只有Create Session系統許可權的用戶才能連接到資料庫
④ 只有具有Grant Any PRivilege系統許可權用戶,或者獲取了具有With Admin Option選項的系統許可權的用戶,才能夠成為其它用戶授予許可權。
1.2對象許可權
對象許可權是針對某個特定的模式對象執行操作的權利。只能針對模式對象來設置和管理對象許可權。
對於模式對象:表、視圖、序列、存儲過程、存儲函數、包都可以對象設置許可權。不同類型模式對象具有不同的對象許可權。比如,表、視圖等對象具有查詢(Select)、修改(Update)、刪除(Delete)等對象許可權,而存儲過程、存儲函數等對象則具有執行(Execute)等對象許可權。
但是並不是所有的模式對象都可以設置對象許可權。比如簇、索引、觸發器以及資料庫鏈接等模式就不具有對象許可權。這些模式對象的訪問控制是通過相應的.系統許可權來實現的,比如,要對索引進行修改,必須擁有Alter Any Index系統許可權。
用戶自動擁有他的模式中所有對象的全部對象許可權,他可以將這些對象許可權授予其他的用戶或角色。比如,Test1用戶創建了一個表Table1,在沒有授權的情況下,用戶Test2不能查詢、修改、刪除這個表。如果Test1將ETP表的Select對象許可權授予了Test2,則該用戶就可以查詢Table1表了。如果在為其它用戶授予對象許可權時用了With Grant Option選項,被授予許可權的用戶還可以將這個許可權在授予其他用戶。
2 角色
2.1角色的概念
角色就是多個相關許可權的命名集合。通過角色來進行對用戶授予許可權,可以大大簡化DBA的工作量。比如,處於統一部門中的30多個用戶都需要訪問資料庫中的一系列表,DBA可以將這些表的中合適的對象許可權授予一個角色,然後在把這個角色授予這些用戶,這樣進行操作要比為沒有用戶進行授權要便捷多了,而且要對這些用戶的許可權進行統一修改,只需要修改角色的許可權即可。
2.2角色的優點
通過角色為用戶授予許可權,而不是直接向各個用戶授權,具有以下優點:
•簡化許可權管理 DBA將用戶群分類,然後為每一類用戶創建角色,並將該角色授予這類用戶所需要的許可權,最後在將改角色授予該類中的各個用戶。這樣不僅簡化了授權操作,而且當這類用戶的許可權需求發生改變時,只需要把角色的許可權進行改動,而不必修改每一位用戶的許可權。
•動態許可權管理 角色可以被禁用或激活。當角色被禁止使用時,擁有該角色的用戶不再擁有授予改角色的許可權了。這樣就可以對多個用戶的許可權進行動態控制了。
•靈活的編程能力 角色是存儲在數據字典中的,並且可以為角色設置口令。這樣就能夠在應用程序中對角色進行控制。比如禁用或者激活等操作。
下面以Oracle9i為例,給出具體的實現用戶授權:
(1)設定各種角色,及其許可權
CREATE ROLE checkerrole DENTIFIEDBYxm361001;
CREATE ROLE defaultrole IDENTIFIEDBYdefaultrole;
GRANT SELECT,UPDATE ON
account.paytable TO checkerrole;
GRANT CONNECT TO defaultrole;
(2)創建用戶
CREATE USER xiaoli IDENTIFIEDBY xiaoli;
(3)授權
GRANT checkerrole TO xiaoli;
GRANT defaultrole TO xiaoli;
(4)設定用戶預設的角色
ALTER USER xiaoli DEFAULTROLE defaultrole;
(5)注冊過程
CONNECT xiaoli/xiaoli@oracle
此時用戶只有其預設角色的許可權。
(6)激活角色
SET ROLE checkerrole IDENTIFIEDBY xm361001;
----操作成功後,xiaoli擁有checkerrole的許可權。
----這里的角色和口令是固定的,在應用系統中可以由應用管理人員自行設置則更為方便安全
;E. sql 資料庫中syadmin固定伺服器怎麼添加角色
資料庫角色的成員可以分為如下幾類:
Windows用戶組或用戶賬戶
SQL Server登錄
其他角色
SQL Server的安全體系結構中包括了幾個含有特定隱含許可權的角色。除了資料庫擁有者創建的角色之外,還有兩類預定義的角色。這些可以創建的角色可以分為如下幾類:
固定伺服器
固定資料庫
用戶自定義
固定伺服器
由於固定伺服器是在伺服器層次上定義的,因此它們位於從屬於資料庫伺服器的資料庫外面。下表列出了所有現有的固定伺服器角色。
固定伺服器角色
說 明
sysadmin
執行SQL Server中的任何動作
serveradmin
配置伺服器設置
setupadmin
安裝復制和管理擴展過程
securityadmin
管理登錄和CREATE DATABASE的許可權以及閱讀審計
processadmin
管理SQL Server進程
dbcreator
創建和修改資料庫
diskadmin
管理磁碟文件
下面兩個系統過程用來添加或刪除固定伺服器角色成員:
sp_addsrvrolemember
sp_dropsrvrolemember
注意:您不能添加、修改或刪除固定伺服器角色。另外,只有固定伺服器角色的成員才能執行上述兩個系統過程來從角色中添加或刪除登錄賬戶。
sa登錄
sa登錄是系統管理員的登錄。在以前的SQL Server版本中不存在角色,sa登錄具有所有可能的關於系統管理工作的許可權。在SQL Server 2005中,sa登錄保持了向後兼容性。sa登錄永遠是固定伺服器角色syadmin中的成員,並且不能從該角色中刪除。
注意:只有當沒有其他方法登錄到SQL Server系統中時,再使用sa登錄。
固定伺服器角色及其許可權
在某個SQL Server系統中,每個固定伺服器角色都有其隱含的許可權。使用系統過程sp_srvrolepermission可以瀏覽每個固定伺服器角色的許可權。該系統過程的語法形式為:
sp_srvrolepermission[[@srvrolename =] 'role']
如果沒有指定role的值,那麼所有的固定伺服器角色的許可權都將顯示出來。下面的部分將討論每個固定伺服器角色的許可權。
1. sysadmin
固定伺服器角色sysadmin的成員被賦予了SQL Server系統中所有可能的許可權。例如,只有這個角色中的成員(或一個被這個角色中的成員賦予了CREATE DATABASE許可權的用戶)才能夠創建資料庫。
固定伺服器角色和sa登錄之間有著特殊的關系。sa登錄一直都是固定伺服器角色中的成員,並且不能從該角色中刪除。
2. serveradmin
固定伺服器角色serveradmin的成員可以執行如下的動作:
向該伺服器角色中添加其他登錄
運行dbcc pintable命令(從而使表常駐於主內存中)
運行系統過程sp_configure(以顯示或更改系統選項)
運行reconfigure選項(以更新系統過程sp_configure所做的所有改動)
使用shutdown命令關掉資料庫伺服器
運行系統過程sp_tableoption為用戶自定義表設置選項的值
3. setupadmin
固定伺服器角色setupadmin中的成員可以執行如下的動作:
向該伺服器角色中添加其他登錄
添加、刪除或配置鏈接的伺服器
執行一些系統過程,如sp_serveroption
4. securityadmin
固定伺服器角色securitypadmin中的成員可以執行關於伺服器訪問和安全的所有動作。這些成員可以進行如下的系統動作:
向該伺服器角色中添加其他登錄
讀取SQL Server的錯誤日誌
運行如下的系統過程:如sp_addlinkedsrvlogin、sp_addlogin、sp_defaultdb、sp_defaultlanguage、sp_denylogin、sp_droplinkedsrvlogin、sp_droplogin、sp_grantlogin、sp_helplogins、sp_remoteoption和sp_revokelogin(所有這些系統過程都與系統安全相關。)
5. processadmin
固定伺服器角色processadmin中的成員用來管理SQL Server進程,如中止用戶正在運行的查詢。這些成員可以進行如下的動作:
向該伺服器角色中添加其他登錄
執行KILL命令(以取消用戶進程)
6. dbcreator
固定伺服器角色dbcreator中的成員用來管理與資料庫創建和修改有關的所有動作。這些成員可以進行如下的動作:
向該伺服器角色中添加其他登錄
運行CREATE DATABASE和ALTER DATABASE語句
使用系統過程sp_renamedb來修改資料庫的名稱
7. diskadmin
固定伺服器角色diskadmin的成員可以進行如下與用來存儲資料庫對象的文件和文件組有關的動作:
向該伺服器角色中添加其他登錄
運行如下系統過程:sp_dmpdevice和sp_dropdevice。
運行DISK INIT語句
固定資料庫角色
固定資料庫角色在資料庫層上進行定義,因此它們存在於屬於資料庫伺服器的每個資料庫中。下表列出了所有的固定資料庫角色。
固定資料庫角色
說 明
db_owner
可以執行資料庫中技術所有動作的用戶
db_accessadmin
可以添加、刪除用戶的用戶
db_datareader
可以查看所有資料庫中用戶表內數據的用戶
db_datawriter
可以添加、修改或刪除所有資料庫中用戶表內數據的用戶
db_ddladmin
可以在資料庫中執行所有DDL操作的用戶
db_securityadmin
可以管理資料庫中與安全許可權有關所有動作的用戶
db_backoperator
可以備份資料庫的用戶(並可以發布DBCC和CHECKPOINT語句,這兩個語句一般在備份前都會被執行)
db_denydatareader
不能看到資料庫中任何數據的用戶
db_denydatawriter
不能改變資料庫中任何數據的用戶
除了上表中列出的固定資料庫角色之外,還有一種特殊的固定資料庫角色,名為public,這里將首先介紹這一角色。
public角色
public角色是一種特殊的固定資料庫角色,資料庫的每個合法用戶都屬於該角色。它為資料庫中的用戶提供了所有默認許可權。這樣就提供了一種機制,即給予那些沒有適當許可權的所有用戶以一定的(通常是有限的)許可權。public角色為資料庫中的所有用戶都保留了默認的許可權,因此是不能被刪除的。
一般情況下,public角色允許用戶進行如下的操作:
使用某些系統過程查看並顯示master資料庫中的信息
執行一些不需要一些許可權的語句(例如PRINT)
固定資料庫角色及其許可權
在資料庫中,每個固定資料庫角色都有其特定的許可權。這就意味著對於某個資料庫來說,固定資料庫角色的成員的許可權是有限的。使用系統過程sp_dbfixedrolepermission就可以查看每個固定資料庫角色的許可權。該系統過程的語法為:
sp_db.xedrolepermission [[@rolename =] 'role']
如果沒有指定role的值,那麼所有固定資料庫角色的許可權都可以顯示出來。下面的幾節將討論每個固定資料庫角色的許可權。
1. db_owner
固定資料庫角色db_owner的成員可以在特定的資料庫中進行如下的動作:
向其他固定資料庫角色中添加成員,或從其中刪除成員
運行所有的DDL語句
運行BACKUP DATABASE和BACKUP LOG語句
使用CHECKPOINT語句顯式地啟動檢查點進程
運行下列dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage
授予、取消或剝奪每一個資料庫對象上的下列許可權:SELECT、INSERT、UPDATE、DELETE和REFERENCES
使用下列系統過程向資料庫中添加用戶或角色:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember、sp_dropuser、sp_grantdbaccess
使用系統過程sp_rename為任何資料庫對象重新命名
2. db_accessadmin
固定資料庫角色db_accessadmin的成員可以執行與資料庫訪問有關的所有動作。這些角色可以在具體的資料庫中執行下列操作:
運行下列系統過程:sp_addalias、sp_dropalias、sp_dropuser、sp_grantdbacess、sp_revokedbaccess
為Windows用戶賬戶、Windows組和SQL Server登錄添加或刪除訪問
3. dbdatareader
固定資料庫角色dbdatareader的成員對資料庫中的資料庫對象(表或視圖)具有SELECT許可權。然而,這些成員不能把這個許可權授予其他任何用戶或角色。(這個限制對REVOKE語句來說同樣成立。)
4. dbdatawriter
固定資料庫角色dbdatawriter的成員對資料庫中的資料庫對象(表或視圖)具有INSERT、UPDATE和DELETE許可權。然而,這些成員不能把這個許可權授予其他任何用戶或角色。(這個限制對REVOKE語句來說也同樣成立。)
5. db_ddladmin
固定資料庫角色db_ddladmin的成員可以進行如下的動作:
運行所有DDL語句
對任何錶上授予REFERENCESE許可權
使用系統過程sp_procoption和sp_recompile來修改任何存儲過程的結構
使用系統過程sp_rename為任何資料庫對象重命名
使用系統過程sp_tableoption和sp_changeobjectowner分別修改表的選項和任何資料庫對象的擁有者
6. db_securityadmin
固定資料庫角色db_securityadmin的成員可以管理資料庫中的安全。這些成員可以進行如下的動作:
運行與安全有關的所有Transact-SQL語句(GRANT、DENY和REVOKE)
運行以下系統過程:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember
7. db_backupoperator
固定資料庫角色db_backupoperator的成員可以管理資料庫備份的過程。這些成員可以進行如下動作:
運行BACKUP DATABASE和BACKUP LOG語句
用CHECKPOINT語句顯式地啟動檢查點進程
運行如下dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage
8. db_denydatareader和db_denydatawriter
顧名思義,固定資料庫角色db_denydatareader的成員對資料庫中的資料庫對象(表或視圖)沒有SELECT許可權。如果資料庫中含有敏感數據並且其他用戶不能讀取這些數據,那麼就可以使用這個角色。
固定資料庫角色db_denydatawriter的成員對資料庫中的任何資料庫對象(表或視圖)沒有INSERT、UPDATE和DELETE許可權。
F. mysql怎樣建立角色資料庫和怎樣為用戶分配角色
角色一個表,用戶一個表,在建一個表3個欄位id,角色表id,用戶表id,
用戶去選擇什麼樣的角色,,後台做一個創建角色的功能,更用戶來匹配