Roles de Integration Services (servicio SSIS)
SQL Server Integration Services incluye los tres roles fijos de nivel de base de datos, db_ssisadmin
, db_ssisltduser y db_ssisoperator, para controlar el acceso a los paquetes. Los roles solo se pueden implementar en paquetes guardados en la msdb
base de datos en SQL Server. Para asignar roles a un paquete se utiliza SQL Server Management Studio. Las asignaciones de roles se guardan en la msdb
base de datos.
Acciones de lectura y escritura
En la tabla siguiente se describen las acciones de lectura y escritura de Windows y los roles fijos de nivel de base de datos en Integration Services.
Rol | Acción de lectura | Acción de escritura |
---|---|---|
db_ssisadmin or sysadmin |
Enumerar los paquetes propios. Enumerar todos los paquetes. Ver los paquetes propios. Ver todos los paquetes. Ejecutar los paquetes propios. Ejecutar todos los paquetes. Exportar los paquetes propios. Exportar todos los paquetes. Ejecutar todos los paquetes del Agente SQL Server . |
Importar paquetes. Eliminar los paquetes propios. Eliminar todos los paquetes. Cambiar los roles de los paquetes propios. Cambiar los roles de todos los paquetes. **Importante** Los miembros del rol de db_ssisadmin y el rol de dc_admin pueden elevar sus privilegios a sysadmin. Esta elevación de privilegio se puede producir porque estos roles pueden modificar los paquetes de Integration Services y los paquetes de Integration Services los puede ejecutar SQL Server utilizando el contexto de seguridad de sysadmin del Agente SQL Server . Para protegerse contra esta elevación de privilegio al ejecutar planes de mantenimiento, conjuntos de recopilación de datos y otros paquetes de Integration Services , configure los trabajos del Agente SQL Server que ejecutan paquetes para utilizar una cuenta de proxy con privilegios limitados o agregar solo los miembros de sysadmin a los roles dc_admin y db_ssisadmin. |
db_ssisltduser | Enumerar los paquetes propios. Enumerar todos los paquetes. Ver los paquetes propios. Ejecutar los paquetes propios. Exportar los paquetes propios. |
Importar paquetes. Eliminar los paquetes propios. Cambiar los roles de los paquetes propios. |
db_ssisoperator | Enumerar todos los paquetes. Ver todos los paquetes. Ejecutar todos los paquetes. Exportar todos los paquetes. Ejecutar todos los paquetes del Agente SQL Server . |
Ninguno |
Administradores de Windows | Ver los detalles de ejecución de todos los paquetes que se están ejecutando. | Detener todos los paquetes en ejecución en ese momento. |
Tabla Sysssispackages
La tabla sysssispackages de msdb
contiene los paquetes guardados en SQL Server. Para obtener más información, consulte sysssispackages (Transact-SQL).
La tabla sysssispackages incluye columnas que contienen información sobre los roles asignados a los paquetes.
La columna readerrole especifica el rol que tiene acceso de lectura al paquete.
La columna writerrole especifica el rol que tiene acceso de escritura al paquete.
La columna ownersid contiene el identificador de seguridad único del usuario que creó el paquete. Esta columna define el propietario del paquete.
Permisos
De forma predeterminada, los permisos de y db_ssisadmin
db_ssisoperator roles fijos de nivel de base de datos y el identificador de seguridad único del usuario que creó el paquete se aplican al rol de lector para los paquetes y los permisos del db_ssisadmin
rol y el identificador de seguridad único del usuario que creó el paquete se aplican al rol de escritor. Un usuario debe ser miembro de , db_ssisadmin
db_ssisltduser o db_ssisoperator rol para tener acceso de lectura al paquete. Un usuario debe ser miembro del db_ssisadmin
rol para tener acceso de escritura.
Acceso a paquetes
Los roles fijos de nivel de base de datos trabajan conjuntamente con los roles definidos por el usuario. Los roles definidos por el usuario son los que se crean en SQL Server Management Studio y posteriormente se usan para asignar permisos a los paquetes. Para tener acceso a un paquete, un usuario debe ser miembro del rol definido por el usuario y del rol fijo de nivel de base de datos Integration Services pertinente. Por ejemplo, si los usuarios son miembros del rol definido por el usuario AuditUsers asignado a un paquete, también deben ser miembros de db_ssisadmin
, db_ssisltduser o db_ssisoperator rol para tener acceso de lectura al paquete.
Si no asigna roles definidos por el usuario a los paquetes, el acceso a dichos paquetes se determina con los roles fijos de nivel de base de datos.
Si desea usar roles definidos por el usuario, debe agregarlos a la msdb
base de datos para poder asignarlos a los paquetes. Puede crear roles de base de datos en SQL Server Management Studio.
Los roles de nivel de base de datos de Integration Services conceden derechos sobre las tablas del sistema de Integration Services en la base de datos msdb.
SQL Server (el servicio MSSQLSERVER) debe iniciarse para poder conectarse al motor de base de datos y acceder a la msdb
base de datos.
Para asignar roles a paquetes, debe completar las tareas siguientes.
Abrir el Explorador de objetos y conectarse a Integration Services
Antes de asignar roles a los paquetes con SQL Server Management Studio, debe abrir el Explorador de objetos en SQL Server Management Studio y conectarse a Integration Services.
Debe iniciar el servicio Integration Services antes de conectarse a Integration Services.
Asignar roles de lector y escritor a los paquetes
Puede asignar un rol de lector y un rol de escritor a cada paquete.