Konfigurowanie funkcji sieci i zabezpieczeń
Kluczowe funkcje sieci i zabezpieczeń w usłudze Azure Database for MySQL — serwer elastyczny obejmują kontrolę dostępu, łączność, obsługę identyfikatora Entra firmy Microsoft, scentralizowaną platformę do zarządzania tożsamościami, rolami i uprawnieniami. Serwery elastyczne MySQL również domyślnie szyfrują wszystkie dane przesyłane i umożliwiają szyfrowanie danych magazynowanych przy użyciu kluczy zarządzanych przez platformę Azure lub klienta.
Sieć
Konfigurowanie dostępu do sieci
Podczas tworzenia serwera elastycznego MySQL można wybrać dostęp prywatny za pośrednictwem sieci wirtualnej platformy Azure lub dostępu publicznego dla dozwolonych adresów IP z opcjonalnym prywatnym punktem końcowym. Po ukończeniu sekcji Podstawowe wybierz pozycję Dalej: Sieć, a następnie wybierz pozycję Dostęp publiczny i Prywatny punkt końcowy lub Dostęp prywatny:
Jeśli wybierzesz pozycję Dostęp publiczny i Prywatny punkt końcowy, możesz wybrać, czy udostępnić bazę danych w Internecie. Jeśli opcja Zezwalaj na dostęp publiczny nie jest zaznaczona, baza danych jest dostępna tylko przez prywatne punkty końcowe i nie korzysta z publicznego adresu IP. Aby zachować publiczny dostęp do Internetu, wybierz pozycję Zezwalaj na dostęp publiczny , a następnie w sekcji Reguły zapory dodaj adresy IP lub zakresy do listy dozwolonych. Aby dodać wszystkie usługi platformy Azure w sieci platformy Azure do listy dozwolonych, wybierz pozycję Zezwalaj na dostęp publiczny z dowolnej usługi platformy Azure na tym serwerze.
Oprócz dostępu publicznego lub zamiast publicznego można skonfigurować prywatny punkt końcowy. Ponieważ firma Wingtip Toys planuje obsługę sieci VPN między siecią lokalną a platformą Azure, pominiemy prywatny punkt końcowy. Aby uzyskać więcej informacji na temat konfigurowania łącza prywatnego, zobacz dokumentację referencyjną.
Aby zezwolić tylko na połączenia z sieci wirtualnej, wybierz pozycję Dostęp prywatny, a następnie wybierz odpowiednią subskrypcję, sieć wirtualną i podsieć. Jeśli nie wybierzesz sieci wirtualnej i podsieci, zostanie utworzona nowa sieć i podsieć.
Na koniec należy skonfigurować integrację prywatnej usługi DNS , aby nawiązać połączenie z w pełni kwalifikowaną nazwą domeny zamiast adresu IP, co może ulec zmianie. Wybierz istniejącą strefę DNS lub pozwól platformie Azure utworzyć nową strefę.
Konfigurowanie szyfrowania podczas przesyłania
Domyślnie serwery elastyczne MySQL akceptują tylko szyfrowane połączenia przy użyciu protokołu TLS (Transport Layer Security) w wersji 1.2. Jeśli tworzysz nowe aplikacje, które obsługują protokół TLS 1.3, zaleca się obsługę lub nawet wymuszanie nowszej wersji. W tym celu wykonaj następujące kroki:
- W witrynie Azure Portal wybierz serwer elastyczny MySQL, z którym chcesz nawiązać połączenie przy użyciu protokołu TLS 1.3.
- W sekcji Parametry serwera wprowadź tls_version na pasku wyszukiwania w filtrach Pierwsze lub Wszystkie .
- Z listy rozwijanej WARTOŚĆ wybierz pozycję TLSv1.2 i/lub TLSv1.3, a następnie wybierz pozycję Zapisz.
Można również zezwolić na połączenia niezaszyfrowane, ustawiając wartość parametru require_secure_transport na wyłączone, choć nie jest to zalecane, chyba że jest to konieczne.
Microsoft Defender dla Chmury
Microsoft Defender dla Chmury to ekonomiczny sposób wykrywania i powiadamiania o nietypowych lub podejrzanych działaniach bazy danych. Aby ją włączyć, wykonaj następujące kroki:
W witrynie Azure Portal wybierz serwer elastyczny MySQL, który chcesz chronić za pomocą usługi Defender.
W sekcji Microsoft Defender for Cloud wybierz pozycję Włącz.
Aby dowiedzieć się więcej o usłudze Defender, w tym o sposobie konfigurowania alertów, zobacz dokumentację referencyjną.
Włączanie i łączenie przy użyciu uwierzytelniania identyfikatora Entra firmy Microsoft
Przed rozpoczęciem potrzebna jest odpowiednio skonfigurowana tożsamość zarządzana przez użytkownika (UMI). Tożsamość potrzebuje roli Czytelnicy katalogu lub tych indywidualnych uprawnień: User.Read.All, GroupMember.Read.All i Application.Read.ALL. Aby uzyskać więcej informacji na temat dodawania tych uprawnień, zobacz ten samouczek.
Aby włączyć uwierzytelnianie identyfikatora Entra firmy Microsoft dla elastycznego serwera usługi Azure Database for MySQL, wykonaj następujące kroki:
W witrynie Azure Portal wybierz serwer elastyczny MySQL, z którym chcesz nawiązać połączenie przy użyciu identyfikatora Entra firmy Microsoft.
W sekcji Zabezpieczenia wybierz pozycję Uwierzytelnianie.
W nagłówku Przypisz dostęp do wybierz opcję: Tylko uwierzytelnianie Microsoft Entra (wyłącza natywne logowanie za pomocą użytkownika i hasła MySQL), lub uwierzytelnianie MySQL i Microsoft Entra (zezwala na natywne logowanie zarówno przez MySQL, jak i Microsoft Entra).
Pod nagłówkiem Wybierz tożsamość wybierz UMI wymieniony wcześniej w tej jednostce.
Wybierz użytkownika lub grupę firmy Microsoft Entra, aby być administratorem firmy Microsoft. Jeśli wybierzesz grupę, wszyscy członkowie grupy są administratorami. Możesz mieć tylko jednego administratora lub grupę, a wybranie innego zastępuje poprzedniego administratora.
Po włączeniu identyfikatora Entra firmy Microsoft możesz teraz nawiązać połączenie z serwerem elastycznym MySQL przy użyciu uwierzytelniania identyfikatora Entra firmy Microsoft, wykonując następujące kroki.
Uwierzytelnianie powłoki za pomocą platformy Azure. Jeśli używasz usługi Azure Cloud Shell, twoja tożsamość jest już skonfigurowana w sesji, więc nie trzeba się logować. Jeśli używasz nieuwierzytelnionego terminalu, uruchom następujące polecenia:
az login az account set --subscription <subscription_id>W uwierzytelnionej powłoce uruchom następujące polecenie, aby pobrać token dostępu:
az account get-access-token --resource-type oss-rdbms
Aby się zalogować, skopiuj przedstawiony token dostępu i użyj go jako hasła. Aby przekazać token dostępu bezpośrednio do klienta mysql, w systemie Linux uruchom następujące polecenie:
mysql -h mydb.mysql.database.azure.com \ --user user@tenant.onmicrosoft.com \ --enable-cleartext-plugin \ --password=`az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken`Jeśli używasz programu PowerShell, uruchom następujące polecenie:
mysql -h mydb.mysql.database.azure.com \ --user user@tenant.onmicrosoft.com \ --enable-cleartext-plugin \ --password=$(az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken)W przypadku korzystania z innych klientów, takich jak MySQL Workbench, wystarczy wkleić token dostępu do pola hasła.
Szyfrowanie danych magazynowanych przy użyciu kluczy zarządzanych przez klienta
Szyfrowanie magazynowane można skonfigurować przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. Jednak przed włączeniem szyfrowania za pomocą kluczy zarządzanych przez klienta należy sprawdzić, czy obowiązują następujące wymagania wstępne:
Tożsamość zarządzana przez użytkownika (UMI). Aby uzyskać dostęp do magazynu kluczy, potrzebna jest usługa UMI bazy danych.
Uprawnienia. Skonfiguruj dostęp oparty na rolach (IAM) lub zasady dostępu sejfu i przyznaj następujące uprawnienia do UMI: Pobierz, Wyświetl, Zawijaj klucz i Odwijaj klucz.
Włącz [soft-delete](/azure/key-vault/general/soft-delete-overview" /l "zachowanie soft-delete). Przypadkowe utratę dostępu do klucza szyfrowania może spowodować trwałą utratę danych. Włącz usuwanie nietrwałe jako warstwę ochrony. W przypadku tworzenia nowego magazynu kluczy za pomocą witryny Azure Portal usuwanie nietrwałe jest domyślnie włączone.
Jeśli znasz nazwę magazynu, ale nie identyfikator, możesz go wyszukać, uruchamiając polecenie:
az keyvault show --name $KEY_VAULT_NAMEAby włączyć usuwanie nietrwałe w istniejącym magazynie, uruchom polecenie:
az resource update --id $KEY_VAULT_ID --set properties.enableSoftDelete=trueWłącz ochronę przed usuwaniem. Klucz usunięty nietrwale może być nadal niepoprawnie przeczyszany przed końcem okresu przechowywania z powodu błędu użytkownika lub kodu. Użycie ochrony przed przeczyszczaniem ustawia okres przechowywania usuniętych obiektów przed ich trwałym usunięciem.
Teraz możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure, aby skonfigurować klucz zarządzany przez klienta w celu szyfrowania danych magazynowanych.
Jeśli używasz witryny Azure Portal:
Przejdź do wystąpienia serwera elastycznego, a następnie w obszarze Zabezpieczenia wybierz pozycję Szyfrowanie danych.
W obszarze Szyfrowanie danych wybierz pozycję + Wybierz. W oknie dialogowym Wybieranie tożsamości zarządzanej przypisanej przez użytkownika wybierz tożsamość zarządzaną przypisaną przez użytkownika zidentyfikowaną w wymaganiach wstępnych, wybierz tożsamość, a następnie wybierz pozycję Dodaj.
Następnie wybierz wprowadź identyfikator klucza i wprowadź identyfikator, lub w oknie dialogowym Wybierz klucz wybierz klucz poprzez określenie identyfikatora lub wybór magazynu kluczy i klucza.
Wybierz pozycję Zapisz.
Jeśli używasz interfejsu wiersza polecenia platformy Azure, uruchom następujące polecenie:
az mysql flexible-server update --resource-group $RESOURCE_GROUP --name $TEST_SERVER --key $KEY_IDENTIFIER --identity $IDENTITY