Zabezpieczanie usługi Azure Database for MySQL

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.

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_transport włą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_version wartość TLS 1.3 na 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.

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/flexibleservers ustawień 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ę CanNotDelete do 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.

Następne kroki