Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Database for MySQL jest w pełni zarządzaną usługą relacyjnej bazy danych, która zapewnia wysoką dostępność, automatyczne kopie zapasowe i skalowalne hostowanie bazy danych zgodnej z bazą danych MySQL. Zabezpieczanie wdrożeń serwera elastycznego pomaga chronić poufne dane, zmniejszać ryzyko związane z tożsamością i siecią oraz obsługiwać wymagania dotyczące zgodności.
Ten artykuł zawiera zalecenia dotyczące zabezpieczeń ułatwiające ochronę wdrożenia Azure Database for MySQL.
Zalecenia dotyczące zabezpieczeń w tym artykule implementują zasady Zero Trust: "Weryfikuj dokładnie", "Stosuj dostęp o najmniejszych uprawnieniach" i "Zakładaj, że doszło do naruszenia". Aby uzyskać kompleksowe wskazówki dotyczące zerowego zaufania, zobacz Centrum wskazówek dotyczących zerowego zaufania.
Bezpieczeństwo sieci
Mechanizmy zabezpieczeń sieciowych pomagają ograniczyć sposób uzyskiwania przez klientów dostępu do wystąpień serwera elastycznego Azure Database for MySQL oraz zmniejszyć narażenie na ruch z publicznego Internetu.
- Wyłącz dostęp do sieci publicznej dla serwerów produkcyjnych: wyłącz dostęp publiczny, gdy klienci mogą łączyć się za pośrednictwem prywatnych punktów końcowych, aby tylko prywatne ścieżki łączności mogły dotrzeć do serwera elastycznego. Aby uzyskać więcej informacji, zobacz Łącze prywatne dla usługi Azure Database for MySQL — serwer elastyczny.
- Użyj prywatnych punktów końcowych dla serwerów z dostępem publicznym: użyj usługi Private Link, aby udostępnić serwer elastyczny za pośrednictwem prywatnego adresu IP w sieci wirtualnej i ograniczyć dostęp do danych do zatwierdzonych połączeń z prywatnym punktem końcowym. Aby uzyskać więcej informacji, zobacz Łącze prywatne dla usługi Azure Database for MySQL — serwer elastyczny.
- Wdróż serwery dostępu prywatnego z integracją sieci wirtualnej: użyj integracji sieci wirtualnej, gdy serwer elastyczny musi zostać wstrzyknięty do delegowanej podsieci i uzyskiwany dostęp tylko z tej samej sieci wirtualnej, równorzędnych sieci wirtualnych, sieci VPN lub usługi ExpressRoute. Aby uzyskać więcej informacji, zobacz Dostęp do sieci prywatnej przy użyciu integracji sieci wirtualnej dla Azure Database for MySQL — serwer elastyczny.
- Ogranicz reguły zapory publicznej: używaj reguł zapory publicznej tylko w scenariuszach, które wymagają łączności publicznej, zezwalają tylko na określone zakresy IPv4 i unikają opcji zezwalania na dostęp ze wszystkich usług Azure, ponieważ mogą zezwalać na połączenia z subskrypcji innych klientów. Aby uzyskać więcej informacji, zobacz Dostęp do sieci publicznej dla Azure Database for MySQL — serwer elastyczny.
Zarządzanie tożsamością i dostępem
Mechanizmy kontroli tożsamości i dostępu pomagają scentralizować uwierzytelnianie, zmniejszyć narażenie na poświadczenia i wymusić najmniejsze uprawnienia zarówno dla operacji zarządzania Azure, jak i dostępu do bazy danych.
- Użyj uwierzytelniania Microsoft Entra na potrzeby dostępu do bazy danych: skonfiguruj uwierzytelnianie Microsoft Entra dla serwera elastycznego Azure Database for MySQL, aby użytkownicy i aplikacje mogli uwierzytelniać się przy użyciu tożsamości Microsoft Entra zamiast polegać tylko na hasłach MySQL. Aby uzyskać więcej informacji, zobacz uwierzytelnianie Microsoft Entra w usłudze Azure Database for MySQL — Serwer elastyczny.
- Jeśli to możliwe, używaj wyłącznie uwierzytelniania za pomocą usługi Microsoft Entra: po przeprowadzeniu migracji użytkowników i aplikacji na uwierzytelnianie Microsoft Entra wyłącz natywne uwierzytelnianie MySQL, aby ograniczyć metody dostępu oparte na hasłach na serwerze elastycznym. Aby uzyskać więcej informacji, zobacz uwierzytelnianie Microsoft Entra w usłudze Azure Database for MySQL — serwer elastyczny.
- Użyj tożsamości zarządzanych w połączeniach aplikacji: użyj tożsamości zarządzanych lub jednostek usługi przy użyciu uwierzytelniania Microsoft Entra, aby aplikacje łączyły się z usługą Azure Database for MySQL przy użyciu tokenów zamiast zakodowanych na stałe haseł bazy danych. Aby uzyskać więcej informacji, zobacz uwierzytelnianie Microsoft Entra w usłudze Azure Database for MySQL — Flexible Server.
- Przypisz uprawnienia bazy danych o najniższych uprawnieniach: utwórz dedykowanych użytkowników bazy danych MySQL lub Microsoft Entra zamapowanych użytkowników bazy danych dla każdej aplikacji lub funkcji administracyjnej i przyznaj tylko uprawnienia schematu, tabeli i operacji, których potrzebuje każda tożsamość. Aby uzyskać więcej informacji, zobacz Tworzenie użytkowników w usłudze Azure Database for MySQL.
- Wymuszanie dostępu warunkowego dla administratorów Azure Database for MySQL: stosowanie zasad dostępu warunkowego, które wymagają uwierzytelniania wieloskładnikowego dla tożsamości, które mogą zarządzać elastycznymi zasobami serwera za pomocą narzędzi Azure Resource Manager, takich jak portal Azure, Azure CLI i Azure PowerShell. Więcej informacji można znaleźć w artykule Wymagaj MFA dla zarządzania Azure.
Ochrona danych
Azure Database for MySQL szyfruje dane magazynowane przy użyciu kluczy zarządzanych przez usługę domyślnie. Poniższe kontrolki zapewniają większą kontrolę nad szyfrowaniem, zarządzaniem kluczami i szyfrowanymi połączeniami klientów.
-
Wymagaj zaszyfrowanych połączeń klienckich: zachowaj
require_secure_transportwłączone, aby połączenia klientów Azure Database for MySQL używały szyfrowania TLS i nie wysyłały ruchu bazy danych w postaci zwykłego tekstu. Aby uzyskać więcej informacji, zobacz Transport Layer Security (TLS) w Azure Database for MySQL. -
Wymuszanie protokołu TLS 1.3 dla serwerów MySQL 8.0: ustaw
tls_versionwartośćTLS 1.3na serwerach elastycznych Azure Database for MySQL 8.0 po potwierdzeniu, że aplikacje klienckie i sterowniki obsługują protokół TLS 1.3. Aby uzyskać więcej informacji, zobacz Transport Layer Security (TLS) w Azure Database for MySQL. - Zweryfikuj certyfikaty serwera od klientów: skonfiguruj aplikacje klienckie, aby zweryfikować łańcuch certyfikatów serwera i ufać tylko głównym urzędom certyfikacji, dlatego rutynowe rotacje certyfikatów pośredniczących lub certyfikatów serwera nie przerywają bezpiecznych połączeń. Aby uzyskać więcej informacji, zobacz Transport Layer Security (TLS) w Azure Database for MySQL.
- Użyj kluczy zarządzanych przez klienta w celu kontrolowania kluczy: użyj kluczy zarządzanych przez klienta przechowywanych w usłudze Azure Key Vault lub Azure Key Vault Managed HSM, gdy potrzebujesz rozdziału obowiązków, kontrolowanego przez klienta zarządzania cyklem życia kluczy lub większej kontroli nad zgodnością w zakresie szyfrowania danych przechowywanych. Aby uzyskać więcej informacji, zobacz Szyfrowanie danych przy użyciu kluczy zarządzanych przez klienta dla usługi Azure Database for MySQL.
- Chroń zależności klucza zarządzanego przez klienta: włącz usuwanie nietrwałe i ochronę przed trwałym usunięciem w usłudze Key Vault lub w zarządzanym module HSM przechowującym klucz zarządzany przez klienta, przypisz wymagane uprawnienia do klucza do tożsamości zarządzanej przypisanej przez użytkownika serwera i monitoruj dostęp do klucza, ponieważ utrata dostępu do klucza może spowodować, że serwer elastyczny stanie się niedostępny. Aby uzyskać więcej informacji, zobacz Szyfrowanie danych przy użyciu kluczy zarządzanych przez klienta dla usługi Azure Database for MySQL.
Rejestrowanie i monitorowanie
Mechanizmy kontroli rejestrowania i monitorowania pomagają wykrywać podejrzane działania bazy danych, badać zmiany administracyjne i zachowywać dowody inspekcji pod kątem zgodności.
-
Włącz dzienniki inspekcyjne MySQL: ustaw dla
audit_log_enabledwartośćON, wybierz typy zdarzeń inspekcyjnych, które odpowiadają wymaganiom dotyczącym zabezpieczeń i zgodności, oraz rejestruj zdarzenia połączeń, administracyjne, DDL i DML do analizy. Aby uzyskać więcej informacji, zobacz Samouczek: konfigurowanie dzienników inspekcji przy użyciu Azure Database for MySQL — serwer elastyczny. -
Przekierowywanie dzienników inspekcji do usługi Azure Monitor: Skonfiguruj ustawienia diagnostyczne, aby wysyłać kategorię dzienników zasobów
MySqlAuditLogsdo obszaru roboczego usługi Log Analytics, centrum zdarzeń lub konta magazynu, dzięki czemu można wykonywać zapytania dotyczące zdarzeń inspekcji w tabeliAzureDiagnostics, przechowywać materiał dowodowy oraz integrować zdarzenia inspekcji bazy danych z przepływami pracy w operacjach zabezpieczeń. Aby uzyskać więcej informacji, zobacz Samouczek: konfigurowanie dzienników inspekcji przy użyciu Azure Database for MySQL — serwer elastyczny. - Użyj skoroszytu inspekcji: użyj wbudowanego skoroszytu inspekcji Azure Monitor dla Azure Database for MySQL, aby przejrzeć akcje administracyjne, podsumowania inspekcji, zdarzenia połączenia, podsumowania dostępu do tabeli i zidentyfikowane błędy. Aby uzyskać więcej informacji, zobacz Samouczek: konfigurowanie dzienników inspekcji przy użyciu Azure Database for MySQL — serwer elastyczny.
- Włącz usługę Defender dla relacyjnych baz danych typu open source: włącz usługę Microsoft Defender dla relacyjnych baz danych typu open source w usłudze Microsoft Defender dla Chmury, aby wystąpienia serwera elastycznego Azure Database for MySQL mogły generować alerty o nietypowych lub potencjalnie szkodliwych działaniach w bazie danych. Aby uzyskać więcej informacji, zobacz Włączanie Defender dla relacyjnych baz danych typu open source w Azure.
Zgodność i ład
Mechanizmy kontroli zgodności i ładu pomagają wymusić spójną bezpieczną konfigurację w Azure Database for MySQL elastycznych flotach serwerów i chronić zasoby produkcyjne przed przypadkowymi lub nieautoryzowanymi zmianami.
-
Wymuszanie rejestrowania diagnostycznego przy użyciu Azure Policy: przypisywanie wbudowanych definicji Azure Policy dla
microsoft.dbformysql/flexibleserversustawień diagnostycznych, takich jak zasady, które kierują dzienniki do Log Analytics, usługi Event Hubs lub Storage, dzięki czemu elastyczne dane inspekcji serwera są zbierane spójnie. Aby uzyskać więcej informacji, zobacz Wbudowane definicje zasad usługi Azure Policy. -
Zastosuj blokady usuwania na serwerach produkcyjnych: Dodaj blokadę
CanNotDeletedo zasobów produkcyjnych serwerów elastycznych Azure Database for MySQL, aby zmniejszyć ryzyko przypadkowego usunięcia przy zachowaniu możliwości wprowadzania standardowych zmian operacyjnych. Aby uzyskać więcej informacji, zobacz Blokowanie zasobów platformy Azure w celu ochrony infrastruktury. - Tagowanie zasobów bazy danych na potrzeby nadzoru: Stosuj tagi, takie jak obciążenie, środowisko, klasyfikacja danych, właściciel i centrum kosztów, do zasobów usługi Azure Database for MySQL flexible server, aby przypisania zasad, zapytania dotyczące spisu zasobów i przeglądy kosztów mogły rozróżniać produkcyjne i wrażliwe obciążenia baz danych. Aby uzyskać więcej informacji, zobacz Użyj tagi do organizowania zasobów Azure i hierarchii zarządzania.
Kopia zapasowa i przywracanie
Mechanizmy tworzenia kopii zapasowych i odzyskiwania danych pomagają odzyskać dane po przypadkowym usunięciu, uszkodzeniu danych, awariach regionalnych i ryzykownych operacjach wprowadzania zmian.
- Skonfiguruj okres przechowywania kopii zapasowych zgodnie z celami odzyskiwania: ustaw okres przechowywania kopii zapasowych serwera elastycznego Azure Database for MySQL na wartość od 1 do 35 dni na podstawie wymagań dotyczących punktu odzyskiwania dla obciążenia i potrzeb w zakresie zgodności. Aby uzyskać więcej informacji, zobacz Tworzenie i przywracanie kopii zapasowej w usłudze Azure Database for MySQL.
- Użyj geograficznie nadmiarowej kopii zapasowej na potrzeby odzyskiwania regionalnego: włącz geograficznie nadmiarowy magazyn kopii zapasowych, gdy potrzebna jest replikacja kopii zapasowej do sparowanego regionu i możliwość przywracania geograficznego po awarii regionalnej. Aby uzyskać więcej informacji, zobacz Overview of business continuity with Azure Database for MySQL - Flexible Server (Omówienie ciągłości działania z Azure Database for MySQL — serwer elastyczny).
- Wyzwalaj kopie zapasowe na żądanie przed zmianami wysokiego ryzyka: utwórz kopię zapasową na żądanie przed migracjami schematu, ważnymi zmianami konfiguracji lub operacjami konserwacji, aby zachować ostatni punkt przywracania zgodny z zasadami przechowywania kopii zapasowych serwera. Aby uzyskać więcej informacji, zobacz Wyzwolenie kopii zapasowej na żądanie dla wystąpienia Azure Database for MySQL — Flexible Server przy użyciu witryny Azure Portal.
- Testowanie procedur przywracania: Zweryfikuj procedury przywracania do punktu w czasie i przywracania geograficznego dla reprezentatywnych obciążeń roboczych, aby poznać ustawienia serwera, tagi, reguły sieciowe i działania po przywróceniu wymagane podczas odzyskiwania. Aby uzyskać więcej informacji, zobacz Tworzenie i przywracanie kopii zapasowej w usłudze Azure Database for MySQL.
Następne kroki
- Najlepsze praktyki architektoniczne dla Azure Database for MySQL
- Centrum wskazówek zero trust
- Uwierzytelnianie Microsoft Entra dla Azure Database for MySQL — Flexible Server
- Transport Layer Security (TLS) w usłudze Azure Database for MySQL
- Tworzenie kopii zapasowej i przywracanie w usłudze Azure Database for MySQL