Activer l’accès privé dans vCore d’Azure Cosmos DB for MongoDB
S’APPLIQUE À : MongoDB vCore
Azure Private Link est un service puissant qui permet aux utilisateurs de se connecter à Azure Cosmos DB for MongoDB vCore via un point de terminaison privé désigné. Ce point de terminaison privé se compose d’adresses IP privées situées dans un sous-réseau au sein de votre propre réseau virtuel. Le point de terminaison vous permet de restreindre l’accès au produit Azure Cosmos DB for MongoDB vCore uniquement via des adresses IP privées. Le risque d’exfiltration de données est considérablement réduit en intégrant Private Link à des stratégies de groupe de sécurité réseau strictes. Pour mieux comprendre les points de terminaison privés, consultez Qu’est-ce qu’Azure Private Link ?.
Remarque
Azure Private Link sécurise votre connexion, mais il n’empêche pas la résolution de vos points de terminaison Azure Cosmos DB par le DNS public. Le filtrage des requêtes entrantes est géré au niveau de l’application, et non au niveau du transport ou du réseau.
Private Link offre la possibilité d’accéder à Azure Cosmos DB for MongoDB vCore à partir de votre réseau virtuel ou à partir de n’importe quel réseau virtuel appairé connecté. De plus, les ressources liées à Private Link sont accessibles localement via un Peering privé, par le biais d’un VPN ou d’Azure ExpressRoute.
Pour établir une connexion, Azure Cosmos DB for MongoDB vCore avec Private Link prend en charge les méthodes d’approbation automatiques et manuelles. Pour plus d’informations, consultez Points de terminaison privés dans Azure Cosmos DB.
Prérequis
- Un cluster vCore Azure Cosmos DB for MongoDB existant.
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuitement.
- Si vous disposez d’un abonnement Azure, créez un cluster Azure Cosmos DB for MongoDB vCore.
Créer un cluster avec un point de terminaison privé en utilisant le portail Azure
Effectuez ces étapes pour créer un cluster vCore d’Azure Cosmos DB for MongoDB avec un point de terminaison privé en utilisant le portail Azure :
Connectez-vous au portail Azure, ensuite sélectionnez Créer une ressource en haut à gauche dans le portail Azure.
Sur la page Créer une ressource, sélectionnez Bases de données, puis Azure Cosmos DB.
Dans la page d’option Sélectionner l’API, sur la vignette MongoDB, sélectionnez Créer.
Choisissez le type de ressource de cluster vCore.
Dans la page Créer un cluster vCore d’ Azure Cosmos DB for MongoDB, sélectionnez ou créez un groupe de ressources, entrez un nom de cluster et un emplacement, puis entrez et confirmez le mot de passe de l’administrateur.
Sélectionnez Suivant : Réseau.
Sélectionnez l’onglet Mise en réseau, pour Méthode de connectivité, sélectionnez Accès privé.
Dans l’écran Créer un point de terminaison privé, entrez ou sélectionnez les valeurs appropriées pour ce qui suit :
Paramètre Valeur Groupe de ressources Sélectionnez un groupe de ressources. Nom Entrez un nom pour votre point de terminaison privé. Si ce nom est utilisé, créez-en un unique. Nom de l’interface réseau Entrez un nom quelconque pour votre interface réseau. Si ce nom est utilisé, créez-en un unique. Emplacement Sélectionnez la région dans laquelle vous souhaitez déployer Private Link. Créez le point de terminaison privé au même emplacement que votre réseau virtuel. Type de ressource Sélectionnez Microsoft.DocumentDB/mongoClusters
.Ressource cible Sélectionnez la ressource vCore Azure Cosmos DB for MongoDB que vous avez créée. Sous-ressource cible Sélectionnez le type de sous-ressource pour la ressource sélectionnée précédemment, auquel votre point de terminaison privé doit pouvoir accéder. Réseau virtuel Sélectionnez votre réseau virtuel. Subnet Sélectionnez votre sous-réseau. Intégrer à une zone DNS privée Sélectionnez Oui. Pour vous connecter en privé à votre point de terminaison privé, vous avez besoin d’un enregistrement DNS. Nous vous recommandons d’intégrer votre point de terminaison privé à une zone DNS privée. Vous pouvez également utiliser vos propres serveurs DNS ou créer des enregistrements DNS à l’aide des fichiers hôtes sur vos machines virtuelles. Quand vous sélectionnez Oui pour cette option, un groupe de zones DNS privées est également créé. Le groupe de zones DNS est un lien entre la zone DNS privée et le point de terminaison privé. Ce lien vous permet de mettre à jour automatiquement la zone DNS privée lorsqu’il existe une mise à jour du point de terminaison privé. Par exemple, lorsque vous ajoutez ou supprimez des régions, la zone DNS privée est automatiquement mise à jour. Nom de la configuration Sélectionnez votre abonnement et votre groupe de ressources. La zone DNS privée est déterminée automatiquement. Vous ne pouvez pas la modifier à l’aide du Portail Azure. Sélectionnez OK.
Sélectionnez Suivant : Balises>Vérifier + créer. Dans la page Vérifier + Créer, sélectionnez Créer.
Activer l’accès privé sur un cluster existant
Pour créer un point de terminaison privé vers un nœud d’un cluster existant, ouvrez la page Mise en réseau du cluster.
Sélectionnez Ajouter un point de terminaison privé.
Sous l’onglet Informations de base de l’écran Créer un point de terminaison privé, confirmez l’Abonnement, le Groupe de ressources et la Région. Entrez un Nom pour le point de terminaison, tel que mon-cluster-1 et un Nom d’interface réseau, tel que mon-cluster-1-nic.
Notes
Sauf si vous avez une bonne raison de faire un choix différent, nous vous recommandons de choisir un abonnement et une région qui correspondent à ceux de votre cluster. Les valeurs par défaut des champs de formulaire peuvent être incorrectes. Vérifiez-les et mettez-les à jour si nécessaire.
Sélectionnez Suivant : Ressource. Choisissez « Microsoft.DocumentDB/mongoClusters » pour Type de ressource, puis choisissez le cluster cible pour Ressource. Pour Sous-ressource cible, choisissez « MongoCluster ».
Sélectionnez Suivant : réseau virtuel. Choisissez le réseau virtuel et le sous-réseau désirés. Sous Configuration d’adresse IP privée, sélectionnez Allouer statiquement l’adresse IP ou conservez l’adresse IP par défaut, Allouer dynamiquement l’adresse IP.
Sélectionnez Suivant : DNS.
Sous Intégration de DNS privé, pour Intégrer à une zone DNS privée, conservez la valeur par défaut Oui ou sélectionnez Non.
Sélectionnez Suivant : Balises > et ajoutez les balises souhaitées.
Sélectionnez Vérifier + créer. Passez en revue les paramètres, puis sélectionnez Créer lorsque vous êtes satisfait.
Créer un point de terminaison privé à l’aide d’Azure CLI
Exécutez le script Azure CLI suivant pour créer un point de terminaison privé nommé myPrivateEndpoint pour un compte Azure Cosmos DB existant. Remplacez les valeurs des variables par les informations de votre environnement.
# 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
Intégrer le point de terminaison privé à une zone DNS privée
Après avoir créé le point de terminaison privé, vous pouvez l’intégrer à une zone DNS privée à l’aide du script Azure CLI suivant :
#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
Commandes MongoClusters sur Private Link
az network private-link-resource list \
-g <rg-name> \
-n <resource-name> \
--type Microsoft.DocumentDB/mongoClusters