SQL Server 高级技术(二)—— 安全

SQL Server 高级技术(二)—— 安全
一、概述
  1. SQL Server 广泛使用安全主体和安全对象管理安全,一个请求、服务器、数据库或架构资源的实体称为安全主体,每一个安全主体有唯一的安全标识符(SID),安全主体在3个级别上管理:Windows、SQLServer和数据库。 2、
  2. SQL Server的安全机制分5等级,分别是:客户机安全机制、网络传输安全机制(使用数据加密和备份加密)、实例级别安全机制、数据库级别安全机制和对象级别安全机制。
二、服务器安全
  1. Windows 身份验证模式:用户连接SQL Server 数据库时,使用 Windows 操作系统中的账号名和密码进行验证。
  2. SQL Server 验证:使用 SQL Server 中的账号和密码来登录数据库服务器。
确保数据库服务器安全的要点:
  1. 及时安装补丁和更新;
  2. 关闭不使用的SQL Server服务如 Integration Services 和 SQL Server Reporting Services 等;
  3. 关闭 Microsoft DTC(分布式事务) Distributed Transaction Coordinator 服务;
  4. 配置 SQL Server 所使用的协议,最好只使用 TCP/IP ,其他禁止;
  5. 妥善设置账户,启用Windows 保护服务器的各项措施,SQL 账户设置强密码,删除 SQL 来宾账户和 BULTIN\Administrators 服务器登录,不为公共角色授予权限;
  6. 限制cmdexec 对 sysadmin 角色的访问权限
  7. 注意文件和目录的安全,防止everyone 组队 SQL 文件和目录的有访问权限;
  8. 取消和限制共享;
  9. 修改SQL Server侦听端口(默认 1433);
  10. 审核与日志,启用SQL Server 登录审核。
三、数据安全

使用主键、外键、约束、唯一键、视图、存储过程、用户函数等可以维护SQL Server的数据安全,使用数据库的备份可以维护数据库的文件安全

四、权限管理

安全对象:
1、服务器对象:端点、登录账户、数据库;
2、数据库对象:用户、角色、应用程序角色、程序集、消息类型、路由、服务、远程服务绑定、全文目录、证书、非对称密钥、对称密钥、约定以及架构
3、架构对象:类型、XML 架构集合、对象

SQL Server 服务器角色权限和说明
sysadmin(System Administrators)可以在数据库引擎中执行任何活动
serveradmin(Server Administrators)可以更改服务器范围的配置选项和关闭服务器
securityadmin(Administrators)可以管理登录名及其属性,GRANT、DENY 和 REVOKE ,重置SQL Server 登录名和密码
processadmin(Process Administrators)可以终止在数据库引擎实例中运行的进程
setupadmin(Setup Administrators)可以添加和删除链接服务器,并可以执行某些系统存储过程
bulkadmin(Bulk Insert Administartors)可执行 Bulk Insert 语句。Bulk INSERT 语句是以用户指定格式将数据文件加载到数据表或试图中
diskadmin管理磁盘文件
dbcreator(Database Administrators)可以创建、更改和还原任何数据库
public每个SQL Server 登录名都属于public服务器角色。
SQL Server 数据库角色权限和说明
db_accessadmin可为登录账户添加或删除权限
db_backupoperator可备份该数据库
db_datawriter可在所有表中添加、更改或删除数据
db_ddladmin可在数据库中运行 DDL 命令
db_denydatareader不能读取数据库内用户表的任何数据
db_denydatawriter不能添加、更改或删除用户表中的数据
db_owner可执行数据库中所有配置和维护活动
db_securityadmin可以修改角色成员的身份和权限

登录

GREATE LOGIN user 
	WITH PASSWORD '1212',
	DEFAULT_DATABASE=XXX,
	CREDENTIAL=AdminCred;

授权语句

GRANT SELECT ON [DB].[Tbl] TO DbRole WITH GRANT OPTION;
DENY SELECT ON [DB].[Tbl] TO DbRole;
REVOKE SELECT ON [DB].[Tbl] FROM DbRole
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值