在Azure SQL数据库中按角色设置权限

时间:2019-02-18 15:45:00

标签: sql azure-sql-database

我正在尝试在Azure SQL数据库中创建4个不同的角色。这四个角色名称分别为READ_ONLY_ACCESS,READ_UPDATE_ACCESS,READ_WRITE_UPDATE_ACCESS,FULL_ACCESS。

-READ_ACCESS-授权选择
-READ_UPDATE_ACCESS-授予选择,更新
-READ_WRITE_UPDATE_ACCESS-授予选择,更新,插入
-FULL_ACCESS-授予选择,更新,插入,删除

我的目标是使用这些权限创建这4个角色,然后能够创建分配给这些角色之一的用户。创建这些角色后我想做什么的以下示例:

CREATE USER username WITH PASSWORD = 'password';

ALTER ROLE READ_ACCESS ADD MEMBER username;

我找到了一些有助于此操作的站点,但是我不清楚是否需要声明是否拒绝对某些权限的访问以及是否声明授予的访问权限。

1 个答案:

答案 0 :(得分:1)

首先创建角色。

create role ApplicationUsers_ReadAccss;
grant select on schema::dbo to ApplicationUsers_ReadAccss;

create role ApplicationUsers_ReadUpdateAccss;
grant select, update on schema::dbo to ApplicationUsers_ReadUpdateAccss;

create role ApplicationUsers_ReadWriteUpdateAccss;
grant select, insert, update on schema::dbo to ApplicationUsers_ReadWriteUpdateAccss;

create role ApplicationUsers_FullAccess;
grant select, insert, update, delete, execute on schema::dbo to ApplicationUsers_FullAccess;

之后,创建登录并将其添加到角色之一。

--create a server-level Login

create login AppUser with Password ='asdfAds01980(*)(*)(#&$)#@';

--add a user mapped to that login in each database 

create user AppUser for login AppUser;
alter role ApplicationUsers_FullAccess add member AppUser;