Partilhar via


Como integrar com segurança o Azure Machine Learning e o Azure Synapse

Neste artigo, saiba como integrar com segurança o Azure Machine Learning a partir do Azure Synapse. Essa integração permite que você use o Aprendizado de Máquina do Azure a partir de blocos de anotações em seu espaço de trabalho do Azure Sinapse. A comunicação entre os dois espaços de trabalho é protegida usando uma Rede Virtual do Azure.

Pré-requisitos

  • Uma subscrição do Azure.

  • Um espaço de trabalho do Azure Machine Learning com uma conexão de ponto de extremidade privada com uma rede virtual. Os seguintes serviços de dependência de espaço de trabalho também devem ter uma conexão de ponto de extremidade privada com a rede virtual:

    • Conta de armazenamento do Azure

      Gorjeta

      Para a conta de armazenamento, há três pontos de extremidade privados separados; Um para Blob, Arquivo e DFS.

    • Azure Key Vault

    • Registo de Contentores do Azure

    Uma maneira rápida e fácil de criar essa configuração é usar um modelo Bicep ou um modelo Terraform.

  • Um espaço de trabalho do Azure Synapse em uma rede virtual gerenciada , usando um ponto de extremidade privado gerenciado . Para obter mais informações, consulte Rede Virtual Gerenciada do Azure Synapse Analytics.

    Aviso

    A integração do Azure Machine Learning não é suportada atualmente no Synapse Workspaces com proteção de exfiltração de dados. Ao configurar seu espaço de trabalho do Azure Synapse, não habilite a proteção contra exfiltração de dados. Para obter mais informações, consulte Rede Virtual Gerenciada do Azure Synapse Analytics.

    Nota

    As etapas neste artigo fazem as seguintes suposições:

    • O espaço de trabalho do Azure Synapse está em um grupo de recursos diferente do espaço de trabalho do Azure Machine Learning.
    • O espaço de trabalho do Azure Synapse usa uma rede virtual gerenciada. A rede virtual gerenciada protege a conectividade entre o Azure Synapse e o Azure Machine Learning. Ele não restringe o acesso ao espaço de trabalho do Azure Synapse. Acederá ao espaço de trabalho através da Internet pública.

Compreender a comunicação em rede

Nessa configuração, o Azure Synapse usa um ponto de extremidade privado gerenciado e uma rede virtual. A rede virtual gerenciada e o ponto de extremidade privado protegem as comunicações internas do Azure Synapse para o Azure Machine Learning restringindo o tráfego de rede à rede virtual. Ele não restringe a comunicação entre seu cliente e o espaço de trabalho do Azure Synapse.

O Azure Machine Learning não fornece pontos de extremidade privados gerenciados ou redes virtuais e, em vez disso, usa um ponto de extremidade privado gerenciado pelo usuário e uma rede virtual. Nessa configuração, a comunicação interna e cliente/serviço é restrita à rede virtual. Por exemplo, se você quisesse acessar diretamente o estúdio do Azure Machine Learning de fora da rede virtual, usaria uma das seguintes opções:

  • Crie uma Máquina Virtual do Azure dentro da rede virtual e use o Azure Bastion para se conectar a ela. Em seguida, conecte-se ao Azure Machine Learning a partir da VM.
  • Crie um gateway VPN ou use a Rota Expressa para conectar clientes à rede virtual.

Como o espaço de trabalho do Azure Synapse é acessível publicamente, você pode se conectar a ele sem precisar criar coisas como um gateway VPN. O espaço de trabalho Synapse liga-se de forma segura ao Azure Machine Learning através da rede virtual. O Azure Machine Learning e seus recursos são protegidos na rede virtual.

Ao adicionar fontes de dados, você também pode proteger aquelas por trás da rede virtual. Por exemplo, conectar-se com segurança a uma Conta de Armazenamento do Azure ou ao Data Lake Store Gen 2 por meio da rede virtual.

Para obter mais informações, consulte os seguintes artigos:

Configurar o Azure Synapse

Importante

Antes de seguir estas etapas, você precisa de um espaço de trabalho do Azure Synapse configurado para usar uma rede virtual gerenciada. Para obter mais informações, consulte Rede Virtual Gerenciada do Azure Synapse Analytics.

  1. No Azure Synapse Studio, crie um novo serviço vinculado do Azure Machine Learning.

  2. Depois de criar e publicar o serviço vinculado, selecione Gerenciar, Pontos de extremidade privados gerenciados e, em seguida, + Novo no Azure Synapse Studio.

    Captura de tela da caixa de diálogo de pontos de extremidade privados gerenciados.

  3. Na página Novo ponto de extremidade privado gerenciado, procure o Azure Machine Learning e selecione o bloco.

    Captura de ecrã a mostrar a seleção do Azure Machine Learning.

  4. Quando solicitado a selecionar o espaço de trabalho do Azure Machine Learning, use a assinatura do Azure e o espaço de trabalho do Azure Machine Learning que você adicionou anteriormente como um serviço vinculado. Selecione Criar para criar o ponto de extremidade.

    Captura de ecrã da nova caixa de diálogo privada do ponto de extremidade.

  5. O ponto de extremidade será listado como Provisionamento até que tenha sido criado. Uma vez criada, a coluna Aprovação listará um status de Pendente. Você aprovará o ponto de extremidade na seção Configurar o Aprendizado de Máquina do Azure.

    Nota

    Na captura de tela a seguir, um ponto de extremidade privado gerenciado foi criado para o Azure Data Lake Storage Gen 2 associado a esse espaço de trabalho Synapse. Para obter informações sobre como criar um Azure Data Lake Storage Gen 2 e habilitar um ponto de extremidade privado para ele, consulte Provisionar e proteger um serviço vinculado com a VNet gerenciada.

    Captura de ecrã da lista de pontos finais privados geridos.

Criar um conjunto do Spark

Para verificar se a integração entre o Azure Synapse e o Azure Machine Learning está funcionando, você usará um pool do Apache Spark. Para obter informações sobre como criar um, consulte Criar um pool do Spark.

Configurar o Azure Machine Learning

  1. No portal do Azure, selecione seu espaço de trabalho do Azure Machine Learning e selecione Rede.

  2. Selecione Pontos de extremidade privados e, em seguida, selecione o ponto de extremidade criado nas etapas anteriores. Deve ter um estatuto de pendente. Selecione Aprovar para aprovar a conexão do ponto de extremidade.

    Captura de ecrã da aprovação do ponto final privado.

  3. À esquerda da página, selecione Controle de acesso (IAM). Selecione + Adicionar e, em seguida, selecione Atribuição de função.

    Captura de tela da atribuição de função.

  4. Selecione Funções de administrador privilegiadas, Colaborador e, em seguida, selecione Avançar.

    Captura de ecrã a mostrar a seleção do colaborador.

  5. Selecione Utilizador, grupo ou entidade de serviço e, em seguida , + Selecionar membros. Digite o nome da identidade criada anteriormente, selecione-a e use o botão Selecionar .

    Captura de ecrã a mostrar a atribuição da função.

  6. Selecione Rever + atribuir, verifique as informações e, em seguida, selecione o botão Rever + atribuir .

    Gorjeta

    Pode levar vários minutos para que o espaço de trabalho do Azure Machine Learning atualize o cache de credenciais. Até que tenha sido atualizado, poderá receber erros ao tentar aceder à área de trabalho do Azure Machine Learning a partir da Synapse.

Verificar a conectividade

  1. No Azure Synapse Studio, selecione Desenvolver e, em seguida , + Bloco de Anotações.

    Captura de ecrã a mostrar a adição de um bloco de notas.

  2. No campo Anexar a, selecione o pool do Apache Spark para seu espaço de trabalho do Azure Synapse e insira o seguinte código na primeira célula:

    from notebookutils.mssparkutils import azureML
    
    # getWorkspace() takes the linked service name,
    # not the Azure Machine Learning workspace name.
    ws = azureML.getWorkspace("AzureMLService1")
    
    print(ws.name)
    

    Importante

    Esse trecho de código se conecta ao espaço de trabalho vinculado usando o SDK v1 e, em seguida, imprime as informações do espaço de trabalho. Na saída impressa, o valor exibido é o nome do espaço de trabalho do Azure Machine Learning, não o nome do serviço vinculado que foi usado na getWorkspace() chamada. Para obter mais informações sobre como usar o ws objeto, consulte a referência da classe Workspace .

Próximos passos