Konfigurieren von Netzwerk- und Sicherheitsfeatures
Zu den wichtigsten Netzwerk- und Sicherheitsfeatures in der Azure-Database for MySQL – flexible Server gehören Zugriffssteuerung, Konnektivität, Unterstützung für Microsoft Entra ID, eine zentrale Plattform für die Verwaltung von Identitäten, Rollen und Berechtigungen. Flexible MySQL-Server verschlüsseln auch standardmäßig alle Daten während der Übertragung und bieten die Möglichkeit, ruhende Daten mit von Azure- oder kundenseitig verwalteten Schlüsseln zu verschlüsseln.
Netzwerk
Konfigurieren des Netzwerkzugriffs
Beim Erstellen eines flexiblen MySQL-Servers können Sie entweder privaten Zugriff über ein virtuelles Azure-Netzwerk oder öffentlichen Zugriff für zugelassene IP-Adressen mit einem optionalen privaten Endpunkt auswählen. Nachdem Sie den Abschnitt Grundlagen abgeschlossen haben, wählen Sie Weiter aus: Networking, und wählen Sie dann entweder öffentlichen Zugriff und privaten Endpunkt oder privaten Zugriff aus:
Wenn Sie öffentlichen Zugriff und privaten Endpunkt auswählen, können Sie auswählen, ob die Datenbank für das Internet verfügbar gemacht werden soll. Wenn Öffentlichen Zugriff zulassen deaktiviert ist, kann auf die Datenbank nur von privaten Endpunkten zugegriffen und keine öffentliche IP-Adresse verwendet werden. Um den öffentlichen Internetzugriff beizubehalten, wählen Sie Öffentlichen Zugriff zulassen aus, und fügen Sie dann im Abschnitt Firewallregeln IP-Adressen oder Bereiche der Positivliste hinzu. Um alle Azure-Dienste im Azure-Netzwerk zur Zulassungsliste hinzuzufügen, wählen Sie Öffentlichen Zugriff von einem beliebigen Azure-Dienst in Azure auf diesen Server zulassen.
Zusätzlich zu oder anstelle des öffentlichen Zugriffs können Sie einen privaten Endpunkt konfigurieren. Da Wingtip Toys plant, eine VPN zwischen ihrem lokalen Netzwerk und Azure zu betreiben, wird der private Endpunkt übersprungen. Weitere Informationen zum Einrichten einer privaten Verbindung finden Sie in der Referenzdokumentation.
Um nur Verbindungen aus dem virtuellen Netzwerk zuzulassen, wählen Sie privaten Zugriff aus, und wählen Sie dann das entsprechende Abonnement, virtuelles Netzwerk und Subnetz aus. Wenn Sie kein virtuelles Netzwerk und Subnetz auswählen, werden ein neues Netzwerk und Subnetz erstellt.
Schließlich müssen Sie die Private DNS-Integration einrichten, um eine Verbindung mit einem vollqualifizierten Domänennamen anstelle einer IP-Adresse herzustellen, die sich ändern kann. Wählen Sie eine vorhandene DNS-Zone aus, oder lassen Sie Azure eine Neue für Sie erstellen.
Konfigurieren der Verschlüsselung während der Übertragung
Standardmäßig akzeptieren flexible MySQL-Server nur verschlüsselte Verbindungen mit TLS (Transport Layer Security) Version 1.2. Wenn Sie neue Anwendungen entwickeln, die TLS 1.3 unterstützen, wird empfohlen, die neuere Version zu unterstützen oder sogar zu erzwingen. Gehen Sie dafür wie folgt vor:
- Wählen Sie im Azure-Portal den flexiblen MySQL-Server aus, mit dem Sie eine Verbindung mit TLS 1.3 herstellen möchten.
- Geben Sie im Abschnitt Serverparameter tls_version, entweder in den Top oder Alle -Filtern, in die Suchleiste ein.
- Wählen Sie in der Dropdownliste VALUE TLSv1.2 und/oder TLSv1.3 aus, und wählen Sie dann Speichern aus.
Sie können auch unverschlüsselte Verbindungen zulassen, indem Sie den Wert des require_secure_transport
-Parameters auf „off“ festlegen. Dies wird jedoch nur empfohlen, wenn es unbedingt erforderlich ist.
Microsoft Defender für Cloud
Microsoft Defender for Cloud ist eine kostengünstige Möglichkeit, um anomale oder verdächtige Datenbankaktivitäten zu erkennen und zu melden. Führen Sie zum Aktivieren die folgenden Schritte aus:
Wählen Sie im Azure-Portal den flexiblen MySQL-Server aus, den Sie mit Defender schützen möchten.
Wählen Sie im Abschnitt Microsoft Defender for Cloud Aktivieren aus.
Weitere Informationen zu Defender, einschließlich der Konfiguration von Warnungen, finden Sie in der Referenzdokumentation.
Aktivieren und Verbinden mithilfe der Microsoft Entra ID-Authentifizierung
Bevor Sie beginnen, benötigen Sie eine entsprechend konfigurierte vom Benutzer verwaltete Identität (User Managed Identity, UMI). Die Identität benötigt die Rolle Verzeichnisleseberechtigte oder diese einzelnen Berechtigungen: User.Read.All, GroupMember.Read.All und Application.Read.ALL. Weitere Informationen zum Hinzufügen dieser Berechtigungen finden Sie in diesem Lernprogramm.
Führen Sie die folgenden Schritte aus, um die Microsoft Entra ID-Authentifizierung für eine Azure-Datenbank für flexible MySQL-Server zu aktivieren:
Wählen Sie im Azure-Portal den flexiblen MySQL-Server aus, mit dem Sie eine Verbindung mit Microsoft Entra ID herstellen möchten.
Wählen Sie im Abschnitt Security Authentifizierung aus.
Wählen Sie unter der Überschrift Zugriffszuweisung auf, eine der folgenden Optionen aus: Nur Microsoft Entra-Authentifizierung (deaktiviert native MySQL-Anmeldungen mit Benutzername/Kennwort) oder MySQL- und Microsoft Entra-Authentifizierung (ermöglicht native MySQL- und Microsoft Entra-Anmeldungen).
Wählen Sie unter der Überschrift Identitätsauswahl die zuvor in dieser Einheit erwähnte UMI aus.
Wählen Sie einen Microsoft Entra-Benutzer oder -Gruppe aus, um Microsoft Entra-Admin zu sein. Wenn Sie eine Gruppe auswählen, sind alle Mitglieder der Gruppe Administratoren. Sie können nur über einen Administratorbenutzer oder eine Gruppe verfügen und durch die Auswahl eines Weiteren, wird der vorherige Administrator ersetzt.
Mit aktivierter Microsoft Entra-ID können Sie jetzt mithilfe der Microsoft Entra ID-Authentifizierung eine Verbindung mit dem flexiblen MySQL-Server herstellen, indem Sie die folgenden Schritte ausführen.
Authentifizieren einer Shell mit Azure. Wenn Sie Azure Cloud Shell verwenden, ist Ihre Identität bereits in der Sitzung konfiguriert, sodass keine Anmeldung erforderlich ist. Wenn Sie ein nicht authentifiziertes Terminal verwenden, führen Sie die folgenden Befehle aus:
az login az account set --subscription <subscription_id>
Führen Sie in einer authentifizierten Shell den folgenden Befehl aus, um ein Zugriffstoken abzurufen:
az account get-access-token --resource-type oss-rdbms
Kopieren Sie zum Anmelden das angezeigte Zugriffstoken, und verwenden Sie es als Kennwort. Um das Zugriffstoken direkt an den MySQL-Client zu übergeben, führen Sie unter Linux den folgenden Befehl aus:
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`
Führen Sie den folgenden Befehl aus, wenn Sie PowerShell verwenden:
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)
Wenn Sie andere Clients wie MySQL Workbench verwenden, fügen Sie einfach das Zugriffstoken in das Kennwortfeld ein.
Verschlüsselung ruhender Daten mit kundenseitig verwalteten Schlüsseln
Sie können die ruhende Verschlüsselung über das Azure-Portal oder mithilfe der Azure CLI konfigurieren. Bevor Sie jedoch die Verschlüsselung mit von Kunden verwalteten Schlüsseln aktivieren können, müssen Sie überprüfen, dass die folgenden Voraussetzungen gegeben sind:
Benutzerseitig verwaltete Identität (User Managed Identity, UMI). Für den Zugriff auf den Schlüsseltresor benötigen Sie eine UMI für die Datenbank.
Berechtigungen Richten Sie entweder rollenbasierten Zugriff (IAM) oder eine Tresor-Zugriffsrichtlinie ein, und erteilen Sie der UMI die folgenden Berechtigungen: Get, List, Wrap key, und Unwrap key.
Aktivierung [vorläufiges Löschen](/azure/key-vault/general/soft-delete-overview" /l "soft-delete-behavior"). Versehentlicher Verlust des Zugriffs auf einen Verschlüsselungsschlüssel kann zu einem dauerhaften Datenverlust führen. Aktivieren Sie das vorläufige Löschen als Schutzebene. Wenn Sie das Azure-Portal zum Erstellen eines neuen Schlüsseltresors verwenden, ist das vorläufige Löschen standardmäßig aktiviert.
Wenn Sie den Namen des Tresors, aber nicht die ID kennen, können Sie ihn nachschlagen, indem Sie folgendes ausführen:
az keyvault show --name $KEY_VAULT_NAME
Führen Sie Folgendes aus, um das vorläufige Löschen in einem vorhandenen Tresor zu aktivieren:
az resource update --id $KEY_VAULT_ID --set properties.enableSoftDelete=true
Löschschutz aktivieren. Ein vorläufig gelöschter Schlüssel kann aufgrund eines Benutzer- oder Codefehlers weiterhin fälschlicherweise vor dem Ende des Aufbewahrungszeitraums gelöscht werden. Durch die Verwendung des Löschschutzes wird ein Aufbewahrungszeitraum für gelöschte Objekte festgelegt, bevor diese endgültig entfernt werden.
Jetzt können Sie das Azure-Portal oder die Azure-Befehlszeilenschnittstelle verwenden, um den kundenseitig verwalteten Schlüssel zum Verschlüsseln ruhender Daten zu konfigurieren.
Wenn Sie das Azure-Portal verwenden:
Navigieren Sie zu Ihrer flexiblen Serverinstanz, und wählen Sie dann unter Sicherheit Datenverschlüsselung aus.
Wählen Sie unter Datenverschlüsselung + Auswählen aus. Wählen Sie im Dialogfeld Benutzerseitig zugewiesene verwaltete Identität auswählen die in den Voraussetzungen identifizierte verwaltete Identität des Benutzers aus, wählen Sie dann die Identität, und schließlich Hinzufügen aus.
Wählen Sie entweder Schlüsselbezeichner eingeben aus, und geben Sie dann die ID ein, oder wählen Sie im Dialogfeld Auswahl des Schlüssels den Schlüssel aus, indem Sie den Bezeichner angeben oder einen Schlüsseltresor und Schlüssel auswählen.
Wählen Sie Speichern.
Wenn Sie die Azure-Befehlszeilenschnittstelle verwenden, führen Sie den folgenden Befehl aus:
az mysql flexible-server update --resource-group $RESOURCE_GROUP --name $TEST_SERVER --key $KEY_IDENTIFIER --identity $IDENTITY