

# Permisos administrativos en SSISDB
<a name="SSIS.Permissions"></a>

Cuando la instancia se crea o modifica con la opción SSIS, el resultado es una base de datos SSISDB con los roles ssis\$1admin y ssis\$1logreader concedidos al usuario maestro. El usuario maestro tiene los siguientes privilegios en SSISDB:
+ alter on ssis\$1admin role
+ alter on ssis\$1logreader role
+ alter any user

Dado que el usuario maestro es un usuario autenticado por SQL, no se puede utilizar el usuario maestro para ejecutar paquetes SSIS. El usuario maestro puede utilizar estos privilegios para crear nuevos usuarios de SSISDB y agregarlos a los roles ssis\$1admin y ssis\$1logreader. Hacer esto es útil para conceder acceso a los usuarios de su dominio para usar SSIS.

## Configuración de un usuario autenticado por Windows para SSIS
<a name="SSIS.Use.Auth"></a>

El usuario maestro puede utilizar el ejemplo de código siguiente para configurar un inicio de sesión autenticado por Windows en SSISDB y conceder los permisos de procedimiento necesarios. Al hacerlo, se conceden permisos al usuario del dominio para implementar y ejecutar paquetes SSIS, utilizar procedimientos de transferencia de archivos S3, crear credenciales y trabajar con el proxy de SQL Server Agent. Para obtener más información, consulte [Credenciales (Motor de base de datos)](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/credentials-database-engine?view=sql-server-ver15) y [Crear un proxy de SQL Server Agent](https://docs.microsoft.com/en-us/sql/ssms/agent/create-a-sql-server-agent-proxy?view=sql-server-ver15) en la documentación de Microsoft.

**nota**  
Puede conceder algunos o todos los permisos siguientes, según sea necesario, a los usuarios autenticados de Windows.

**Example**  

```
-- Create a server-level SQL login for the domain user, if it doesn't already exist
USE [master]
GO
CREATE LOGIN [mydomain\user_name] FROM WINDOWS
GO						
						
-- Create a database-level account for the domain user, if it doesn't already exist						
USE [SSISDB]
GO
CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name]

-- Add SSIS role membership to the domain user
ALTER ROLE [ssis_admin] ADD MEMBER [mydomain\user_name]
ALTER ROLE [ssis_logreader] ADD MEMBER [mydomain\user_name]
GO

-- Add MSDB role membership to the domain user
USE [msdb]
GO
CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name]

-- Grant MSDB stored procedure privileges to the domain user
GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option
GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name]  with grant option
GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] WITH GRANT OPTION


-- Add the SQLAgentUserRole privilege to the domain user
USE [msdb]
GO
ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name]
GO

-- Grant the ALTER ANY CREDENTIAL privilege to the domain user
USE [master]
GO
GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name]
GO
```