首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对数据库的ALTER权限允许创建安全主体

对数据库的ALTER权限允许创建安全主体
EN

Database Administration用户
提问于 2021-11-18 21:13:00
回答 1查看 424关注 0票数 0

在数据库级别上授予的ALTER权限似乎允许授予它的主体在数据库中创建安全主体。

考虑下面的例子:

代码语言:javascript
复制
/* setup database */
CREATE DATABASE MyNewDB
GO

USE MyNewDB
GO

/* create a login and user and then grant ALTER permissions */
CREATE LOGIN MyLogin WITH PASSWORD = 'My57r0ngp455w0rd'
CREATE USER MyUser FOR LOGIN MyLogin
GRANT ALTER TO MyUser
GO

/* running as our new user which only has ALTER permissions, create a user and a role */
EXECUTE AS LOGIN = 'MyLogin'

CREATE USER UserCreatedByMyLogin FOR LOGIN SomeOtherLogin
CREATE ROLE RoleCreatedByMyLogin
ALTER ROLE RoleCreatedByMyLogin ADD MEMBER UserCreatedByMyLogin

REVERT 

/* verify success */
SELECT  USER_NAME(role_principal_id),
        USER_NAME(member_principal_id)
FROM    sys.database_role_members
WHERE   role_principal_id = USER_ID('RoleCreatedByMyLogin') AND
        member_principal_id = USER_ID('UserCreatedByMyLogin') 

用户MyUser能够创建一个用户,一个角色,然后将该用户添加到该角色中,仅使用ALTER权限。

改变文件

ALTER赋予了更改特定安全的属性(所有权除外)的能力。当授予作用域时,alter还赋予更改、创建或删除包含在该作用域中的任何安全性的能力。例如,对架构的alter权限包括从架构创建、更改和删除对象的能力。

创建用户的文档

要求更改数据库上的任何用户权限。

创建角色的文档

需要对数据库或db_securityadmin固定数据库角色的成员资格创建角色权限。

因此,这些文档似乎都没有勾勒出我在上面看到的行为。这是个窃听器还是我漏掉了什么?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2021-11-18 21:54:48

alter还赋予更改、创建或删除包含在该范围内的任何安全的能力。

用户是数据库作用域安全的(请参阅文件中的表格),因此GRANT ALTERCREATE USER权限授予包含数据库的安全。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/302855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档