Описанные в этом разделе процедуры используются для ограничения доступа к отчетам Operations Manager 2007, содержащим конфиденциальные данные.
Сначала необходимо с помощью сценария командной оболочки создать новую роль пользователя. Пример сценария командной оболочки, используемого для создания новой роли пользователя, приведен в конце этого раздела.
Затем нужно с помощью команды Get-UserRole задать разрешения для соответствующего отчета.
Caution |
---|
После изменения свойств безопасности отчета наследование папок для каждого отчета в соответствующей папке отключается. Когда наследование папок отключено, необходимо вручную задать разрешения для каждого отчета в этой папке с помощью команды Get-UserRole. |
Дополнительные сведения о командной оболочке Operations Manager см. в документации пакета SDK Operations Manager 2007 на страницеhttp://go.microsoft.com/fwlink/?LinkId=65912 (возможно, на английском языке)
Создание новой роли пользователя
-
Скопируйте пример сценария командной оболочки на локальный жесткий диск и сохраните файл с расширением .ps1 (пример: ReportOperator.ps1).
-
Запустите командную оболочку Operations Manager.
-
Запустите сценарий (например, введите C:\ReportOperator.ps1 и нажмите клавишу ВВОД).
-
В консоли управления нажмите кнопку Администрирование.
-
В панели "Администрирование" раскройте узлы Администрирование и Безопасность, а затем выберите Роли пользователя.
-
В панели Роли пользователя щелкните правой кнопкой мыши новую роль пользователя, только что созданную с помощью сценария командной оболочки, и выберите пункт Свойства.
-
В диалоговом окне Свойства роли пользователя перейдите на вкладку Общие и нажмите кнопку Добавить.
-
На странице Выбор пользователя или групп введите имена пользователей или групп, которым нужно назначить данную роль пользователя, и нажмите кнопку ОК.
Important Добавление учетной записи компьютера к членам роли пользователя позволяет всем службам данного компьютера получить доступ к пакету SDK. Рекомендуется добавлять учетную запись компьютера не к каждой роли пользователя. -
Нажмите кнопку Применить, а затем кнопку ОК.
-
Теперь необходимо добавить GUID новой роли пользователя в службы отчетов SQL Server. Выполните следующие действия.
- В представлении "Роли пользователя" дважды щелкните новую
роль.
- Перейдите на вкладку Идентификация.
- Нажмите кнопку Копировать, чтобы скопировать GUID для
нового пользователя, а затем нажмите кнопку ОК, чтобы
закрыть окно "Свойства".
- Запустите диспетчер отчетов служб отчетов SQL Server, перейдя
по адресу http://localhost/Reports в веб-обозревателе.
- Перейдите на вкладку Свойства.
- Нажмите кнопку Создать назначение ролей.
- Вставьте GUID из буфера обмена в поле Имя группы или
пользователя.
- Выберите роли, которые требуется присвоить новой роли
пользователя "Оператор отчетов", и нажмите кнопку ОК.
- В представлении "Роли пользователя" дважды щелкните новую
роль.
Задание разрешений на отчет с помощью командной оболочки
-
С помощью команды Get-UserRole найдите конкретную роль пользователя, которую нужно использовать для данного отчета.
Note Командаget-userrole | format-list Name,ID | ft выводит наглядную таблицу с именами ролей пользователей и соответствующими им GUID. -
Скопируйте GUID в буфер обмена.
-
Откройте отчет с помощью веб-обозревателя, подключившись к данному экземпляру SQL Server (http://<computername>/reports$instance1).
-
На начальной странице служб отчетов сервера SQL Server щелкните папку с нужным отчетом (например, щелкните папку Отчеты, а затем — Microsoft.SystemCenter.DataWarehouse.Report.Library).
-
Перейдите на вкладку Свойства, а затем в области переходов выберите Безопасность.
-
Выберите Изменить параметры безопасности элемента.
-
Установите флажок для роли Веб-обозреватель, Мои отчеты, Построитель отчетов и замените существующий 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) |
Была ли данная информация полезной? Отправляйте нам свои пожелания и комментарии, касающиеся данной документации.