Konfigurieren von Netzwerk- und Sicherheitsfeatures

Abgeschlossen

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:

Screenshot der Auswahl der Netzwerkkonnektivität zwischen öffentlichem und privatem Zugriff.

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.

Screenshot der Netzwerkkonnektivitätsauswahl für den öffentlichen Zugriff und eine Liste der Firewallregeln.

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.

Screenshot der Einstellungen für das virtuelle Netzwerk, einschließlich Abonnement, virtuellem Netzwerk und Subnetz.

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.

Screenshot der Konfiguration der privaten DNS-Integration.

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:

  1. Wählen Sie im Azure-Portal den flexiblen MySQL-Server aus, mit dem Sie eine Verbindung mit TLS 1.3 herstellen möchten.
  2. Geben Sie im Abschnitt Serverparameter tls_version, entweder in den Top oder Alle -Filtern, in die Suchleiste ein.
  3. Wählen Sie in der Dropdownliste VALUE TLSv1.2 und/oder TLSv1.3 aus, und wählen Sie dann Speichern aus. Screenshot der Serverparameter-tls-version.

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:

  1. Wählen Sie im Azure-Portal den flexiblen MySQL-Server aus, den Sie mit Defender schützen möchten.

  2. Wählen Sie im Abschnitt Microsoft Defender for Cloud Aktivieren aus.

Screenshot der Auswahl zum Aktivieren von Microsoft Defender for Cloud

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:

  1. Wählen Sie im Azure-Portal den flexiblen MySQL-Server aus, mit dem Sie eine Verbindung mit Microsoft Entra ID herstellen möchten.

  2. Wählen Sie im Abschnitt Security Authentifizierung aus.

    Screenshot der Microsoft Entra ID-Konfiguration

  3. 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).

  4. Wählen Sie unter der Überschrift Identitätsauswahl die zuvor in dieser Einheit erwähnte UMI aus.

  5. 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.

  6. 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>
    
  7. Führen Sie in einer authentifizierten Shell den folgenden Befehl aus, um ein Zugriffstoken abzurufen:

    az account get-access-token --resource-type oss-rdbms

  8. 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:

  1. Navigieren Sie zu Ihrer flexiblen Serverinstanz, und wählen Sie dann unter Sicherheit Datenverschlüsselung aus.

    Screenshot der Einstellungsseite zum Auswählen eines vom Kunden verwalteten Schlüssels.

  2. 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.

    Screenshot des Dialogfelds zum Auswählen einer vom Benutzer zugewiesenen verwalteten Identität.

  3. 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.

  4. 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