Funções do Integration Services (Serviço do SSIS)

Aplica-se a: SQL Server SSIS Integration Runtime no Azure Data Factory

SQL Server Integration Services fornece certas funções fixas no nível de banco de dados para ajudar a proteger o acesso a pacotes que estão armazenados em SQL Server. As funções disponíveis são diferentes dependendo se você estiver salvando pacotes no SSISDB (banco de dados de Catálogo do SSIS) ou no banco de dados msdb.

Funções do SSISDB (banco de dados de Catálogo do SSIS)

O SSISDB (banco de dados de Catálogo do SSIS) fornece as funções fixas de nível de banco de dados a seguir para ajudar a proteger o acesso a pacotes e informações sobre pacotes.

  • ssis_admin. Essa função fornece acesso administrativo completo ao banco de dados de Catálogo do SSIS.

  • ssis_logreader Essa função fornece permissões para acessar todos os modos de exibição relacionados a logs operacionais do SSISDB.

    A lista de modos de exibição inclui: [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] e [catalog].[execution_property_override_values].

Por design, há permissões concedidas em exibições e procedimentos armazenados que são atribuídos à função fixa pública do SQL Server. As permissões não dão aos usuários acesso para executar ou editar pacotes, apenas permissões para interagir com o mecanismo interno do SSISDB que, por sua vez, determina permissões reais.

Funções do banco de dados msdb

SQL Server Integration Services inclui as três funções fixas no nível de banco de dados, db_ssisadmin, db_ssisltduser e db_ssisoperator, para controlar o acesso a pacotes que são salvos no banco de dados msdb. Você atribui funções a um pacote por meio do SQL Server Management Studio. As tarefas das funções são salvas no banco de dados msdb .

Ações de leitura e gravação

A tabela a seguir descreve as ações de leitura e gravação do Windows e as funções fixas no nível de banco de dados do Integration Services.

Função Ação de leitura Ação de gravação
db_ssisadmin

ou

sysadmin
Enumerar os próprios pacotes.

Enumerar todos os pacotes.

Exibir os próprios pacotes.

Exibir todos os pacotes.

Executar os próprios pacotes.

Executar todos os pacotes.

Exportar os próprios pacotes.

Exportar todos os pacotes.

Executar todos os pacotes no SQL Server Agent.
Importar pacotes.

Excluir os próprios pacotes.

Excluir todos os pacotes.

Mudar as funções dos próprio pacotes.

Alterar as funções de todos os pacotes.



**** Aviso ****Os membros das funções db_ssisadmin e dc_admin podem estar aptos a elevar seus privilégios para sysadmin. Essa elevação de privilégios pode ocorrer porque essas funções podem modificar os pacotes do Integration Services e os pacotes do Integration Services podem ser executados pelo SQL Server usando o contexto de segurança sysadmin do SQL Server Agent. Para se proteger contra essa elevação de privilégios ao executar planos de manutenção, conjuntos de coletas de dados e outros pacotes do Integration Services , configure os trabalhos do SQL Server Agent que executam pacotes para usar uma conta proxy com privilégios limitados ou apenas adicione membros sysadmin às funções db_ssisadmin e dc_admin.
db_ssisltduser Enumerar os próprios pacotes.

Enumerar todos os pacotes.

Exibir os próprios pacotes.

Executar os próprios pacotes.

Exportar os próprios pacotes.
Importar pacotes.

Excluir os próprios pacotes.

Mudar as funções dos próprio pacotes.
db_ssisoperator Enumerar todos os pacotes.

Exibir todos os pacotes.

Executar todos os pacotes.

Exportar todos os pacotes.

Executar todos os pacotes no SQL Server Agent.
Nenhum
Administradores do Windows Exibir os detalhes de execução de todos os pacotes em execução. Parar todos os pacotes em execução.

Tabela Sysssispackages

A tabela sysssispackages no msdb contém os pacotes que foram salvos no SQL Server. Para saber mais, confira sysssispackages (Transact-SQL.

A tabela sysssispackages inclui colunas que contêm informações sobre as funções atribuídas aos pacotes.

  • A coluna readerrole especifica a função que tem acesso de leitura ao pacote.

  • A coluna writerrole especifica a função que tem acesso de gravação ao pacote.

  • A coluna ownersid contém o identificador de segurança exclusivo do usuário que criou o pacote. Essa coluna define o proprietário do pacote.

Permissões

Por padrão, as permissões do db_ssisadmin , as funções fixas no nível de banco de dados do db_ssisoperator e o identificador de segurança exclusivo do usuário que criou o pacote se aplicam à função de leitura dos pacotes, e as permissões da função db_ssisadmin e o identificador de segurança exclusivo do usuário que criou o pacote se aplicam à função de gravação. Um usuário deve ser um membro da função db_ssisadmin, db_ssisltduserou db_ssisoperator para ter acesso de leitura ao pacote. Um usuário deve ser membro da função db_ssisadmin para ter acesso de gravação.

Acesso a pacotes

As funções fixas no nível de banco de dados trabalham em conjunto com as funções definidas pelo usuário. As funções definidas pelo usuário são as funções criadas no SQL Server Management Studio e então usadas para atribuir permissões aos pacotes. Para acessar um pacote, um usuário deve ser membro da função definida pelo usuário e da função fixa no nível de banco de dados pertinente do Integration Services . Por exemplo, se os usuários forem membros da função definida pelo usuário AuditUsers atribuída a um pacote, eles também deverão ser membros da função db_ssisadmin, db_ssisltduserou db_ssisoperator para terem acesso de leitura ao pacote.

Se você não atribuir funções definidas pelo usuário aos pacotes, o acesso aos pacotes será determinado pelas funções fixas no nível do banco de dados.

Se você quiser usar funções definidas pelo usuário, precisará adicioná-las ao banco de dados msdb antes de atribuí-las aos pacotes. Você pode criar funções de banco de dados novas no SQL Server Management Studio.

As funções em nível de banco de dados do Integration Services concedem direitos nas tabelas do sistema Integration Services no banco de dados msdb.

SQL Server (o serviço do MSSQLSERVER) deve ser iniciado antes de você se conectar ao Mecanismo de Banco de Dados e acessar o banco de dados msdb .

Para atribuir funções a pacotes, você precisa concluir as seguintes tarefas.

  • Abrir o Pesquisador de Objetos e conectar-se ao Integration Services

    Para poder atribuir funções aos pacotes por meio do SQL Server Management Studio, você deve abrir o Pesquisador de Objetos no SQL Server Management Studio e conectar-se ao Integration Services.

    O serviço Integration Services deve ser iniciado antes de você se conectar ao Integration Services.

  • Atribuir funções de leitor e de gravador aos pacotes

    Você pode atribuir uma função de leitor e de gravador a cada pacote.

Atribuir uma função de leitor e de gravador a um pacote

Você pode atribuir uma função de leitor e de gravador a cada pacote.

Atribuir uma função de leitor e de gravador a um pacote

  1. No Pesquisador de Objetos, localize a conexão do Integration Services .

  2. Expanda a pasta Pacotes Armazenados e, depois, expanda a subpasta que contém o pacote ao qual você deseja atribuir funções.

  3. Clique com o botão direito do mouse no pacote ao qual você deseja atribuir funções.

  4. Na caixa de diálogo Funções do Pacote , selecione uma função de leitor na lista Função de Leitor e uma função de gravador na lista Função de Gravador .

  5. Clique em OK.

Criar uma função definida pelo usuário

Para criar uma função definida pelo usuário

  1. Abra o SQL Server Management Studio.

  2. Clique em Pesquisador de Objetos no menu Exibir .

  3. Na barra de ferramentas do Pesquisador de Objetos, clique em Conectare clique em Mecanismo de Banco de Dados.

  4. Na caixa de diálogo Conectar ao Servidor , forneça um nome de um servidor e selecione um modo de autenticação. Você pode usar um ponto (.), (local) ou localhost para indicar o servidor local.

  5. Clique em Conectar.

  6. Expanda Bancos de Dados, Bancos de Dados do Sistema, msdb, Segurança e Funções.

  7. No nó Funções, clique com o botão direito do mouse em Funções de Banco de Dados e clique em Nova Função de Banco de Dados.

  8. Na página Geral, forneça um nome e, opcionalmente, especifique um proprietário e esquemas proprietários e adicione membros da função.

  9. Opcionalmente, clique em Permissões e configure as permissões de objeto.

  10. Opcionalmente, clique em Propriedades Estendidas e configure qualquer propriedade estendida.

  11. Clique em OK.

Referência da interface do usuário da caixa de diálogo Funções do Pacote

Use a caixa de diálogo Funções do Pacote , disponível no SQL Server Management Studio, para especificar as funções de nível de banco de dados que têm acesso de leitura e as que têm acesso de gravação ao pacote. As funções de nível de banco de dados se aplicam apenas a pacotes armazenados no banco de dados SQL Server msdb.

As funções listadas na caixa de diálogo são as funções de banco de dados atuais do banco de dados de sistema msdb . Se nenhuma função for selecionada, serão aplicadas as funções do Integration Services . Por padrão, a função de leitor inclui db_ssisadmin, db_ssisoperatore o usuário que criou o pacote. Um usuário membro de uma dessas funções ou criador dos pacotes pode enumerar, exibir, exportar e executar pacotes. Por padrão, a função de gravador inclui db_ssisadmin e o usuário que criou o pacote. Um usuário membro dessa função e o criador dos pacotes podem importar, excluir e alterar pacotes.

A coluna ownersid da tabela sysssispackages lista o identificador de segurança exclusivo do usuário que criou o pacote.

Opções

Nome do Pacote
Especifique o nome do pacote.

Função de Leitor
Selecione uma função na lista.

Função de Gravador
Selecione uma função na lista