Självstudiekurs: 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 dig att:

  • Skapa brandväggsregler på servernivå och databasnivå
  • Konfigurera en Azure Active Directory (Azure AD)-administratör
  • Hantera användaråtkomst med SQL, Azure AD-autentisering och säkra anslutningssträngar
  • Aktivera säkerhetsfunktioner, till exempel Microsoft Defender för SQL, granskning, datamaskering och kryptering

Azure SQL Database data genom att göra följande:

  • Begränsa åtkomst med hjälp av brandväggsregler
  • Använd autentiseringsmetoder som kräver identitet
  • Använda auktorisering med rollbaserade medlemskap och behörigheter
  • Aktivera säkerhetsfunktioner

Obs!

Azure SQL Managed Instance skyddas med nätverkssäkerhetsregler och privata slutpunkter enligt beskrivningen i Azure SQL Managed Instance och anslutningsarkitektur .

Mer information finns i artiklarna Azure SQL Database säkerhetsöversiktoch funktioner.

Tips!

I följande Microsoft Learn-modul får du kostnadsfritt hjälp med att skydda din databas i Azure SQL Database.

Krav

Kontrollera att du har följande krav för att slutföra självstudiekursen:

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Logga in på Azure Portal

För alla steg i självstudiekursen loggar du in på Azure Portal

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 den resurs som behöver ansluta, till exempel en Azure VM- eller molntjänst, och tillåter bara åtkomst till IP-adressen genom brandväggen. Om du använder resurshanterarens distributionsmodell krävs en dedikerad offentlig IP-adress för varje resurs.

Obs!

SQL Database kommunicerar via port 1433. Om du försöker ansluta inifrån ett företagsnätverk kanske utgående trafik via port 1433 inte tillåts av nätverkets brandvägg. I så fall kan du inte ansluta till servern såvida inte administratören öppnar port 1433.

Konfigurera brandväggsregler på servernivå

Regler för IP-brandväggen på servernivå gäller för alla databaser på samma server.

Så här konfigurerar du en brandväggsregel på servernivå:

  1. I Azure Portal väljer du SQL vill använda databaser i den vänstra menyn och väljer din databas på SQL för databaser.

    regel för serverbrandvägg

    Obs!

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

  2. Välj Ange serverbrandväggsidan Översikt. Sidan för brandväggsinställningar för servern öppnas.

    1. Välj Lägg till klient-IP i verktygsfältet för att lägga till din aktuella IP-adress i en ny brandväggsregel. Regeln kan öppna port 1433 för en enskild IP-adress eller ett intervall av IP-adresser. Välj Spara.

      ange regel för serverbrandvägg

    2. Välj OK och stäng sidan med brandväggsinställningar.

Nu kan du ansluta till valfri databas på servern med den angivna IP-adressen eller IP-adressintervallet.

Konfigurera brandväggsregler för databaser

Brandväggsregler på databasnivå gäller endast för enskilda databaser. Databasen behåller dessa regler vid server redundans. Du kan bara konfigurera brandväggsregler på databasnivå med hjälp av T-SQL-uttryck (Transact-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, till exempel med hjälp av SQL Server Management Studio.

  2. Högerklicka på databaseni Objektutforskaren och välj Ny fråga.

  3. Lägg till denna policy i frågefönstret och ändra IP-adressen till din offentliga IP-adress:

    EXECUTE sp_set_database_firewall_rule N'Example DB Rule','0.0.0.4','0.0.0.4';
    
  4. I verktygsfältet väljer du Kör för att skapa brandväggsregeln.

Obs!

Du kan också skapa en brandväggsregel på servernivå i SSMS med hjälp av sp_set_firewall_rule, men du måste vara ansluten till huvuddatabasen.

Skapa en Azure AD-administratör

Kontrollera att du använder rätt hanterad Azure Active Directory (AD). För att välja AD-domänen använder du det övre högra hörnet i Azure Portal. Den här processen bekräftar att samma prenumeration används för både Azure AD och den logiska SQL-servern som är värd för databasen eller datalagret.

choose-ad

Så här ställer du in Azure AD-administratören:

  1. På sidan för SQL Azure-portalen väljer du Active Directory-administratör. Välj sedan Set admin.

    välj active directory

    Viktigt

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

  2. På sidan Lägg till administratör söker du och väljer AD-användare eller -grupp och väljer Välj. Alla medlemmar och grupper i Active Directory visas och poster som är nedtonade stöds inte som Azure AD-administratörer. Se Azure AD-funktioner och begränsningar.

    välj admin

    Viktigt

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

  3. Högst upp på administrationssidan för Active Directory väljer du Spara.

    Det kan ta flera minuter att ändra en administratör. Den nya administratören visas i rutan Active Directory-administratör.

Obs!

När du anger en Azure AD-administratör kan det nya administratörsnamnet (användare eller grupp) inte finnas som en SQL Server-inloggning eller användare i huvuddatabasen. Om sådana finns går det inte att installera inställningarna och återställa ändringarna, vilket indikerar att det administratörsnamnet redan finns. Eftersom inloggningen SQL Server eller användaren inte är en del av Azure AD misslyckas alla försök att ansluta användaren med Azure AD-autentisering.

Information om hur du konfigurerar Azure AD finns i:

Hantera databasåtkomst

Hantera databasåtkomst genom att lägga till användare i databasen eller ge användare åtkomst med säkra anslutningssträngar. Anslutningssträngar är användbara för externa program. Mer information finns i Hantera inloggningar och användarkonton ochAD-autentisering.

Välj autentiseringstyp för databas för att lägga till användare:

  • SQL autentiseringanvänder du ett användarnamn och lösenord för inloggningar och är endast giltiga i samband med en viss databas på servern

  • Azure AD-autentisering, använd identiteter som hanteras av Azure AD

SQL autentisering

Så här lägger du till en användare SQL autentisering:

  1. Anslut till databasen, till exempel med hjälp av SQL Server Management Studio.

  2. Högerklicka på databaseni Objektutforskaren och välj Ny fråga.

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

    CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    
  4. I verktygsfältet väljer du Kör för att skapa användaren.

  5. Som standard kan användaren ansluta till databasen, men har inga behörigheter att läsa eller skriva data. Om du vill tilldela de här behörigheterna kör du följande kommandon i ett nytt frågefönster:

    ALTER ROLE db_datareader ADD MEMBER ApplicationUser;
    ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
    

Obs!

Skapa konton som inte är administratör på databasnivå, såvida de inte behöver utföra administratörsuppgifter som att skapa nya användare.

Azure AD-autentisering

Azure Active Directory för autentisering krävs att databasanvändarna skapas som de finns. En databasanvändare mappar till en identitet i Azure AD-katalogen som är kopplad till databasen och har ingen inloggning i huvuddatabasen. Azure AD-identiteten kan antingen vara för en enskild användare eller grupp. Mer information finns i Innefattade databasanvändare, portera databasen och gå igenom självstudiekursen om Azure AD om hur du autentiserar med Hjälp av Azure AD.

Obs!

Det går inte att skapa databasanvändare (undantaget administratörer) med Hjälp av Azure Portal. Azure-roller sprids inte till SQL, databaser eller datalager. De används endast för att hantera Azure-resurser och gäller inte databasbehörigheter.

Rollen Deltagare i SQL Server till exempel inte åtkomst till en databas eller ett datalager. Den här behörigheten måste ges i databasen med hjälp av T-SQL-uttryck.

Viktigt

Specialtecken som : kolon eller et-tecken stöds inte i användarnamn i & T-SQL CREATE LOGIN och CREATE USER uttryck.

Så här lägger du till en användare med Azure AD-autentisering:

  1. Anslut till servern i Azure med ett Azure AD-konto med minst BEHÖRIGHETEN ALTER ANY USER.

  2. Högerklicka på databaseni Objektutforskaren och välj Ny fråga.

  3. I frågefönstret anger du följande kommando och ändrar till Azure AD-användarens huvudnamn eller visningsnamnet <Azure_AD_principal_name> för Azure AD-gruppen:

    CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
    

Obs!

Azure AD-användare markeras i databasens metadata med typ E (EXTERNAL_USER) och typ X (EXTERNAL_GROUPS) för grupper. Mer information finns i sys.database_principals.

Säkra 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
  • Lita inte på servercertifikatet

Anslutningen upprättas med TLS (Transport Layer Security) och minskar risken för en man-i-mitten-attack. Anslutningssträngar är tillgängliga per databas och är förkonfigurerade för att stödja klientdrivrutiner som ADO.NET, JDBC, ODBC och PHP. Mer information om TLS och anslutningar finns i Att tänka på när det gäller TLS.

Så här kopierar du en säker anslutningssträng:

  1. I Azure Portal väljer du SQL vill använda databaser i den vänstra menyn och väljer din databas på SQL för databaser.

  2. På sidan Översikt väljer du Visa databasanslutningssträngar.

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

    ADO.NET en anslutningssträng

Aktivera säkerhetsfunktioner

Azure SQL Database innehåller säkerhetsfunktioner som används via Azure Portal. De här funktionerna är tillgängliga för både databasen och servern, förutom datamaskning, som endast är tillgängliga i databasen. Mer information finns i Microsoft Defender för SQL, Granskning, Dynamisk datamaskningoch Transparent datakryptering.

Microsoft Defender för SQL

Funktionen Microsoft Defender SQL identifierar potentiella hot när de uppstår och ger säkerhetsvarningar om avvikande aktiviteter. Användare kan utforska dessa misstänkta händelser med hjälp av granskningsfunktionen och avgöra om händelsen var för åtkomst, intrång eller sårbarhet i databasen. Användarna ges även en säkerhetsöversikt som innehåller en sårbarhetsutvärdering samt dataidentifierings- och klassificeringsverktyget.

Obs!

Ett exempel på hot är SQL inmatning, en process där attackerar matar SQL i programinmatningar. Ett program kan sedan köra den skadliga SQL och tillåta åtkomst för attacker att bryta eller ändra data i databasen.

Aktivera Microsoft Defender för SQL:

  1. I Azure Portal väljer du SQL vill använda databaser i den vänstra menyn och väljer din databas på SQL för databaser.

  2. På sidan Översikt väljer du länken Servernamn. Serversidan öppnas.

  3. På sidan SQL, leta reda på avsnittet Säkerhet och välj Defender för molnet.

    1. Välj under Microsoft Defender för SQL du vill aktivera funktionen. Välj ett lagringskonto för att spara sårbarhetsutvärderingsresultat. Välj sedan Spara.

      Navigeringsfönstret

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

  4. Gå tillbaka SQL sidan För databaser i databasen och välj Defender för molnet under avsnittet Säkerhet. Här hittar du olika säkerhetsindikatorer för databasen.

    Hotstatus

Om avvikande aktiviteter identifieras får du ett e-postmeddelande med information om händelsen. Det omfattar aktiviteten, databasen, servern, händelsetiden, möjliga orsaker och rekommenderade åtgärder för att undersöka och minimera potentiella hot. Om ett sådant e-postmeddelande tas emot väljer du länken Azure SQL Auditing Log för att starta Azure-portalen och visa relevanta granskningsposter för tidpunkten för händelsen.

E-postmeddelande för identifiering av hot

Granskning

Granskningsfunktionen spårar databashändelser och skriver händelser till en granskningslogg i antingen Azure-lagring, Azure Monitor-loggar eller till ett händelsenav. Granskningen hjälper till att upprätthålla regelefterlevnad, förstå databasaktivitet och få information om avvikelser och problem som kan indikera potentiella säkerhetsöverträdelser.

Så här aktiverar du granskning:

  1. I Azure Portal väljer du SQL vill använda databaser i den vänstra menyn och väljer din databas på SQL för databaser.

  2. Välj Granskning i avsnittet Säkerhet.

  3. Under Granskningsinställningar anger du följande värden:

    1. Ställ in granskning.

    2. Välj Granskningsloggens mål som något av följande:

      • Storage, ett Azure-lagringskonto där händelseloggar sparas och kan laddas ned som .xel-filer

        Tips!

        Använd samma lagringskonto för alla granskade databaser för att få ut mesta mesta av mallarna för granskningsrapporter.

      • Logganalys,som automatiskt lagrar händelser för frågor eller vidare analys

        Obs!

        En arbetsyta för logganalys 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.

      • Händelsehubben,som gör att händelser kan dirigeras för användning i andra program

    3. Välj Spara.

      Granskningsinställningar

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

    Granska poster

Viktigt

Se SQL Database om hur du kan anpassa granskningshändelser ytterligare med hjälp av PowerShell eller REST API.

Dynamisk datamaskning

Datamaskeringsfunktionen döljer automatiskt känsliga data i databasen.

Så här aktiverar du datamaskering:

  1. I Azure Portal väljer du SQL vill använda databaser i den vänstra menyn och väljer din databas på SQL för databaser.

  2. Välj Dynamisk datamaskning i avsnittet Säkerhet.

  3. Under Inställningar för dynamisk datamaskning väljer du Lägg till mask för att lägga till en maskeringsregel. Azure fyller automatiskt i tillgängliga databasscheman, tabeller och kolumner att välja bland.

    Maskinställningar

  4. Välj Spara. Den valda informationen är nu sekretessmaskerad.

    Exempel på mask

Transparent datakryptering

Krypteringsfunktionen krypterar automatiskt dina data vilan och kräver inga ändringar av program som öppnar den krypterade databasen. För nya databaser är kryptering på som standard. Du kan också kryptera data med SSMS och funktionen Alltid krypterad.

Så här aktiverar eller verifierar du krypteringen:

  1. I Azure Portal väljer du SQL vill använda databaser i den vänstra menyn och väljer din databas på SQL för databaser.

  2. Välj Transparent datakryptering i avsnittet Säkerhet.

  3. Om det behövs ställer du in Datakryptering. Välj Spara.

    transparent datakryptering

Obs!

Om du vill visa krypteringsstatus ansluter du till databasen med SSMS och frågar i kolumnen sys.dm_database_encryption_keys databasvyn. En status för 3 anger att databasen är krypterad.

Nästa steg

I den här självstudiekursen har du lärt dig att förbättra säkerheten för databasen med några få enkla steg. Du har lärt dig att:

  • Skapa brandväggsregler på servernivå och databasnivå
  • Konfigurera en Azure Active Directory (AD)
  • Hantera användaråtkomst med SQL, Azure AD-autentisering och säkra anslutningssträngar
  • Aktivera säkerhetsfunktioner, till exempel Microsoft Defender för SQL, granskning, datamaskering och kryptering

Gå vidare till nästa självstudiekurs för att lära dig hur du implementerar geodistribution.