Azure SQL Server,是否可以禁用服务器管理(创建后)?

时间:2018-07-19 21:10:31

标签: azure-sql-database azure-sql-server

案例

我要使用Azure SQL Server,如best practices how to secure Azure SQL Server中所述,最好使用AAD帐户而不是SQL帐户来访问服务器/数据库。

我阅读了Microsoft和博客文档站点上的几篇文章,但是在拥有Azure SQL Server和已创建的AAD SQL Administrator并将其附加到Windows Server 2003后,我无法发现可以禁用/删除Server Admin帐户。 Azure SQL Server。

我知道创建Azure SQL时必须具有服务器管理员登录名和密码,但是我希望在创建服务器和AAD SQL管理员后可以删除它。

我为什么要这个?

  • 有足够多的公司必须裁定(必须从内部部署继承)帐户必须由集中式身份存储(例如AAD)控制。
  • 必须完成密码轮换,当您拥有集中式身份存储时,它变得容易得多,而不必为许多Azure SQL Server进行。

问题

是否可以禁用SQL Server Admin(SQL帐户)?

2 个答案:

答案 0 :(得分:3)

我认为禁用(或可以)禁用SQL Server Admin。

Azure订阅所有者和AAD SQL管理员身份具有Azure SQL Server的共同所有权。任何一种都需要能够重新获得对该服务器的管理访问权限。

Azure订阅所有者用来强制进入自己的数据库的机制是从Azure门户重置SQL Server管理员密码。

这大致类似于Windows管理员如何通过以单用户模式启动服务来强制sysadmin访问SQL Server。

我认为您最好的办法是扔掉SQL Server Admin的密码,因此如果没有先在门户中重设密码,没有人可以使用该帐户登录。 EG运行:

declare @sql nvarchar(max) = concat(N'alter LOGIN [youradmin] WITH PASSWORD=N''',newid(), N'''')
exec (@sql)

答案 1 :(得分:1)

06/21 更新: Microsoft 发布了 Azure Active Directory only authentication for Azure SQL,它有效地禁止了使用任何 SQL 用户进行身份验证的可能性。

注意事项

<块引用>
  • 在 Azure SQL 服务器级别支持 Azure AD-only 身份验证
    • 这意味着启用此模式后,只能使用 Azure AD 访问属于此服务器的所有数据库 身份验证
  • 启用 Azure AD-only 身份验证不会删除现有的 SQL 登录名或基于这些登录名的 SQL 用户。它们继续存储在 SQL 中 元数据,但不能用于 SQL 身份验证
  • 即使启用了 Azure AD-only 身份验证,为 Azure AD 用户提供适当的 SQL 权限,SQL 登录名和 SQL 用户也可以 创建。但是,连接到 Azure SQL 的身份验证过程 使用 SQL 登录名/用户将失败
  • 具有适当权限的 Azure AD 用户可以模拟现有 SQL 用户
    • 即使启用了 Azure AD-only 身份验证功能,SQL 身份验证用户之间的模拟也会继续工作。这是 与今天的模拟工作方式一致,即使是残疾人 用户可以被冒充。

Microsoft is working on 允许所谓的“仅 AAD 身份验证”,这将有效地禁用服务器管理员登录,因为完整的 SQL 身份验证被禁用。