Описанные в этом разделе процедуры используются для ограничения доступа к отчетам Operations Manager 2007, содержащим конфиденциальные данные.

Сначала необходимо с помощью сценария командной оболочки создать новую роль пользователя. Пример сценария командной оболочки, используемого для создания новой роли пользователя, приведен в конце этого раздела.

Затем нужно с помощью команды Get-UserRole задать разрешения для соответствующего отчета.

Caution
После изменения свойств безопасности отчета наследование папок для каждого отчета в соответствующей папке отключается. Когда наследование папок отключено, необходимо вручную задать разрешения для каждого отчета в этой папке с помощью команды Get-UserRole.

Дополнительные сведения о командной оболочке Operations Manager см. в документации пакета SDK Operations Manager 2007 на страницеhttp://go.microsoft.com/fwlink/?LinkId=65912 (возможно, на английском языке)

Создание новой роли пользователя

  1. Скопируйте пример сценария командной оболочки на локальный жесткий диск и сохраните файл с расширением .ps1 (пример: ReportOperator.ps1).

  2. Запустите командную оболочку Operations Manager.

  3. Запустите сценарий (например, введите C:\ReportOperator.ps1 и нажмите клавишу ВВОД).

  4. В консоли управления нажмите кнопку Администрирование.

  5. В панели "Администрирование" раскройте узлы Администрирование и Безопасность, а затем выберите Роли пользователя.

  6. В панели Роли пользователя щелкните правой кнопкой мыши новую роль пользователя, только что созданную с помощью сценария командной оболочки, и выберите пункт Свойства.

  7. В диалоговом окне Свойства роли пользователя перейдите на вкладку Общие и нажмите кнопку Добавить.

  8. На странице Выбор пользователя или групп введите имена пользователей или групп, которым нужно назначить данную роль пользователя, и нажмите кнопку ОК.

    Important
    Добавление учетной записи компьютера к членам роли пользователя позволяет всем службам данного компьютера получить доступ к пакету SDK. Рекомендуется добавлять учетную запись компьютера не к каждой роли пользователя.
  9. Нажмите кнопку Применить, а затем кнопку ОК.

  10. Теперь необходимо добавить GUID новой роли пользователя в службы отчетов SQL Server. Выполните следующие действия.

    1. В представлении "Роли пользователя" дважды щелкните новую роль.

    2. Перейдите на вкладку Идентификация.

    3. Нажмите кнопку Копировать, чтобы скопировать GUID для нового пользователя, а затем нажмите кнопку ОК, чтобы закрыть окно "Свойства".

    4. Запустите диспетчер отчетов служб отчетов SQL Server, перейдя по адресу http://localhost/Reports в веб-обозревателе.

    5. Перейдите на вкладку Свойства.

    6. Нажмите кнопку Создать назначение ролей.

    7. Вставьте GUID из буфера обмена в поле Имя группы или пользователя.

    8. Выберите роли, которые требуется присвоить новой роли пользователя "Оператор отчетов", и нажмите кнопку ОК.

Задание разрешений на отчет с помощью командной оболочки

  1. С помощью команды Get-UserRole найдите конкретную роль пользователя, которую нужно использовать для данного отчета.

    Note
    Командаget-userrole | format-list Name,ID | ft выводит наглядную таблицу с именами ролей пользователей и соответствующими им GUID.
  2. Скопируйте GUID в буфер обмена.

  3. Откройте отчет с помощью веб-обозревателя, подключившись к данному экземпляру SQL Server (http://<computername>/reports$instance1).

  4. На начальной странице служб отчетов сервера SQL Server щелкните папку с нужным отчетом (например, щелкните папку Отчеты, а затем — Microsoft.SystemCenter.DataWarehouse.Report.Library).

  5. Перейдите на вкладку Свойства, а затем в области переходов выберите Безопасность.

  6. Выберите Изменить параметры безопасности элемента.

  7. Установите флажок для роли Веб-обозреватель, Мои отчеты, Построитель отчетов и замените существующий GUID на GUID для роли пользователя, который вы выбрали и скопировали в буфер обмена.

Example

Ниже приведен пример кода, который можно использовать для создания роли пользователя для профиля "Оператор отчетов". В приведенном примере новая роль пользователя называется "Тестовая роль оператора отчетов", но перед запуском сценария можно указать другое имя.

  Copy Code
$mg = (get-item .).ManagementGroup $reportOperator = $mg.GetMonitoringProfiles() | where {$_.Name -eq "ReportOperator"} $obj = new-object Microsoft.EnterpriseManagement.Monitoring.Security.MonitoringUserRole

$obj.Name = "TestReportOperatorRole" $obj.DisplayName = "Тестовая роль оператора отчетов" $obj.Description = "Тестовая роль оператора отчетов" $obj.MonitoringProfile = $reportOperator

$mg.InsertMonitoringUserRole($obj)

Была ли данная информация полезной? Отправляйте нам свои пожелания и комментарии, касающиеся данной документации.