Partager via


Contrôles d’accès réseau Azure SQL Database et Azure Synapse Analytics

S’applique à : Azure SQL Database Azure Synapse Analytics (pools SQL dédiés uniquement)

Quand vous créez un serveur logique à partir du portail Azure pour Azure SQL Database et Azure Synapse Analytics, le résultat est un point de terminaison public au format votrenomdeserveur.basededonnées.windows.net.

Vous pouvez utiliser les contrôles d'accès réseau suivants pour autoriser de manière sélective l'accès à la base de données via le point de terminaison public :

  • Règles de pare-feu IP : utilisez cette fonctionnalité pour autoriser explicitement les connexions à partir d’une adresse IP spécifique. Par exemple, à partir d’ordinateurs sur site ou d’une plage d’adresses IP en spécifiant l’adresse IP de début et de fin.

  • Autoriser les services et les ressources Azure à accéder à ce serveur : quand cette option est activée, d’autres ressources situées dans la limite Azure peuvent accéder à SQL Database. Par exemple, une machine virtuelle Azure peut accéder aux ressources SQL Database.

Vous pouvez également autoriser l’accès privé à la base de données à partir des réseaux virtuels via :

  • Règles de pare-feu de réseau virtuel : utilisez cette fonctionnalité pour autoriser le trafic à partir d’un réseau virtuel spécifique au sein de la limite Azure.

  • Liaison privée : utilisez cette fonctionnalité pour créer un point de terminaison privé pour le serveur logique dans Azure au sein d’un réseau virtuel spécifique.

Important

Cet article ne s'applique pas à SQL Managed Instance. Pour plus d’informations sur la configuration réseau, consultez Connexion à Azure SQL Managed Instance.

Règles de pare-feu IP

Le pare-feu basé sur IP est une fonctionnalité du serveur logique dans Azure qui empêche tout accès à votre serveur tant que vous n’avez pas ajouté les adresses IP pour les machines clientes de manière explicite.

Autoriser les services Azure

Par défaut, lors de la création d’un serveur logique à partir du portail Azure, Autoriser les services et les ressources Azure à accéder à ce serveur est décoché et non activé. Ce paramètre s’affiche lorsque la connectivité est autorisée via un point de terminaison de service public.

Vous pouvez aussi changer ce paramètre via le paramètre Réseau une fois le serveur logique créé, comme suit :

Capture d’écran de la gestion du pare-feu du serveur

Quand Autoriser les services et ressources Azure à accéder à ce serveur est activé, votre serveur autorise les communications de toutes les ressources situées dans la limite Azure, qu’elles fassent ou non partie de votre abonnement. Le paramètre activé est souvent plus permissif que ce que souhaitent la plupart des clients. Vous pouvez décocher ce paramètre et le remplacer par des règles de pare-feu IP plus restrictives ou utiliser l’une des options d’accès privé.

Important

Cocher Autoriser les services et ressources Azure à accéder à ce serveur ajoute une règle de pare-feu basée sur IP avec l’adresse IP de début et de fin 0.0.0.0

Cela étant, ce choix affecte les fonctionnalités suivantes qui s’exécutent sur des machines virtuelles dans Azure qui ne font pas partie de votre réseau virtuel et qui, par conséquent, se connectent à la base de données par le biais d’une adresse IP Azure :

Service d’importation/exportation

Le service d’importation/exportation ne fonctionne pas quand Autoriser les services et les ressources Azure à accéder à ce serveur n’est pas activé. Toutefois, vous pouvez contourner le problème en exécutant manuellement SqlPackage à partir d’une machine virtuelle Azure ou en effectuant l’exportation directement dans votre code à l’aide de l’API DACFx.

Synchronisation des données

Pour utiliser la fonctionnalité de synchronisation des données avec Autoriser les services et les ressources Azure à accéder à ce serveur désactivé, vous devez créer des entrées de règle de pare-feu individuelles pour ajouter des adresses IP à partir de l’étiquette de service SQL pour la région hébergeant la base de données Hub. Ajoutez ces règles de pare-feu au niveau du serveur aux serveurs hébergeant à la fois des bases de données Hub et Member (qui peuvent être dans des régions différentes)

Utilisez le script PowerShell suivant pour générer les adresses IP correspondant à l’étiquette de service SQL pour la région USA Ouest.

PS C:\>  $serviceTags = Get-AzNetworkServiceTag -Location eastus2
PS C:\>  $sql = $serviceTags.Values | Where-Object { $_.Name -eq "Sql.WestUS" }
PS C:\> $sql.Properties.AddressPrefixes.Count
70
PS C:\> $sql.Properties.AddressPrefixes
13.86.216.0/25
13.86.216.128/26
13.86.216.192/27
13.86.217.0/25
13.86.217.128/26
13.86.217.192/27

Conseil

Get-AzNetworkServiceTag retourne la plage globale de l’étiquette de service SQL malgré la spécification du paramètre Location. Veillez à la filtrer sur la région qui héberge la base de données Hub utilisée par votre groupe de synchronisation.

La sortie du script PowerShell est en notation CIDR (Classless Inter-Domain Routing). Celle-ci doit être convertie au format d’adresse IP de début et de fin à l’aide de la commande Get-IPrangeStartEnd.ps1 comme suit :

PS C:\> Get-IPrangeStartEnd -ip 52.229.17.93 -cidr 26
start        end
-----        ---
52.229.17.64 52.229.17.127

Vous pouvez utiliser le script PowerShell suivant pour convertir toutes les adresses IP en notation CIDR au format d’adresse IP de début et de fin.

PS C:\>foreach( $i in $sql.Properties.AddressPrefixes) {$ip,$cidr= $i.split('/') ; Get-IPrangeStartEnd -ip $ip -cidr $cidr;}
start          end
-----          ---
13.86.216.0    13.86.216.127
13.86.216.128  13.86.216.191
13.86.216.192  13.86.216.223

Vous pouvez maintenant les ajouter en tant que règles de pare-feu distinctes, puis désactiver le paramètre Autoriser les services et les ressources Azure à accéder à ce serveur.

Étiquette de service SQL

Les étiquettes de service peuvent être utilisées dans les règles de sécurité et les itinéraires des clients vers SQL Database. Les étiquettes de service peuvent être utilisées dans les groupes de sécurité réseau, les pare-feu Azure et les itinéraires définis par l’utilisateur en les spécifiant dans le champ source ou de destination d’une règle de sécurité. L’étiquette de service Sql se compose de toutes les adresses IP utilisées par SQL Database. L’étiquette est davantage segmentée par régions. Par exemple, Sql.WestUS répertorie toutes les adresses IP utilisées par SQL Database dans la région USA Ouest.

L’étiquette de service Sql se compose d’adresses IP requises pour établir la connectivité à SQL Database, comme documenté dans les adresses IP de passerelle. En outre, une étiquette de service est également associée à tout trafic sortant de SQL Database utilisé dans des fonctionnalités telles que :

Étiquette de service SqlManagement

L’étiquette de service SqlManagement est utilisée pour les opérations de plan de contrôle par rapport à SQL Database.

Règles de pare-feu de réseau virtuel

Les règles de réseau virtuel constituent une alternative plus facile pour établir et gérer l’accès à partir d’un sous-réseau spécifique qui contient vos machines virtuelles.

Private Link vous permet de vous connecter à un serveur par le biais d’un point de terminaison privé. Un point de terminaison privé est une adresse IP privée au sein d’un réseau et d’un sous-réseau virtuels spécifiques.