阿里云RDS for SQL Server的账号管理有不少小Bug,而且有一个很严重的Bug:任何普通账号,都能创建数据库。注意,我这里是说任意普通账号,任意任意普通账号!任意任意普通账号!重要的事情说三遍。

 

 

例如,下面测试环境所示,RDS for SQL Server的数据库版本为SQL Server 2016 WEB,我们在控制平台的账号管理界面,创建一个数据库账号test2,如下所示,只授予只读权限。

 

阿里云RDS for SQL Serrver关于权限的一个严重Bug

 

 

我们使用脚本get_login_rights_script.sql 获取数据库账号test2的具体权限如下所示:

 

阿里云RDS for SQL Serrver关于权限的一个严重Bug

 

使用test2账号登录数据库,执行下面脚本就能创建一数据库,如下所示。根据个人的测试,这个账号可以为任意普通账号。即使取消服务器角色setupamin与processadmin,依然是可以创建数据库的。

 

 

CREATE DATABASE [MyDB]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'MyDB', FILENAME = N'E:\SQLDATA\DATA\MyDB.mdf' , SIZE = 5120KB , FILEGROWTH = 10%)
 LOG ON 
( NAME = N'MyDB_log', FILENAME = N'E:\SQLDATA\DATA\MyDB_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO

相关文章:

  • 2021-12-24
  • 2021-09-25
  • 2022-01-08
  • 2021-09-05
  • 2022-03-09
  • 2022-02-12
  • 2021-12-02
  • 2021-11-27
猜你喜欢
  • 2022-12-23
  • 2021-06-01
  • 2021-11-18
  • 2022-12-23
  • 2022-02-06
相关资源
相似解决方案