Access data stores and file shares with Windows authentication from SSIS packages in Azure (Aceder a arquivos de dados e a partilhas de ficheiros com a autenticação do Windows a partir de pacotes do SSIS no Azure)

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Você pode usar a autenticação do Windows para acessar armazenamentos de dados, como SQL Servers, compartilhamentos de arquivos, Arquivos do Azure, etc., a partir de pacotes SSIS em execução no seu Tempo de Execução de Integração (IR) do Azure-SSIS no Azure Data Factory (ADF) e no Azure Synapse. Seus armazenamentos de dados podem ser locais, hospedados em Máquinas Virtuais (VMs) do Azure ou executados no Azure como serviços gerenciados. Se eles estiverem no local, você precisará unir seu IR do Azure-SSIS a uma Rede Virtual (Rede Virtual do Microsoft Azure) conectada à sua rede local, consulte Ingressar o IR do Azure-SSIS em uma Rede Virtual do Microsoft Azure. Há quatro métodos para acessar armazenamentos de dados com autenticação do Windows a partir de pacotes SSIS em execução no IR do Azure-SSIS:

Método de ligação Âmbito de aplicação efetivo Etapa de configuração Método de acesso em pacotes Número de conjuntos de credenciais e recursos conectados Tipo de recursos conectados
Configurando um contexto de execução no nível da atividade Por atividade de pacote SSIS de execução Configure a propriedade de autenticação do Windows para configurar um contexto "Execução/Executar como" ao executar pacotes SSIS como atividades Executar Pacote SSIS em pipelines do ADF.

Para obter mais informações, consulte Configurar a atividade do pacote SSIS de execução.
Acesse recursos diretamente em pacotes, por exemplo, use o caminho UNC para acessar compartilhamentos de arquivos ou Arquivos do Azure: \\YourFileShareServerName\YourFolderName ou \\YourAzureStorageAccountName.file.core.windows.net\YourFolderName Ofereça suporte a apenas um conjunto de credenciais para todos os recursos conectados - Compartilhamentos de arquivos no local/VMs do Azure

- Arquivos do Azure, consulte Usar um compartilhamento de arquivos do Azure

- SQL Servers on premises/Azure VMs com autenticação do Windows

- Outros recursos com autenticação do Windows
Configurando um contexto de execução no nível de catálogo Por IR do Azure-SSIS, mas é substituído ao configurar um contexto de execução no nível da atividade (veja acima) Execute o procedimento armazenado SSISDB catalog.set_execution_credential para configurar um contexto "Execução/Executar como".

Para mais informações, consulte o resto deste artigo abaixo.
Acesse recursos diretamente em pacotes, por exemplo, use o caminho UNC para acessar compartilhamentos de arquivos ou Arquivos do Azure: \\YourFileShareServerName\YourFolderName ou \\YourAzureStorageAccountName.file.core.windows.net\YourFolderName Ofereça suporte a apenas um conjunto de credenciais para todos os recursos conectados - Compartilhamentos de arquivos no local/VMs do Azure

- Arquivos do Azure, consulte Usar um compartilhamento de arquivos do Azure

- SQL Servers on premises/Azure VMs com autenticação do Windows

- Outros recursos com autenticação do Windows
Persistindo credenciais via cmdkey comando Por IR do Azure-SSIS, mas é substituído ao configurar um contexto de execução no nível de atividade/catálogo (veja acima) Execute cmdkey o comando em um script de instalação personalizado (main.cmd) ao provisionar seu IR do Azure-SSIS, por exemplo, se você usar compartilhamentos de arquivos, Arquivos do Azure ou SQL Server:

cmdkey /add:YourFileShareServerName /user:YourDomainName\YourUsername /pass:YourPassword,

cmdkey /add:YourAzureStorageAccountName.file.core.windows.net /user:azure\YourAzureStorageAccountName /pass:YourAccessKey, ou

cmdkey /add:YourSQLServerFullyQualifiedDomainNameOrIPAddress:YorSQLServerPort /user:YourDomainName\YourUsername /pass:YourPassword.

Para obter mais informações, consulte Personalizar a configuração do IR do Azure-SSIS.
Acesse recursos diretamente em pacotes, por exemplo, use o caminho UNC para acessar compartilhamentos de arquivos ou Arquivos do Azure: \\YourFileShareServerName\YourFolderName ou \\YourAzureStorageAccountName.file.core.windows.net\YourFolderName Suporte a vários conjuntos de credenciais para diferentes recursos conectados - Compartilhamentos de arquivos no local/VMs do Azure

- Arquivos do Azure, consulte Usar um compartilhamento de arquivos do Azure

- SQL Servers on premises/Azure VMs com autenticação do Windows

- Outros recursos com autenticação do Windows
Montagem de drives em tempo de execução do pacote (não persistente) Por pacote Execute net use o comando em Execute Process Task que é adicionado no início do fluxo de controle em seus pacotes, por exemplo, net use D: \\YourFileShareServerName\YourFolderName Aceda a partilhas de ficheiros através de unidades mapeadas Suporte a várias unidades para diferentes compartilhamentos de arquivos - Compartilhamentos de arquivos no local/VMs do Azure

- Arquivos do Azure, consulte Usar um compartilhamento de arquivos do Azure

Aviso

Se você não usar nenhum dos métodos acima para acessar armazenamentos de dados com autenticação do Windows, seus pacotes que dependem da autenticação do Windows não poderão acessá-los e falharão em tempo de execução.

O restante deste artigo descreve como configurar o catálogo SSIS (SSISDB) hospedado no Banco de Dados SQL/Instância Gerenciada SQL para executar pacotes no IR do Azure-SSIS que usam a autenticação do Windows para acessar armazenamentos de dados.

Você só pode usar um conjunto de credenciais

Ao usar a autenticação do Windows em um pacote SSIS, você só pode usar um conjunto de credenciais. As credenciais de domínio que você fornece quando segue as etapas neste artigo se aplicam a todas as execuções de pacote - interativas ou agendadas - em seu IR do Azure-SSIS até que você as altere ou remova. Se o seu pacote tiver que se conectar a vários armazenamentos de dados com diferentes conjuntos de credenciais, você deve considerar os métodos alternativos acima.

Fornecer credenciais de domínio para autenticação do Windows

Para fornecer credenciais de domínio que permitam que os pacotes usem a autenticação do Windows para acessar armazenamentos de dados no local, faça o seguinte:

  1. Com o SQL Server Management Studio (SSMS) ou outra ferramenta, conecte-se ao Banco de Dados SQL/Instância Gerenciada SQL que hospeda o SSISDB. Para obter mais informações, consulte Conectar-se ao SSISDB no Azure.

  2. Com o SSISDB como o banco de dados atual, abra uma janela de consulta.

  3. Execute o seguinte procedimento armazenado e forneça as credenciais de domínio apropriadas:

    catalog.set_execution_credential @user='<your user name>', @domain='<your domain name>', @password='<your password>'
    
  4. Execute seus pacotes SSIS. Os pacotes usam as credenciais fornecidas para acessar armazenamentos de dados locais com autenticação do Windows.

Ver credenciais de domínio

Para exibir as credenciais de domínio ativas, faça o seguinte:

  1. Com o SSMS ou outra ferramenta, conecte-se ao Banco de Dados SQL/Instância Gerenciada SQL que hospeda o SSISDB. Para obter mais informações, consulte Conectar-se ao SSISDB no Azure.

  2. Com o SSISDB como o banco de dados atual, abra uma janela de consulta.

  3. Execute o seguinte procedimento armazenado e verifique a saída:

    SELECT * 
    FROM catalog.master_properties
    WHERE property_name = 'EXECUTION_DOMAIN' OR property_name = 'EXECUTION_USER'
    

Limpar credenciais de domínio

Para limpar e remover as credenciais fornecidas conforme descrito neste artigo, faça o seguinte:

  1. Com o SSMS ou outra ferramenta, conecte-se ao Banco de Dados SQL/Instância Gerenciada SQL que hospeda o SSISDB. Para obter mais informações, consulte Conectar-se ao SSISDB no Azure.

  2. Com o SSISDB como o banco de dados atual, abra uma janela de consulta.

  3. Execute o seguinte procedimento armazenado:

    catalog.set_execution_credential @user='', @domain='', @password=''
    

Conectar-se a um SQL Server local

Para verificar se você pode se conectar a um SQL Server local, faça o seguinte:

  1. Para executar esse teste, localize um computador que não ingressou no domínio.

  2. No computador que não ingressou no domínio, execute o seguinte comando para iniciar o SSMS com as credenciais de domínio que você deseja usar:

    runas.exe /netonly /user:<domain>\<username> SSMS.exe
    
  3. No SSMS, verifique se você pode se conectar ao SQL Server localmente.

Pré-requisitos

Para acessar um SQL Server local a partir de pacotes em execução no Azure, faça o seguinte:

  1. No SQL Server Configuration Manager, habilite o protocolo TCP/IP.

  2. Permitir o acesso através do firewall do Windows. Para obter mais informações, consulte Configurar o firewall do Windows para acessar o SQL Server.

  3. Junte seu IR do Azure-SSIS a uma Rede Virtual do Microsoft Azure conectada ao SQL Server localmente. Para obter mais informações, consulte Associar o IR do Azure-SSIS a uma Rede Virtual do Microsoft Azure.

  4. Use o procedimento armazenado SSISDB catalog.set_execution_credential para fornecer credenciais conforme descrito neste artigo.

Conectar-se a um compartilhamento de arquivos no local

Para verificar se você pode se conectar a um compartilhamento de arquivos no local, faça o seguinte:

  1. Para executar esse teste, localize um computador que não ingressou no domínio.

  2. No computador que não ingressou no domínio, execute os seguintes comandos. Esses comandos abrem uma janela de prompt de comando com as credenciais de domínio que você deseja usar e, em seguida, testam a conectividade com o compartilhamento de arquivos no local obtendo uma listagem de diretório.

    runas.exe /netonly /user:<domain>\<username> cmd.exe
    dir \\fileshare
    
  3. Verifique se a listagem de diretórios é retornada para o compartilhamento de arquivos no local.

Pré-requisitos

Para acessar um compartilhamento de arquivos no local a partir de pacotes em execução no Azure, faça o seguinte:

  1. Permitir o acesso através do firewall do Windows.

  2. Junte seu IR do Azure-SSIS a uma Rede Virtual do Microsoft Azure conectada ao compartilhamento de arquivos localmente. Para obter mais informações, consulte Associar o IR do Azure-SSIS a uma Rede Virtual do Microsoft Azure.

  3. Use o procedimento armazenado SSISDB catalog.set_execution_credential para fornecer credenciais conforme descrito neste artigo.

Conectar-se a um compartilhamento de arquivos na VM do Azure

Para acessar um compartilhamento de arquivos na VM do Azure a partir de pacotes em execução no Azure, faça o seguinte:

  1. Com o SSMS ou outra ferramenta, conecte-se ao Banco de Dados SQL/Instância Gerenciada SQL que hospeda o SSISDB. Para obter mais informações, consulte Conectar-se ao SSISDB no Azure.

  2. Com o SSISDB como o banco de dados atual, abra uma janela de consulta.

  3. Execute o seguinte procedimento armazenado e forneça as credenciais de domínio apropriadas:

    catalog.set_execution_credential @domain = N'.', @user = N'username of local account on Azure virtual machine', @password = N'password'
    

Conectar-se a um compartilhamento de arquivos nos Arquivos do Azure

Para obter mais informações sobre os Arquivos do Azure, consulte Arquivos do Azure.

Para acessar um compartilhamento de arquivos nos Arquivos do Azure a partir de pacotes em execução no Azure, faça o seguinte:

  1. Com o SSMS ou outra ferramenta, conecte-se ao Banco de Dados SQL/Instância Gerenciada SQL que hospeda o SSISDB. Para obter mais informações, consulte Conectar-se ao SSISDB no Azure.

  2. Com o SSISDB como o banco de dados atual, abra uma janela de consulta.

  3. Execute o seguinte procedimento armazenado e forneça as credenciais de domínio apropriadas:

    catalog.set_execution_credential @domain = N'Azure', @user = N'<storage-account-name>', @password = N'<storage-account-key>'