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 :
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 :
- Audit
- Évaluation des vulnérabilités
- Service d’importation/exportation
- OPENROWSET
- Insertion en bloc
- sp_invoke_external_rest_endpoint
- Registre
- Chiffrement transparent des données Azure SQL avec une clé gérée par le client
É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
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.
Contenu connexe
Pour un guide de démarrage rapide sur la création d’une règle de pare-feu IP au niveau du serveur, consultez Créer une base de données dans SQL Database.
Pour un guide de démarrage rapide sur la création d’une règle de pare-feu de réseau virtuel au niveau du serveur, consultez Points de terminaison et règles de service de réseau virtuel pour Azure SQL Database.
Pour obtenir de l’aide sur la connexion à une base de données dans SQL Database à partir d’applications open source ou de partenaires, consultez Exemples de code de démarrage rapide client pour SQL Database.
Pour plus d’informations sur les autres ports que vous devrez peut-être ouvrir, consultez la section SQL Database : exécution externe ou exécution interne de Ports au-delà de 1433 pour ADO.NET 4.5 et SQL Database.
Pour une vue d’ensemble de la connectivité Azure SQL Database, consultez Architecture de connectivité Azure SQL.
Pour obtenir une vue d’ensemble de la sécurité Azure SQL Database, consultez Sécurisation de votre base de données