标签:select ber password 需要 就是 请求 alter exe public
内容提要:
1.理解安全控制的基本概念
2.了解SQL Server 2008的存取控制
3.掌握SQL Server 2008的安全控制实现方式
4.了解Oracle的安全管理
数据库安全性不同于数据的完整性。
(确保用户被允许做其想做的事情。)
(确保用户做的事情是正确的。)
保护数据免受意外或故意的丢失、破坏或滥用。
安全计划需要考虑:可用性损失,机密性数据损失,私密性数据损失,偷窃和欺诈,意外的损害。
包括四阶段:
认证是一种鉴定用户身份的机制。授权是将合法访问数据库或数据库对象的权限授予用户的过程。包括认证用户对对象的访问请求。
DBMS通常采用自主存取控制和强制存储控制两种方案来解决安全控制问题。
敏感度标记:DBMS指派,主体为许可证级别,客体为密级。分绝密、秘密、可信和公开等若干级别。
Windows身份验证模式
SQL Server通过Windows操作系统获得用户信息,验证登录名和密码,一般推荐。
混合身份验证模式
Windows授权用户和SQL授权用户可以登录。
实例:
CREATE LOGIN SQL_User1 WITH PASSWORD=‘a1b2c3XY’
ALTER LOGIN SQL_User1 WITH PASSWORD=‘a4b5c6XY’
ALTER LOGIN SQL_User3 WITH NAME=NewUser
建立数据库用户
CREATE USER user_name[|FOR|FROM]
LOGIN login_name
Guest用户,特殊数据库用户,匿名访问,没有映射到登录账户的时候使用
GRANT CONNECT TO guest
REVOKE CONNECT TO guest
删除数据库用户
DROP USER user_name
SELECT、INSERT、UPDATE、DELETE、REFERENCES、EXECUTE
实例:
GRANT SELECT ON Addres TO abc
GRANT EXECUTE ON OBJECT::HR.EI TO abc
GRANT REFERENCES(EmployeeID)ON vEmp TO abc WITH GRANT OPTION
DENY 对象权限 ON 对象 TO (主体:数据库用户名或角色) [CASCADE] [AS主体]
实例:
DENY SELECT ON Addres TO abc
DENY EXECUTE ON OBJECT::HR.EI TO abc
DENY REFERENCES(EmployeeID)ON vEmp TO abc CASCADE
REVOKE 对象权限 ON 对象 TO (主体:数据库用户名或角色) [CASCADE] [AS角色]
实例:
REVOKE SELECT ON Addres TO abc
REVOKE EXECUTE ON OBJECT::HR.EI TO abc
REVOKE REFERENCES(EmployeeID)ON vEmp TO abc CASCADE
CREATE DATABASE|PROCEDURE|TABLE|VIEW|FUNCTION
BACKUP DATABASE|LOG
实例:
GRANT CREATE DATABASE TO user0
GRANT CREATE DATABASE , CREATE VIEW TO user1,user2
DENY CREATE VIEW TO user1
REVOKE CREATE DATABASE FROM user0
一组具有相同权限的用户就是角色。
SQL Server 2008中,角色分为预定义的系统角色和用户角色两种。
系统角色又分为固定服务器角色(服务器级角色)和固定数据库角色(数据库级角色)。
用户角色均是数据库级角色。
例:
(1)为固定服务器角色添加成员
Sp_addsrvrolemember
EXEC Sp_addsrvrolemember ‘user1’,‘sysadmin’
(2)删除固定服务器角成员
Sp_dropsrvrolemember
EXEC Sp_dropsrvrolemember ‘user1’,‘sysadmin’
定义在数据库级别上,存在于每个数据库中。用户加入固定数据库角色就具有数据库角色权限。
例:
(1)为固定数据库角色添加成员
Sp_addsrvrolemember
EXEC Sp_addrolemember ‘Db_datareader’,‘SQL_User2’
(2)删除固定服务器角成员
Sp_droprolemember
EXEC Sp_droprolemember ‘Db_datareader’,‘SQL_User2’
CREATE ROLE
实例:
CREATE ROLE MathDept [AUTHORIZATION Software]
注意:为用户定义角色授权、添加、删除用户定义的角色中的成员与固定数据库角色一致。
删除用户定义角色
DROP ROLE
实例:
DROP ROLE MathDept
表级、列级、行级的安全性通过授予或回收对象权限保证。支持集中式、分布式、跨平台应用。
CREATE USER use1 IDENTIFIED BY 123456
DEFAULT TABLESPACE student(存储在student表空间)
QUOTA 5M ON student(限制使用空间为5M)
ALTER USER use1
QUOTA 60M ON student(限制使用空间为60M)
ALTER USER use1 IDENTIFIED BY 12345678
DROP USER
DROP USER user1 CASCADE(删除用户及其所拥有的全部对象)
三种默认特权:
用于维护表级、行级、列级数据的安全性。
实例:
GRANT all ON dep TO user1
GRANT select(tno,tname,sal) ON teacher TO
user2
1.在SQL Server 2008某数据库中,用户U1是Role1角色中的成员。设在该数据库中执行了下述授权语句:
GRANT INSERT ON T TO U1
GRANT UPDATE, DELETE ON T TO Role1
GRANT SELECT ON T TO PUBLIC
DENY UPDATE ON T TO PUBLIC
则用户U1对T表具有的操作权限是( )。
A. INSERT
B. INSERT、UPDATE和DELETE
C.INSERT、SELECT和DELETE
D.INSERT和DELETE
答案:C
2.在SQL Server 2008中,设log1是SQL Server身份验证模式的数据库服务器登录帐户。现要授予log1具有创建数据库的权限,请补全下列语句:
EXEC sp_addsrvrolemember ′log1′, ′ ( ) ′
答案: dbcreator
3.在SQL Server 2008的某数据库中,设用户U1同时是角色R1和角色R2中的成员。现已授予角色R1对表T具有SELECT、INSERT和UPDATE权限,授予角色R2对表T具有INSERT和DENY UPDATE权限,没有对U1进行其他授权,则U1对表T有权执行的操作是( )。
A.SELECT和UPDATE
B.INSERT、UPDATE和SELECT
C.SELECT和INSERT
D.SELECT
答案:C
4.在SQL Server 2008中,设用户U1是某数据库db_datawriter角色中的成员,则U1在该数据库中有权执行的操作是( )。
A. SELECT
B.SELECT和INSERT
C. INSERT、UPDATE和DELETE
D.SELECT、INSERT、UPDATE和DELETE
答案:C
5.在SQL Server 2008中,只具有修改数据库中全部用户表数据权限的系统角色是 ( ) 。
答案: db_datawriter
6.设在SQL Server 2008某数据库中,要设置不允许用户U1获得对表T数据的删除权限,请补全实现该授权操作的SQL语句:
( )ON T TO U1;
答案: DENY DELETE
标签:select ber password 需要 就是 请求 alter exe public
原文地址:https://www.cnblogs.com/shaoyayu/p/12424140.html