web-dev-qa-db-fra.com

Comment puis-je autoriser des utilisateurs inconnus à accéder à ma base de données SQL (Azure)?

Apparemment, il faut explicitement spécifier (liste blanche) les adresses IP qui seront autorisées à accéder à une base de données SQL Azure. Je veux cependant que des utilisateurs de N-gazillion * accèdent à ces tableaux pour les données qui leur sont spécifiques.

  • délires de grandeur/mégalomanie

Est-ce que ceux-ci devront d'abord me fournir leur adresse IP afin que je puisse l'ajouter en tant qu'entrée valide, ou existe-t-il un moyen programmatique de le faire, ou une autre solution?

50
B. Clay Shannon

Il serait conseillé d'avoir une sorte de middleware accédant à la base de données et non à vos clients directement.

Cependant, si vous souhaitez que n'importe quelle adresse IP puisse se connecter à la base de données, ajoutez simplement cette entrée à la liste des pare-feu:

Portail Azure -> Bases de données -> Serveurs -> Configurer et ajouter la règle suivante:

enter image description here

112
cillierscharl

Comment vos utilisateurs accèderont-ils à la base de données, via une application Web (frontal) ou directement (je suppose que vous ne donnerez pas aux utilisateurs un accès direct à votre base de données?), Si c'est via une application Web (couche de présentation), alors tout ce dont vous avez besoin todo consiste à accorder l'accès à cette adresse IP de la couche de présentation/couche de service (et si elle est hébergée dans Azure à côté d'elle).

SQL DB Azure a deux types de restrictions d'accès (plus d'informations ici) " Pare-feu Windows Azure SQL Database Firewall "

  • Règles de pare-feu au niveau du serveur:
  • Règles de pare-feu au niveau de la base de données

Vous pouvez soit ouvrir toutes les adresses IP 0.0.0.0 - 255.255.255.255 (pas très sécurisées) ou proposer des politiques plus fines basées sur les règles de pare-feu de base de données ci-dessus.

6
user728584

La seule façon est de le faire via une requête SQL. Azure affiche uniquement les règles du serveur de pare-feu pour être visible uniquement sur le portail, mais au niveau de la base de données, la seule façon est via SQL.

-- Enable Allconnections.  
EXECUTE sp_set_database_firewall_rule N'Allow All', '0.0.0.0', '255.255.255.255';  
3
Nikolay Angelov
Login to Azure Portal

    select your database subscription

        click on Tools

                Now there is option 'Open in VisualStudio' (click on it)

                    You can see "Configure Firewall" click on it.

        Add you new IP.

Done :)
2
Saurin Vala

Si vous les laissez parler directement à votre base de données (par exemple via SSMS), vous devez entrer leur adresse IP (ou vous pouvez simplement ajouter à la liste blanche toute la gamme). Habituellement, ils utiliseront votre base de données via votre propre API, il n'est donc pas nécessaire de mettre leurs adresses IP en liste blanche.

1
Leon Cullens