Azure的SQL - 如何AD用户添加到SQL数据库池

问题描述 投票:1回答:1

问题:我试图添加Active Directory用户和组(从的预置型同步到Azure的AD)到存在于同一用户在Azure上一个SQL弹性池SQL数据库。我不希望使用SQL Server身份验证(集成)。看来,我不能够与AD帐户(需要)来添加额外的AD帐户登录。

在内部部署目录同步到Azure的AD。承租人配置和O365电子邮件工作,我们现在有一个存在于我们的租户在弹性游泳池多个SQL数据库。

注意:这不是一个管理SQL实例。当我直接管理的弹性池或数据库,我没有菜单选项的Active Directory管理员可用,as outlined here

我的AD管理员帐户添加到弹性池访问控制(IAM)作为所有者。

使用SSMS连接到数据库云,也可以使用SQL Server身份验证连接到数据库。当我尝试CREATE USER [[email protected]] FROM EXTERNAL PROVIDER我收到错误校长[email protected]“无法创建。只有与Active Directory帐户建立连接,可以创建其他Active Directory用户。

这样做的原因,also outlined here,是“那些不基于Azure的AD帐户(包括Azure的SQL服务器的管理员帐户)的用户,不能创建Azure的基于AD的用户,因为他们没有权限来验证建议的数据库用户提供Azure的AD“。

再次使用SSMS并与Active Directory连接 - 通用与MFA支持,[email protected],在尝试登录我收到错误登录失败,用户NT AUTHORITY \ ANONYMOUS登录。 (微软SQL服务器,错误:18456)。相同的结果时,我配置连接到数据库dbname和AD域名或租户ID作为mytenant.onmicrosoft.com。我有使用我们设置环境时所创建的初始租户管理员帐户,即使相同的结果。

所以我在这一天结束的问题 - 如何添加从炳同步到Azure的SQL数据库(或弹性池)的AD用户,这样我可以与该用户登录并开始添加额外的AD用户数据库?

我清楚地失去了一些东西根本,只需要在正确的方向点。谢谢你提供的任何援助。

azure azure-active-directory azure-sql-database
1个回答
2
投票

首先创建池的Active Directory管理员。

  1. 在门户网站选择现有弹性游泳池
  2. 从“概述”中,点击您的“服务器名称”
  3. 选择“Active Directory的管理” - >“设置系统管理员”。您可以设置单个用户或AD组作为管理员。

您也可以从CLI做到这一点:

> az sql server ad-admin create --object-id <Object-Id-OfUserOrGroup>
    -s <Database-Name>
    -g <Resource-Group>
    -u <NameOrEmailAkaDisplayName>

现在,你现在应该能够登录到数据库中的弹性池通过SSMS您的AD管理员登录。在这种情况下,你可以通过“Active Directory密码验证”登录,但你也可以使用“通用认证”或“集成身份验证”。

一旦你登录的AD管理员,您可以创建对应于AD组新的SQL Server用户。请考虑我已经创建了一个名为“SQL开发”的AD组,所以我可以将其映射到Azure的SQL Server数据库,并将其添加到拥有db_datareader这样的固定作用:

CREATE USER [SQL Developers] FROM EXTERNAL PROVIDER 
ALTER ROLE db_datareader ADD MEMBER [SQL Developers]
© www.soinside.com 2019 - 2024. All rights reserved.