服务主体作为 SQL Active Directory 管理员,是否使用图形 API?

Ale*_*ith 5 sql-server azure-sql-database active-directory azure

我希望使用服务主体作为服务器管理员,因此可以在发布管道中使用它来创建更多的 Active Directory 用户。

我成功地将服务主体设置为服务器管理员 * 并使用访问令牌连接到数据库,因此服务主体身份验证工作正常,这非常好,也是一个有趣的挑战。

*编辑:AAD 服务器管理员是通过 ARM 模板创建的,特别是如果您尝试通过门户手动创建,则无法选择服务主体作为管理员用户。但有趣的是,您可以在使用 ARM 创建后在门户中看到服务主体名称正常。并且您可以使用 AAD 身份验证成功登录,因此看起来服务器主体管理员工作正常。

但是,在创建更多用户时,他们似乎永远不会发现错误:

“此时找不到校长'name here'。请稍后再试。”

但是,当以我自己的身份登录时,我可以很好地创建其他用户。

这让我想到 SQL Server 是否使用某种 Active Directory 模拟来验证后续用户/服务主体是否存在?

如果我授予我的服务主体访问 Graph API 的权限,是否会授予它足够的权限?如果是这样,最低限度的权利是什么?

我还看到 Azure SQL Server 在后台创建了一个托管服务标识,所以我想知道这是否也在起作用?

我还在托管实例上看到他们明确要求具有 AAD 权限的服务主体连接到 AAD - 我认为这就像 Azure SQL Server 的 MSI?但是 Azure SQL Server 没有提到这一点,AAD 管理员就足够了。

我很想知道活动目录连接的底层机制是如何工作的,因为它可以帮助我进一步调查我的挑战。

小智 1

今天得到了微软官方的答复:

我已确认,使用服务主体帐户时当前不支持创建 AAD 用户和组。此特定限制仅特定于数据库包含的用户。