Visão geral de segurança (Integration Services)
A segurança no SQL ServerIntegration Services consiste em várias camadas que fornecem um ambiente de segurança rico e flexível. Estas 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 maioria desses recursos de segurança se enquadram nas 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 Usando assinaturas digitais com pacotes.
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 Definindo o nível de proteção de 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 que têm a extensão de nome de arquivo .dtsx. Para obter mais informações, consulte Salvando 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 do Integration Services são armazenados na tabela sysssispackages, enquanto os pacotes do SQL Server 2000 DTS são armazenados na tabela sysdtspackages. Como os pacotes são salvos nas tabelas sysssispackages e sysdtspackages no banco de dados msdb, os pacotes são incluídos no backup automaticamente quando você faz 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 dos níveis de banco de dados do Integration Services. O Integration Services inclui três funções fixas de nível de banco de dados db_ssisadmin, db_ssisltduser e db_ssisoperator para controlar o acesso aos pacotes. Uma função de leitor e gravador pode estar associada a cada pacote. Você também pode definir funções personalizadas de nível de banco de dados a serem usadas em pacotes do Integration Services ou do SQL Server 2000. As funções podem ser implementadas apenas em pacotes salvos no banco de dados msdb em uma instância do SQL Server. Para obter mais informações, consulte Usando funções do Integration Services.
Importante |
---|
Para obter informações importantes sobre como proteger pacotes do DTS, consulte Protegendo pacotes DTS armazenados no SQL Server. |
Salvando pacotes no sistema de arquivos
Se você armazenar pacotes no sistema de arquivos, em vez de no banco de dados msdb, não se esqueça de proteger os arquivos de pacote e as pastas que contêm arquivos de pacote.
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 Controlando o 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 só no banco de dados msdb. Assim, você pode especificar qual banco de dados atua como o repositório de configurações de pacote. Você também pode especificar o nome da tabela que conterá as configurações e o Integration Services criará a tabela automaticamente com a estrutura correta. Salvar as configurações em uma tabela permite fornecer segurança nos 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 Controlando o acesso ao serviço Integration Services.
|