【问题标题】:Azure SQL - How to add AD users to SQL Pool DatabasesAzure SQL - 如何将 AD 用户添加到 SQL 池数据库
【发布时间】:2019-06-27 19:51:21
【问题描述】:

问题:我正在尝试将 活动目录用户和组(从本地同步到 Azure AD)添加到 SQL 弹性池中的 SQL 数据库同一租户中的 Azure。我不想使用 SQL Server 身份验证(集成)。我似乎无法使用 AD 帐户(必需)登录以添加其他 AD 帐户。

本地目录已同步到 Azure AD。租户已配置并使用 O365 电子邮件,我们现在在弹性池中的租户中拥有多个 SQL 数据库。

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

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

使用SSMS连接云端数据库,可以使用SQL Server Authentication连接数据库。当我尝试CREATE USER [username@mytenant.com] FROM EXTERNAL PROVIDER 时,我收到错误无法创建主体“用户名@mytenant.com”。只有与 Active Directory 帐户建立的连接才能创建其他 Active Directory 用户。

also outlined here 的原因是“不是基于 Azure AD 帐户(包括 Azure SQL 服务器管理员帐户)的用户,无法创建基于 Azure AD 的用户,因为他们没有使用 Azure AD 验证建议的数据库用户的权限。"

再次使用 SSMS 并以 username@mytenant.com 身份连接 Active Directory - Universal with MFA support,在尝试登录时我收到错误 用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败. (Microsoft SQL Server,错误:18456)。当我将 Connect to database 配置为 DBName 并将 AD 域名或租户 ID 配置为 mytenant.onmicrosoft.com 时,结果相同。即使使用我们在设置环境时创建的初始租户管理员帐户,我也会得到相同的结果。

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

我显然遗漏了一些基本的东西,只需要指出正确的方向。感谢您提供的任何帮助。

【问题讨论】:

    标签: azure azure-active-directory azure-sql-database


    【解决方案1】:

    首先为池创建一个 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>
    

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

    以 AD 管理员身份登录后,您可以创建与 AD 组对应的新 SQL Server 用户。请考虑我已经创建了一个名为“SQL Developers”的 AD 组,因此我可以将其映射到 Azure SQL Server 数据库并将其添加到 db_datareader 固定角色,如下所示:

    CREATE USER [SQL Developers] FROM EXTERNAL PROVIDER 
    ALTER ROLE db_datareader ADD MEMBER [SQL Developers]
    

    【讨论】:

    • 阿尔贝托,非常感谢。这完美地回答了我的问题。
    • 感谢您的反馈。
    猜你喜欢
    • 1970-01-01
    • 2021-09-22
    • 2017-10-25
    • 2021-06-27
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    相关资源
    最近更新 更多