Роли служб Integration Services (службы SSIS)
Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure
Службы SQL Server Integration Services предоставляют определенные предопределенных ролей уровня базы данных, чтобы обеспечить безопасный доступ к пакетам, хранящимся в SQL Server. Доступные роли зависят от того, где хранятся пакеты: в базе данных каталога служб SSIS (SSISDB) или в базе данных msdb.
Роли в базе данных каталога служб SSIS (SSISDB)
База данных каталога служб SSIS (SSISDB) предоставляет следующие предопределенные роли уровня базы данных, позволяющие обеспечить безопасный доступ к пакетам и сведениям о пакетах:
ssis_admin— предоставляет полный административный доступ к базе данных каталога служб SSIS.
ssis_logreader — предоставляет разрешение на доступ ко всем представлениям, связанным с операционными журналами SSISDB.
Список представлений включает в себя: [catalog].[projects], [catalog].[packages], [catalog].[operations], [catalog].[extended_operation_info], [catalog].[operation_messages], [catalog].[event_messages], [catalog].[execution_data_statistics], [catalog].[execution_component_phases], [catalog].[execution_data_taps], [catalog].[event_message_context], [catalog].[executions], [catalog].[executables], [catalog].[executable_statistics], [catalog].[validations], [catalog].[execution_parameter_values] и [catalog].[execution_property_override_values].
По проектированию есть разрешения, предоставляемые представлениям и хранимым процедурам, назначенным фиксированной общедоступной роли SQL Server. Разрешения не предоставляют пользователям доступ к выполнению или редактированию пакетов, а только разрешения для взаимодействия с внутренним механизмом SSISDB, который, в свою очередь, определяет фактические разрешения.
Роли в базе данных msdb
Службы SQL Server Integration Services включают три предопределенные роли уровня базы данных, db_ssisadmin, db_ssisltduser и db_ssisoperator для управления доступом к пакетам, сохраненным в базе данных msdb. Роли назначаются пакету с помощью СРЕДЫ SQL Server Management Studio. Назначения ролей сохраняются в базу данных msdb .
Действия чтения и записи
В следующей таблице описываются действия чтения и записи ролей Windows и предопределенных ролей уровня базы данных в службах Integration Services.
Роль | Операция чтения | Операция записи |
---|---|---|
db_ssisadmin or sysadmin |
Перечислить свои пакеты. Перечислить все пакеты. Посмотреть свои пакеты. Посмотреть все пакеты. Выполнить свои пакеты. Выполнить все пакеты. Экспортировать свои пакеты. Экспортировать все пакеты. Выполните все пакеты в агент SQL Server. |
Импортировать пакеты. Удалить свои пакеты. Удалить все пакеты. Изменить роли своих пакетов. Изменить роли всех пакетов. **** Предупреждение ****Члены роли db_ssisadmin и роли dc_admin могут повышать свои права доступа до sysadmin. Это повышение привилегий может произойти, так как эти роли могут изменять пакеты служб Integration Services и пакеты служб Integration Services можно выполнять SQL Server с помощью контекста безопасности sysadmin агент SQL Server. Чтобы защититься от этого повышения привилегий при выполнении планов обслуживания, наборов сбор данных и других пакетов служб Integration Services, настройте агент SQL Server задания, которые запускают пакеты, чтобы использовать учетную запись прокси с ограниченными привилегиями или добавлять только членов sysadmin в роли db_ssisadmin и dc_admin. |
db_ssisltduser | Перечислить свои пакеты. Перечислить все пакеты. Посмотреть свои пакеты. Выполнить свои пакеты. Экспортировать свои пакеты. |
Импортировать пакеты. Удалить свои пакеты. Изменить роли своих пакетов. |
db_ssisoperator | Перечислить все пакеты. Посмотреть все пакеты. Выполнить все пакеты. Экспортировать все пакеты. Выполните все пакеты в агент SQL Server. |
нет |
Администраторы Windows | Просмотреть подробности выполнения всех запущенных пакетов. | Остановить все выполняемые пакеты. |
Таблица Sysssispackages
Таблица sysssispackages в msdb содержит пакеты, сохраненные в SQL Server. Дополнительные сведения см. в статье sysssispackages (Transact-SQL).
Таблица sysssispackages включает в себя столбцы, которые содержат сведения о ролях, назначенных пакетам.
В столбце readerrole указывается роль, у которой есть право чтения из пакета.
В столбце writerrole указывается роль, у которой есть право записи в пакет.
Столбец ownersid содержит уникальный идентификатор безопасности пользователя, создавшего пакет. Этот столбец определяет владельца пакета.
Разрешения
По умолчанию разрешения предопределенных ролей уровня базы данных db_ssisadmin и db_ssisoperator и уникальный идентификатор безопасности пользователя, создавшего пакет, применяются к роли модуля чтения пакета, а разрешение роли db_ssisadmin и уникальный идентификатор безопасности пользователя, создавшего пакет, применяются к роли модуля записи пакета. Пользователь должен быть членом роли db_ssisadmin, db_ssisltduserили db_ssisoperator , чтобы получить доступ на чтение пакета. Пользователь должен быть членом роли db_ssisadmin , чтобы получить доступ для записи.
Доступ к пакетам
Фиксированные роли уровня базы данных работают в сочетании с пользовательскими ролями. Определяемые пользователем роли — это роли, создаваемые в SQL Server Management Studio, а затем используются для назначения разрешений пакетам. Чтобы получить доступ к пакету, пользователь должен быть членом определяемой пользователем роли и соответствующей ролью уровня базы данных служб Integration Services. Например, если пользователи являются членами определяемой пользователем роли AuditUsers , которая назначена пакету, они также должны быть членами роли db_ssisadmin, db_ssisltduserили db_ssisoperator , чтобы иметь доступ для чтения пакета.
Если пакетам не назначить пользовательских ролей, то доступом к пакетам будут управлять только предопределенные роли базы данных.
Если используются пользовательские роли, то перед тем как назначать их пакетам, нужно добавить их в базу данных msdb . Новые роли базы данных можно создать в СРЕДЕ SQL Server Management Studio.
Роли уровня базы данных Служб Integration Services предоставляют права на системные таблицы служб Integration Services в базе данных msdb.
SQL Server (служба MSSQLSERVER) должна быть запущена перед подключением к ядро СУБД и доступом к базе данных msdb.
Чтобы назначить роли пакетов, необходимо выполнить следующие задачи.
Откройте обозреватель объектов и подключитесь к службам Integration Services
Прежде чем назначать роли пакетам с помощью SQL Server Management Studio, необходимо открыть обозреватель объектов в SQL Server Management Studio и подключиться к службам Integration Services.
Перед подключением к службам Integration Services необходимо запустить службу Integration Services.
Назначение пакетам ролей модулей чтения и записи
Можно назначить роль чтения и модуля записи для каждого пакета.
Назначение пакетам роли чтения и модуля записи
Можно назначить роль чтения и модуля записи для каждого пакета.
Назначение пакетам роли чтения и модуля записи
В обозреватель объектов найдите подключение служб Integration Services.
Разверните папку «Сохраненные пакеты», затем разверните вложенную папку, содержащую пакеты, для которых необходимо назначить роли.
Щелкните правой кнопкой мыши на пакете, которому необходимо назначить роли.
В диалоговом окне Роли пакета выберите роль модуля чтения из списка Роль модуля чтения и роль модуля записи из списка Роль модуля записи .
Щелкните OK.
Создание пользовательской роли
Создание пользовательской роли
Откройте Среда SQL Server Management Studio.
Щелкните обозреватель объектов в меню Вид .
На панели инструментов обозревателя объектов нажмите кнопку Соединитьи выберите Компонент Database Engine.
В диалоговом окне Соединение с сервером введите имя сервера и выберите режим проверки подлинности. Для указания локального сервера можно использовать точку (.), (local) или localhost .
Щелкните Подключить.
Последовательно разверните узлы «Базы данных», «Системные базы данных», «msdb», «Безопасность» и «Роли».
В узле "Роли" щелкните правой кнопкой мыши элемент "Роли базы данных" и выберите Создать роль базы данных.
На странице «Общие» введите имя и при необходимости укажите владельца, схемы владельца и членов роли.
При необходимости нажмите кнопку Разрешения и настройте разрешения объекта.
При необходимости нажмите кнопку Расширенные свойства и настройте расширенные свойства.
Щелкните OK.
Справочник по пользовательскому интерфейсу диалогового окна "Роли пакета"
Используйте диалоговое окно "Роли пакетов", доступное в SQL Server Management Studio, чтобы указать роли уровня базы данных, имеющие доступ на чтение к пакету и роли уровня базы данных, имеющие доступ на запись к пакету. Роли уровня базы данных применяются только к пакетам, хранящимся в базе данных MSDB SQL Server.
Роли, список которых приведен в диалоговом окне, являются существующими в данный момент ролями системной базы данных msdb . Если роли не выбраны, применяются роли служб Integration Services по умолчанию. По умолчанию в роль чтения включаются db_ssisadmin, db_ssisoperatorи пользователь, создавший пакет. Пользователь, который является членом одной из этих ролей или является создателем пакета, может перечислять, просматривать, выполнять экспорт и запускать пакеты. По умолчанию в роль записи включается роль db_ssisadmin и пользователь, который создал пакет. Пользователь, который является членом этой роли, может выполнять импорт, удалять и изменять пакеты.
В столбце ownersid таблицы sysssispackages указан уникальный идентификатор безопасности пользователя, создавшего пакет.
Параметры
Имя пакета
Укажите имя пакета.
Роль считывания
Выберите роль из списка.
Роль записи
Выберите роль из списка.