Compartir a través de

教程:配置服务器管理员和用户角色

本教程介绍如何使用 SQL Server Management Studio (SSMS) 连接到 Azure 中的服务器,以便配置服务器管理员和模型数据库角色。 此外还介绍了表格模型脚本语言 (TMSL)。 TMSL 是基于 JSON 的脚本语言,适用于 1200 和更高兼容级别的表格模型。 它可以用来自动执行许多表格建模任务。 TMSL 通常与 PowerShell 配合使用,但在本教程中,请在 SSMS 中使用 XMLA 查询编辑器。 使用本教程时,请完成以下任务:

  • 从门户获取服务器名称
  • 使用 SSMS 连接到服务器
  • 将用户或组添加到服务器管理员角色
  • 将用户或组添加到模型数据库管理员角色
  • 添加新的模型数据库角色并添加用户或组

若要详细了解 Azure Analysis Services 中的用户安全性,请参阅身份验证和用户权限

先决条件

登录到 Azure 门户

登录门户

获取服务器名称

若要从 SSMS 连接到服务器,首先需要服务器名称。 可以从门户获取服务器名称。

在“Azure 门户”中,单击“服务器”>“概述”>“服务器名称”,并复制服务器名称。

Get server name in Azure

在 SSMS 中连接

对于余下的任务,请使用 SSMS 连接到服务器并对其进行管理。

  1. 在 SSMS >“对象资源管理器”中,单击“连接”>“Analysis Services”。

    Connect

  2. 在“连接到服务器”对话框的“服务器名称”中,粘贴从门户复制的服务器名称。 在“身份验证” 中选择“具有 MFA 支持的 Active Directory 通用版” , 输入用户帐户,然后按“连接”。

    Connect in SSMS

    提示

    建议选择“具有 MFA 支持的 Active Directory 通用版”。 这种身份验证类型支持非交互式多重身份验证

  3. 在“对象资源管理器” 中,以展开方式查看服务器对象。 右键单击即可查看服务器属性。

    Object Explorer in SSMS

将用户帐户添加到服务器管理员角色

在此任务中,请将用户或组帐户从 Microsoft Entra ID 添加到服务器管理员角色。 如果指定安全组,请使用 obj:groupid@tenantid

  1. 在“对象资源管理器”中,右键单击服务器名称,然后单击“属性”。

  2. 在“Analysis Server 属性” 窗口中,单击“安全性” > “添加”。

  3. 在“选择用户或组”窗口中,输入 Microsoft Entra ID 中的用户或组帐户,然后单击“添加”。

    Add server admin

  4. 单击“确定” ,关闭“Analysis Server 属性” 。

    提示

    也可在门户中使用“Analysis Services 管理员”来添加服务器管理员。

将用户添加到模型数据库管理员角色

在此任务中,请将用户或组帐户添加到已存在于模型中的“Internet 销售管理员”角色。 此角色具有 adventureworks 示例模型数据库的完全控制(管理员)权限。 此任务在为你创建的脚本中使用 CreateOrReplace TMSL 命令。

  1. 在“对象资源管理器” 中,展开“数据库” >“adventureworks” > “角色”。

  2. 右键单击“Internet 销售管理员”, 然后单击“充当的脚本角色” >“CREATE OR REPLACE TO” > “新建查询编辑器窗口”。

    New Query Editor Window

  3. 在“XMLAQuery”中将“memberName:”的值更改为 Microsoft Entra ID 中的某个用户或组帐户。 默认情况下,已经包括登录时使用的帐户;但是,你不需添加自己的帐户,因为你已经是服务器管理员。

    TMSL script in XMLA query

  4. F5 执行脚本。

添加新的模型数据库角色并添加用户或组

在此任务中,请使用 TMSL 脚本中的 Create 命令创建一个新的 Internet 销售全局角色,为该角色指定读取权限,然后从 Microsoft Entra ID 添加用户或组帐户。

  1. 在“对象资源管理器”中右键单击“adventureworks”,然后单击“新建查询”>“XMLA”。

  2. 将以下 TMSL 脚本复制并粘贴到查询编辑器中:

    {
    "create": {
      "parentObject": {
        "database": "adventureworks",
       },
       "role": {
         "name": "Internet Sales Global",
         "description": "All users can query model data",
         "modelPermission": "read",
         "members": [
           {
             "memberName": "globalsales@adventureworks.com",
             "identityProvider": "AzureAD"
           }
         ]
       }
      }
    }
    
  3. "memberName": "globalsales@adventureworks.com" 对象值更改为 Microsoft Entra ID 中的用户或组帐户。

  4. F5 执行脚本。

验证所做的更改

  1. 在“对象资源管理器”中单击服务器名,然后单击“刷新”或按 F5

  2. 展开“数据库”>“adventureworks”>“角色”。 验证在前述任务中添加的用户帐户和新角色更改是否显示。

    Verify in Object Explorer

清理资源

不再需要用户或组帐户和角色时,请将其删除。 为此,请通过“角色属性” > “成员身份”删除用户帐户,或者右键单击某个角色,然后单击“删除”。

后续步骤

本教程介绍了如何连接到 Azure AS 服务器并浏览 SSMS 中的 adventureworks 示例模型数据库和属性。 此外还介绍了如何使用 SSMS 和 TMSL 脚本将用户或组添加到现有的和新的角色。 为服务器和示例模型数据库配置用户权限以后,你和其他用户即可使用客户端应用程序(例如 Power BI)连接到该服务器。 若要了解详细信息,请继续阅读下一个教程。