Поделиться через


Создание ролей и управление ими в SSMS

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

В этой статье описывается, как использовать SQL Server Management Studio (SSMS) для создания ролей, определения разрешений ролей и добавления пользователей для развернутых табличных моделей или Power BI Premium семантических моделей. Дополнительные сведения об использовании Visual Studio для создания ролей и управления ими для проектов табличных моделей см. в статье Создание ролей и управление ими в Visual Studio.

использование SSMS;

Создание новой роли

  1. В SQL Server Management Studio разверните базу данных табличной модели, для которой требуется создать новую роль, щелкните правой кнопкой мыши Роли и выберите Команду Создать роль.

  2. В диалоговом окне Создание роли в окне «Выбор страницы» щелкните Общие.

  3. В окне общих параметров введите имя роли в поле Имя .

    Используйте имена, которые четко идентифицируют тип члена, например Финансовые менеджеры или Специалисты по персоналу, и убедитесь, что имя не содержит запятую. По умолчанию к имени роли, заданному по умолчанию, будет добавляться номер, последовательно увеличивающийся для каждой новой роли.

  4. В поле Разрешения базы данных для этой роливыберите один из следующих параметров разрешений.

    Разрешение Описание
    Полный доступ (администратор) Члены могут вносить изменения в схему модели, а также просматривать все данные.
    Process Database Члены могут выполнять операции «Обработать» и «Обработать все». Не могут изменять схему модели и просматривать данные.
    Чтение Члены могут просматривать данные (с учетом фильтров строк), но не могут вносить изменения в схему модели.
  5. В диалоговом окне Создание роли в окне «Выбор страницы» щелкните Членство.

  6. В окне параметров членства нажмите кнопку Добавить, а затем в диалоговом окне Выбор пользователей или групп добавьте пользователей или группы, которые вы хотите добавить в качестве участников.

  7. Если у создаваемой роли есть разрешения на чтение, можно добавить фильтры строк для любой таблицы с помощью формулы DAX. Чтобы добавить фильтры строк, в диалоговом окне Свойства роли — <имя_>роли в разделе Выбор страницы щелкните Фильтры строк.

  8. В окне фильтров строк выберите таблицу, щелкните поле Фильтр DAX, а затем в поле Фильтр DAX — <имя> таблицы введите формулу DAX.

    Примечание

    Поле "Фильтр DAX — <имя> таблицы" не содержит редактора запросов автозаполнения или функции вставки.

  9. Нажмите кнопку ОК , чтобы сохранить роль.

Копирование роли

  1. В SQL Server Management Studio разверните базу данных табличной модели, содержащую роль, которую требуется скопировать, затем разверните узел Роли, щелкните роль правой кнопкой мыши и выберите команду Дублировать.

Изменение роли

  • В SQL Server Management Studio разверните базу данных табличной модели, содержащую роль, которую требуется изменить, затем — Роли, щелкните роль правой кнопкой мыши и выберите пункт Свойства.

    В диалоговом окне Role Propertiesrolename (Свойства <роли)> можно изменить разрешения, добавить или удалить участников, а также добавить или изменить фильтры строк.

Удаление роли

  • В SQL Server Management Studio разверните базу данных табличной модели, содержащую роль, которую нужно удалить, затем разверните узел Роли, щелкните роль правой кнопкой мыши и выберите команду Удалить.

Скрипт

Роли для развернутых моделей и семантических моделей можно создавать с помощью языка сценариев табличных моделей (TMSL) для создания или изменения объекта Roles. Скрипты TMSL можно выполнять в SSMS или с помощью командлета PowerShell Invoke-ASCmd.

Щелкните правой кнопкой мыши объект > базы данных Скрипт>скрипта базы данных как>CREATE или REPLACE To>New Редактор запросов Window. Роли определяются в объекте roles, например:

        "roles": [
          {
            "name": "Sales Manager",
            "modelPermission": "read"
          },
          {
            "name": "Sales Analyst US",
            "modelPermission": "read",
            "tablePermissions": [
              {
                "name": "DimGeography",
                "filterExpression": "DimGeography[CountryRegionCode] = \"US\" "
              }
            ]
          }
        ],

См. также раздел

Роли