Konfigurera nätverks- och säkerhetsfunktioner
Viktiga nätverks- och säkerhetsfunktioner i Azure Database for MySQL – Flexibel server omfattar åtkomstkontroll, anslutning, stöd för Microsoft Entra-ID, en centraliserad plattform för hantering av identiteter, roller och behörigheter. MySQL-flexibla servrar krypterar också alla data under överföring som standard och aktiverar kryptering av vilande data med Azure- eller kundhanterade nycklar.
Nätverk
Konfigurera nätverksåtkomst
När du skapar en flexibel MySQL-server kan du välja antingen privat åtkomst via ett virtuellt Azure-nätverk eller offentlig åtkomst för tillåtna IP-adresser med en valfri privat slutpunkt. När du har slutfört avsnittet Grundläggande väljer du Nästa: Nätverk och väljer sedan antingen Offentlig åtkomst och Privat slutpunkt eller Privat åtkomst:
Om du väljer Offentlig åtkomst och Privat slutpunkt kan du välja om databasen ska exponeras för Internet. Om Tillåt offentlig åtkomst är avmarkerat är databasen endast tillgänglig för privata slutpunkter och använder inte en offentlig IP-adress. Om du vill behålla offentlig Internetåtkomst väljer du Tillåt offentlig åtkomst och lägger sedan till IP-adresser eller intervall i listan över tillåtna under avsnittet Brandväggsregler . Om du vill lägga till alla Azure-tjänster i Azure-nätverket i listan över tillåtna tjänster väljer du Tillåt offentlig åtkomst från valfri Azure-tjänst i Azure till den här servern.
Förutom eller i stället för offentlig åtkomst kan du konfigurera en privat slutpunkt. Eftersom Wingtip Toys planerar att använda ett VPN mellan sitt lokala nätverk och Azure hoppar vi över den privata slutpunkten. Mer information om hur du konfigurerar en privat länk finns i referensdokumentationen.
Om du bara vill tillåta anslutningar från det virtuella nätverket väljer du Privat åtkomst och väljer sedan lämplig prenumeration, virtuellt nätverk och undernät. Om du inte väljer ett virtuellt nätverk och undernät skapas ett nytt nätverk och undernät.
Slutligen måste du konfigurera Privat DNS integrering för att ansluta till ett fullständigt domännamn i stället för en IP-adress, vilket kan ändras. Välj en befintlig DNS-zon eller låt Azure skapa en ny åt dig.
Konfigurera kryptering under överföring
Som standard accepterar MySQL flexibla servrar endast krypterade anslutningar med TLS (Transport Layer Security) version 1.2. Om du utvecklar nya program som stöder TLS 1.3 rekommenderar vi att du stöder eller till och med framtvingar den nyare versionen. För att göra det, utför följande steg:
- I Azure Portal väljer du den flexibla MySQL-server som du vill ansluta till med TLS 1.3.
- I avsnittet Serverparametrar anger du tls_version i sökfältet i filtret Överst eller Alla .
-
I listrutan VÄRDE väljer du TLSv1.2 och/eller TLSv1.3 och väljer sedan Spara.
Du kan också tillåta okrypterade anslutningar genom att ställa in värdet för parametern require_secure_transport
på av, men detta rekommenderas inte om det inte är absolut nödvändigt.
Microsoft Defender for Cloud
Microsoft Defender för molnet är ett kostnadseffektivt sätt att identifiera och varna vid avvikande eller misstänkt databasaktivitet. Utför följande steg för att aktivera det:
I Azure Portal väljer du den flexibla MySQL-server som du vill skydda med Defender.
I avsnittet Microsoft Defender för molnet väljer du Aktivera.
Mer information om Defender, inklusive hur du konfigurerar aviseringar, finns i referensdokumentationen.
Aktivera och ansluta med Microsoft Entra ID-autentisering
Innan du börjar behöver du en korrekt konfigurerad användarhanterad identitet (UMI). Identiteten behöver rollen Katalogläsare eller dessa individuella behörigheter: User.Read.All, GroupMember.Read.All och Application.Read.ALL. Mer information om hur du lägger till dessa behörigheter finns i den här självstudien.
Utför följande steg för att aktivera Microsoft Entra ID-autentisering för en flexibel Azure Database for MySQL-server:
I Azure Portal väljer du den flexibla MySQL-server som du vill ansluta till med hjälp av Microsoft Entra-ID.
I avsnittet Säkerhet väljer du Autentisering.
Under rubriken Tilldela åtkomst till väljer du antingen: Endast Microsoft Entra-autentisering (inaktiverar inbyggd MySQL-användare/lösenordsinloggning) eller MySQL- och Microsoft Entra-autentisering (tillåter inbyggda MySQL - och Microsoft Entra-inloggningar).
Under rubriken Välj identitet väljer du den UMI som nämndes tidigare i den här lektionen.
Välj en Microsoft Entra-användare eller grupp som Microsoft Entra-administratör. Om du väljer en grupp är alla medlemmar i gruppen administratörer. Du kan bara ha en administratörsanvändare eller grupp och om du väljer en annan ersätts den tidigare administratören.
Med Microsoft Entra-ID aktiverat kan du nu ansluta till den flexibla MySQL-servern med Microsoft Entra ID-autentisering genom att utföra följande steg.
Autentisera ett gränssnitt med Azure. Om du använder Azure Cloud Shell är din identitet redan konfigurerad i sessionen, så du behöver inte logga in. Om du använder en oautentiserad terminal kör du följande kommandon:
az login az account set --subscription <subscription_id>
I ett autentiserat gränssnitt kör du följande kommando för att hämta en åtkomsttoken:
az account get-access-token --resource-type oss-rdbms
Om du vill logga in kopierar du den åtkomsttoken som visas och använder den som lösenord. Kör följande kommando i Linux för att skicka åtkomsttoken direkt till mysql-klienten:
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`
Om du använder PowerShell kör du följande kommando:
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)
När du använder andra klienter som MySQL Workbench klistrar du bara in åtkomsttoken i lösenordsfältet.
Kryptera vilande data med kundhanterade nycklar
Du kan konfigurera kryptering i vila med hjälp av Azure Portal eller med hjälp av Azure CLI. Innan du kan aktivera kryptering med kundhanterade nycklar måste du dock kontrollera att följande förutsättningar är uppfyllda:
Användarhanterad identitet (UMI). Du behöver en UMI för att databasen ska få åtkomst till nyckelvalvet.
Behörigheter. Konfigurera antingen rollbaserad åtkomst (IAM) eller en åtkomstprincip för valv och ge följande behörigheter till UMI: Hämta, Lista, Radbryt nyckel och Packa upp nyckel.
Aktivera [mjuk borttagning](/azure/key-vault/general/soft-delete-overview" /l "soft-delete-behavior). Om du av misstag förlorar åtkomsten till en krypteringsnyckel kan det leda till permanent dataförlust. Aktivera mjuk borttagning som ett skyddslager. När du använder Azure Portal för att skapa ett nytt nyckelvalv aktiveras mjuk borttagning som standard.
Om du känner till valvets namn men inte ID kan du leta upp det genom att köra:
az keyvault show --name $KEY_VAULT_NAME
Om du vill aktivera mjuk borttagning i ett befintligt valv kör du:
az resource update --id $KEY_VAULT_ID --set properties.enableSoftDelete=true
Aktivera rensningsskydd. En mjuk borttagen nyckel kan fortfarande rensas felaktigt före slutet av kvarhållningsperioden på grund av användar- eller kodfel. Om du använder rensningsskydd anges en kvarhållningsperiod för borttagna objekt innan de tas bort permanent.
Nu kan du använda Azure Portal eller Azure CLI för att konfigurera den kundhanterade nyckeln för att kryptera vilande data.
Om du använder Azure Portal:
Gå till din flexibla serverinstans och välj sedan Datakryptering under Säkerhet.
Under Datakryptering väljer du + Välj. I dialogrutan Välj användartilldelad hanterad identitet väljer du den användartilldelade hanterade identiteten som identifieras i förhandskraven, väljer identiteten och väljer sedan Lägg till.
Välj sedan ange en nyckelidentifierare och ange ID:t, eller i dialogrutan Väljnyckel väljer du nyckeln genom att ange identifieraren eller genom att välja ett nyckelvalv och en nyckel.
Välj Spara.
Om du använder Azure CLI kör du följande kommando:
az mysql flexible-server update --resource-group $RESOURCE_GROUP --name $TEST_SERVER --key $KEY_IDENTIFIER --identity $IDENTITY