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 w witrynie Azure Portal dla usług Azure SQL Database i Azure Synapse Analytics wynik jest publicznym punktem końcowym w formacie yourservername.database.windows.net.
Następujące mechanizmy kontroli dostępu do sieci umożliwiają selektywne zezwalanie na dostęp do bazy danych za pośrednictwem publicznego punktu końcowego:
- Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera: po włączeniu inne zasoby w granicach platformy Azure, na przykład maszyna wirtualna platformy Azure, mogą uzyskiwać dostęp do usługi SQL Database
- Reguły zapory adresów IP: ta funkcja umożliwia jawne zezwalanie na połączenia z określonego adresu IP, na przykład z maszyn lokalnych
Możesz również zezwolić na dostęp prywatny do bazy danych z sieci wirtualnych za pośrednictwem:
- Reguły zapory sieci wirtualnej: użyj tej funkcji, aby zezwolić na ruch z określonej sieci wirtualnej w granicach platformy Azure
- Usługa Private Link: ta funkcja służy do tworzenia 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 .
Zapoznaj się z poniższym filmem wideo, aby zapoznać się z ogólnym wyjaśnieniem tych mechanizmów kontroli dostępu i ich działaniami:
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 widoczne, gdy jest dozwolona łączność przy użyciu publicznego punktu końcowego usługi.
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 w granicach platformy Azure, które mogą być częścią Subskrypcji.
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 regułami zapory sieci wirtualnej.
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 importu eksportu 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
Pamiętaj, że dane wyjściowe skryptu programu PowerShell są w notacji Routing międzydomenowy (CIDR) bez klas. 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ć tego dodatkowego 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.
Reguły zapory bazujące na adresach IP
Zapora oparta 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.
Reguły zapory sieci wirtualnej
Oprócz reguł adresów IP zapora serwera umożliwia definiowanie reguł sieci wirtualnej. Aby dowiedzieć się więcej, zobacz Punkty końcowe i reguły usługi dla sieci wirtualnej dla usługi Azure SQL Database.
Terminologia dotycząca sieci platformy Azure
Pamiętaj o następujących terminach dotyczących sieci platformy Azure podczas eksplorowania reguł zapory sieci wirtualnej
Sieć wirtualna: możesz mieć sieci wirtualne skojarzone z subskrypcją platformy Azure
Podsieć: sieć wirtualna zawiera podsieci. Wszystkie maszyny wirtualne platformy Azure przypisane do podsieci. Jedna podsieć może zawierać wiele maszyn wirtualnych lub innych węzłów obliczeniowych. Węzły obliczeniowe, które znajdują się poza siecią wirtualną, nie mogą uzyskać dostępu do sieci wirtualnej, chyba że skonfigurujesz zabezpieczenia, aby zezwolić na dostęp.
Punkt końcowy usługi dla sieci wirtualnej:punkt końcowy usługi sieci wirtualnej to podsieć, której wartości właściwości zawierają co najmniej jedną formalną nazwę typu usługi platformy Azure. W tym artykule interesuje nas nazwa typu Microsoft.Sql, która odwołuje się do usługi platformy Azure o nazwie SQL Database.
Reguła sieci wirtualnej: reguła sieci wirtualnej dla serwera jest podsiecią wymienioną na liście kontroli dostępu (ACL) serwera. Aby znajdować się w liście ACL bazy danych w usłudze SQL Database, podsieć musi zawierać nazwę typu Microsoft.Sql . Reguła sieci wirtualnej nakazuje serwerowi akceptowanie komunikacji z każdego węzła, który znajduje się w podsieci.
Adres IP a reguły zapory sieci wirtualnej
Zapora usługi Azure SQL Database umożliwia określenie zakresów adresów IP, z których komunikacja jest akceptowana w usłudze SQL Database. Takie podejście jest odpowiednie w przypadku stabilnych adresów IP spoza sieci prywatnej platformy Azure. Jednak maszyny wirtualne w sieci prywatnej platformy Azure są konfigurowane przy użyciu dynamicznych adresów IP. Dynamiczne adresy IP mogą ulec zmianie po ponownym uruchomieniu maszyny wirtualnej i z kolei unieważnić regułę zapory opartej na adresach IP. Byłoby to szaleństwo, aby określić dynamiczny adres IP w regule zapory w środowisku produkcyjnym.
To ograniczenie można obejść, uzyskując statyczny adres IP dla maszyny wirtualnej. Aby uzyskać szczegółowe informacje, zobacz Tworzenie maszyny wirtualnej ze statycznym publicznym adresem IP przy użyciu witryny Azure Portal. Jednak podejście statycznego adresu IP może stać się trudne do zarządzania i jest kosztowne po zakończeniu na dużą skalę.
Reguły sieci wirtualnej są łatwiejszą alternatywą do ustanowienia dostępu z określonej podsieci zawierającej maszyny wirtualne i zarządzania nim.
Uwaga
Nie można jeszcze mieć bazy danych SQL Database w podsieci. Jeśli serwer był węzłem w podsieci w sieci wirtualnej, wszystkie węzły w sieci wirtualnej mogą komunikować się z usługą SQL Database. W takim przypadku maszyny wirtualne mogą komunikować się z usługą SQL Database bez konieczności używania żadnych reguł sieci wirtualnej ani reguł adresów IP.
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 .
Następne kroki
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 aplikacji innych firm, zobacz Client Quickstart code samples to SQL Database (Przykłady kodu szybkiego startu klienta z usługą SQL Database).
Aby uzyskać informacje na temat dodatkowych portów, które mogą być potrzebne do otwarcia, zobacz sekcję SQL Database: Outside vs inside ( Porty przekraczające 1433) dla ADO.NET 4.5 i SQL Database
Aby zapoznać się z omówieniem Połączenie ivity usługi Azure SQL Database, zobacz Azure SQL Połączenie ivity Architecture (Architektura Połączenie ivity usługi Azure SQL Database)
Aby zapoznać się z omówieniem zabezpieczeń usługi Azure SQL Database, zobacz Zabezpieczanie bazy danych
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla