Configure Azure Private Link para a loja analítica Azure Cosmos DB

APLICA-SE A: NoSQL MongoDB Rio Gremlin

Neste artigo, você vai aprender como configurar pontos finais privados geridos para a loja analítica Azure Cosmos DB. Se estiver a utilizar a loja transacional, consulte os pontos finais privados para o artigo da loja transacional . Utilizando pontos finais privados geridos, pode restringir o acesso à rede da sua loja analítica Azure Cosmos DB, a uma Rede Virtual gerida associada ao seu espaço de trabalho Azure Synapse. Os pontos finais privados geridos estabelecem uma ligação privada à sua loja analítica.

Nota

Se estiver a utilizar DNS Privado Zones para Azure Cosmos DB e pretender criar um ponto final privado gerido pela Synapse para o sub-recurso da loja analítica, deve primeiro criar uma zona DNS para a loja analítica (privatelink.analytics.cosmos.azure.com) ligada à rede virtual da sua Azure Cosmos DB.

Ativar um ponto final privado para a loja analítica

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

Crie um espaço de trabalho em Azure Synapse Analytics com exfiltração de dados ativada. Com a proteção de exfiltração de dados, pode garantir que utilizadores maliciosos não podem copiar ou transferir dados dos seus recursos Azure para locais fora do âmbito da sua organização.

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

  • Se estiver a utilizar o Azure Spark para Azure Synapse Analytics, o acesso só é permitido aos pontos finais privados geridos aprovados para a loja analítica Azure Cosmos DB.

  • Se estiver a utilizar piscinas SQL sem servidor sinaapse, pode consultar qualquer conta DB da Azure Cosmos utilizando Azure Synapse Link. No entanto, os pedidos de escrita que criam tabelas externas como select (CETAS) só são permitidos para gerir pontos finais privados aprovados na rede virtual do espaço de trabalho.

Nota

Não é possível alterar a configuração de rede virtual gerida e de exfiltração de dados após a criação do espaço de trabalho.

Adicione um ponto final privado gerido para a loja analítica Azure Cosmos DB

  1. Inicie sessão no portal do Azure.

  2. A partir do portal do Azure, navegue até ao seu espaço de trabalho Synapse Analytics e abra o painel de visão geral.

  3. Lance Synapse Studio navegando para Introdução painel e selecione Open under Open Synapse Studio.

  4. Na Synapse Studio, abra o separador Gerir.

  5. Navegue para pontos finais privados geridos e selecione Novos

    Crie um novo ponto final privado para loja analítica.

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

    Selecione Azure Cosmos DB API para noSQL para criar um ponto final privado.

  7. Preencha o novo formulário de ponto final privado gerido com os seguintes detalhes:

    • Nome - Nome do seu ponto final privado gerido. Este nome não pode ser atualizado depois de criado.
    • Descrição - Forneça uma descrição amigável para identificar o seu ponto final privado.
    • Subscrição Azure - Selecione uma conta DB Azure Cosmos da lista de contas disponíveis nas suas subscrições Azure.
    • Nome da conta DB Azure Cosmos - Selecione uma conta DB Azure Cosmos existente do tipo SQL ou MongoDB.
    • Sub-recurso-alvo - Selecione uma das seguintes opções: Analítica: Se pretender adicionar o ponto final privado para a loja analítica Azure Cosmos DB. NoSQL (ou MongoDB): Se quiser adicionar OLTP ou ponto final de conta transacional.

    Nota

    Pode adicionar tanto a loja transacional como os pontos finais privados da loja analítica à mesma conta DB da Azure Cosmos num espaço de trabalho Azure Synapse Analytics. Se quiser apenas fazer consultas analíticas, pode apenas querer mapear o ponto final privado analítico.

    Escolha analítico para o subresource alvo.

  8. Depois de criar, vá ao nome de ponto final privado e selecione Obter as aprovações em portal do Azure.

  9. Navegue na sua conta DB Azure Cosmos, selecione o ponto final privado e selecione Aprovar.

  10. Volte ao espaço de trabalho Synapse Analytics e clique em Refresh no painel de pontos finais privados geridos . Verifique se o ponto final privado está no estado aprovado .

    Verifique se o ponto final privado está aprovado.

Use a faísca Apache para Azure Synapse Analytics

Se criou um espaço de trabalho Azure Synapse com proteção de exfiltração de dados ligado, o acesso de saída das contas De Sinapse Spark a Azure Cosmos DB será bloqueado, por padrão. Além disso, se o Azure Cosmos DB já tiver um ponto final privado existente, a Synapse Spark será impedida de aceder ao mesmo.

Para permitir o acesso aos dados do Azure Cosmos DB:

  • Se estiver a utilizar Azure Synapse Link para consultar os dados do Azure Cosmos DB, adicione um ponto final privado analítico gerido para a conta DB Azure Cosmos.

  • Se estiver a utilizar as gravações/leituras//ou leituras de streaming de lotes para a loja transacional, adicione um ponto final privado gerido sql ou MongoDB para a conta DB Azure Cosmos. Além disso, também deve definir a ligaçãoMode a Gateway , como mostrado no seguinte corte 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()
    
    

Usando piscinas SQL sem servidor sinapse

As piscinas SQL sem servidor sinaapse utilizam capacidades multi-inquilinos que não são implantadas em rede virtual gerida. Se a conta DB da Azure Cosmos tiver um ponto final privado existente, a piscina SQL sem servidor synapse será bloqueada do acesso à conta, devido a verificações de isolamento de rede na conta DB do Azure Cosmos.

Para configurar o isolamento da rede para esta conta a partir de um espaço de trabalho da Sinapse:

  1. Permitir que o espaço de trabalho synapse aceda à conta DB do Azure Cosmos especificando a NetworkAclBypassResourceId definição na conta.

    Utilizar o PowerShell

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

    Utilizar 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"
    

    Nota

    A conta DB da Azure Cosmos e Azure Synapse espaço de trabalho da Analytics devem estar sob o mesmo inquilino do Azure Ative Directory (AD).

  2. Agora pode aceder à conta a partir de piscinas SQL sem servidor, utilizando consultas T-SQL sobre Azure Synapse Link. No entanto, para garantir o isolamento da rede para os dados na loja analítica, deve adicionar um ponto final privado gerido analítico para esta conta. Caso contrário, os dados na loja de análise não serão bloqueados do acesso público.

Importante

Se estiver a utilizar Azure Synapse Link e precisar de isolamento de rede para os seus dados na loja analítica, deve mapear a conta DB do Azure Cosmos no espaço de trabalho da Synapse utilizando o ponto final privado gerido pela Analytical.

Passos seguintes