Sikkerhed for Azure SQL Database og SQL Managed Instance

Fuldført

I dette undermodul beskrives det grundlæggende i forbindelse med sikring af dataniveauet for et program ved hjælp af Azure SQL Database, Azure SQL Managed Instance og Azure Synapse Analytics. Den beskrevne sikkerhedsstrategi anvender en lagdelt, dybdegående forsvarstilgang, der bevæger sig udefra, som vist på billedet nedenfor.

diagram, der viser den lagdelte forsvarstilgang i dybden.

Netværkssikkerhed

Microsoft Azure SQL Database, Azure SQL Managed Instance og Azure Synapse Analytics leverer en relationsdatabasetjeneste til cloud- og virksomhedsprogrammer. Firewalls forhindrer netværksadgang til serveren for at beskytte kundedata, indtil der udtrykkeligt gives adgang baseret på IP-adresse eller Azure Virtual-netværkstrafik.

IP-firewallregler

IP-firewallregler giver adgang til databaser baseret på den oprindelige IP-adresse for hver anmodning.

Firewallregler for virtuelle netværk

Slutpunkter for virtuelle netværkstjeneste udvider din virtuelle netværksforbindelse via Azure-backbone og gør det muligt for Azure SQL Database at identificere det virtuelle netværksundernet, som trafikken stammer fra. Hvis du vil give trafik adgang til Azure SQL Database, skal du bruge SQL-tjenestekoderne til at tillade udgående trafik via Netværkssikkerhedsgrupper.

Regler for virtuelle netværk gør det muligt for Azure SQL Database kun at acceptere kommunikation, der sendes fra valgte undernet i et virtuelt netværk.

Adgangsstyring

Vigtig

Administration af databaser og servere i Azure styres af din portalbrugerkontos rolletildelinger.

Godkendelse

Godkendelse er processen til at bevise, at brugeren er den, brugeren hævder at være. SQL Database og SQL Managed Instance understøtter SQL-godkendelse og -godkendelse med Microsoft Entra ID. SQL-administreret forekomst understøtter desuden Windows-godkendelse for Microsoft Entra-principaler.

SQL-godkendelse:

SQL-godkendelse refererer til godkendelse af en bruger, når der oprettes forbindelse til Azure SQL Database eller Azure SQL Managed Instance ved hjælp af brugernavn og adgangskode. Der skal angives en serveradministrator logge på med et brugernavn og en adgangskode, når serveren oprettes. Ved hjælp af disse legitimationsoplysninger kan en serveradministrator godkende til en hvilken som helst database på den pågældende server eller forekomst som databaseejer. Derefter kan serveradministratoren oprette yderligere SQL-logon og -brugere, hvilket gør det muligt for brugerne at oprette forbindelse ved hjælp af brugernavn og adgangskode.

Microsoft Entra-godkendelse:

Microsoft Entra-godkendelse er en mekanisme til at oprette forbindelse til Azure SQL Database, Azure SQL Managed Instance og Azure Synapse Analytics ved hjælp af identiteter i Microsoft Entra ID. Microsoft Entra-godkendelse giver administratorer mulighed for at administrere databasebrugernes identiteter og tilladelser centralt sammen med andre Azure-tjenester på én central placering. Dette minimerer lagring af adgangskoder og aktiverer centraliserede politikker for rotation af adgangskoder.

En serveradministrator kaldet Microsoft Entra-administrator skal oprettes for at bruge Microsoft Entra-godkendelse med SQL Database. Du kan få flere oplysninger under Opret forbindelse til SQL Database med Microsoft Entra-godkendelse. Microsoft Entra-godkendelse understøtter både administrerede konti og organisationsnetværkskonti. De konti, der er medlem af organisationsnetværket, understøtter Windows-brugere og -grupper for et kundedomæne, der er sammenkædet med Microsoft Entra-id.

Microsoft Entra understøtter flere forskellige godkendelsesindstillinger, herunder multifaktorgodkendelse, integreret Windows-godkendelse og Betinget adgang.

Windows-godkendelse for Microsoft Entra-hovedprincipaler:

Kerberos-godkendelse for Microsoft Entra-hovedprincipaler aktiverer Windows-godkendelse for Azure SQL Managed Instance. Windows-godkendelse for administrerede instanser giver kunderne mulighed for at flytte eksisterende tjenester til cloudmiljøet, samtidig med at de bevarer en problemfri brugeroplevelse og giver grundlaget for modernisering af infrastrukturen.

Hvis du vil aktivere Windows-godkendelse for Microsoft Entra-hovedprincipaler, skal du gøre din Microsoft Entra-lejer til en uafhængig Kerberos-ressource og oprette en indgående tillid til kundedomænet.

Vigtig

Administration af databaser og servere i Azure styres af din portalbrugerkontos rolletildelinger.

Autorisation

Autorisation refererer til styring af adgang til ressourcer og kommandoer i en database. Dette gøres ved at tildele tilladelser til en bruger i en database i Azure SQL Database eller Azure SQL Managed Instance. Tilladelser administreres ideelt ved at føje brugerkonti til databaseroller og tildele tilladelser på databaseniveau til disse roller. Alternativt kan en enkelt bruger også tildeles visse tilladelser på objektniveau.

Som bedste praksis kan du oprette brugerdefinerede roller, når det er nødvendigt. Føj brugere til rollen med de mindste rettigheder, der kræves for at udføre deres jobfunktion. Tildel ikke tilladelser direkte til brugere. Serveradministratorkontoen er medlem af den indbyggede db_owner rolle, som har omfattende tilladelser og kun bør tildeles til få brugere med administrative opgaver. Hvis du yderligere vil begrænse omfanget af, hvad en bruger kan gøre, kan EXECUTE AS bruges til at angive udførelseskonteksten for det kaldte modul.

Sikkerhed på rækkeniveau

Row-Level Sikkerhed giver kunderne mulighed for at styre adgangen til rækker i en databasetabel baseret på egenskaberne for den bruger, der udfører en forespørgsel (f.eks. gruppemedlemskab eller udførelseskontekst). Row-Level Sikkerhed kan også bruges til at implementere brugerdefinerede sikkerhedsbegreber baseret på mærkater.

Digram, der viser, hvordan sikkerhed på rækkeniveau Row-Level Sikkerhed giver kunderne mulighed for at styre adgangen til rækker i en databasetabel.

Trusselsbeskyttelse

SQL Database og SQL Managed Instance sikrer kundedata ved at levere funktioner til overvågning og trusselsregistrering.

SQL-overvågning i Azure Monitor-logge og Event Hubs

Overvågning af SQL Database og SQL Managed Instance sporer databaseaktiviteter og hjælper med at opretholde overholdelse af sikkerhedsstandarder ved at registrere databasehændelser i en overvågningslog i en kundeejet Azure-lagerkonto. Overvågning giver brugerne mulighed for at overvåge igangværende databaseaktiviteter samt analysere og undersøge historiske aktiviteter for at identificere potentielle trusler eller formodede misbrug og sikkerhedsovertrædelser.

Advanced Threat Protection

Advanced Threat Protection analyserer dine logge for at registrere usædvanlig adfærd og potentielt skadelige forsøg på at få adgang til eller udnytte databaser. Der oprettes beskeder for mistænkelige aktiviteter, f.eks. SQL-injektion, potentiel datainfiltration og brutale angreb eller for uregelmæssigheder i adgangsmønstre for at fange rettighedseskaleringer og brug af brudte legitimationsoplysninger. Beskeder ses fra Microsoft Defender for Cloud, hvor detaljerne om de mistænkelige aktiviteter leveres, og anbefalinger til yderligere undersøgelse gives sammen med handlinger for at afhjælpe truslen. Advanced Threat Protection kan aktiveres pr. server mod et ekstra gebyr.

diagram, der viser, hvordan Advanced Threat Protection analyserer dine logge for at registrere usædvanlig funktionsmåde.

Beskyttelse af oplysninger og kryptering

Sikkerhed i transportlag (kryptering under overførsel)

SQL Database, SQL Managed Instance og Azure Synapse Analytics sikrer kundedata ved at kryptere data i gang med TLS (Transport Layer Security).

SQL Database, SQL Managed Instance og Azure Synapse Analytics gennemtvinger kryptering (SSL/TLS) til enhver tid for alle forbindelser. Dette sikrer, at alle data krypteres "under overførsel" mellem klienten og serveren, uanset indstillingen af Encrypt eller TrustServerCertificate i forbindelsesstrengen.

Som bedste praksis anbefales det, at du angiver en krypteret forbindelse i den forbindelsesstreng, der bruges af programmet, og ikke have tillid til servercertifikatet. Dette tvinger dit program til at bekræfte servercertifikatet og forhindrer derfor, at dit program bliver sårbart over for angreb af mellemtype.

Når du f.eks. bruger den ADO.NET driver, opnås dette via Encrypt=True og TrustServerCertificate=False. Hvis du henter din forbindelsesstreng fra Azure Portal, har den de korrekte indstillinger.

Vigtig

Bemærk, at nogle ikke-Microsoft-drivere muligvis ikke bruger TLS som standard eller er afhængige af en ældre version af TLS (<1.2) for at fungere. I dette tilfælde giver serveren dig stadig mulighed for at oprette forbindelse til databasen. Vi anbefaler dog, at du evaluerer sikkerhedsrisiciene ved at tillade, at sådanne drivere og programmer opretter forbindelse til SQL Database, især hvis du gemmer følsomme data.

Gennemsigtig datakryptering (inaktiv kryptering)

Gennemsigtig datakryptering (TDE) for SQL Database, SQL Managed Instance og Azure Synapse Analytics tilføjer et lag af sikkerhed for at hjælpe med at beskytte inaktive data mod uautoriseret eller offline adgang til rå filer eller sikkerhedskopier. Almindelige scenarier omfatter datacentertyveri eller usikker bortskaffelse af hardware eller medier, f.eks. diskdrev og sikkerhedskopibånd. TDE krypterer hele databasen ved hjælp af en AES-krypteringsalgoritme, som ikke kræver, at programudviklere foretager ændringer af eksisterende programmer.

I Azure krypteres alle nyoprettede databaser som standard, og databasekrypteringsnøglen er beskyttet af et indbygget servercertifikat. Vedligeholdelse og rotation af certifikater administreres af tjenesten og kræver ingen input fra brugeren. Kunder, der foretrækker at overtage kontrollen over krypteringsnøglerne, kan administrere nøglerne i Azure Key Vault.

Nøgleadministration med Azure Key Vault

Byok-understøttelse (Bring Your Own Key) af TDE (Transparent Data Encryption) giver kunderne mulighed for at overtage ejerskabet af nøgleadministration og rotation ved hjælp af Azure Key Vault, Azures cloudbaserede eksterne nøgleadministrationssystem. Hvis databasens adgang til key vault tilbagekaldes, kan en database ikke dekrypteres og læses i hukommelsen. Azure Key Vault leverer en central platform til administration af nøgler, udnytter HSM'er (Hardware Security Modules), der overvåges nøje, og gør det muligt at adskille opgaver mellem administration af nøgler og data for at opfylde kravene til overholdelse af sikkerhedskrav.

Always Encrypted (Encryption-in-use)

diagram, der viser, hvordan Medbring din egen nøgle understøtter gennemsigtig datakryptering, giver kunderne mulighed for at overtage ejerskabet af nøgleadministration.

Always Encrypted er en funktion, der er udviklet til at beskytte følsomme data, der er gemt i bestemte databasekolonner, mod adgang (f.eks. kreditkortnumre, nationale/regionale identifikationsnumre eller data efter behov). Dette omfatter databaseadministratorer eller andre privilegerede brugere, der har tilladelse til at få adgang til databasen til at udføre administrationsopgaver, men som ikke har noget forretningsmæssigt behov for at få adgang til de pågældende data i de krypterede kolonner. Dataene krypteres altid, hvilket betyder, at de krypterede data kun dekrypteres til behandling af klientprogrammer med adgang til krypteringsnøglen. Krypteringsnøglen vises aldrig for SQL Database eller SQL Managed Instance og kan gemmes enten i Windows Certificate Store eller i Azure Key Vault.

Dynamisk datamaskering

diagram, der viser, hvordan Always Encrypted er designet til at beskytte følsomme data, der er gemt i bestemte databasekolonner.

Dynamiske datamaskering begrænser eksponeringen af følsomme data ved at maskere dem til ikke-privilegerede brugere. Dynamisk datamaskering registrerer automatisk potentielt følsomme data i Azure SQL Database og SQL Managed Instance og giver handlingsvenlige anbefalinger til at maskere disse felter med minimal indvirkning på programlaget. Det fungerer ved at sløre de følsomme data i resultatsættet for en forespørgsel over angivne databasefelter, mens dataene i databasen ikke ændres.

Sikkerhedsadministration

Vurdering af sårbarhed

Vurdering af sårbarheder er en nem at konfigurere tjeneste, der kan finde, spore og hjælpe med at afhjælpe potentielle databasesårbarheder med det mål proaktivt at forbedre den overordnede databasesikkerhed. Sårbarhedsvurdering (VA) er en del af Microsoft Defender for SQL-tilbuddet, som er en samlet pakke til avancerede SQL-sikkerhedsfunktioner. Vurdering af sårbarheder kan tilgås og administreres via den centrale Microsoft Defender for SQL-portal.

Dataregistrering og -klassificering

Dataregistrering og -klassificering (i øjeblikket i prøveversion) indeholder grundlæggende funktioner, der er indbygget i Azure SQL Database og SQL Managed Instance til registrering, klassificering og mærkning af følsomme data i dine databaser. Registrering og klassificering af dine mest følsomme data (business/financial, healthcare, personal data osv.) kan spille en afgørende rolle i din organisations status for beskyttelse af oplysninger. Det kan fungere som infrastruktur for:

  • Forskellige sikkerhedsscenarier, f.eks. overvågning (overvågning) og besked om unormal adgang til følsomme data.
  • Styring af adgang til og hærdning af sikkerheden for databaser, der indeholder meget følsomme data.
  • Hjælper med at overholde standarder for beskyttelse af personlige oplysninger og lovmæssige krav til overholdelse af angivne standarder.