

# Permissões administrativas no SSISDB
<a name="SSIS.Permissions"></a>

Quando a instância é criada ou modificada com a opção SSIS, o resultado é um banco de dados SSISDB com as funções ssis\_admin e ssis\_logreader concedidas ao usuário mestre. O usuário mestre tem os seguintes privilégios no SSISDB:
+ alterar na função ssis\_admin
+ alterar na função ssis\_logreader
+ alterar qualquer usuário

Como o usuário mestre é um usuário autenticado pelo SQL, você não pode usar o usuário mestre para executar pacotes do SSIS. O usuário mestre pode usar esses privilégios para criar usuários do SSISDB e adicioná-los às funções ssis\_admin e ssis\_logreader. Fazer isso é útil para dar acesso aos usuários do domínio para usar o SSIS.

## Configurar um usuário autenticado pelo Windows para o SSIS
<a name="SSIS.Use.Auth"></a>

O usuário mestre pode usar o exemplo de código a seguir para configurar um logon autenticado pelo Windows no SSISDB e conceder as permissões de procedimento necessárias. Fazer isso concede permissões ao usuário do domínio para implantar e executar pacotes do SSIS, usar procedimentos de transferência de arquivos do S3, criar credenciais e trabalhar com o proxy do SQL Server Agent. Para obter mais informações, consulte [Credenciais (mecanismo de banco de dados)](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/credentials-database-engine?view=sql-server-ver15) e [Criar um proxy do SQL Server Agent](https://docs.microsoft.com/en-us/sql/ssms/agent/create-a-sql-server-agent-proxy?view=sql-server-ver15) na documentação da Microsoft.

**nota**  
Você pode conceder algumas ou todas as seguintes permissões, conforme necessário, aos usuários autenticados pelo 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
```