Mechanizmy kontroli dostępu do sieci w usługach Azure SQL Database i Azure Synapse Analytics
Dotyczy:Azure SQL DatabaseAzure Synapse Analytics (tylko dedykowane pule SQL)
Podczas tworzenia serwera logicznego z witryny Azure Portal dla usług Azure SQL Database i Azure Synapse Analytics wynik jest publicznym punktem końcowym w formacie: yourservername.database.windows.net
.
Domyślnie serwer logiczny odmawia wszystkich połączeń w celu zapewnienia bezpieczeństwa. Aby selektywnie zezwolić na dostęp do bazy danych za pośrednictwem publicznego punktu końcowego , można użyć co najmniej jednej z następujących kontroli dostępu do sieci
Reguły zapory oparte na adresach IP: ta funkcja umożliwia jawne zezwalanie na połączenia z określonego adresu IP. Na przykład z maszyn lokalnych lub zakresu adresów IP, określając początkowy i końcowy adres IP.
Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera: po włączeniu inne zasoby w granicach platformy Azure mogą uzyskiwać dostęp do usługi SQL Database. Na przykład maszyna wirtualna platformy Azure może uzyskać dostęp do zasobów usługi SQL Database.
Możesz również zezwolić na dostęp prywatny do bazy danych z sieci wirtualnych za pośrednictwem:
Reguły zapory sieci wirtualnej: ta funkcja umożliwia ruch z określonej sieci wirtualnej w granicach platformy Azure.
Usługa Private Link: ta funkcja umożliwia utworzenie prywatnego punktu końcowego dla serwera logicznego na platformie Azure w ramach określonej sieci wirtualnej.
Ważne
Ten artykuł nie dotyczy usługi SQL Managed Instance. Aby uzyskać więcej informacji na temat konfiguracji sieci, zobacz Nawiązywanie połączenia z usługą Azure SQL Managed Instance .
Reguły zapory bazujące na adresach IP
Reguły zapory oparte na adresach IP to funkcja serwera logicznego na platformie Azure, która uniemożliwia dostęp do serwera do momentu jawnego dodania adresów IP maszyn klienckich.
Istnieją dwa typy reguł zapory:
- reguły zapory na poziomie serwera: te reguły dotyczą wszystkich baz danych na serwerze. Można je skonfigurować za pomocą witryny Azure Portal, programu PowerShell lub poleceń języka T-SQL, takich jak sp_set_firewall_rule.
- reguły zapory na poziomie bazy danych: te reguły dotyczą poszczególnych baz danych i mogą konfigurować tylko przy użyciu poleceń języka T-SQL, takich jak sp_set_database_firewall_rule
Poniżej przedstawiono ograniczenia dotyczące nazewnictwa reguł zapory:
- Nazwa reguły zapory nie może być pusta.
- Nie może zawierać następujących znaków:
<, >, *, %, &, :, \\, /, ?.
- Nie może się kończyć kropką (.).
- Nazwa reguły zapory nie może przekraczać 128 znaków.
Wszelkie próby utworzenia reguł zapory, które nie spełniają tych ograniczeń, kończą się niepowodzeniem z komunikatem o błędzie. Wprowadzenie wszelkich modyfikacji istniejących reguł zapory opartych na adresach IP może potrwać do 5 minut.
Zezwalaj na usługi platformy Azure
Domyślnie podczas tworzenia nowego serwera logicznego z witryny Azure Portal pozycja Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera jest niezaznaczone i nie jest włączona. To ustawienie jest wyświetlane, gdy łączność jest dozwolona za pośrednictwem publicznego punktu końcowego.
To ustawienie można również zmienić za pomocą ustawienia Sieć po utworzeniu serwera logicznego w następujący sposób:
Gdy opcja Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera jest włączona, serwer zezwala na komunikację ze wszystkich zasobów wewnątrz granicy platformy Azure, niezależnie od tego, czy są one częścią subskrypcji. W tle dodawana jest specjalna reguła zapory na poziomie serwera, która rozpoczyna się i kończy się adresem IP 0.0.0.0
.
W wielu przypadkach włączenie tego ustawienia jest bardziej permisywne niż to, czego chce większość klientów. Możesz usunąć zaznaczenie tego ustawienia i zastąpić je bardziej restrykcyjnymi regułami zapory IP lub użyć jednej z opcji dostępu prywatnego.
Ważne
Sprawdź, czy pozycja Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera dodaje regułę zapory opartą na adresie IP z początkowym i końcowym adresem IP 0.0.0.0
Jednak ma to wpływ na następujące funkcje, które działają na maszynach wirtualnych na platformie Azure, które nie są częścią sieci wirtualnej, a tym samym łączą się z bazą danych za pośrednictwem adresu IP platformy Azure:
Usługa Import/Export
Usługa Importuj eksport nie działa, gdy pozycja Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera nie jest włączona. Można jednak obejść ten problem , ręcznie uruchamiając pakiet SqlPackage z maszyny wirtualnej platformy Azure lub wykonując eksport bezpośrednio w kodzie przy użyciu interfejsu API DACFx.
Synchronizacja danych
Aby użyć funkcji synchronizacji danych z ustawieniem Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera , należy utworzyć pojedyncze wpisy reguły zapory, aby dodać adresy IP z tagu usługi Sql dla regionu hostującym bazę danych Centrum . Dodaj te reguły zapory na poziomie serwera do serwerów hostjących bazy danych centrum i składowych (które mogą znajdować się w różnych regionach).
Użyj następującego skryptu programu PowerShell, aby wygenerować adresy IP odpowiadające tagowi usługi SQL dla regionu Zachodnie stany USA.
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
Napiwek
Polecenie Get-AzNetworkServiceTag zwraca globalny zakres tagu usługi SQL, mimo określenia parametru Location. Pamiętaj, aby filtrować go do regionu, w którym jest hostowana baza danych centrum używana przez grupę synchronizacji
Dane wyjściowe skryptu programu PowerShell są w notacji Routing międzydomenowy (CIDR, Classless Inter-Domain Routing). Należy go przekonwertować na format adresu IP początkowego i końcowego przy użyciu polecenia Get-IPrangeStartEnd.ps1 w następujący sposób:
PS C:\> Get-IPrangeStartEnd -ip 52.229.17.93 -cidr 26
start end
----- ---
52.229.17.64 52.229.17.127
Możesz użyć następującego skryptu programu PowerShell, aby przekonwertować wszystkie adresy IP z ciDR na format początkowy i końcowy adres IP.
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
Teraz możesz dodać je jako odrębne reguły zapory, a następnie wyłączyć ustawienie Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera.
Tag usługi SQL
Tagi usług mogą być używane w regułach zabezpieczeń i trasach od klientów do usługi SQL Database. Tagi usług mogą być używane w sieciowych grupach zabezpieczeń, usłudze Azure Firewall i trasach zdefiniowanych przez użytkownika, określając je w polu źródłowym lub docelowym reguły zabezpieczeń. Tag usługi Sql składa się ze wszystkich adresów IP używanych przez usługę SQL Database. Tag jest dalej segmentowany według regionów. Na przykład Sql.WestUS wyświetla listę wszystkich adresów IP używanych przez usługę SQL Database w regionie Zachodnie stany USA.
Tag usługi Sql składa się z adresów IP, które są wymagane do nawiązania łączności z usługą SQL Database zgodnie z opisem w artykule Gateway IP addresses (Adresy IP bramy). Ponadto tag usługi będzie również skojarzony z dowolnym ruchem wychodzącym z usługi SQL Database używanym w funkcjach, takich jak:
- Inspekcja
- Ocena luk w zabezpieczeniach
- Importowanie/eksportowanie usługi
- OPENROWSET
- Wstawianie zbiorcze
- sp_invoke_external_rest_endpoint
- Księga
- Funkcja Transparent Data Encryption usługi Azure SQL przy użyciu klucza zarządzanego przez klienta
Tag usługi SqlManagement
Tag usługi SqlManagement jest używany na potrzeby operacji płaszczyzny sterowania względem usługi SQL Database.
Reguły zapory sieci wirtualnej
Reguły zapory sieci wirtualnej są łatwiejszymi alternatywami do ustanawiania dostępu z określonej podsieci zawierającej maszyny wirtualne i zarządzania nim.
Private Link
Usługa Private Link umożliwia nawiązywanie połączenia z serwerem za pośrednictwem prywatnego punktu końcowego. Prywatny punkt końcowy to prywatny adres IP w określonej sieci wirtualnej i podsieci.
Powiązana zawartość
Aby uzyskać przewodnik Szybki start dotyczący tworzenia reguły zapory adresów IP na poziomie serwera, zobacz Tworzenie bazy danych w usłudze SQL Database.
Aby uzyskać przewodnik Szybki start dotyczący tworzenia reguły zapory sieci wirtualnej na poziomie serwera, zobacz Punkty końcowe i reguły usługi sieci wirtualnej dla usługi Azure SQL Database.
Aby uzyskać pomoc dotyczącą nawiązywania połączenia z bazą danych w usłudze SQL Database z poziomu aplikacji typu open source lub partnerów, zobacz Client Quickstart code samples to SQL Database (Przykłady kodu szybkiego startu klienta z usługą SQL Database).
Aby uzyskać informacje na temat innych portów, które mogą być potrzebne do otwarcia, zobacz sekcję SQL Database: Outside vs inside ( Porty przekraczające 1433) dla programu ADO.NET 4.5 i usługi SQL Database
Aby zapoznać się z omówieniem łączności z usługą Azure SQL Database, zobacz Architektura łączności usługi Azure SQL
Aby zapoznać się z omówieniem zabezpieczeń usługi Azure SQL Database, zobacz Zabezpieczanie bazy danych