SQL Server权限设置

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:

    随着网络的不但发展、黑客技术的日益增长,针对于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
目录
相关文章
|
4月前
|
SQL 存储 Unix
Flink SQL 在快手实践问题之设置 Window Offset 以调整窗口划分如何解决
Flink SQL 在快手实践问题之设置 Window Offset 以调整窗口划分如何解决
70 2
|
1月前
|
SQL
开启慢SQL设置long_query_time=0.1为啥会统计的sql却存在小于100毫秒的sql
开启慢SQL设置long_query_time=0.1为啥会统计的sql却存在小于100毫秒的sql
33 1
|
2月前
|
SQL 存储 数据库
SQL部分字段编码设置技巧与方法
在SQL数据库管理中,设置字段的编码对于确保数据的正确存储和检索至关重要
|
2月前
|
SQL 安全 关系型数据库
SQL错误代码1303解析与解决方案:深入理解并应对权限问题
在数据库管理和开发过程中,遇到错误代码是常见的事情,每个错误代码都代表着一种特定的问题
|
3月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
4月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之使用sql查询报错无权限,是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
133 13
|
5月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
5月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
69 6
|
4月前
|
SQL 安全 数据库
"数据库守卫战:揭秘SQL Server中角色与权限的神秘面纱,一键打造坚不可摧的安全堡垒!"
【8月更文挑战第21天】数据库安全性对企业至关重要。SQL Server提供强大机制保障数据安全,包括用户角色管理和权限授权。本文以杂文形式介绍如何创建服务器角色和数据库角色,并通过SQL语句进行权限分配。从创建角色到添加用户、授权和撤销权限,再到最佳实践,帮助读者掌握SQL Server中的角色和权限管理,确保数据安全与完整性。
78 0