SQL Server权限设置

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

    随着网络的不但发展、黑客技术的日益增长,针对于SQL Server数据库的攻击也越来越多,很多企业的机密数据受到一定的威胁。如何多方便的加强SQL Server的安全性呢?


一、SQL Server的安全机制

    SQL Server的安全机制主要包括以下四个方面:

(1)客户机的安全机制:用户必须能够登录客户机,然后使用应用程序或管理工具来访问数据库,对于Windows系统的客户来说,主要涉及到操作系统的安全,主要是Windows账号的安全


(2) 服务器的安全机制:用户登录服务器时,必须使用一个账号和密码,服务器会按照不同的身份验证方式判断这个账号和密码的正确性


(3) 数据库的安全机制:任何能够登录到服务器的账号和密码都对应着一个默认的数据库,SQL Server对数据库级的权限管理采用的是“数据库用户”的概念


(4) 数据对象的安全机制:用户通过前面三道防线才能访问数据库的数据对象(如表、视图),常见的访问权限包括数据的查询、更新、插入、删除



二、登录权限设置

    SQL Server有两种身份验证模式:

Windows身份验证模式:使用操作系统中Windows用户和密码登录,SQL Server不要求提供密码,也不执行身份验证。Windows身份验证使用了Kerberos安全协议,比SQL Server身份验证更安全。适用于局域网内部(如AD域)访问数据库的情况

SQL Server和Windows身份验证模式:又称混合验证模式,允许使用用户使用Windows身份验证和SQL Server身份验证进行连接

    打开SSMS,右击“SQL Server实例”,选择属性,选择安全性,可以设置身份验证模式,如图所示:

杨书凡00.png


    可以使用SSMS创建管理登录账户,依次展开“SQL Server实例”,安全性,右击登录名、新建登录名,如下图所示:

杨书凡01.png



三、访问许可权限设置

    访问许可权限设置可以分别从服务器、数据库、对象三个级别进行设置,可以把SQL Server比作一个酒店,如下图所示:

杨书凡02.png    

1. 服务器级别权限设置

    在SQL Server中内置了一组服务器角色,用来执行服务器级别的管理,如创建数据库、管理和审核登陆账户等,作用于整台服务器,而非单个数据库。

杨书凡03.png


    为用户分配服务器级别的权限的步骤如下:

    在SSMS中依次展开“SQL Server实例”,安全性,右击某个登录名,选择属性,选择服务器角色,设置需要赋予该用户的权限,如下图所示:

杨书凡04.png


2. 数据库级别的权限设置

    建立了SQL Server登录账户后,需要赋予用户权限,才能对数据库进行操作。如果需要访问某个数据库,则需要在该数据库中建立相应的数据库用户,数据库用户是映射到登录账户上的。

例如:在MySchool数据库上建立一个用户User2,则该用户对应到一个登录账户User2,依次展开数据库MySchool、安全性、右击用户,选择新建用户,打开“数据库-新建”窗口,进行相关设置,如下图所示:

杨书凡06.png

杨书凡05.png

    

    为用户设置数据库级别的具体步骤如下:    

    在SSMS中依次展开“SQL Server实例”,安全性,右击某个登录名,选择属性,选择用户映射,设置需要赋予该用户的权限,如下图所示:

杨书凡07.png


    当数据库角色不能满足需求时,还可以创建数据库角色

    依次展开数据库MySchool、安全性,右击角色,新建数据库角色


3. 对象级别权限设置

    一个数据库中通常包含多个数据表、视图、存储过程等,可在单个表上为用户授予权限

(1)为表授权

    在SSMS上找到需要授权的表,右击该表,选择属性、权限,单击搜索,添加需要授权的用户,在下方选择需要授予用户的权限

杨书凡08.png


(2)为数据库授权

    数据库本身也是对象,授权方式和表类似,右击数据库、属性、权限

杨书凡09.png


(3)为存储过程授权

    依次展开服务器 、数据库、选择数据库、可编程性、存储过程 、属性、权限  

杨书凡11.png










本文转自 杨书凡 51CTO博客,原文链接:http://blog.51cto.com/yangshufan/2046951,如需转载请自行联系原作者
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
7天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
47 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
2月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之数据查询
【数据库SQL server】关系数据库标准语言SQL之数据查询
95 0
|
2月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之视图
【数据库SQL server】关系数据库标准语言SQL之视图
76 0
|
2月前
|
SQL 人工智能 算法
【数据库SQL server】传统运算符与专门运算符
【数据库SQL server】传统运算符与专门运算符
68 0
|
17天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
16 0
|
7天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
66 6
|
8天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
12天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
14 1
|
25天前
|
SQL 存储 Python
Microsoft SQL Server 编写汉字转拼音函数
Microsoft SQL Server 编写汉字转拼音函数