Självstudie: Skydda en databas i Azure SQL Database
gäller för:Azure SQL Database
I den här handledningen lär du dig hur man:
- 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ängar
- Aktivera säkerhetsfunktioner, till exempel Microsoft Defender för SQL, granskning, datamaskering och kryptering
Notera
Microsoft Entra ID tidigare kallades Azure Active Directory (Azure AD).
Azure SQL Database skyddar data genom att låta dig:
- Begränsa åtkomst med hjälp av brandväggsregler
- Använda autentiseringsmekanismer som kräver identitet
- Använda auktorisering med rollbaserade medlemskap och behörigheter
- Aktivera säkerhetsfunktioner
Not
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 säkerhetsöversikten Azure SQL Database och funktioner artiklar.
Tips
Den här kostnadsfria Learn-modulen visar hur du Skydda databasen i Azure SQL Database.
Förutsättningar
Kontrollera att du har följande förutsättningar för att slutföra självstudien:
- SQL Server Management Studio
- En server och en enkel databas
- Skapa dem med Azure-portalen, CLI-eller PowerShell-
Om du inte har en Azure-prenumeration skapa ett kostnadsfritt konto innan du börjar.
Logga in på Azure-portalen
För alla steg i självstudien loggar du in på Azure-portalen
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 till OFF- för den säkraste konfigurationen. Skapa sedan en reserverad IP-adress (klassisk distribution) för resursen som behöver ansluta, till exempel en virtuell Azure-dator eller molntjänst, och tillåt endast åtkomst till IP-adressen via brandväggen. Om du använder Resource Manager distributionsmodell krävs en dedikerad offentlig IP-adress för varje resurs.
Not
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 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.
Så här konfigurerar du en brandväggsregel på servernivå:
I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer databasen på sidan SQL-databaser.
Anteckning
Se till att kopiera ditt fullständigt kvalificerade servernamn (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. En IP-brandväggsregel kan öppna port 1433 för en enskild IP-adress eller ett intervall med IP-adresser.
Välj OK för att spara brandväggsinställningarna.
Nu kan du ansluta till valfri databas på servern med den angivna IP-adressen eller IP-adressintervallet.
Konfigurera brandväggsregler för databasen
Brandväggsregler på databasnivå gäller endast för enskilda databaser. Databasen behåller dessa regler under en serverfelövergång. Brandväggsregler på databasnivå kan bara konfigureras med hjälp av Transact-SQL -instruktioner (T-SQL) och först när du har konfigurerat en brandväggsregel på servernivå.
Så här konfigurerar du en brandväggsregel på databasnivå:
Anslut till databasen, till exempel med hjälp av SQL Server Management Studio.
Högerklicka på databasen i Object Exploreroch välj Ny fråga.
I frågefönstret lägger du till den här instruktionen och ändrar 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';
I verktygsfältet väljer du Kör för att skapa brandväggsregeln.
Notera
Du kan också skapa en brandväggsregel på servernivå i SSMS med hjälp av kommandot sp_set_firewall_rule, även om du måste vara ansluten till huvuddatabasen.
Skapa en Microsoft Entra-administratör
Kontrollera att du använder rätt Microsoft Entra-ID (tidigare Azure Active Directory) för den hanterade domänen. 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.
Viktig
Du måste vara en privilegierad rolladministratör eller en högre roll för att 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.
Viktig
Rollbaserad åtkomstkontroll i Azure (Azure RBAC) gäller endast för portalen och sprids inte till SQL Server.
Längst upp på sidan Microsoft Entra-administratör väljer du Spara.
Det kan ta flera minuter att ändra en administratör. Den nya administratören visas i Microsoft Entra admin-fältet .
Not
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 så är fallet kommer installationen att misslyckas och återställa ändringarna, vilket tyder på att ett sådant administratörnamn redan finns. 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ägg 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
- Hybrididentitet krävs portar och protokoll
Hantera databasåtkomst
Hantera databasåtkomst 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.
Om du vill lägga till användare väljer du typ av databasautentisering:
SQL-autentisering, använder ett användarnamn och lösenord för att logga in och är endast giltig i kontexten av en specifik databas inom servern
Microsoft Entra-autentisering, använder 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, till exempel med hjälp av SQL Server Management Studio.
I Object Explorerhögerklickar du på databasen och väljer Ny fråga.
I frågefönstret anger du följande kommando:
CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
I verktygsfältet väljer du Kör för att skapa användaren.
Som standard kan användaren ansluta till databasen, men har inga behörigheter att läsa eller skriva data. Om du vill bevilja dessa behörigheter 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;
Not
Skapa icke-administratörskonton på databasnivå, såvida de inte behöver utföra administratörsuppgifter 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 databasanvändare är inte associerad med en inloggning i master
-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älvstudiekursen Microsoft Entra om hur du autentiserar med Microsoft Entra-ID.
Obs.
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 bara för att hantera Azure-resurser och gäller inte för databasbehörigheter.
Till exempel beviljar rollen SQL Server Contributor inte åtkomst för att ansluta till en databas eller ett informationslager. Den här behörigheten måste beviljas i databasen med hjälp av T-SQL-instruktioner.
Viktig
Specialtecken som kolon :
eller et-&
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 Microsoft Entra-autentisering:
Anslut till servern i Azure med ett Microsoft Entra-konto med minst ÄNDRA ALLA ANVÄNDARE behörighet.
Högerklicka på databasen i Object Exploreroch välj 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;
Notera
Microsoft Entra-användare markeras i databasens metadata med typen E (EXTERNAL_USER)
och typen 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
- Inte lita på servercertifikatet
Anslutningen upprättas med TLS (Transport Layer Security) och minskar risken för en man-in-the-middle-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. Information om TLS och anslutning finns i TLS-överväganden.
Kopiera en säker anslutningssträng:
I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer databasen på sidan SQL-databaser.
På sidan Översikt väljer du Visa databasanslutningssträngar.
Välj en drivrutinsflik och kopiera den fullständiga anslutningssträngen.
Aktivera säkerhetsfunktioner
Azure SQL Database tillhandahåller säkerhetsfunktioner som nås med hjälp av Azure-portalen. De här funktionerna är tillgängliga för både databasen och servern, förutom för datamaskering, som endast är tillgängligt i databasen. Mer information finns i Microsoft Defender för SQL, Auditing, Dynamic data maskingoch Transparent datakryptering.
Microsoft Defender för 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 dessa misstänkta händelser med hjälp av granskningsfunktionen och avgöra om händelsen skulle komma åt, bryta mot eller utnyttja data i databasen. Användarna får också en säkerhetsöversikt som innehåller en sårbarhetsbedömning och dataidentifierings- och klassificeringsverktyget.
Not
Ett exempel på ett hot är SQL-inmatning, en process där angripare matar in skadlig SQL i programindata. Ett program kan sedan omedvetet köra skadlig SQL och tillåta angripare åtkomst till intrång 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 databasen på sidan SQL-databaser.
På sidan Översikt väljer du länken Servernamn. Serversidan öppnas.
På sidan SQL Server hittar du avsnittet Security och väljer Defender för Cloud.
Välj ON 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 ta emot säkerhetsaviseringar, lagringsinformation och hotidentifieringstyper.
Gå tillbaka till SQL-databaser sidan i databasen och välj Defender för molnet under avsnittet Security. 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 omfattar typen av aktivitet, databas, server, händelsetid, möjliga orsaker och rekommenderade åtgärder för att undersöka och minimera det potentiella hotet. Om ett sådant e-postmeddelande tas emot väljer du länken Azure SQL-granskningsloggen för att starta Azure-portalen och visa relevanta granskningsposter för tidpunkten för händelsen.
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å databasaktivitet och få insikt i avvikelser och avvikelser 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 databasen på sidan SQL-databaser.
I avsnittet Security väljer du Granskning.
Under Granskning inställningar anger du följande värden:
Ställ in Granskning till PÅ.
Välj granskningsloggens mål som något av följande:
Storage, ett Azure Storage-konto 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 möjliga av granskningsrapportmallar.
Log Analytics-, som automatiskt lagrar händelser för frågor eller ytterligare analys
Not
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 gör att händelser kan dirigeras för användning i andra program
Välj Spara.
Nu kan du välja Visa granskningsloggar för att visa databashändelsedata.
Viktig
Se granskning av SQL-databaser om hur du kan anpassa granskningshändelser ytterligare med hjälp av PowerShell eller REST API.
Dynamisk datamaskning
Funktionen för datamaskering döljer automatiskt känsliga data i databasen.
Så här aktiverar du datamaskering:
I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer databasen på sidan SQL-databaser.
I avsnittet Security väljer du Dynamisk datamaskning.
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 mellan.
Välj Spara. Den valda informationen är nu maskerad för sekretess.
Transparent datakryptering
Krypteringsfunktionen krypterar dina data i vila automatiskt och kräver inga ändringar i program som har åtkomst till den krypterade databasen. För nya databaser är kryptering aktiverat som standard. Du kan också kryptera data med hjälp av SSMS och funktionen Always encrypted.
Så här aktiverar eller verifierar du kryptering:
I Azure-portalen väljer du SQL-databaser på den vänstra menyn och väljer databasen på sidan SQL-databaser.
I avsnittet Security väljer du Transparent datakryptering.
Om det behövs anger du Datakryptering till PÅ. Välj Spara.
Not
Om du vill visa krypteringsstatus ansluter du till databasen med SSMS och kör en fråga för kolumnen encryption_state
i vyn sys.dm_database_encryption_keys. Ett tillstånd av 3
anger att databasen är krypterad.
Not
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
- Distribuera Azure SQL Database kostnadsfritt
- Vad är nytt i Azure SQL Database?
- Konfigurera och hantera innehållsreferens – Azure SQL Database-
- Planera och hantera kostnader för Azure SQL Database
Tips
Är du redo att börja utveckla ett .NET-program? Den här kostnadsfria Learn-modulen visar hur du Utveckla och konfigurera ett ASP.NET program som kör frågor mot en Azure SQL Database-, inklusive skapandet av en enkel databas.
Nästa steg
Gå vidare till nästa handledning för att lära dig hur du implementerar geo-distribution.