【问题标题】:Grant Read access to Azure Active Directory Group in SQL DW (Synapse)在 SQL DW (Synapse) 中授予对 Azure Active Directory 组的读取权限
【发布时间】:2021-04-13 22:22:46
【问题描述】:

任何人都可以帮我解决这个问题,我被困住了,阅读并没有让我到任何地方:(

我的问题与 Azure Active Directory Group 和 SQL DW 有关。我想授予对 Azure Active Directory 组(ADD 组)的数据库读取权限。为此,我采取了以下步骤:

  • 我在 ADD 中创建了两个组,分别是 Azure AnalytcisDW 管理员用户Azure AnalytcisDW 数据库用户,每个组都有很多用户。
  • 然后,我进入 Azure 门户,选择了我的 SQL DW,并将 Azure AnalytcisDW Admin Users 组添加为 Active Directory Admin(下图)。
  • 然后,我检查了 SSMS,发现 Azure AnalytcisDW Admin Users 组在 mater=>Security=>Users 下(见下图)

现在我想向 Azure AnalytcisDW 数据库用户 组授予(数据库)读取权限(使用 SSMS 或任何东西)。我不知道怎么做。我为它阅读了一堆东西,但找不到我的方式,例如:

Grant Access to SQL Server Table to AD user

Adding Users to Azure SQL Databases

【问题讨论】:

    标签: azure-active-directory ssms active-directory-group azure-synapse


    【解决方案1】:

    我可以通过使用以下命令执行相同操作,其中 db_users(与您的 Azure AnalytcisDW 数据库用户相同)是活动目录组,并且我使用了来自 db_admin(与您的 Azure AnalytcisDW 管理员用户相同)的 ID 进行连接到突触。

    参考文档:RoleAssign, AADGroupUser

    【讨论】:

    • 感谢@HarithaMaddi-MSFT。不幸的是,我尝试了它并收到此错误:“无法更改角色'db_datareader',因为它不存在或您没有权限。”我应该在master 还是database 下制作这个?顺便说一句,这如何与我的user AD 组建立联系?我在 ssms 的任何地方都看不到它
    • 在您分享的 link 中也显示“Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。”
    • 嘿@mas,您需要在数据库本身中执行上述查询。要查看您创建的角色,请在数据库中执行以下查询:SELECT DP1.name AS DatabaseRoleName, isnull (DP2.name, 'No members') AS DatabaseUserName FROM sys.database_role_members AS DRM RIGHT OUTER JOIN sys.database_principals AS DP1 ON DRM.role_principal_id = DP1.principal_id LEFT OUTER JOIN sys.database_principals AS DP2 ON DRM.member_principal_id = DP2.principal_id WHERE DP1.type IN ( 'R') ORDER BY DP1.name;
    • 另外,你只需要通过AD账号登录,才可以执行这个创建新AD用户的查询
    • 看来你必须让master下的用户以及你想要分配角色的任何数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2018-02-17
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    相关资源
    最近更新 更多