Security6:授予权限的思路和一般步骤

思路是:Grants permissions on a securable to a principal.

The general concept is to GRANT <some permission> ON <some object> TO <some user, login, or group>.

授予权限子句分为三部分:Permission,Securable 和 principal,用一句话来解释这三个concept:授予 Principal 操作 Securable 的 Permission。

Principal是被授予权限的实体,Securable是table,view等对象,是Principal操作的对象;有时Principal也会作为Securable,被Principal操纵。

示例步骤

Step1,Create Login

Step2,Create user,建立User 和 Login之间的关联,通过SID来关联。

Step3,Create Role

Step4,授予Role的权限

  • 授予对individual object的权限,通过 Grant permission on object:: SchemaName.ObjectName
  • 授予对Schema的权限,由于Schema是objects的container,授予对Schema操作的权限,那么就等同于授予对Schema下所有objects的操作权限

Step5,将user 增加为role的成员,使User 具有权限

USE db_study;
GO

--Create login
CREATE LOGIN login1
WITH PASSWORD = ‘123‘
,DEFAULT_DATABASE=db_study
,CHECK_EXPIRATION=off
,CHECK_POLICY=off;
go

--create user
CREATE USER user1
FOR LOGIN login1
with default_schema=dbo;
GO

--create role
create role role1
AUTHORIZATION user1;
GO

--create schema
create schema schema1
AUTHORIZATION user1;
go

--create object
create table schema1.table1
(id int,name varchar(10))

create table schema1.table2
(id int,name varchar(10))

--grant permission on schema to role
grant select,execute
on schema::schema1
to role1;

--grant permission on object to role
grant select ,insert
on object::schema1.table2
to role1;

--add member
alter role role1
add member user1;
go
时间: 2024-12-28 00:28:14

Security6:授予权限的思路和一般步骤的相关文章

ASP.NET通用权限组件思路设计

开篇 做任何系统都离不开和绕不过权限的控制,尤其是B/S系统工作原理的特殊性使得权限控制起来更为繁琐,所以就在想是否可以利用IIS的工作原理,在IIS处理客户端请求的某个入口或出口通过判断URL来达到控制权限的目的,这样就可以减少通常要在每个页面或按钮都要添加的权限验证代码. 通常的权限验证模式 一般的权限验证会控制到菜单(页面)就可以满足,复杂一点的会要求控制到按钮(功能点),这个都需要做一下几点工作: 1.按权限生成菜单,这是所有系统都要做的: 2.在每个页面的开始处添加登录和权限的验证,调

oracle创建用户、授予权限及删除用户1

oracle创建用户.授予权限及删除用户 创建用户 oracle对表空间 USERS 无权限 alter user 用户名 quota unlimited on users; //创建临时表空间 create temporary tablespace test_temp tempfile 'E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf' size 32m autoextend on next 32m maxsize 204

jsp的权限控制思路

这两天接触的一个项目的权限控制思路,控制页面权限.action权限.页面内容权限 1用户 2角色 3权限组 4权限 5菜单 权限控制的5个基本模块: 用户: 用户与角色关联 角色: 角色与权限关联 给角色赋予权限:将所有权限列出: 权限组:用于归类权限 权限: 权限可以是一个菜单(当权限的url和菜单的url相同时即为菜单权限) 获取菜单列表时根据权限过滤菜单: if (menuUrl.equals(auth.getUrl()) || (user!=null && user.getId()

Oracle_创建用户_授予权限

Oracle_创建用户_授予权限 --创建用户,需要足够的权限  create create user hzf identified by hzf;    --给用户bjsxt分配权限  grant grant connect,resource to hzf; grant dba to hzf; --撤销权限 revoke revoke connect,resource from hzf;   --删除用户 drop user hzf;   权限 权限指执行特定类型SQL 命令或访问其他对象的权

Security5:授予权限

SQL Server授予用户访问对象的权限,通常的模式是:Grants permissions on a securable to a principal(user or login),也就是说,授予权限的命令分为三部分:Permission,Securable 和 Principal,用一句话来解释这三个概念:授予 Principal 操作 Securable 的 Permission.Principal是被授予权限的主体,是被授与者(Grantee),是Login,User或Role.Sec

在Fedora中如何授予权限给用户使用Docker

在Fedora中如何授予权限给用户使用Docker 本文翻译自Daniel J Walsh的一篇开源文章:http://opensource.com/business/14/10/docker-user-rights-fedora在Docker-dev邮件列表,有人问有关描述了如何将用户添加到Docker组的Fedora文档.用户希望让他的用户做一个Docker搜索,试图找到他们可以使用的镜像. 从有关Fedora的docker安装文档: 授予用户权限的使用Docker Fedora的19和20

oracle创建用户、授予权限及删除用户

创建用户 oracle对表空间 USERS 无权限 alter user 用户名 quota unlimited on users; //创建临时表空间 create temporary tablespace test_temp tempfile 'E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management

使用MySQL命令行新建用户并授予权限的方法

MySQL命令行能否实现新建用户呢?答案无疑是肯定的.而且在使用使用MySQL命令行新建用户后,还可以为用户授予权限. 首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的.注:本操作是在WIN命令提示符下,phpMyAdmin同样适用.用户:phplamp用户数据库:phplampDB 1.MySQL命令行新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(

一个用户下表、批量授予权限给另一个用户

工作中经常会用到一个用户对另外一个用户下表的操作,遇到批量的授权或回收权限可以用如下语句执行就可以了,一般是授予 select\update\delete\insert 也可以用 grant all 表示所有 对存储过程的授权为 grant execute on 过程 to 用户 如果加 with grant option 当前被授权的用户则可以再授予给其他用户 以下是示例,实际工作中根据情况进行修改即可 --批量授予与收回 --授予 查询 插入 权限 declare cursor cur_a