SQL Server 权限管理

CSDN 成就一亿技术人!

2024年 第一篇

难度指数:* * 

CSDN 成就一亿技术人!


目录

1. 权限管理

什么是权限管理?

SQL server的安全机制

服务器级角色

数据库级角色

对象级角色

2. 创建用户 赋予权限

最重要的一步骤


1. 权限管理

什么是权限管理?

权限管理是数据库管理中的一个关键方面,它涉及到确定哪些用户或数据库主体(如登录、用户、角色等)有权执行特定的操作。权限管理的目的是确保数据库的安全性,防止未经授权的访问,保护敏感数据和维护数据库的完整性

SQL server的安全机制

  1. 身份验证(Authentication):

    • Windows身份验证: 使用Windows操作系统的用户身份验证信息。
    • SQL Server身份验证: 使用SQL Server本地账户和密码进行身份验证。
  2. 授权(Authorization):

    • 登录(Login): 登录是允许用户连接到SQL Server实例的标识。
    • 用户(User): 用户是数据库级别的安全主体,关联到登录并在数据库中分配权限。
    • 角色(Role): 角色是一组权限的逻辑集合,用户可以被分配到角色,以简化权限管理。
    • 权限(Permission): 权限规定了对数据库对象执行的特定操作,如SELECT、INSERT、UPDATE、DELETE等。
  3. 数据库级别的安全性(Database-level Security):

    • 数据库级别的角色(Database-level Roles): 例如,db_datareader和db_datawriter。
    • 数据库级别的权限(Database-level Permissions): 控制对整个数据库的操作权限。
  4. 对象级别的安全性(Object-level Security):

    • 模式级别的权限(Schema-level Permissions): 控制对模式中对象的操作权限。
    • 对象级别的权限(Object-level Permissions): 控制对具体对象(表、视图、存储过程等)的操作权限。

服务器级角色

在SQL Server中,有一些预定义的服务器级角色,这些角色具有不同的权限级别

服务器角色描述
sysadmin具有服务器上所有权限的最高权限角色。成员可以执行任何操作。
serveradmin具有服务器级别配置选项和资源的管理权限。
securityadmin管理登录、证书和密钥等安全性权限。
processadmin管理正在运行的进程,但不能查看或更改这些进程的查询。
setupadmin管理 SQL Server 安装过程的权限。
bulkadmin执行 BULK INSERT 语句的权限。
diskadmin管理磁盘文件的权限。
dbcreator在服务器上创建、更改和删除数据库的权限。
public默认服务器角色,所有登录用户都是其成员。

这些服务器级角色允许对服务器执行不同级别的管理任务。在分配角色成员身份时,应遵循最小权限原则,确保用户或登录仅获得其工作所需的最低权限级别

数据库级角色

角色描述
db_owner具有数据库上所有权限的最高权限角色。成员可以执行任何操作。
db_accessadmin访问权限
db_securityadmin管理数据库中的权限、角色和对象的权限。
db_ddladmin管理数据库中的任何 DDL 操作。
db_datareader允许成员 SELECT 数据库中的任何表或视图的权限。
db_datawriter允许成员 INSERT、UPDATE 和 DELETE 数据库中的任何表的权限。
db_denydatareader禁止读
db_denydatawriter禁止写
public默认数据库角色,所有数据库用户都是其成员。

这些数据库级别的角色允许对数据库执行不同级别的管理任务。db_owner 角色是最高权限的角色,允许执行任何数据库级别的操作。public 角色是默认的数据库角色,所有数据库用户都是其成员,但它通常没有分配具体的权限。

对象级角色

权限描述
SELECT允许用户检索数据库对象中的数据。
INSERT允许用户向数据库对象中插入新的行。
UPDATE允许用户更新数据库对象中的现有行的数据。
DELETE允许用户从数据库对象中删除现有的行。
EXECUTE允许用户执行存储过程或函数。
ALTER允许用户更改对象的定义。
CREATE允许用户创建新的数据库对象(如表、视图、存储过程等)。
VIEW DEFINITION允许用户查看对象的定义,但不允许执行操作。
REFERENCES允许用户在其他对象中引用表或视图。
TAKE OWNERSHIP允许用户获取对象的所有权。
CONTROL允许用户对指定的数据库对象拥有完全的控制权。

这些权限用于控制用户对数据库对象的不同操作。具体的权限需求可能会因对象类型和应用程序要求而有所不同。在分配权限时,建议按照最小权限原则,确保用户只获得其工作所需的最低权限级别。

2. 创建用户 赋予权限

右击登录名 点击新建登录名

选择SQL server身份验证

输入登录名密码 设置密码规则

默认数据库这一栏 选择你创建这个用户 允许登录哪一个数据库操作

选择服务器角色 不同的角色有着不同的权限(上边表中有介绍)

这边我赋予最高(服务器)权限

选择用户可以登录的数据库

下边框内就是(数据库)角色 不同的数据库角色 对(数据库)有着不同的权限

这边我选择访问和读 权限(对数据库)

第三列安全对象(根据需求勾选即可)

安全对象(Securable),可以通过权限得到保护的实体。 是SQLServer数据库引擎授权系统控制对其进行访问的资源。 如表、视图、触发器等。

状态 选择授予 启用

最重要的一步骤

选择第二个 SQL server 和 windows 身份验证模式

重新启动服务器

点击确定继续

重新连接

连接成功

祝福大家在2024年里:

  1. 快乐幸福,笑逐颜开。
  2. 健康安康,身体倍棒。
  3. 事业有成,成就非凡。
  4. 爱情甜蜜,关系愈浓。
  5. 学业有成,智慧无穷。
  6. 家庭和睦,温馨幸福。
  7. 梦想成真,前程无限。
  8. 逆风前行,勇往直前。
  9. 心想事成,万事如意。
  10. 看尽美好,迎接新生。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/600874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle和mysql怎么传输数据

传输Oracle和MySQL之间的数据可以使用多种方法,以下是其中两种常用的方法: 使用ETL工具:ETL工具是一种用于数据抽取、转换和加载的工具,可以将数据从一个数据库传输到另一个数据库。常用的ETL工具有Apache NiFi、Talend、Pentaho…

使用arm-linux-gcc出现Syntax error: word unexpected (expecting “)“)

使用arm-linux-gcc出现Syntax error: word unexpected (expecting ")") 出现这样的报错该怎么解决? arm-linux-gcc 1.c -o 1 /usr/local/arm/usr/local/arm/5.4.0/usr/bin/../lib/gcc/arm-none-linux-gnueabi/5.4.0/../../../../arm-none-linux-gnueabi/b…

MySQL与Oracle数据库在网络安全等级方面用到的命令

MySQL数据库命令集 查看数据库版本 SELECT VERSION(); 空口令查询 SELECT user,host,account_locked FROM mysql.user WHERE user ; SELECT * FROM mysql.user; 查询 用户的密码加密情况 SELECT HOST,USER,PLUGIN FROM mysql.user; 查询是否有空用户 SELECT host,user,plug…

henauOJ 1102: 词组缩写

题目描述 定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。 比如,C语言里常用的EOF就是end of file的缩写。 输入 输入的第一行是一个整数T,表示一共有T组测试数据; 接下来有T行,每组测试数据占一行&a…

深入理解神经网络训练与反向传播

目录 前言1 损失函数1.1 交叉熵(Cross Entropy):1.2 均方差(Mean Squared Error): 2 梯度下降与学习率2.1 梯度下降2.2 学习率 3 正向传播与反向传播3.1 正向传播3.2 反向传播 4 链式法则和计算图4.1 链式法…

2023 hnust 湖南科技大学 大四上 计算机图形图像技术 课程 期末考试 复习资料

计算机图形图像技术复习资料 前言 改编自:https://blog.csdn.net/Liu_Xin233/article/details/135232531★重点,※补充github 考试题型 简述题(10分4题,共40分) 第1章的基本内容三维观察流水线中的基本概念与理解三…

抖店不好做?类目赛道没选对、选品能力跟不上,做不起来很正常!

我是王路飞。 抖店一直做不起来? 新手吐槽抖店不好做,绝大多数都有以下两个问题存在:类目赛道没选对、选品能力跟不上。 那你们做不起来也是很正常的一件事了。 今天围绕抖店的核心,给你们聊下,正确的运营抖店思路…

后台管理系统 -- 点击导航栏菜单对应的面包屑和标签(Tag)的动态编辑功能

相信很多时候,面包屑和标签(Tag)的功能几乎是后台管理系统标配。 就是会随着路由的跳转来进行相应的动态更新。 我先展示一下效果: 1.面包屑 先说一下思路: 我们导航菜单点击之后,将当前显示路由对象存储到Vuex的storge里面,然后在面包屑组件里面,读取这个状态即可…

Leetcode刷题笔记题解(C++):无重复字符的最长子串

思路: 利用滑动窗口的思想,用起始位置startindex和curlength来记录这个滑动窗口的大小,并且得出最长距离;利用哈希表来判断在滑动窗口中是否存在重复字符,代码如下所示: class Solution { public:int len…

C++中几个常用的类型选择模板函数

std::enable_if<B, T>::type 如果编译期满足B&#xff0c;那么返回类型T&#xff0c;否则编译报错 std::conditional<B, T, F>::type 如果编译期满足B&#xff0c;那么返回类型T&#xff0c;否则返回类型F 下面是一个示例&#xff0c;展示如何使用 std::condit…

C++上位软件通过Snap7开源库访问西门子S7-1200/S7-1500数据块的方法

前言 本人一直从事C上位软件开发工作较多&#xff0c;在之前的项目中通过C访问西门子PLC S7-200/S7-1200/S7-1500并进行数据交互的应用中一直使用的是ModbusTCP/ModbusRTU协议进行。Modbus上位开源库采用的LibModbus。经过实际应用发现Modbus开源库单次发送和接受的数据不能超过…

实现一个网页聊天室

HTML代码&#xff1a; <!DOCTYPE html> <html> <head> <title>网页聊天室</title> </head> <body> <div id"chatBox" style"width: 500px; height: 300px; border: 1px solid black;"> <d…

怎么制作一款简单的小游戏?

想要制作开发一款简单的小游戏,你需要知道以下这些流程&#xff1a; 1. 规划游戏概念 游戏类型: 决定游戏类型&#xff08;如解谜、平台跳跃、射击等&#xff09;。 故事和目标: 简要概述游戏的主题、故事背景和玩家要达成的目标。 2. 设计游戏玩法 规则和机制: 设定游戏规…

手把手带你手撕一个shell

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;HEART BEAT—YOASOBI 2:20━━━━━━️&#x1f49f;──────── 5:35 &#x1f504; ◀️ ⏸ ▶️ ☰ …

解决Android Studio The path ‘X:\XXX‘ does not belong to a directory.

目录 前言 一、问题描述 二、解决方法 前言 在移动应用开发领域&#xff0c;Android Studio作为一款功能强大的集成开发环境&#xff0c;为开发人员提供了丰富的工具和功能。然而&#xff0c;在使用Android Studio的过程中&#xff0c;有时也会遇到各种各样的问题和错误。 &…

[Redis] Redisson实现分布式锁

实现分布式锁的方式有多种&#xff0c;例如基于数据库、Redis、ZooKeeper 等中间件来实现&#xff0c;它们通常依赖于这些中间件提供的事务特性&#xff0c;或者命令语义来达到分布式环境下的锁效果。例如&#xff0c;Redis 通过 SETNX 命令配合过期时间可实现一个简单的分布式…

0基础学习VR全景平台篇第134篇:720VR全景,云台调整节点

相机、云台和脚架全套设备组装完成后需要进行调校才能开始拍摄。这一节&#xff0c;我们将主要介绍云台调整的两个内容&#xff1a;对中心靶、调三点一线。&#xff08;后附调校原理&#xff09; 云台部件名称 一、调节准备 &#xff08;一&#xff09;对于安装好的云台 1.检…

clickhouse-client INSERT CSV/TSV时跳过错误行

clickhouse-client INSERT CSV/TSV时跳过错误行 在使用clickhouse-client向ck中导入csv文件时&#xff0c;当csv中有个别行数据格式错误时&#xff0c;整个文件就插入失败了&#xff0c;经常会导致丢数据。 经过一番搜索&#xff0c;发现ck提供了两个参数可以跳过错误行&#x…

三、C语言分支与循环知识点补充——随机数生成

本章分支结构的学习内容如下&#xff1a; 三、C语言中的分支与循环—if语句 (1) 三、C语言中的分支与循环—关系操作符 (2) 三、C语言中的分支与循环—条件操作符 与逻辑操作符(3) 三、C语言中的分支与循环—switch语句&#xff08;4&#xff09;分支结构 完 本章循环结构的…

java实验室预约管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java servlet 实验室预约管理系统是一套完善的java web信息管理系统 系统采用serlvetdaobean&#xff08;mvc模式)&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数 据库&#xff0c;系统主要采用B/S模式开发。开发环境为T…