Użyj reguł i punktów końcowych usługi sieci wirtualnej dla serwerów w usłudze Azure SQL Database

Dotyczy:Azure SQL Database

Reguły sieci wirtualnej to funkcja bezpieczeństwa zapory, która kontroluje, czy serwer Twoich baz danych i elastycznych pul w Azure SQL Database akceptuje komunikację wysyłaną z określonych podsieci w sieciach wirtualnych. Ten artykuł wyjaśnia, dlaczego reguły sieci wirtualnej są czasem najlepszą opcją do bezpiecznego umożliwiania komunikacji z bazą danych w SQL Database.

Uwaga

W tym artykule słowo serwer odnosi się do logicznego serwera, który hostuje bazy danych w Azure SQL Database.

Aby utworzyć regułę sieci wirtualnej, musi najpierw istnieć punkt końcowy usługi sieci wirtualnej, do którego reguła może się odwoływać.

Uwaga

Microsoft Entra ID był wcześniej znany jako Azure Active Directory (Azure AD).

Tworzenie reguły sieci wirtualnej

Jeśli chcesz utworzyć tylko regułę sieci wirtualnej, możesz przejść do kroków i wyjaśnień w dalszej części tego artykułu.

Szczegółowe informacje o regułach sieci wirtualnej

W tej sekcji opisano kilka szczegółów dotyczących reguł sieci wirtualnej.

Tylko jeden region geograficzny

Każdy punkt końcowy usługi sieci wirtualnej ma zastosowanie tylko do jednego regionu platformy Azure. Punkt końcowy nie umożliwia innym regionom akceptowania komunikacji z podsieci.

Każda reguła sieci wirtualnej jest ograniczona do regionu, do którego ma zastosowanie powiązany z nią punkt końcowy.

Poziom serwera, a nie poziom bazy danych

Każda reguła sieci wirtualnej ma zastosowanie do całego serwera, a nie tylko do jednej konkretnej bazy danych na serwerze. Innymi słowy reguły sieci wirtualnej mają zastosowanie na poziomie serwera, a nie na poziomie bazy danych.

Z kolei reguły IP mogą być stosowane na każdym poziomie.

Role administratora zabezpieczeń

Istnieje rozdzielenie ról bezpieczeństwa w administrowaniu punktami końcowymi usługi w sieci wirtualnej. Wymagane jest działanie od każdej z poniższych ról:

Alternatywa dla Azure RBAC

Role administratora sieci i administratora bazy danych mają więcej uprawnień niż jest potrzebne do zarządzania regułami sieci wirtualnej. Potrzebujesz tylko części ich możliwości.

Możesz użyć kontroli dostępu opartej na rolach (RBAC) w Azure, aby stworzyć jedną niestandardową rolę, która ma tylko niezbędny podzbiór możliwości. Możesz użyć roli niestandardowej zamiast angażować administratora sieci lub administratora bazy danych. Zakres narażenia na zagrożenia bezpieczeństwa jest mniejszy, jeśli dodasz użytkownika do roli niestandardowej niż jeśli dodasz go do pozostałych dwóch głównych ról administratora.

Uwaga

W niektórych przypadkach baza danych w usłudze SQL Database i podsieć sieci wirtualnej znajdują się w różnych subskrypcjach. W takich przypadkach należy zapewnić następujące konfiguracje:

  • Użytkownik ma wymagane uprawnienia do inicjowania operacji, takich jak włączanie punktów końcowych usługi i dodawanie podsieci sieci wirtualnej do danego serwera.
  • W obu subskrypcjach zarejestrowano dostawcę Microsoft.Sql.

Ograniczenia

W przypadku usługi SQL Database funkcja reguł sieci wirtualnej ma następujące ograniczenia:

  • W zaporze bazy danych w usłudze SQL Database każda reguła sieci wirtualnej odwołuje się do podsieci. Musisz hostować wszystkie te referencjonowane podsieci w tym samym regionie geograficznym, który hostuje bazę danych.
  • Każdy serwer może mieć maksymalnie 128 wpisów listy ACL dla dowolnej sieci wirtualnej.
  • Reguły sieci wirtualnej mają zastosowanie tylko do sieci wirtualnych usługi Azure Resource Manager, a nie do sieci modelu wdrażania klasycznego.
  • Na zaporze zakresy adresów IP dotyczą następujących elementów sieciowych, ale reguły sieci wirtualnej nie mają zastosowania:
  • Obie subskrypcje muszą znajdować się w tej samej dzierżawie Microsoft Entra.

Zagadnienia dotyczące korzystania z punktów końcowych usługi

Jeśli używasz punktów końcowych usługi dla usługi SQL Database, zapoznaj się z następującymi zagadnieniami:

  • Wymagany jest ruch wychodzący do publicznych adresów IP usługi Azure SQL Database. Aby umożliwić łączność, musisz otworzyć reguły grup zabezpieczeń sieciowych (NSG) dla adresów IP usługi SQL Database. Można to zrobić przy użyciu tagów usługi NSG dla usługi SQL Database.

ExpressRoute

Jeśli używasz ExpressRoute z własnej lokalizacji, do peeringu publicznego lub Microsoft, musisz zidentyfikować używane adresy IP NAT. W przypadku publicznego peeringu każdy obwód ExpressRoute domyślnie używa dwóch adresów IP NAT stosowanych do ruchu do usług platformy Azure, gdy ruch trafia do sieci szkieletowej platformy Microsoft Azure. W przypadku peeringu Microsoft to klient lub dostawca usług udostępniają używane adresy IP NAT. Aby umożliwić dostęp do zasobów usługi, musisz zezwolić na te publiczne adresy IP w ustawieniu zapory adresu IP zasobu. Aby znaleźć adresy IP obwodów publicznej komunikacji równorzędnej ExpressRoute, otwórz zgłoszenie pomocy technicznej dotyczące ExpressRoute w witrynie Azure Portal. Aby dowiedzieć się więcej na temat NAT dla publicznej komunikacji równorzędnej usługi ExpressRoute i komunikacji równorzędnej firmy Microsoft, zobacz Wymagania dotyczące NAT dla publicznej komunikacji równorzędnej Azure.

Aby umożliwić komunikację z łącza do usługi SQL Database, należy utworzyć reguły sieci IP dla publicznych adresów IP używanych przez NAT.

Wpływ używania punktów końcowych usługi dla sieci wirtualnej w usłudze Azure Storage

Azure Storage obsługuje punkty końcowe usługi sieci wirtualnej, które ograniczają łączność z kontem magazynu. Jeśli SQL Database korzysta z konta z taką konfiguracją, przeanalizuj wpływ na audyt blobów.

Azure SQL Database auditing to blob storage

Inspekcja Azure SQL może zapisywać dzienniki inspekcji SQL na własnym koncie magazynu. Jeśli to konto magazynu danych używa funkcji punktów końcowych usługi sieci wirtualnej, zobacz, jak zapisywać dzienniki inspekcji na koncie magazynu danych za siecią wirtualną i zaporą.

Dodaj regułę zapory sieci wirtualnej do serwera

Przed ulepszeniem tej funkcji trzeba było włączyć punkty końcowe usługi sieci wirtualnej, zanim można było wdrożyć aktywną regułę sieci wirtualnej w zaporze. Punkty końcowe powiązane z daną podsiecią sieci wirtualnej i bazą danych w usłudze SQL Database. Od stycznia 2018 roku można obejść ten wymóg, ustawiając flagę IgnoreMissingVNetServiceEndpoint . Teraz możesz dodać regułę zapory dla sieci wirtualnej do serwera bez włączania punktów końcowych usługi sieci wirtualnej.

Jedynie ustawienie reguły zapory nie pomaga zabezpieczyć serwera. Należy również włączyć punkty końcowe usługi dla sieci wirtualnej, aby zabezpieczenia zaczęły obowiązywać. Po włączeniu punktów końcowych usługi w podsieci sieci wirtualnej występuje przestój do momentu zakończenia przejścia z wyłączonego na włączony. Ten okres przestoju jest to szczególnie istotne w kontekście dużych sieci wirtualnych. Możesz użyć flagi, IgnoreMissingVNetServiceEndpoint aby zmniejszyć lub wyeliminować czas przestoju podczas przejścia.

Możesz ustawić flagę IgnoreMissingVNetServiceEndpoint za pomocą PowerShell. Aby uzyskać więcej informacji, zobacz PowerShell — tworzenie punktu końcowego usługi sieci wirtualnej i reguły dla usługi SQL Database.

Użyj portalu Azure, aby utworzyć regułę sieci wirtualnej

W tej sekcji pokazano, jak za pomocą witryny Azure Portal utworzyć regułę sieci wirtualnej w bazie danych w usłudze SQL Database. Reguła nakazuje Twojej bazie danych akceptować komunikację z konkretnej podsieci, którą oznaczyłeś jako punkt końcowy usługi sieci wirtualnej.

Uwaga

Aby dodać punkt końcowy usługi do reguł zapory sieci wirtualnej serwera, najpierw upewnij się, że punkty końcowe usług są włączone dla podsieci.

Jeśli punkty końcowe usługi nie są włączone dla podsieci, portal prosi o ich włączenie. Wybierz przycisk Włącz w tym samym panelu, w którym dodasz regułę.

Wymagania wstępne

Musisz mieć już podsieć oznaczoną odpowiednią nazwą typu punktu końcowego usługi sieci wirtualnej odnoszącej się do usługi SQL Database.

Kroki w portalu Azure

  1. Zaloguj się do Azure portal.

  2. Wyszukaj i wybierz pozycję Serwery SQL, a następnie wybierz serwer. W obszarze Zabezpieczenia wybierz pozycję Sieci.

  3. Na karcie Dostęp publiczny upewnij się, że opcja Dostęp do sieci publicznej jest ustawiona na Wybierz sieci, w przeciwnym razie ustawienia Sieci wirtualne są ukryte. Wybierz pozycję + Dodaj istniejącą sieć wirtualną w sekcji Sieci wirtualne.

    Zrzut ekranu przedstawiający właściwości serwera logicznego dla sieci.

  4. W nowym okienku Tworzenie/aktualizowanie wypełnij pola nazwami zasobów platformy Azure.

    Napiwek

    Musisz uwzględnić poprawny prefiks adresu dla Twojej podsieci. Wartość prefiksu adresu można znaleźć w portalu. Przejdź do pozycji Wszystkie zasoby>Wszystkie typy>Sieci wirtualne. Filtr wyświetla sieci wirtualne. Wybierz sieć wirtualną, a następnie wybierz pozycję Podsieci. Kolumna ZAKRES ADRESÓW ma potrzebny prefiks adresu.

    Zrzut ekranu przedstawiający wypełnianie pól dla nowej reguły.

  5. Zobacz wynikową regułę sieci wirtualnej w okienku Zapora .

    Zrzut ekranu przedstawiający nową regułę w okienku Zapora.

  6. Ustaw opcję Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera na wartość Nie.

    Ważne

    Jeśli pozostawisz zaznaczone pole wyboru Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera, serwer akceptuje komunikację z dowolnej podsieci w granicach platformy Azure. Ta komunikacja pochodzi z jednego z adresów IP, który jest rozpoznawany jako należący do zakresów zdefiniowanych dla centrów danych Azure. Pozostawienie włączonego elementu sterującego może oznaczać zbyt szeroki poziom dostępu z punktu widzenia bezpieczeństwa. Funkcja punktów końcowych usługi Microsoft Azure Virtual Network w połączeniu z funkcją reguł sieci wirtualnej usługi SQL Database może zmniejszyć powierzchnię ataku.

  7. Wybierz przycisk OK w dolnej części okienka.

Uwaga

Do reguł mają zastosowanie następujące statusy lub stany:

  • Gotowy: Oznacza, że operacja, którą zainicjowałeś, zakończyła się sukcesem.
  • Niepowodzenie: Oznacza, że operacja, którą zainicjowałeś, zakończyła się niepowodzeniem.
  • Usunięte: Dotyczy Delete tylko operacji i oznacza, że reguła została usunięta i już nie obowiązuje.
  • InProgress: wskazuje, że operacja jest w toku. Stara reguła ma zastosowanie, gdy operacja jest w tym stanie.

Tworzenie reguły sieci wirtualnej przy użyciu programu PowerShell

Możesz użyć skryptu do tworzenia reguł sieci wirtualnej, korzystając z cmdlet New-AzSqlServerVirtualNetworkRule PowerShell lub az network vnet create. Aby uzyskać więcej informacji, zobacz Tworzenie punktu końcowego usługi sieci wirtualnej i reguły dla usługi SQL Database za pomocą programu PowerShell.

Użyj interfejsu API REST, aby utworzyć regułę sieci wirtualnej

Wewnętrznie polecenia cmdlet programu PowerShell dla akcji sieci wirtualnej SQL wywołują interfejsy API REST. Interfejsy API REST można wywoływać bezpośrednio. Aby uzyskać więcej informacji, zobacz Reguły sieci wirtualnej: Operacje.

Rozwiązywanie problemów z błędami 40914 i 40615

Błąd połączenia 40914 odnosi się do reguł sieci wirtualnej, jak określono w okienku Zapora w witrynie Azure Portal.
Błąd 40615 jest podobny, ale dotyczy reguł adresów IP na zaporze.

Błąd 40914

Tekst komunikatu: "Nie można otworzyć serwera "[server-name]" żądanego podczas logowania. Klient nie może uzyskać dostępu do serwera”.

Opis błędu: Klient znajduje się w podsieci z punktami końcowymi usługi sieci wirtualnej. Jednak serwer nie posiada reguły sieci wirtualnej, która przyznawałaby podsieci prawo do komunikacji z bazą danych.

Rozwiązanie błędu: w panelu Zapora witryny Azure Portal użyj kontrolki reguł sieci wirtualnej, aby dodać regułę sieci wirtualnej dla podsieci.

Błąd 40615

Tekst wiadomości: "Nie można otworzyć serwera "{0}" żądanego podczas logowania. Klient o adresie IP „{1}” nie może uzyskać dostępu do serwera”.

Opis błędu: Klient próbuje nawiązać połączenie z adresu IP, który nie jest autoryzowany do nawiązywania połączenia z serwerem. Zapora serwera nie ma reguły adresu IP, która umożliwia klientowi komunikowanie się z podanego adresu IP do bazy danych.

Rozwiązanie błędu: wprowadź adres IP klienta jako regułę adresu IP. Użyj panelu Firewall w portalu Azure, aby wykonać ten krok.

Punkty końcowe usługi sieci wirtualnej dla Azure Synapse Analytics

Więcej informacji można znaleźć w artykule Virtual Network Service endpoints and rules for Azure Synapse Analytics.