Visão geral de segurança (Integration Services)
A segurança no SQL Server Integration Services consiste em várias camadas que fornecem um ambiente de segurança rico e flexível. Essas camadas de segurança incluem o uso de assinaturas digitais, propriedades de pacote, funções de banco de dados do SQL Server e permissões do sistema operacional. A maior parte desses recursos de segurança se enquadra em categorias de identidade e controle de acesso.
Recursos de identidade
Ao implementar recursos de identidade em seus pacotes, você pode alcançar o seguinte objetivo:
** Você só deve abrir e executar pacotes de fontes confiáveis**.
Para assegurar que você só abra e execute pacotes de fontes confiáveis, primeiro identifique a fonte dos pacotes. Você pode identificar a fonte assinando pacotes com certificados. Em seguida, quando você abrir ou executar os pacotes, poderá fazer com que o Integration Services verifique a presença e a validade das assinaturas digitais. Para obter mais informações, consulte Identificar a origem dos pacotes com assinaturas digitais.
Recursos de controle de acesso
Ao implementar recursos de identidade em seus pacotes, você pode alcançar o seguinte objetivo:
** Apenas usuários autorizados devem abrir e executar pacotes**.
Para assegurar que apenas usuários autorizados abram e executam pacotes, você deve controlar o acesso às seguintes informações:
Controle acesso ao conteúdo dos pacotes, principalmente dados confidenciais.
Controle o acesso aos pacotes e configurações de pacotes armazenadas no SQL Server.
Controle o acesso aos pacotes e arquivos relacionados, como configurações, logs e arquivos de ponto de verificação armazenados no sistema de arquivos.
Controle o acesso ao serviço Integration Services e às informações sobre pacotes que o serviço exibe no SQL Server Management Studio.
Controlando o acesso ao conteúdo dos pacotes
Para ajudar a restringir o acesso ao conteúdo de um pacote, você pode criptografar pacotes configurando a propriedade ProtectionLevel do pacote. Você pode definir essa propriedade como o nível de proteção necessário para o seu pacote. Por exemplo, em um ambiente de desenvolvimento de equipe, você pode criptografar um pacote usando uma senha conhecida apenas pelos membros da equipe que trabalham no pacote.
Quando você define a propriedade ProtectionLevel de um pacote, o Integration Services detecta automaticamente propriedades confidenciais e manipula essas propriedades de acordo com o nível de proteção do pacote especificado. Por exemplo, defina a propriedade ProtectionLevel de um pacote para um nível que criptografa informações confidenciais com uma senha. Para esse pacote, o Integration Services criptografa automaticamente os valores de todas as propriedades confidenciais e não exibirá os dados correspondentes sem o fornecimento da senha correta.
Geralmente, o Integration Services identificará as propriedades como confidenciais se elas contiverem informações, como uma senha ou uma cadeia de caracteres de conexão ou se essas propriedades corresponderem às variáveis ou aos nós XML gerados por tarefa. Se o Integration Services considera uma propriedade confidencial dependerá se o desenvolvedor do componente Integration Services, como um gerenciador de conexão ou tarefa, ter designado a propriedade como confidencial. Os usuários não podem adicionar nem remover propriedades da lista de propriedades consideradas confidenciais. Se você escrever tarefas personalizadas, gerenciadores de conexão ou componentes de fluxo de dados, poderá especificar quais propriedades o Integration Services deverá tratar como confidenciais.
Para obter mais informações, consulte Controle de acesso de dados confidenciais em pacotes.
Controlando o acesso aos pacotes
Você pode salvar pacotes do Integration Services no banco de dados msdb em uma instância do SQL Server ou no sistema de arquivos como arquivos XML com a extensão .dtsx. Para obter mais informações, consulte Salvar pacotes.
Salvando pacotes no banco de dados msdb
Salvar os pacotes no banco de dados msdb ajuda a fornecer segurança nos níveis de servidor, banco de dados e tabela. No banco de dados msdb, os pacotes Integration Services são armazenados na tabela sysssispackages. Como os pacotes são salvos nas tabelas sysssispackages e sysdtspackages no banco de dados msdb, o backup dos pacotes é feito automaticamente quando você faz o backup do banco de dados msdb.
Os pacotes do SQL Server armazenados no banco de dados msdb também podem ser protegidos com a aplicação de funções em nível de banco de dados Integration Services. O Integration Services inclui três funções fixas em nível de banco de dados, db_ssisadmin, db_ssisltduser e db_ssisoperator para controlar o acesso a pacotes. Uma função de leitor e gravador pode estar associada a cada pacote. Também é possível definir funções em nível de banco de dados personalizadas para uso em pacotes Integration Services. As funções podem ser implementadas apenas em pacotes que são salvos no banco de dados msdb em uma instância do SQL Server. Para obter mais informações, consulte Funções do Integration Services (Serviço do SSIS).
Salvando pacotes no sistema de arquivos
Se você armazenar pacotes no sistema de arquivos em vez de no banco de dados msdb, proteja os arquivos e as pastas de pacotes que contêm arquivos de pacotes.
Controlando o acesso aos arquivos usados por pacotes
Os pacotes configurados para usar configurações, pontos de verificação e logs geram informações que são armazenadas fora do pacote. Essas informações podem ser confidenciais e devem ser protegidas. Os arquivos de ponto de verificação podem ser salvos apenas no sistema de arquivos, mas as configurações e os logs podem ser salvos no sistema de arquivos ou nas tabelas em um banco de dados do SQL Server. As configurações e os logs que são salvos no SQL Server estão sujeitos à segurança do SQL Server, mas as informações gravadas no sistema de arquivos requerem segurança adicional.
Para obter mais informações, consulte Acesso aos arquivos usados por pacotes.
Armazenando configurações de pacote com segurança
As configurações de pacote podem ser salvas em uma tabela em um banco de dados do SQL Server ou no sistema de arquivos.
As configurações podem ser salvas em qualquer banco de dados do SQL Server, não apenas no banco de dados msdb. Assim, você pode especificar qual banco de dados atua como o repositório de configurações de pacote. Também é possível especificar o nome da tabela que contém as configurações, e o Integration Services cria automaticamente a tabela com a estrutura correta. Salvar as configurações em uma tabela possibilita o fornecimento de segurança em níveis de servidor, banco de dados e tabela. Além disso, as configurações que são salvas no SQL Server são automaticamente incluídas no backup do banco de dados.
Se você não armazenar configurações no sistema de arquivos, em vez de no SQL Server, proteja as pastas no sistema de arquivos que contenham os arquivos de configuração de pacote.
Para obter mais informações sobre configurações, consulte Configurações de pacote.
Controlando o acesso ao serviço Integration Services
O SQL Server Management Studio usa o serviço SQL Server para listar pacotes armazenados. Para impedir que usuários não autorizados exibam informações sobre pacotes armazenados em computadores locais e remotos, e, assim, obtenham informações privadas, restrinja o acesso aos computadores que executam o serviço SQL Server.
Para obter mais informações, consulte Acesso ao serviço Integration Services.
Tarefas relacionadas
A lista a seguir contém links para tópicos que mostram como executar uma determinada tarefa relativa à segurança.
Conteúdo relacionado
|