专栏首页算法与编程之美数据库|权限管理

数据库|权限管理

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

用户对数据的库的访问以及对数据库对象的操作都体现在权限上,具有什么样的权限,就能执行什么样的操作。权限对于数据库来说至关重要,它是访问权限设置中的最后一道安全措施,管理好权限是保证数据库安全的必要因素。

解决方案

在SQL Server中按照权限是否进行预定义,可以把权限分为预定义权限和自定义权限;按照权限是否与特定的对象有关,可以分为针对所有对象的权限和针对特殊对象的权限。

1)预定义和自定义权限

所谓预定义权限是在安装SQL Server过程完成之后,不必通过授予即拥有的权限。例如服务器角色和数据库角色就属于预定义权限,对象的所有者也拥有该对象的所有权限以及该对象所包含对象的所有权限。

自定义的权限是指需要经过授权或继承才能得到的权限,大多数的安全主体都需要经过授权才能获得对安全对象的使用权限。

2)所有对象和特殊对象的权限

针对所有对象的权限表示将针对SQL Server中的所有对象(例如CONTROL权限)都有的权限。针对特殊对象的权限是指某些权限只能在指定的对象上起作用。例如,INSERT仅可以用于表的权限,不可以是存储过程的权限;而EXECUTE只可以是存储过程的权限,不能作为表的权限等。

对于表和视图,拥有者可以授予数据库用户INSERT、UPDATE、DELETE、SELECT和REFERENCES共五种权限。在数据库用户要对表执行相应的操作之前,必须事先获得相应的操作权限。例如,如果用户想浏览表中的数据,首先必须获得拥有者授予的SELECT权限。

下表是一些常用的权限:

数据库

CREATE DATABASE、CREARE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE VIEW、CREATE TABLE、CREATE RULE、BACKUP DATABASE、BACKUP LOG

SELECT、DELETE、INSERT、 UPDATE、REFERENCS

SELECT、DELETE、INSERT、 UPDATE、REFERENCS

视图

SELECT、DELETE、INSERT、 UPDATE、REFERENCS

过程

EXECUTE、SYNONYM

表1-1 常用权限

对于权限的操作有:授予权限、撤销权限、拒绝权限。通过名字我们都不难理解每个操作的意义。接下来,我们具体看看每个权限的具体操作。

授予权限

Grant

{all|statement[权限名]}

To security_account[用户名]

撤销权限

Revoke{all|statement[权限名]}

From security_account[用户名]

拒绝权限

Deny {all|statement[权限名]}

To security_account[用户名]

* 拒绝权限只是在不收回用户权限前提下,禁止用户访问数据库中某对象的的一个操作。

本文分享自微信公众号 - 算法与编程之美(algo_coding),作者:李劲潮

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 蓝桥杯-python走迷宫算法

    下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方。

    算法与编程之美
  • 前端|Bootstrap 实例 - 简单的轮播插件

    Bootstrap 轮播(Carousel)插件是一种灵活的响应式的向站点添加滑块的方式。除此之外,内容也是足够灵活的,可以是图像、内嵌框架、视频或者其他您想要...

    算法与编程之美
  • Python基础 | 你想要的随机数生成都在这里

    在利用Python在进行数据分析的时候,经常需要按照某种规则快速生成实数序列,尤其是在学习matplotlib绘图的时候,需要模拟生成数据,然后开始绘制。

    算法与编程之美
  • 基于蓝鲸平台分分钟实现权限配置自动化

    小明有一个烦恼(不是《老板,今天我们做Oracle灾备切换演练吧!》的小明),毕业季来了,公司的招聘季也来了,每天都有新同事报道,这也意味着,他要每天到公司的几...

    嘉为科技
  • 额 明天接着修改

    每个功能都有相应的URL地址。(对功能的控制就是对URL地址访问的控制)

    lpe234
  • SQL权限操作

    限制一个用户能够做什么事情,在MySQL中,可以设置全局权限,指定数据库权限,指定表权限,指定字段权限

    木瓜煲鸡脚
  • 【Unity游戏开发】Android6.0以上的动态权限申请问题

      最近公司的游戏在做安全性测试,期间也暴露出了不少安全上的问题。虽然我们今天要说的权限申请和安全性相关不大,但是也会影响到游戏的使用体验等,所以本篇博客中马三...

    马三小伙儿
  • Android动态权限申请(Kotlin版)

    Android6.0之后,APP有些用到的权限需要动态申请,虽然这个功能已经出来好久了,但一直没有研究过,只知道用法简单,到时候copy一下就好了,github...

    haifeiWu
  • Linux学习笔记(七)权限管理命令

    umask默认权限是Linux权限的一种,主要用于让Linux中的新建文件和目录拥有默认权限

    LRainner
  • 聊一聊Android 6.0的运行时权限

    Android 6.0,代号棉花糖,自发布伊始,其主要的特征运行时权限就很受关注。因为这一特征不仅改善了用户对于应用的使用体验,还使得应用开发者在实践开发中需要...

    技术小黑屋

扫码关注云+社区

领取腾讯云代金券