Accéder à Azure Cosmos DB à partir de réseaux virtuels (VNet)Access Azure Cosmos DB from virtual networks (VNet)

Vous pouvez configurer le compte Azure Cosmos pour n'autoriser l'accès qu'à partir d'un sous-réseau spécifique de réseau virtuel (VNet).You can configure the Azure Cosmos account to allow access only from a specific subnet of virtual network (VNet). En activant l’option Point de terminaison de service pour accéder à Azure Cosmos DB sur le sous-réseau au sein d’un réseau virtuel, le trafic à partir de ce sous-réseau est envoyé à Azure Cosmos DB avec l’identité du sous-réseau et du réseau virtuel.By enabling Service endpoint to access Azure Cosmos DB on the subnet within a virtual network, the traffic from that subnet is sent to Azure Cosmos DB with the identity of the subnet and Virtual Network. Une fois le point de terminaison de service Azure Cosmos DB activé, vous pouvez limiter l’accès au sous-réseau en l’ajoutant à votre compte Azure Cosmos.Once the Azure Cosmos DB service endpoint is enabled, you can limit access to the subnet by adding it to your Azure Cosmos account.

Par défaut, un compte Azure Cosmos est accessible depuis n’importe quelle source tant que la demande est accompagnée d’un jeton d’autorisation valide.By default, an Azure Cosmos account is accessible from any source if the request is accompanied by a valid authorization token. Lorsque vous ajoutez un ou plusieurs sous-réseaux au sein de réseaux virtuels, seules les requêtes provenant de ces sous-réseaux obtiendront une réponse valide.When you add one or more subnets within VNets, only requests originating from those subnets will get a valid response. Les requêtes provenant de toute autre source recevront une réponse 403 (Interdit).Requests originating from any other source will receive a 403 (Forbidden) response.

Forum aux questionsFrequently asked questions

Voici quelques questions fréquemment posées sur la configuration de l’accès à partir de réseaux virtuels :Here are some frequently asked questions about configuring access from virtual networks:

Puis-je spécifier à la fois le point de terminaison de service de réseau virtuel et la stratégie de contrôle d’accès IP sur un compte Azure Cosmos ?Can I specify both virtual network service endpoint and IP access control policy on an Azure Cosmos account?

Vous pouvez activer à la fois le point de terminaison de service de réseau virtuel et une stratégie de contrôle d’accès IP (également appelé pare-feu) sur votre compte Azure Cosmos.You can enable both the virtual network service endpoint and an IP access control policy (aka firewall) on your Azure Cosmos account. Ces deux fonctionnalités sont complémentaires et garantissent collectivement l’isolation et la sécurité de votre compte Azure Cosmos.These two features are complementary and collectively ensure isolation and security of your Azure Cosmos account. L’utilisation du pare-feu IP permet de s’assurer que les adresses IP statiques peuvent accéder à votre compte.Using IP firewall ensures that static IPs can access your account.

Comment limiter l’accès à un sous-réseau au sein d’un réseau virtuel ?How do I limit access to subnet within a virtual network?

Il existe deux étapes requises pour limiter l’accès au compte Azure Cosmos à partir d’un sous-réseau.There are two steps required to limit access to Azure Cosmos account from a subnet. Tout d’abord, vous autorisez le trafic provenant du sous-réseau afin de communiquer à Azure Cosmos DB l’identité de son sous-réseau et de son réseau virtuel.First, you allow traffic from subnet to carry its subnet and virtual network identity to Azure Cosmos DB. Pour cela, vous activez le point de terminaison de service pour Azure Cosmos DB sur le sous-réseau.This is done by enabling service endpoint for Azure Cosmos DB on the subnet. Ensuite, vous ajoutez une règle au compte Azure Cosmos en spécifiant ce sous-réseau comme source à partir de laquelle le compte est accessible.Next is adding a rule in the Azure Cosmos account specifying this subnet as a source from which account can be accessed.

Les listes de contrôle d'accès (ACL) du réseau virtuel et le pare-feu IP rejetteront-ils les requêtes ou les connexions ?Will virtual network ACLs and IP Firewall reject requests or connections?

Quand un pare-feu IP ou des règles d’accès à un réseau virtuel sont ajoutés, seules les requêtes provenant de sources autorisées obtiennent des réponses valides.When IP firewall or virtual network access rules are added, only requests from allowed sources get valid responses. Les autres requêtes sont rejetées avec une erreur 403 (Interdit).Other requests are rejected with a 403 (Forbidden). Il est important de distinguer le pare-feu du compte Azure Cosmos d’un pare-feu au niveau de la connexion.It is important to distinguish Azure Cosmos account's firewall from a connection level firewall. La source peut toujours se connecter au service et les connexions elles-mêmes ne sont pas rejetées.The source can still connect to the service and the connections themselves aren’t rejected.

Mes requêtes ont été bloquées lorsque j’ai activé le point de terminaison de service dans Azure Cosmos DB sur le sous-réseau.My requests started getting blocked when I enabled service endpoint to Azure Cosmos DB on the subnet. Que s’est-il passé ?What happened?

Une fois que le point de terminaison de service pour Azure Cosmos DB est activé sur un sous-réseau, la source du trafic qui atteint le compte bascule de l’adresse IP publique vers le réseau virtuel et le sous-réseau.Once service endpoint for Azure Cosmos DB is enabled on a subnet, the source of the traffic reaching the account switches from public IP to virtual network and subnet. Si votre compte Azure Cosmos est uniquement protégé par un pare-feu basé sur IP, le trafic provenant du sous-réseau avec service ne respecte plus les règles du pare-feu IP et, par conséquent, il sera rejeté.If your Azure Cosmos account has IP-based firewall only, traffic from service enabled subnet would no longer match the IP firewall rules and therefore be rejected. Passez en revue les étapes pour migrer en toute transparence d’un pare-feu basé sur IP à un contrôle d’accès basé sur un réseau virtuel.Go over the steps to seamlessly migrate from IP-based firewall to virtual network-based access control.

Des privilèges RBAC supplémentaires sont-ils nécessaires pour les comptes Azure Cosmos dotés de points de terminaison de service de réseau virtuel ?Are additional RBAC permissions needed for Azure Cosmos accounts with VNET service endpoints?

Si vous souhaitez apporter des modifications aux paramètres de compte après avoir ajouté les points de terminaison de service de réseau virtuel à un compte Azure Cosmos, vous devez accéder à l’action Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action pour tous les réseaux virtuels configurés sur votre compte Azure Cosmos.After you add the VNet service endpoints to an Azure Cosmos account, to make any changes to the account settings, you need access to the Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action action for all the VNETs configured on your Azure Cosmos account. Ce privilège est requis, car le processus d’autorisation valide l’accès aux ressources (telles que les ressources de base de données et de réseau virtuel) avant d’évaluer des propriétés.This permission is required because the authorization process validates access to resources (such as database and virtual network resources) before evaluating any properties.

L’autorisation valide le privilège pour l’action de ressource de réseau virtuel, même si l’utilisateur ne spécifie pas les ACL de réseau virtuel à l’aide d’Azure CLI.The authorization validates permission for VNet resource action even if the user doesn't specify the VNET ACLs using Azure CLI. Actuellement, le plan de contrôle du compte Azure Cosmos prend en charge la configuration de l’état complet du compte Azure Cosmos.Currently, the Azure Cosmos account's control plane supports setting the complete state of the Azure Cosmos account. L’un des paramètres des appels du plan de contrôle est virtualNetworkRules.One of the parameters to the control plane calls is virtualNetworkRules. Si ce paramètre n’est pas spécifié, Azure CLI effectue un appel d’extraction de base de données pour récupérer virtualNetworkRules et utilise cette valeur dans l’appel de mise à jour.If this parameter is not specified, the Azure CLI makes a get database call to retrieves the virtualNetworkRules and uses this value in the update call.

Les réseaux virtuels homologués ont-ils également accès au compte Azure Cosmos ?Do the peered virtual networks also have access to Azure Cosmos account?

Seuls le réseau virtuel et ses sous-réseaux ajoutés au compte Azure Cosmos y ont accès.Only virtual network and their subnets added to Azure Cosmos account have access. Leurs réseaux virtuels homologués ne peuvent pas accéder au compte tant que les sous-réseaux des réseaux virtuels homologués ne sont pas ajoutés au compte.Their peered VNets cannot access the account until the subnets within peered virtual networks are added to the account.

Quel est le nombre maximal de sous-réseaux autorisés à accéder à un seul compte Cosmos ?What is the maximum number of subnets allowed to access a single Cosmos account?

Actuellement, vous pouvez avoir au maximum 64 sous-réseaux autorisés pour un compte Azure Cosmos.Currently, you can have at most 64 subnets allowed for an Azure Cosmos account.

Puis-je activer l’accès à partir d’un VPN et d’Express Route ?Can I enable access from VPN and Express Route?

Pour accéder localement au compte Azure Cosmos via ExpressRoute, vous devez activer le Peering Microsoft.For accessing Azure Cosmos account over Express route from on premises, you would need to enable Microsoft peering. Lorsque vous activez un pare-feu IP ou définissez des règles d’accès à un réseau virtuel, vous pouvez ajouter les adresses IP publiques utilisées pour le peering Microsoft au pare-feu IP de votre compte Azure Cosmos afin d’autoriser l’accès des services locaux au compte Azure Cosmos.Once you put IP firewall or virtual network access rules, you can add the public IP addresses used for Microsoft peering on your Azure Cosmos account IP firewall to allow on premises services access to Azure Cosmos account.

Dois-je mettre à jour les règles des groupes de sécurité réseau (NSG) ?Do I need to update the Network Security Groups (NSG) rules?

Les règles des groupes de sécurité réseau permettent de limiter la connectivité vers et depuis un sous-réseau de réseau virtuel.NSG rules are used to limit connectivity to and from a subnet with virtual network. Lorsque vous ajoutez un point de terminaison de service pour Azure Cosmos DB au sous-réseau, inutile d’ouvrir la connectivité sortante dans le groupe de sécurité réseau pour votre compte Azure Cosmos.When you add service endpoint for Azure Cosmos DB to the subnet, there is no need to open outbound connectivity in NSG for your Azure Cosmos account.

Existe-t-il des points de terminaison de service pour tous les réseaux virtuels ?Are service endpoints available for all VNets?

Non, seuls les réseaux virtuels Azure Resource Manager peuvent bénéficier d’un point de terminaison de service.No, Only Azure Resource Manager virtual networks can have service endpoint enabled. Les réseaux virtuels classiques ne prennent pas en charge les points de terminaison de service.Classic virtual networks don’t support service endpoints.

Puis-je « Accepter les connexions provenant des centres de données Azure publics » quand l’accès aux points de terminaison de service est activé pour Azure Cosmos DB ?Can I "Accept connections from within public Azure datacenters" when service endpoint access is enabled for Azure Cosmos DB?

Ceci est nécessaire uniquement lorsque vous souhaitez que votre compte Azure Cosmos DB soit accessible par d’autres services Azure internes tels qu’Azure Data Factory, Recherche cognitive Azure ou tout autre service déployé dans une région Azure donnée.This is required only when you want your Azure Cosmos DB account to be accessed by other Azure first party services like Azure Data factory, Azure Cognitive Search or any service that is deployed in given Azure region.

Étapes suivantesNext steps