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

Sve*_*ven 6 azure-sql-database azure-sql-server

案件

我想使用 Azure SQL Server,正如如何保护 Azure SQL Server最佳实践中所述,最好使用 AAD 帐户而不是 SQL 帐户来访问您的服务器/数据库。

我在 Microsoft 和博客的文档站点上阅读了几篇文章,但我找不到在您拥有 Azure SQL Server 和创建的 AAD SQL 管理员并将其附加到 Azure SQL Server 后,可以禁用/删除服务器管理员帐户.

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

我为什么要这个?

  • 有足够多的公司必须规定(从本地继承)帐户必须由集中式身份存储(例如 AAD)控制。
  • 必须完成密码轮换,当您拥有集中式标识存储时,这要容易得多,而不是您必须为许多 Azure SQL Server 进行轮换。

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

Dav*_*oft 5

我不相信(或可能)禁用 SQL Server Admin。

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

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

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

我认为你能做的最好的事情就是扔掉 SQL Server 管理员的密码,这样任何人都不能在没有首先在门户中重置密码的情况下使用该帐户登录。EG运行:

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

  • 但它仍然对字典攻击持开放态度,除非我弄错了,仅仅因为它的密码很长,它仍然是单因素? (4认同)
  • 大概这意味着 Azure SQL 数据库无法遵守要求所有访问都通过 MFA 安全帐户进行的安全策略? (2认同)

Mar*_*aus 3

06/21 更新: Microsoft 发布了仅适用于 Azure SQL 的 Azure Active Directory 身份验证,这有效地禁用了使用任何 SQL 用户进行身份验证的可能性。

注意注意事项

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

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