Självstudie: Skydda en databas i Azure SQL Database
Gäller för:Azure SQL Database
I den här självstudiekursen får du lära du dig att:
- Skapa brandväggsregler på servernivå och databasnivå
- Konfigurera en Microsoft Entra-administratör
- Hantera användaråtkomst med SQL-autentisering, Microsoft Entra-autentisering och säkra anslutningssträng
- Aktivera säkerhetsfunktioner, till exempel Microsoft Defender för SQL, granskning, datamaskering och kryptering
Kommentar
Microsoft Entra-ID är det nya namnet för Azure Active Directory (Azure AD). Vi uppdaterar dokumentationen just nu.
Azure SQL Database skyddar data genom att låta dig:
- Begränsa åtkomst med hjälp av brandväggsregler
- Använd autentiseringsmekanismer som kräver identitet
- Använda auktorisering med rollbaserade medlemskap och behörigheter
- Aktivera säkerhetsfunktioner
Kommentar
Azure SQL Managed Instance skyddas med hjälp av nätverkssäkerhetsregler och privata slutpunkter enligt beskrivningen i Azure SQL Managed Instance och anslutningsarkitektur.
Mer information finns i artiklarna Säkerhetsöversikt för Azure SQL Database och Funktioner.
Dricks
Den här kostnadsfria Learn-modulen visar hur du skyddar din databas i Azure SQL Database.
Förutsättningar
För att kunna slutföra den här självstudien behöver du följande:
- SQL Server Management Studio
- En server och en enskild databas
- Skapa dem med Azure-portalen, CLI eller PowerShell
Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Logga in på Azure-portalen
Logga in på Azure-portalen för alla steg i självstudien
Skapa brandväggsregler
Databaser i SQL Database skyddas av brandväggar i Azure. Som standard avvisas alla anslutningar till servern och databasen. Mer information finns i brandväggsregler på servernivå och databasnivå.
Ställ in Tillåt åtkomst till Azure-tjänster på AV för den säkraste konfigurationen. Skapa sedan en reserverad IP (klassisk distribution) för resursen som behöver anslutas, till exempel en virtuell Azure-dator eller molntjänst, och tillåt endast att den IP-adressen får åtkomst via brandväggen. Om du använder Resource Manager-distributionsmodellen krävs en dedikerad offentlig IP-adress för varje resurs.
Kommentar
SQL Database kommunicerar via port 1433. Om du försöker ansluta inifrån ett företagsnätverk kan det hända att utgående trafik via port 1433 inte tillåts av nätverkets brandvägg. I så fall kan du inte ansluta till servern om inte administratören öppnar port 1433.
Konfigurera brandväggsregler på servernivå
IP-brandväggsregler på servernivå gäller för alla databaser på samma server.
Konfigurera en brandväggsregel på servernivå:
I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .
Kommentar
Se till att kopiera det fullständigt kvalificerade servernamnet (till exempel yourserver.database.windows.net) för användning senare i självstudien.
Välj Nätverk under Inställningar. Välj fliken Offentlig åtkomst och välj sedan Valda nätverk under Åtkomst till offentligt nätverk för att visa avsnittet Brandväggsregler .
Välj Lägg till klient-IP i verktygsfältet för att lägga till din aktuella IP-adress i en ny IP-brandväggsregel. Med en IP-brandväggsregel kan du öppna port 1433 för en enskild IP-adress eller för IP-adressintervall.
Välj OK för att spara brandväggsinställningarna.
Nu kan du ansluta till valfri databas på servern med IP-adressen eller IP-adressintervallet som angetts.
Konfigurera brandväggsregler för databaser
Brandväggsregler på databasnivå gäller endast för enskilda databaser. Databasen behåller dessa regler under en serverredundansväxling. Brandväggsregler på databasnivå kan bara konfigureras med instruktioner för Transact-SQL (T-SQL), och bara efter att du har konfigurerat en brandväggsregel på servernivå.
Så här konfigurerar du en brandväggsregel på databasnivå:
Anslut till databasen med exempelvis SQL Server Management Studio.
I Object Explorer högerklickar du på databasen och väljer Ny fråga.
Ändra IP-adressen till din offentliga IP-adress i frågefönstret och lägg till instruktionen:
EXECUTE sp_set_database_firewall_rule N'Example DB Rule','0.0.0.4','0.0.0.4';
Välj Kör i verktygsfältet för att skapa brandväggsregeln.
Kommentar
Du kan också skapa en brandväggsregel på servernivå i SSMS med kommandot sp_set_firewall_rule, men du måste vara ansluten till master-databasen.
Skapa en Microsoft Entra-administratör
Kontrollera att du använder rätt Microsoft Entra-ID (tidigare Azure Active Directory) hanterad domän. Om du vill välja din domän använder du det övre högra hörnet i Azure-portalen. Den här processen bekräftar att samma prenumeration används för både Microsoft Entra-ID och den logiska server som är värd för databasen eller informationslagret.
Så här anger du Microsoft Entra-administratören:
På sidan SQL-server i Azure-portalen väljer du Microsoft Entra-ID på resursmenyn och väljer sedan Ange administratör för att öppna fönstret Microsoft Entra-ID..
Viktigt!
Du måste vara global administratör för att kunna utföra den här uppgiften.
I fönstret Microsoft Entra-ID söker du efter och väljer Microsoft Entra-användaren eller gruppen och väljer Välj. Alla medlemmar och grupper i din Microsoft Entra-organisation visas och poster som är nedtonade stöds inte som Microsoft Entra-administratörer. Se Microsoft Entra-funktioner och begränsningar.
Viktigt!
Rollbaserad åtkomstkontroll i Azure (Azure RBAC) gäller endast för portalen och sprids inte till SQL Server.
Längst upp på administratörssidan för Microsoft Entra väljer du Spara.
Det kan ta flera minuter att ändra en administratör. Den nya administratören visas i administrationsfältet Microsoft Entra .
Kommentar
När du anger en Microsoft Entra-administratör kan det nya administratörsnamnet (användaren eller gruppen) inte finnas som inloggning eller användare i huvuddatabasen. Om den gör det misslyckas installationen och ändringarna återställs, vilket indikerar att det redan finns ett administratörsnamn. Eftersom serverinloggningen eller användaren inte ingår i Microsoft Entra-ID:t misslyckas alla försök att ansluta användaren med Microsoft Entra-autentisering.
Information om hur du konfigurerar Microsoft Entra-ID finns i:
- Integrera dina lokala identiteter med Microsoft Entra-ID
- Lägga till ditt eget domännamn i Microsoft Entra-ID
- Federation med Microsoft Entra-ID
- Administrera din Microsoft Entra-katalog
- Hantera Microsoft Entra-ID med PowerShell
- Portar och protokoll som krävs för hybrididentitet
Hantera databasåtkomst
Hantera åtkomst till databasen genom att lägga till användare i databasen eller tillåta användaråtkomst med säkra anslutningssträngar. Anslutningssträngar är användbara för externa program. Mer information finns i Hantera inloggningar och användarkonton och Microsoft Entra-autentisering.
Välj autentiseringstyp för databasen för att lägga till användare:
SQL-autentisering, som använder användarnamn och lösenord för inloggning, och användarna är endast behöriga i kontexten av en specifik databas inom servern
Microsoft Entra-autentisering, använd identiteter som hanteras av Microsoft Entra-ID
SQL-autentisering
Så här lägger du till en användare med SQL-autentisering:
Anslut till databasen med exempelvis SQL Server Management Studio.
I Object Explorer högerklickar du på databasen och väljer Ny fråga.
Skriv följande kommando i frågefönstret:
CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
Välj Kör i verktygsfältet för att skapa användaren.
Som standard kan användaren ansluta till databasen, men har inte behörighet att läsa eller skriva data. Om du vill bevilja de här behörigheterna kör du följande två kommandon i ett nytt frågefönster:
ALTER ROLE db_datareader ADD MEMBER ApplicationUser; ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
Kommentar
Skapa icke-administratörskonton på databasnivå, såvida de inte behöver köra administratörsåtgärder som att skapa nya användare.
Microsoft Entra-autentisering
Eftersom Azure SQL Database inte stöder Microsoft Entra-serverhuvudkonton (inloggningar) skapas databasanvändare som skapats med Microsoft Entra-konton som oberoende databasanvändare. En innesluten master
databasanvändare är inte associerad med en inloggning i databasen, även om det finns en inloggning med samma namn. Microsoft Entra-identiteten kan antingen vara för en enskild användare eller en grupp. Mer information finns i Oberoende databasanvändare, gör databasen portabel och läs självstudien om hur du autentiserar med Microsoft Entra-ID.
Kommentar
Databasanvändare (exklusive administratörer) kan inte skapas med hjälp av Azure-portalen. Microsoft Entra-roller sprids inte till SQL-servrar, databaser eller informationslager. De används endast för att hantera Azure-resurser och gäller inte för databasbehörigheter.
Till exempel beviljar rollen SQL Server-deltagare inte åtkomst för att ansluta till en databas eller ett datalager. Den här behörigheten måste beviljas i databasen med hjälp av T-SQL-instruktioner.
Viktigt!
Specialtecken som kolon :
eller et-tecken &
stöds inte i användarnamn i T-SQL CREATE LOGIN
och CREATE USER
instruktioner.
Så här lägger du till en användare med Microsoft Entra-autentisering:
Anslut till servern i Azure med ett Microsoft Entra-konto med minst ÄNDRA ANVÄNDARBEHÖRIGHET.
I Object Explorer högerklickar du på databasen och väljer Ny fråga.
I frågefönstret anger du följande kommando och ändrar
<Azure_AD_principal_name>
till huvudnamnet för Microsoft Entra-användaren eller visningsnamnet för Microsoft Entra-gruppen:CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
Kommentar
Microsoft Entra-användare markeras i databasmetadata med typ E (EXTERNAL_USER)
och typ X (EXTERNAL_GROUPS)
för grupper. Mer information finns i sys.database_principals.
Skydda anslutningssträngar
För att säkerställa en säker, krypterad anslutning mellan klientprogrammet och SQL Database måste en anslutningssträng konfigureras för att:
- Begära en krypterad anslutning
- Inte lita på servercertifikatet
Anslutningen upprättas med TLS (Transport Layer Security) och risken för MITM-attacker (man-in-the-middle) minskar. Anslutningssträngar är tillgängliga per databas och har redan konfigurerats för att stödja klientdrivrutiner som ADO.NET, JDBC, ODBC och PHP. Information om TLS och anslutningar finns i avsnittet om TLS-specifika överväganden.
Så här kopierar du en säker anslutningssträng:
I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .
På databasens översiktssida klickar du på Visa databasanslutningssträngar.
Välj en drivrutinsflik och kopiera den fullständiga anslutningssträngen.
Aktivera säkerhetsfunktioner
Azure SQL Database innehåller säkerhetsfunktioner som nås med hjälp av Azure-portalen. Dessa funktioner är tillgängliga för både databasen och servern, förutom datamaskning, som endast är tillgängligt för databasen. Mer information finns i Microsoft Defender för SQL, granskning, dynamisk datamaskning och transparent datakryptering.
Microsoft Defender for SQL
Microsoft Defender för SQL-funktionen identifierar potentiella hot när de inträffar och ger säkerhetsaviseringar om avvikande aktiviteter. Användare kan utforska misstänkta händelser med granskningsfunktionen och avgöra om händelsen orsakades av ett försök att komma åt, tränga in i eller utnyttja data i databasen. Användare kan också få en översikt över säkerhet som innehåller en sårbarhetsbedömning och verktyget för dataidentifiering och klassificering.
Kommentar
Ett exempel på hot är SQL-inmatning, en process där angripare matar in skadliga SQL i indataprogrammet. Ett program kan sedan omedvetet köra skadlig SQL och ge angripare åtkomst till att tränga in i eller ändra data i databasen.
Så här aktiverar du Microsoft Defender för SQL:
I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .
På översiktssidan väljer du Servernamn. Serversidan öppnas.
På sidan SQL-server letar du reda på avsnittet Säkerhet och väljer Defender för molnet.
Välj PÅ under Microsoft Defender för SQL för att aktivera funktionen. Välj ett lagringskonto för att spara resultat av sårbarhetsbedömning. Välj sedan Spara.
Du kan också konfigurera e-postmeddelanden för att få säkerhetsaviseringar, lagringsinformation och typer för identifiering av hot.
Gå tillbaka till sidan SQL-databaser i databasen och välj Defender för molnet under avsnittet Säkerhet. Här hittar du olika säkerhetsindikatorer som är tillgängliga för databasen.
Om avvikande aktiviteter identifieras får du ett e-postmeddelande med information om händelsen. Detta inkluderar typen av aktivitet, databas, server, tidpunkt för händelsen, möjliga orsaker och rekommenderade åtgärder för att undersöka och minimera det potentiella hotet. Om du får ett sådant e-postmeddelande väljer du länken för Azure SQL-granskningsloggen för att starta Azure-portalen och visa relevanta granskningsposter för händelsens tidpunkt.
Granskning
Granskningsfunktionen spårar databashändelser och skriver händelser till en granskningslogg i antingen Azure Storage, Azure Monitor-loggar eller till en händelsehubb. Granskning hjälper till att upprätthålla regelefterlevnad, förstå databasaktiviteter och få insikter om i avvikelser och fel som kan tyda på potentiella säkerhetsöverträdelser.
Så här aktiverar du granskning:
I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .
I avsnittet Säkerhet väljer du Granskning.
Under granskningsinställningarna anger du följande värden:
Ställ in Granskning på PÅ.
Välj Mål för spårningsloggen som något av följande:
Storage, ett Azure Storage-konto där händelseloggar sparas och kan laddas ned som .xel-filer
Dricks
Använd samma lagringskonto för alla granskade databaser för att få ut mesta möjliga av granskningsrapportmallarna.
Log Analytics, som automatiskt lagrar händelser för frågor eller ytterligare analys
Kommentar
En Log Analytics-arbetsyta krävs för att stödja avancerade funktioner som analys, anpassade aviseringsregler och Excel- eller Power BI-exporter. Utan en arbetsyta är endast frågeredigeraren tillgänglig.
Event Hub, som tillåter att händelser dirigeras för användning i andra program
Välj Spara.
Nu kan du välja Visa granskningsloggar för att visa databashändelsers data.
Viktigt!
Se SQL Database-granskning om hur du ytterligare anpassar granskningshändelser med hjälp av PowerShell eller REST API.
Dynamisk datamaskning
Funktionen för datamaskning kommer automatiskt att dölja känsliga data i databasen.
Så här aktiverar du datamaskning:
I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .
I avsnittet Säkerhet väljer du Dynamisk datamaskning.
Under inställningarna för Dynamisk datamaskning väljer du Lägg till mask för att lägga till en maskningsregel. Azure fyller automatiskt i tillgängliga databasscheman, tabeller och kolumner att välja bland.
Välj Spara. Den valda informationen maskeras nu för sekretess.
Transparent datakryptering
Krypteringsfunktionen krypterar automatiskt dina vilande data och kräver inga ändringar i program som har åtkomst till den krypterade databasen. Kryptering är standard för nya databaser. Du kan också kryptera data med hjälp av SSMS och funktionen Alltid krypterad.
Så här aktiverar eller kontrollerar du kryptering:
I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .
I avsnittet Säkerhet väljer du Transparent datakryptering.
Om det behövs väljer du PÅ för Datakryptering. Välj Spara.
Kommentar
Om du vill visa krypteringsstatus ansluter du till databasen med SSMS och frågar efter kolumnen encryption_state
i vyn sys.dm_database_encryption_keys. Tillståndet 3
anger att databasen är krypterad.
Kommentar
Vissa objekt som anses vara kundinnehåll, till exempel tabellnamn, objektnamn och indexnamn, kan överföras i loggfiler för support och felsökning av Microsoft.
Relaterat innehåll
- Prova Azure SQL Database kostnadsfritt (förhandsversion)
- Vad är nytt i Azure SQL Database?
- Konfigurera och hantera innehållsreferens – Azure SQL Database
- Planera och hantera kostnader för Azure SQL Database
Dricks
Är du redo att börja utveckla ett .NET-program? Den här kostnadsfria Learn-modulen visar hur du utvecklar och konfigurerar ett ASP.NET program som kör frågor mot en Azure SQL Database, inklusive skapandet av en enkel databas.
Gå vidare
I nästa självstudie får du lära dig hur du implementerar en geo-distribution.