Configurar o Link Privado do Azure para o repositório analítico do Azure Cosmos DB

APLICA-SE AO: NoSQL MongoDB Gremlin

Neste artigo, você aprenderá a configurar pontos de extremidade privados gerenciados para o repositório analítico do Azure Cosmos DB. Se você estiver usando o armazenamento transacional, confira o artigo Pontos de extremidade privados para o armazenamento transacional. Usando pontos de extremidade privados gerenciados, você pode restringir o acesso à rede do seu repositório analítico do Azure Cosmos DB para uma rede virtual gerenciada associada ao seu espaço de trabalho do Azure Synapse. Pontos de extremidade privados gerenciados estabelecem um link privado para o seu repositório analítico.

Observação

Se você estiver usando Zonas de DNS Privado para o Azure Cosmos DB e quiser criar um ponto de extremidade privado gerenciado pelo Synapse para o sub-recurso do armazenamento analítico, primeiro crie uma zona de DNS para o armazenamento analítico (privatelink.analytics.cosmos.azure.com) vinculado à rede virtual do Azure Cosmos DB.

Habilitar um ponto de extremidade privado para o repositório analítico

Configurar o espaço de trabalho do Azure Synapse Analytics com uma rede virtual gerenciada e exfiltração de dados

Crie um espaço de trabalho no Azure Synapse Analytics com a exfiltração de dados habilitada. Com a proteção contra exfiltração de dados, você pode garantir que os usuários mal-intencionados não possam copiar ou transferir dados dos recursos do Azure para locais fora do escopo da sua organização.

As seguintes restrições de acesso são aplicáveis quando a proteção contra exfiltração de dados está ativada para um espaço de trabalho do Azure Synapse Analytics:

  • Se você estiver usando o Azure Spark para o Azure Synapse Analytics, o acesso só será permitido para os pontos de extremidade privados gerenciados para o repositório analítico do Azure Cosmos DB.

  • Se você estiver usando pools de SQL sem servidor do Synapse, poderá consultar qualquer conta de Azure Cosmos DB usando o Link do Azure Synapse. No entanto, as solicitações de gravação que criam tabelas externas como SELECT (CETAS) só são permitidas para os pontos de extremidade privados de gerenciamento aprovados na rede virtual do espaço de trabalho.

Observação

Você não pode alterar a rede virtual gerenciada e a configuração de vazamento de dados depois que o espaço de trabalho é criado.

Adicionar um ponto de extremidade privados gerenciados para o repositório analítico do Azure Cosmos DB

Observação

Para realizar algumas das etapas abaixo, você precisará alterar a configuração de rede da conta do Azure Cosmos DB. Acesse a guia Rede no portal e clique na opção Permitir acesso por meio do portal do Azure. Após a configuração do ponto de extremidade privado, você poderá reverter essa ação e desabilitar o acesso.

  1. Entre no portal do Azure.

  2. No portal do Azure, navegue até o espaço de trabalho do Synapse Analytics e abra o painel Visão geral.

  3. Inicie o Synapse Studio navegando até o painel Introdução e selecione Abrir em Abrir o Synapse Studio.

  4. No Synapse Studio, abra a guia Gerenciar.

  5. Navegue até Pontos de extremidade privados gerenciados e selecione Novo

    Crie um novo ponto de extremidade privado para o repositório analítico.

  6. Selecione o tipo de conta Azure Cosmos DB (API para NoSQL)>Continuar.

    Selecione a API do Azure Cosmos DB para NoSQL para criar um ponto de extremidade privado.

  7. Preencha o formulário Ponto de extremidade privado gerenciado com os seguintes detalhes:

    • Nome – nome do ponto de extremidade privado gerenciado. Esse nome não pode ser atualizado depois de ser criado.
    • Descrição – forneça uma descrição amigável para identificar seu ponto de extremidade privado.
    • Assinatura do Azure – selecione uma conta do Azure Cosmos DB na lista de contas disponíveis em suas assinaturas do Azure.
    • Nome da conta do Azure Cosmos DB – selecione uma conta do Azure Cosmos DB existente do tipo SQL ou MongoDB.
    • Sub-recurso de destino – selecione uma das seguintes opções: Analítico: se você quiser adicionar o ponto de extremidade privado para o repositório analítico do Azure Cosmos DB. NoSQL (ou MongoDB): se você quiser adicionar OLTP ou o ponto de extremidade da conta transacional.

    Observação

    Você pode adicionar os pontos de extremidade privados do repositório transacional e os do repositório analítico à mesma conta do Azure Cosmos DB em um espaço de trabalho do Azure Synapse Analytics. Se deseja somente executar consultas analíticas, convém mapear apenas o ponto de extremidade privado analítico.

    Escolha análise para o sub-recurso de destino.

  8. Depois de criar, vá para o nome do ponto de extremidade privado e selecione Gerenciar aprovações no portal do Azure.

  9. Navegue até sua conta do Azure Cosmos DB, selecione o ponto de extremidade privado e selecione Aprovar.

  10. Navegue de volta para o espaço de trabalho do Synapse Analytics e clique em Atualizar no painel Pontos de extremidade privados gerenciados. Verifique se o ponto de extremidade privado está no estado Aprovado.

    Verificar se o ponto de extremidade privado está no estado Aprovado.

Usar o Apache Spark para Azure Synapse Analytics

Se você criou um espaço de trabalho do Azure Synapse com a proteção de vazamento de dados ativada, o acesso de saída das contas do Synapse Spark para Azure Cosmos DB será bloqueado por padrão. Além disso, se o Azure Cosmos DB já tiver um ponto de extremidade privado existente, o Synapse Spark será impedido de acessá-lo.

Para proteger o acesso aos dados do Azure Cosmos DB:

  • Se você estiver usando o link do Azure Synapse para consultar dados do Azure Cosmos DB, adicione um ponto de extremidade privado de análise gerenciada para a conta do Azure Cosmos DB.

  • Se você estiver usando gravações/leituras em lote e/ou gravações/leituras de streaming no repositório transacional, adicione um ponto de extremidade privado gerenciado do SQL ou MongoDB para a conta do Azure Cosmos DB. Além disso, você também deve definir o connectionMode como Gateway, conforme mostrado no seguinte trecho de código:

    # Write a Spark DataFrame into an Azure Cosmos DB container
    # To select a preferred lis of regions in a multi-region account, add .option("spark.cosmos.preferredRegions", "<Region1>, <Region2>")
    
    YOURDATAFRAME.write\
      .format("cosmos.oltp")\
      .option("spark.synapse.linkedService", "<your-Cosmos-DB-linked-service-name>")\
      .option("spark.cosmos.container","<your-Cosmos-DB-container-name>")\
      .option("spark.cosmos.write.upsertEnabled", "true")\
      .option("spark.cosmos.connection.mode", "Gateway")\
      .mode('append')\
      .save()
    
    

Pools de SQL sem servidor do Azure Synapse

Os pools de SQL sem servidor do Synapse usam recursos multilocatário que não são implantados na rede virtual gerenciada. Se a conta do Azure Cosmos DB tiver um ponto de extremidade privado existente, o pool de SQL sem servidor do Synapse será impedido de acessar a conta, devido a verificações de isolamento de rede na conta do Azure Cosmos DB.

Para configurar o isolamento de rede para essa conta de um espaço de trabalho do Synapse:

  1. Permita que o espaço de trabalho do Synapse acesse a conta do Azure Cosmos DB especificando a configuração NetworkAclBypassResourceId na conta.

    Como usar o PowerShell

    Update-AzCosmosDBAccount -Name MyCosmosDBDatabaseAccount -ResourceGroupName MyResourceGroup -NetworkAclBypass AzureServices -NetworkAclBypassResourceId "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Synapse/workspaces/wsName"
    

    Usando a CLI do Azure

    az cosmosdb update --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup --network-acl-bypass AzureServices --network-acl-bypass-resource-ids "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Synapse/workspaces/wsName"
    

    Observação

    A conta do Azure Cosmos DB e o workspace do Azure Synapse Analytics devem estar no mesmo locatário do Microsoft Entra.

  2. Agora você pode acessar a conta de pools de SQL sem servidor, usando consultas do T-SQL no Link do Azure Synapse. No entanto, para garantir o isolamento de rede para os dados no repositório analítico, você deve adicionar um ponto de extremidade privado gerenciado analítico para essa conta. Caso contrário, os dados no repositório analítico não serão bloqueados do acesso público.

Importante

Se você estiver usando o Link do Azure Synapse e precisar de isolamento de rede para seus dados no repositório analítico, deverá mapear a conta do Azure Cosmos DB para o espaço de trabalho do Synapse usando o ponto de extremidade privado gerenciado analítico.

Próximas etapas