Share via


Habilitar o acesso privado no Azure Cosmos DB para MongoDB vCore

APLICA-SE A: MongoDB vCore

O Azure Private Link é um serviço poderoso que permite que os usuários se conectem ao Azure Cosmos DB para MongoDB vCore por meio de um ponto de extremidade privado designado. Este ponto de extremidade privado consiste em endereços IP privados localizados em uma sub-rede dentro de sua própria rede virtual. O ponto de extremidade permite restringir o acesso ao produto vCore do Azure Cosmos DB para MongoDB somente em IPs privados. O risco de exfiltração de dados é substancialmente reduzido, integrando o Private Link com políticas rigorosas do NSG. Para obter uma compreensão mais profunda dos pontos de extremidade privados, considere verificar O que é o Azure Private Link?.

Nota

O Private Link protege sua conexão, no entanto, não impede que seus pontos de extremidade do Azure Cosmos DB sejam resolvidos pelo DNS público. A filtragem de solicitações de entrada é tratada no nível do aplicativo, não no nível de transporte ou rede.

O Private Link oferece a flexibilidade de acessar o Azure Cosmos DB para MongoDB vCore de dentro de sua rede virtual ou de qualquer rede virtual emparelhada conectada. Além disso, os recursos vinculados ao Private Link podem ser acessados localmente por meio de emparelhamento privado, por meio de VPN ou Rota Expressa do Azure.

Para estabelecer uma conexão, o Azure Cosmos DB para MongoDB vCore com Private Link oferece suporte a métodos de aprovação automática e manual. Para obter mais informações, consulte pontos de extremidade privados no Azure Cosmos DB.

Pré-requisitos

Criar um cluster com um ponto de extremidade privado usando o portal do Azure

Siga estas etapas para criar um novo cluster vCore do Azure Cosmos DB para MongoDB com um ponto de extremidade privado usando o portal do Azure:

  1. Entre no portal do Azure e selecione Criar um recurso no canto superior esquerdo do portal do Azure.

  2. Na página Criar um recurso, selecione Bancos de Dados e, em seguida, selecione Azure Cosmos DB.

  3. Na página de opção Selecionar API, no bloco MongoDB , selecione Criar.

  4. Escolha o tipo de recurso de cluster vCore.

  5. Na página Criar um cluster vCore do Azure Cosmos DB para MongoDB, selecione ou crie um grupo de recursos, insira um nome e um local do cluster e insira e confirme a senha do administrador.

  6. Selecione Next: Networking.

  7. Selecione a guia Rede , para Método de conectividade, selecione Acesso privado.

  8. Na tela Criar ponto de extremidade privado, insira ou selecione os valores apropriados para:

    Definição Value
    Grupo de recursos Selecione um grupo de recursos.
    Nome Introduza qualquer nome para o seu ponto de extremidade privado. Se esse nome for usado, crie um exclusivo.
    Nome da interface de rede Introduza qualquer nome para a sua Interface de Rede. Se esse nome for usado, crie um exclusivo.
    Localização Selecione a região onde deseja implantar o Private Link. Crie o ponto de extremidade privado no mesmo local onde sua rede virtual existe.
    Subrecurso de destino Selecione o tipo de subrecurso para o recurso selecionado anteriormente que seu ponto de extremidade privado deve ter a capacidade de acessar.
    Rede virtual Selecione sua rede virtual.
    Sub-rede Selecione sua sub-rede.
    Integrar com zona DNS privada Selecione Yes (Sim). Para estabelecer ligação de forma privada ao ponto final privado, precisa de um registo DNS. Recomendamos que integre o seu ponto de extremidade privado com uma zona DNS privada. Você também pode usar seus próprios servidores DNS ou criar registros DNS usando os arquivos host em suas máquinas virtuais. Quando você seleciona sim para essa opção, um grupo de zonas DNS privadas também é criado. O grupo de zonas DNS é um link entre a zona DNS privada e o ponto de extremidade privado. Este link ajuda você a atualizar automaticamente a zona DNS privada quando há uma atualização para o ponto de extremidade privado. Por exemplo, quando você adiciona ou remove regiões, a zona DNS privada é atualizada automaticamente.
    Nome da configuração Selecione sua assinatura e grupo de recursos. A zona DNS privada é determinada automaticamente. Não é possível alterá-lo usando o portal do Azure.
  9. Selecione OK.

  10. Selecione Next: Tags>Review + create. Na página Rever + criar e, em seguida, selecione Criar.

Habilitar acesso privado em um cluster existente

Para criar um ponto de extremidade privado para um nó em um cluster existente, abra a página Rede do cluster.

  1. Selecione Adicionar ponto de extremidade privado.

    Captura de ecrã a mostrar a seleção Adicionar ponto final privado no ecrã Rede.

  2. Na guia Noções básicas da tela Criar um ponto de extremidade privado, confirme a Assinatura, o grupo de recursos e a Região. Insira um Nome para o ponto de extremidade, como my-cluster-1, e um Nome de interface de rede, como my-cluster-1-nic.

    Nota

    A menos que você tenha um bom motivo para escolher o contrário, recomendamos escolher uma assinatura e uma região que correspondam às do seu cluster. Os valores padrão para os campos de formulário podem não estar corretos. Verifique-os e atualize-os se necessário.

  3. Selecione Next: Resource. Para Subrecurso de destino, escolha o nó de destino do cluster. Normalmente , coordenador é o nó desejado.

  4. Selecione Next: Virtual Network. Escolha a rede virtual e a sub-rede desejadas. Em Configuração de IP privado, selecione Alocar endereço IP estaticamente ou manter o padrão, Alocar endereço IP dinamicamente.

  5. Selecione Next: DNS.

  6. Em Integração de DNS privado, para Integrar com zona DNS privada, mantenha o padrão Sim ou selecione Não.

  7. Selecione Next: Tags, e adicione as tags desejadas.

  8. Selecione Rever + criar. Revise as configurações e selecione Criar quando estiver satisfeito.

Criar um ponto de extremidade privado usando a CLI do Azure

Execute o seguinte script da CLI do Azure para criar um ponto de extremidade privado chamado myPrivateEndpoint para uma conta existente do Azure Cosmos DB. Substitua os valores das variáveis pelos detalhes do seu ambiente.

# Resource group where the Azure Cosmos DB account and virtual network resources are located  
ResourceGroupName="myResourceGroup" 

# Name of the existing Azure Cosmos DB account  
MongovCoreClusterName="myMongoCluster" 

# Subscription ID where the Azure Cosmos DB account and virtual network resources are located  
SubscriptionId="<your Azure subscription ID>"  

# API type of your Azure Cosmos DB account: Sql, SqlDedicated, MongoCluster, Cassandra, Gremlin, or Table 
CosmosDbSubResourceType="MongoCluster"  

# Name of the virtual network to create  
VNetName="myVnet"  

# Name of the subnet to create  
SubnetName="mySubnet"  

# Name of the private endpoint to create  
PrivateEndpointName="myPrivateEndpoint"  

# Name of the private endpoint connection to create 
PrivateConnectionName="myConnection" 

az network vnet create \
  --name $VNetName \
  --resource-group $ResourceGroupName \
  --subnet-name $SubnetName 

az network vnet subnet update \
  --name <name> \
  --resource-group $ResourceGroupName \
  --vnet-name $VNetName \
  --disable-private-endpoint-network-policies true 

az network private-endpoint create \
  --name $PrivateEndpointName \
  --resource-group $ResourceGroupName \
  --vnet-name $VNetName \
  --subnet $SubnetName \
  --private-connection-resource-id "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.DocumentDB/mongoClusters/$MongovCoreClusterName" \
  --group-ids MongoCluster --connection-name $PrivateConnectionName 

Integrar o ponto de extremidade privado com uma zona DNS privada

Depois de criar o ponto de extremidade privado, você pode integrá-lo a uma zona DNS privada usando o seguinte script da CLI do Azure:

#Zone name differs based on the API type and group ID you are using. 
zoneName="privatelink.mongocluster.cosmos.azure.com" 

az network private-dns zone create \
  --resource-group $ResourceGroupName \
  --name $zoneName 

az network private-dns link vnet create --resource-group $ResourceGroupName \
  --zone-name $zoneName \
  --name <dns-link-name> \
  --virtual-network $VNetName \
  --registration-enabled false 

#Create a DNS zone group
az network private-endpoint dns-zone-group create \
  --resource-group $ResourceGroupName \
  --endpoint-name <pe-name> \
  --name <zone-group-name> \
  --private-dns-zone $zoneName \
  --zone-name mongocluster 
az network private-link-resource list \
  -g <rg-name> \
  -n <resource-name> \
  --type Microsoft.DocumentDB/mongoClusters 

Próximo passo