Partilhar via


Solucionar problemas de segurança e controle de acesso do Azure Data Factory e do Synapse Analytics

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!

Este artigo explora métodos comuns de solução de problemas para segurança e controle de acesso nos pipelines do Azure Data Factory e do Synapse Analytics.

Mensagens e erros comuns

Problema de conectividade na atividade de cópia do armazenamento de dados na nuvem

Sintomas

Várias mensagens de erro podem ser retornadas quando ocorrem problemas de conectividade no armazenamento de dados de origem ou coletor.

Motivo

O problema é geralmente causado por um dos seguintes fatores:

  • A configuração de proxy no nó IR (tempo de execução de integração) auto-hospedado, se você estiver usando um IR auto-hospedado.

  • A configuração de firewall no nó IR auto-hospedado, se você estiver usando um IR auto-hospedado.

  • A configuração de firewall no armazenamento de dados na nuvem.

Resolução

  • Para garantir que este é um problema de conectividade, verifique os seguintes pontos:

    • O erro é lançado a partir dos conectores de origem ou coletor.
    • A falha está no início da atividade de cópia.
    • A falha é consistente para o IR do Azure ou o IR auto-hospedado com um nó, porque pode ser uma falha aleatória em um IR auto-hospedado de vários nós se apenas alguns dos nós tiverem o problema.
  • Se você estiver usando um IR auto-hospedado, verifique suas configurações de proxy, firewall e rede, porque a conexão com o mesmo armazenamento de dados pode ser bem-sucedida se você estiver usando um IR do Azure. Para solucionar esse cenário, consulte:

  • Se você estiver usando um IR do Azure, tente desabilitar a configuração de firewall do armazenamento de dados. Essa abordagem pode resolver os problemas nas duas situações a seguir:

    • Os endereços IP de IR do Azure não estão na lista de permissões.
    • O recurso Permitir que serviços confiáveis da Microsoft acessem essa conta de armazenamento está desativado para o Armazenamento de Blobs do Azure e o Armazenamento do Azure Data Lake Gen 2.
    • A configuração Permitir acesso aos serviços do Azure não está habilitada para o Azure Data Lake Storage Gen1.

Se nenhum dos métodos anteriores funcionar, contacte a Microsoft para obter ajuda.

O ponto final privado excluído ou rejeitado ainda mostra Aprovado no ADF

Sintomas

Você criou um ponto de extremidade privado gerenciado do ADF e obteve um ponto de extremidade privado aprovado. Mas, depois de excluir ou rejeitar o ponto de extremidade privado mais tarde, o ponto de extremidade privado gerenciado no ADF ainda persiste e mostra "Aprovado".

Motivo

Atualmente, o ADF para de obter o status de ponto final privado depois de aprovado. Por isso, o status mostrado no ADF é obsoleto.

Resolução

Você deve excluir o ponto de extremidade privado gerenciado no ADF assim que os pontos de extremidade privados existentes forem rejeitados/excluídos dos conjuntos de dados de origem/coletor.

Problema de chave de autenticação inválida ou vazia após o acesso à rede pública ser desativado

Sintomas

Depois de desabilitar o acesso à rede pública para o serviço, o tempo de execução de integração auto-hospedado gera os seguintes erros: The Authentication key is invalid or empty. ou Cannot connect to the data factory. Please check whether the factory has enabled public network access or the machine is hosted in a approved private endpoint Virtual Network.

Motivo

O problema é provavelmente causado por um problema de resolução de DNS (Sistema de Nomes de Domínio), porque desativar a conectividade pública e estabelecer um ponto de extremidade privado impede a reconexão.

Para verificar se o FQDN (nome de domínio totalmente qualificado) do serviço foi resolvido para o endereço IP público, faça o seguinte:

  1. Confirme que você criou a máquina virtual (VM) do Azure na mesma rede virtual que o ponto de extremidade privado do serviço.

  2. Execute PsPing e Ping da VM do Azure para o FQDN do serviço:

    psping.exe <dataFactoryName>.<region>.datafactory.azure.net:443 ping <dataFactoryName>.<region>.datafactory.azure.net

    Nota

    Você deve especificar uma porta para o comando PsPing. A porta 443 é mostrada aqui, mas não é necessária.

  3. Verifique se ambos os comandos são resolvidos para um IP público do Azure Data Factory baseado em uma região especificada. O IP deve estar no seguinte formato: xxx.xxx.xxx.0

Resolução

Para resolver o problema, faça o seguinte:

  • Como opção, gostaríamos de sugerir que você adicione manualmente um "Link de rede virtual" sob a "Zona DNS de link privado" para o serviço. Para obter detalhes, consulte o artigo Azure Private Link . A instrução é para configurar a zona DNS privada ou o servidor DNS personalizado para resolver o FQDN do serviço para um endereço IP privado.

  • No entanto, se não quiser configurar a zona DNS privada ou o servidor DNS personalizado, tente a seguinte solução temporária:

    1. Altere o arquivo host no Windows e mapeie o IP privado (o ponto de extremidade privado do serviço) para o FQDN do serviço.

      Na VM do Azure, vá para C:\Windows\System32\drivers\etce abra o arquivo host no Bloco de Notas. Adicione a linha que mapeia o IP privado para o FQDN no final do arquivo e salve a alteração.

      Captura de tela do mapeamento do IP privado para o host.

    2. Execute novamente os mesmos comandos das etapas de verificação anteriores para verificar a resposta, que deve conter o IP privado.

    3. Registre novamente o tempo de execução de integração auto-hospedado e o problema deve ser resolvido.

Sintomas

Não é possível registrar a chave de autenticação de IR na VM auto-hospedada porque o link privado está habilitado. Recebe a seguinte mensagem de erro:

"Falha ao obter token de serviço do serviço ADF com *************** de chave e custo de tempo é: 0,1250079 segundo, o código de erro é: InvalidGatewayKey, activityId é: XXXXXXX e mensagem de erro detalhada é O endereço IP do cliente não é IP privado válido Cause Data factory não pôde acessar a rede pública, portanto, não é capaz de entrar em contato com a nuvem para fazer a conexão bem-sucedida."

Motivo

O problema pode ser causado pela VM na qual você está tentando instalar o IR auto-hospedado. Para se conectar à nuvem, verifique se o acesso à rede pública está habilitado.

Resolução

Solução 1

Para resolver o problema, faça o seguinte:

  1. Vá para a página Fábricas - Atualização .

  2. No canto superior direito, selecione o botão Experimentar .

  3. Em Parâmetros, preencha as informações necessárias.

  4. Em Corpo, cole a seguinte propriedade:

    { "tags": { "publicNetworkAccess":"Enabled" } }
    
  5. Selecione Executar para executar a função.

  6. Em Parâmetros, preencha as informações necessárias.

  7. Em Corpo, cole a seguinte propriedade:

    { "tags": { "publicNetworkAccess":"Enabled" } }
    
  8. Selecione Executar para executar a função.

  9. Confirme se o Código de resposta: 200 é exibido. A propriedade colada também deve ser exibida na definição JSON.

  10. Adicione a chave de autenticação IR novamente no tempo de execução da integração.

Solução 2

Para resolver o problema, vá para Azure Private Link.

Tente habilitar o acesso à rede pública na interface do usuário, conforme mostrado na captura de tela a seguir:

A zona DNS privada do serviço substitui a resolução DNS do Azure Resource Manager causando o erro 'Não encontrado'

Motivo

O Azure Resource Manager e o serviço estão usando a mesma zona privada, criando um conflito potencial no DNS privado do cliente com um cenário em que os registros do Azure Resource Manager não serão encontrados.

Resolução

  1. Encontre zonas DNS privadas privatelink.azure.com no portal do Azure. Captura de ecrã a mostrar a localização de zonas DNS privadas.
  2. Verifique se há um adf de registro A. Captura de ecrã de um registo.
  3. Vá para Links de rede virtual, exclua todos os registros. Captura de tela do link de rede virtual.
  4. Navegue até seu serviço no portal do Azure e recrie o ponto de extremidade privado para o portal. Captura de tela da recriação do ponto de extremidade privado.
  5. Volte para Zonas DNS privadas e verifique se há uma nova zona DNS privada privatelink.adf.azure.com. Captura de ecrã do novo registo DNS.

Erro de conexão no ponto de extremidade público

Sintomas

Ao copiar dados com o acesso público da conta do Armazenamento de Blobs do Azure, as execuções de pipeline falham aleatoriamente com o seguinte erro.

Por exemplo: O coletor de Armazenamento de Blob do Azure estava usando o IR do Azure (rede virtual pública, não gerenciada) e a fonte do Banco de Dados SQL do Azure estava usando o IR da rede virtual gerenciada. Ou a origem/coletor usa IR de rede virtual gerenciada somente com acesso público de armazenamento.

<LogProperties><Text>Invoke callback url with req: "ErrorCode=AzureBlobFailedToCreateContainer,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Unable to create Azure Blob container. Endpoint: XXXXXXX/, Container Name: test.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=Microsoft.WindowsAzure.Storage.StorageException,Message=Unable to connect to the remote server,Source=Microsoft.WindowsAzure.Storage,''Type=System.Net.WebException,Message=Unable to connect to the remote server,Source=System,''Type=System.Net.Sockets.SocketException,Message=A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond public ip:443,Source=System,'","Details":null}}</Text></LogProperties>.

Motivo

O serviço ainda pode usar IR de rede virtual gerenciada, mas você pode encontrar esse erro porque o ponto de extremidade público para o Armazenamento de Blob do Azure na rede virtual gerenciada não é confiável com base no resultado do teste, e o Armazenamento de Blob do Azure e o Azure Data Lake Gen2 não têm suporte para serem conectados por meio de ponto de extremidade público da Rede Virtual Gerenciada do serviço de acordo com Rede virtual gerenciada & pontos de extremidade privados gerenciados.

Resolução

  • Ter o ponto de extremidade privado habilitado na origem e também no lado do coletor ao usar o IR da rede virtual gerenciada.
  • Se você ainda quiser usar o ponto de extremidade público, poderá alternar para IR público somente em vez de usar o IR de rede virtual gerenciado para a origem e o coletor. Mesmo se você voltar para o IR público, o serviço ainda poderá usar o IR da rede virtual gerenciada se o IR da rede virtual gerenciada ainda estiver lá.

Erro interno ao tentar excluir um data factory ou espaço de trabalho Synapse com Customer Managed Key (CMK) e User Assigned Managed Identity (UA-MI)

Sintomas

{\"error\":{\"code\":\"InternalError\",\"message\":\"Internal error has occurred.\"}}

Motivo

Se você estiver executando quaisquer operações relacionadas à CMK, deverá concluir todas as operações relacionadas ao serviço primeiro e, em seguida, as operações externas (como Identidades Gerenciadas ou operações do Cofre de Chaves). Por exemplo, se você quiser excluir todos os recursos, precisará excluir a instância de serviço primeiro e, em seguida, excluir o cofre de chaves. Se você excluir o cofre de chaves primeiro, esse erro ocorrerá porque o serviço não pode mais ler os objetos necessários e não poderá validar se a exclusão é possível ou não.

Resolução

Existem três formas possíveis de resolver o problema. São os seguintes:

  • Você revogou o acesso do serviço ao cofre de chaves onde a chave CMK estava armazenada. Você pode reatribuir o acesso às seguintes permissões: Get, Unwrap Key e Wrap Key. Essas permissões são necessárias para habilitar chaves gerenciadas pelo cliente. Consulte Conceder acesso a chaves gerenciadas pelo cliente. Uma vez que a permissão é fornecida, você deve ser capaz de excluir o serviço.

  • O cliente excluiu o Key Vault / CMK antes de excluir o serviço. CMK no serviço deve ter "Soft Delete" ativado e "Purge Protect" ativado, que tem política de retenção padrão de 90 dias. Você pode restaurar a chave excluída.
    Revisão Recuperar chave excluída e valor de chave excluída

  • A Identidade Gerenciada Atribuída ao Usuário (UA-MI) foi excluída antes do serviço. Você pode se recuperar disso usando chamadas de API REST. Você pode fazer isso em um cliente http de sua escolha em qualquer linguagem de programação. Se você ainda não tiver nada configurado para chamadas de API REST com autenticação do Azure, a maneira mais fácil de fazer isso seria usando o Fiddler. Siga os seguintes passos.

    1. Faça uma chamada GET usando o método: GET Url como https://management.azure.com/subscriptions/YourSubscription/resourcegroups/YourResourceGroup/providers/Microsoft.DataFactory/factories/YourFactoryName?api-version=2018-06-01

    2. Você precisa criar uma nova Identidade Gerenciada pelo Usuário com um Nome diferente (o mesmo nome pode funcionar, mas apenas para ter certeza, é mais seguro usar um nome diferente do que o da resposta GET)

    3. Modifique a propriedade encryption.identity e identity.userassignedidentities para apontar para a identidade gerenciada recém-criada. Remova clientId e principalId do objeto userAssignedIdentity.

    4. Faça uma chamada PUT para a mesma url passando o novo corpo. É importante que você esteja passando o que tiver na resposta GET e modifique apenas a identidade. Caso contrário, eles substituiriam outras configurações sem querer.

    5. Depois que a chamada for bem-sucedida, você poderá ver as entidades novamente e tentar excluir novamente.

Compartilhando o tempo de execução da integração auto-hospedada

Não há suporte para o compartilhamento de um IR auto-hospedado de um locatário diferente

Sintomas

Você pode notar outras fábricas de dados (em locatários diferentes) ao tentar compartilhar o IR auto-hospedado da interface do usuário, mas não pode compartilhá-lo entre fábricas de dados que estão em locatários diferentes.

Motivo

O IR auto-hospedado não pode ser compartilhado entre locatários.

Para obter mais ajuda com a solução de problemas, tente os seguintes recursos: