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ę Prywatna strefa 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 for Cloud
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 dla Chmury 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ść musi mieć rolę Czytelnicy katalogu lub te indywidualne uprawnienia: 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 firmy Microsoft Entra (powoduje wyłączenie natywnego logowania użytkownika/hasła mySQL) lub uwierzytelnianie MySQL i Microsoft Entra (zezwala na natywne logowania MySQL i Microsoft Entra).
Pod nagłówkiem Wybierz tożsamość wybierz wskaźnik UMI wymieniony wcześniej w tej lekcji.
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 magazynu i przyznaj następujące uprawnienia do interfejsu użytkownika: Pobieranie, wyświetlanie listy, zawijanie klucza i odpakowywanie klucza.
Włącz [usuwanie nietrwałe](/azure/key-vault/general/soft-delete-overview" /l "zachowanie usuwania nietrwałego). 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_NAME
Aby włączyć usuwanie nietrwałe w istniejącym magazynie, uruchom polecenie:
az resource update --id $KEY_VAULT_ID --set properties.enableSoftDelete=true
Włącz ochronę przed przeczyszczaniem. 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 pozycję wprowadź identyfikator klucza i wprowadź identyfikator lub w oknie dialogowym Wybieranie klucza wybierz klucz, określając identyfikator lub wybierając magazyn kluczy i klucz.
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