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:

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änsterAV 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å:

  1. I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .

    Screenshot of the Azure portal page for a logical SQL database, highlighting the server name.

    Kommentar

    Se till att kopiera det fullständigt kvalificerade servernamnet (till exempel yourserver.database.windows.net) för användning senare i självstudien.

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

    Screenshot of the Azure portal Networking page for a logical SQL Server, showing the server-level IP firewall rule.

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

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

  1. Anslut till databasen med exempelvis SQL Server Management Studio.

  2. I Object Explorer högerklickar du på databasen och väljer Ny fråga.

  3. Ä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';
    
  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.

Screenshot of the Azure portal showing the Directory + subscription filter page, where you would choose the directory.

Så här anger du Microsoft Entra-administratören:

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

    Screenshot of the Azure portal Microsoft Entra ID page for a logical server.

    Viktigt!

    Du måste vara global administratör för att kunna utföra den här uppgiften.

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

    Screenshot of the Azure portal page to add a Microsoft Entra admin.

    Viktigt!

    Rollbaserad åtkomstkontroll i Azure (Azure RBAC) gäller endast för portalen och sprids inte till SQL Server.

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

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:

  1. Anslut till databasen med exempelvis SQL Server Management Studio.

  2. I Object Explorer högerklickar du på databasen och väljer Ny fråga.

  3. Skriv följande kommando i frågefönstret:

    CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    
  4. Välj Kör i verktygsfältet för att skapa användaren.

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

  1. Anslut till servern i Azure med ett Microsoft Entra-konto med minst ÄNDRA ANVÄNDARBEHÖRIGHET.

  2. I Object Explorer högerklickar du på databasen och väljer Ny fråga.

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

  1. I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .

  2. På databasens översiktssida klickar du på Visa databasanslutningssträngar.

  3. Välj en drivrutinsflik och kopiera den fullständiga anslutningssträngen.

    Screenshot of the Azure portal showing the connection strings page. The ADO.NET tab is selected and the ADO.NET (SQL authentication) connection string is displayed.

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:

  1. I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .

  2. översiktssidan väljer du Servernamn. Serversidan öppnas.

  3. På sidan SQL-server letar du reda på avsnittet Säkerhet och väljer Defender för molnet.

    1. Välj 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.

      Screenshot of the Azure portal Navigation pane for threat detection settings.

      Du kan också konfigurera e-postmeddelanden för att få säkerhetsaviseringar, lagringsinformation och typer för identifiering av hot.

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

    Screenshot of the Azure portal Threat status page showing pie charts for Data Discovery & Classification, Vulnerability Assessment, and Threat Detection.

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.

Screenshot of a sample email from Azure, indicating a Potential Sql Injection Threat detection. A link in the body of the email to Azure SQL DB Audit Logs is highlighted.

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:

  1. I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .

  2. I avsnittet Säkerhet väljer du Granskning.

  3. Under granskningsinställningarna anger du följande värden:

    1. Ställ in Granskning.

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

    3. Välj Spara.

      Screenshot of the Azure portal Audit settings page. The Save button is highlighted. Audit log destination fields are highlighted.

  4. Nu kan du välja Visa granskningsloggar för att visa databashändelsers data.

    Screenshot of the Azure portal page showing Audit records for a SQL database.

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:

  1. I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .

  2. I avsnittet Säkerhet väljer du Dynamisk datamaskning.

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

    Screenshot of the Azure portal page to Save or Add Dynamic Data Mask fields. Recommended fields to mask display schema, table, and columns of tables.

  4. Välj Spara. Den valda informationen maskeras nu för sekretess.

    Screenshot of SQL Server Management Studio (SSMS) showing a simple INSERT and SELECT statement. The SELECT statement displays masked data in the LastName column.

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:

  1. I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer din databas på sidan SQL-databaser .

  2. I avsnittet Säkerhet väljer du Transparent datakryptering.

  3. Om det behövs väljer du för Datakryptering. Välj Spara.

    Screenshot of the Azure portal page to enable Transparent Data Encryption.

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.

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.