SQL Server 数据库的安全管理(登录、角色、权限)

---数据库的安全管理



--登录
SQL Server数据库服务器登录的身份验证模式:
1)Windows身份验证
2)Windows和SQL Server混合验证

--角色
分类
1)服务器角色。服务器角色是固定的服务器功能,用户不能创建和修改服务器角色。可以将服务器的登录账号添加服务器角色中,使其具备服务器角色的权限
2)数据库角色数据库角色的作用对象是某一个数据库用来将登录数据库的用户添加到数据库角色中,使其具备数据库角色的功能
  --数据库角色包括固定数据库角色标准数据库角色应用程序角色
  ♦固定数据库角色:是系统给出的,不能删除,可以添加成员
  ♦标准数据库角色:可以创建、删除、添加成员
  ♦应用程序角色:是一种需要定制口令的特殊角色,可以删除,不可以添加成员

--权限
概述:在SQL Server数据库管理系统中,权限是指用户对数据库或数据表执行的操作

分类:按对权限设置方法的不同,可以将权限分为隐含权限对象权限语句权限三种类型。

1)隐含权限
注:指由系统定义,不需要授权就拥有的权限。不需要被明确的授予,是特定服务器对象和数据库对象的内置权限。数据库的服务器、数据库的所有者和数据库对象的所有者都拥有隐含权限。

2)对象权限
注:指数据库的所有者对数据库对象所授予的“授予”、“禁止”或“撤销”权限。包括是否允许用户读数据表或试图执行select、update、delete或insert操作;是否允许用户创建数据库、创建表、执行存储过程、备份数据库等操作。

3)语句权限
注:指使用T-SQl语言中的数据库定义语言对数据库对象授予、禁止或撤销权限。一般只能由数据库所有者(dbo)和sa用户使用语句权限。
  grant、deny和revoke命令分别表示授予、禁止和撤销权限

  授予权限
grant 操作命令 [on] 对象名 to 用户名


例1:(将向“商品信息表”中添加数据的权限授予数据库登录用户“db_user01”)
grant insert on 商品信息表 to db_user01
例2:(将修改“客户信息表”的“联系电话”字段和“邮箱”字段的权限授予用户“db_user01”)
grant update (联系电话,邮箱) on 客户信息表 to db_user01

  ♦禁用权限
注:禁用权限不仅禁止用户或角色的某些权限还禁止这些用户或角色从其他角色继承被禁止的权限
deny 操作命令 [on] 对象名 to 用户名


例:(禁止用户“db_user01”对“客户信息表”执行删除操作)
deny delete table on 客户信息表 to db_user01

  ♦撤销权限
注:撤销权限只删除用户或角色拥有的某些权限并不禁止用户或角色通过其他方式继承已被撤销的权限
revoke 操作命令 [on] 对象名 from 用户名


例:(撤销用户“db_user01”创建数据库的权限)
revoke create database from db_user01


 注:"--"可看成说明或者注释文本 

原文地址:https://www.cnblogs.com/xifengyeluo/p/5898530.html