Säkerhet i Azure Cosmos DB – översikt
GÄLLER för:
SQL API
API för Cassandra
Gremlin API
tabell-API
Azure Cosmos DB API för MongoDB
I den här artikeln beskrivs metodtips för databassäkerhet och viktiga funktioner som erbjuds av Azure Cosmos DB som hjälper dig att förhindra, identifiera och reagera på databasintrång.
Vad är nytt i Azure Cosmos DB säkerhet
Kryptering i vila är nu tillgängligt för dokument och säkerhetskopior som lagras i Azure Cosmos DB i alla Azure-regioner. Kryptering i vila tillämpas automatiskt för både nya och befintliga kunder i dessa regioner. Du behöver inte konfigurera något. och du får samma stora svarstider, dataflöde, tillgänglighet och funktioner som tidigare med fördelen att dina data är säkra och säkra med kryptering i vila. Data som lagras i ditt Azure Cosmos-konto krypteras automatiskt och smidigt med nycklar som hanteras av Microsoft med hjälp av tjänst hanterade nycklar. Du kan också välja att lägga till ett andra lager med kryptering med nycklar som du hanterar med kundhanterade nycklar eller CMK.
Hur gör jag för att skydda min databas
Datasäkerhet är ett delat ansvar mellan dig, kunden och din databasleverantör. Beroende på vilken databasprovider du väljer kan du ha olika ansvar. Om du väljer en lokal lösning måste du tillhandahålla allt från slutpunktsskydd till fysisk säkerhet för maskinvaran – vilket inte är enkelt. Om du väljer en PaaS-molndatabasleverantör som Azure Cosmos DB, minskar ditt problemområde avsevärt. Följande bild, som lånas från Microsofts delade ansvarsområden för white paper, visar hur ditt ansvar minskar med en PaaS-leverantör som Azure Cosmos DB.
Föregående diagram visar avancerade molnsäkerhetskomponenter, men vilka objekt behöver du tänka på specifikt för din databaslösning? Och hur kan du jämföra lösningar med varandra?
Vi rekommenderar följande checklista med krav som du kan använda för att jämföra databassystem:
- Inställningar för nätverkssäkerhet och brandvägg
- Användarautentisering och finkorniga användarkontroller
- Möjlighet att replikera data globalt för regionala fel
- Möjlighet att redundans växla från ett datacenter till ett annat
- Lokal datareplikering i ett datacenter
- Automatiska säkerhetskopieringar av data
- Återställning av borttagna data från säkerhetskopior
- Skydda och isolera känsliga data
- Övervakning av attacker
- Svara på attacker
- Möjlighet att geo-stängs data för att följa datastyrningsbegränsningar
- Fysiskt skydd av servrar i skyddade datacenter
- Certifieringar
Och även om det kan verka uppenbart påminner de senaste storskaliga databasöverträdelserna oss om den enkla men kritiska vikten av följande krav:
- Korrigerade servrar som hålls uppdaterade
- HTTPS som standard/TLS-kryptering
- Administrativa konton med starka lösenord
Hur skyddar Azure Cosmos DB min databas
Låt oss titta tillbaka på föregående lista – hur många av dessa säkerhetskrav har Azure Cosmos DB? Varje enskilt.
Nu ska vi gå in närmare på var och en.
| Säkerhetskrav | Azure Cosmos DB säkerhetsmetod |
|---|---|
| Nätverkssäkerhet | Att använda en IP-brandvägg är det första skyddslagret för att skydda databasen. Azure Cosmos DB har stöd för principdrivna IP-baserade åtkomstkontroller för inkommande brandväggsstöd. IP-baserade åtkomstkontroller liknar de brandväggsregler som används av traditionella databassystem, men de expanderas så att ett Azure Cosmos-databaskonto endast är tillgängligt från en godkänd uppsättning datorer eller molntjänster. Läs mer i Azure Cosmos DB om brandväggsstöd. Azure Cosmos DB kan du aktivera en specifik IP-adress (168.61.48.0), ett IP-intervall (168.61.48.0/8) och kombinationer av IP-adresser och intervall. Alla begäranden som kommer från datorer utanför listan över tillåtna blockeras av Azure Cosmos DB. Begäranden från godkända datorer och molntjänster måste sedan slutföra autentiseringsprocessen för att få åtkomstkontroll till resurserna. Du kan använda tjänsttaggar för virtuella nätverk för att uppnå nätverksisolering och Azure Cosmos DB nätverksresurser från det allmänna Internet. Använd tjänsttaggar i stället för specifika IP-adresser när du skapar säkerhetsregler. Genom att ange tjänsttaggnamnet (till exempel AzureCosmosDB) i lämpligt käll- eller målfält för en regel kan du tillåta eller neka trafiken för motsvarande tjänst. |
| Auktorisering | Azure Cosmos DB använder hashbaserad kod för meddelandeautentisering (HMAC) för auktorisering. Varje begäran hashas med hjälp av den hemliga kontonyckeln och den efterföljande base-64-kodade hashen skickas med varje anrop till Azure Cosmos DB. För att verifiera begäran använder Azure Cosmos DB tjänsten rätt hemlig nyckel och egenskaper för att generera en hash, och sedan jämför den värdet med värdet i begäran. Om de två värdena matchar auktoriserats åtgärden och begäran bearbetas, annars uppstår ett auktoriseringsfel och begäran avvisas. Du kan använda antingen en primärnyckel eller en resurstoken som ger dig mer information om en resurs, till exempel ett dokument. Läs mer i Skydda åtkomst till Azure Cosmos DB resurser. |
| Användare och behörigheter | Med hjälp av den primära nyckeln för kontot kan du skapa användarresurser och behörighetsresurser per databas. En resurstoken är associerad med en behörighet i en databas och avgör om användaren har åtkomst (skrivskydd, skrivskydd eller ingen åtkomst) till en programresurs i databasen. Programresurser omfattar container, dokument, bifogade filer, lagrade procedurer, utlösare ochudf:er. Resurstoken används sedan under autentiseringen för att ge eller neka åtkomst till resursen. Läs mer i Skydda åtkomst till Azure Cosmos DB resurser. |
| Active Directory-integrering (Azure RBAC) | Du kan också ge eller begränsa åtkomsten till Cosmos-kontot, databasen, containern och erbjudandena (dataflöde) med åtkomstkontroll (IAM) i Azure Portal. IAM ger rollbaserad åtkomstkontroll och integreras med Active Directory. Du kan använda inbyggda roller eller anpassade roller för enskilda användare och grupper. Mer information finns i artikeln om Active Directory-integrering. |
| Global replikering | Azure Cosmos DB erbjuder nyckelfärdig global distribution, vilket gör att du kan replikera dina data till något av Azures globala datacenter med ett knapptryck. Med global replikering kan du skala globalt och få åtkomst med korta svarstider till dina data över hela världen. I säkerhetssammanhang säkerställer global replikering dataskydd mot regionala fel. Läs mer i Distribuera data globalt. |
| Regionala redundanstestningar | Om du har replikerat dina data i mer än ett datacenter, Azure Cosmos DB automatiskt över driften om ett regionalt datacenter går offline. Du kan skapa en prioriterad lista över redundansregioner med hjälp av de regioner där dina data replikeras. Läs mer i Regionala redundans i Azure Cosmos DB. |
| Lokal replikering | Även inom ett enda datacenter replikerar Azure Cosmos DB automatiskt data för hög tillgänglighet, vilket ger dig möjlighet att välja konsekvensnivåer. Den här replikeringen garanterar ett serviceavtal med 99,99 % tillgänglighet för alla konton för en region och alla konton för flera regioner med avslappnad konsekvens och 99,999 % lästillgänglighet för alla databaskonton med flera regioner. |
| Automatiserade onlinesäkerhetskopior | Azure Cosmos-databaser säkerhetskopieras regelbundet och lagras i ett geo-redundant arkiv. Läs mer i Automatisk onlinesäkerhetskopiering och -återställning med Azure Cosmos DB. |
| Återställa borttagna data | Automatiserade onlinesäkerhetskopior kan användas för att återställa data som du kan ha tagit bort av misstag upp till ~30 dagar efter händelsen. Läs mer i Automatisk säkerhetskopiering och återställning online med Azure Cosmos DB |
| Skydda och isolera känsliga data | Alla data i de regioner som anges i Vad är nytt? krypteras nu i vila. Personliga data och andra konfidentiella data kan isoleras till specifika containrar och läs- och skrivbehörigheter eller skrivskyddade data kan begränsas till specifika användare. |
| Övervaka attacker | Genom att använda spårningsloggning och aktivitetsloggarkan du övervaka ditt konto för normal och onormal aktivitet. Du kan visa vilka åtgärder som utfördes på dina resurser, vem som initierade åtgärden, när åtgärden utfördes, status för åtgärden och mycket mer som visas på skärmbilden efter den här tabellen. |
| Svara på attacker | När du har kontaktat Azure-supporten för att rapportera en potentiell attack, har en femstegsprocess för incidenter ut. Målet med 5-stegsprocessen är att återställa normal tjänstsäkerhet och -åtgärder så snabbt som möjligt när ett problem har identifierats och en undersökning har startats. Läs mer i Microsoft Azure Security Response i molnet. |
| Geo-stängning | Azure Cosmos DB säkerställer datastyrning för suveräna regioner (till exempel Tyskland, Kina US Gov). |
| Skyddade anläggningar | Data i Azure Cosmos DB lagras på SSD:er i Azures skyddade datacenter. Läs mer i Microsofts globala datacenter |
| HTTPS/SSL/TLS-kryptering | Alla anslutningar till Azure Cosmos DB stöder HTTPS. Azure Cosmos DB har även stöd för TLS 1.2. Det går att framtvinga en lägsta TLS-version på serversidan. Det gör du genom att öppna en Azure-supportbiljett. |
| Kryptering i vila | Alla data som lagras Azure Cosmos DB krypteras i vila. Läs mer i Azure Cosmos DB kryptering i vila |
| Korrigerade servrar | Som en hanterad databas Azure Cosmos DB eliminerar du behovet av att hantera och korrigera servrar, vilket görs åt dig, automatiskt. |
| Administrativa konton med starka lösenord | Det är svårt att tro att vi ens behöver nämna det här kravet, men till skillnad från vissa av våra konkurrenter är det omöjligt att ha ett administrativt konto utan lösenord i Azure Cosmos DB. Säkerhet via TLS- och HMAC-hemlighetsbaserad autentisering ingår som standard. |
| Certifieringar för säkerhet och dataskydd | Den senaste listan över certifieringar finns på webbplatsen för azure-efterlevnad samt det senaste Azure-efterlevnadsdokumentet med alla certifieringar (sök efter Cosmos). En mer fokuserad läsning finns i inlägget från den 25 april 2018 [Azure #CosmosDB: Secure, private, compliant that includes SOCS 1/2 Type 2, HITRUST, PCI DSS Level 1, ISO 27001, HIPAA, FedRAMP High, and many others. |
Följande skärmbild visar hur du kan använda granskningsloggning och aktivitetsloggar för att övervaka ditt konto:
Primära/sekundära nycklar
Primära/sekundära nycklar ger åtkomst till alla administrativa resurser för databaskontot. Primära/sekundära nycklar:
- Ge åtkomst till konton, databaser, användare och behörigheter.
- Kan inte användas för att ge detaljerad åtkomst till containrar och dokument.
- Skapas när ett konto skapas.
- Kan återskapas när som helst.
Varje konto består av två nycklar: en primärnyckel och en sekundär nyckel. Syftet med dubbla nycklar är att du ska kunna återskapa eller återställa nycklar, vilket ger kontinuerlig åtkomst till ditt konto och dina data.
Primära/sekundära nycklar finns i två versioner: skrivskyddade och skrivskyddade. De skrivskyddade nycklarna tillåter endast läsåtgärder för kontot, men ger inte åtkomst till läsbehörighetsresurser.
Nyckelrotation och återskapande
Processen för nyckelrotation och återskapande är enkel. Kontrollera först att programmet använder antingen primärnyckeln eller den sekundära nyckeln konsekvent för att komma åt ditt Azure Cosmos DB konto. Följ sedan stegen som beskrivs nedan. Information om hur du övervakar ditt konto för nyckeluppdateringar och återskapande av nycklar finns i artikeln Övervaka viktiga uppdateringar med mått och aviseringar.
Om ditt program för närvarande använder den primära nyckeln
Gå till ditt Azure Cosmos DB konto på Azure Portal.
Välj Nycklar på den vänstra menyn och välj sedan Återskapa sekundär nyckel från ellipsen till höger om den sekundära nyckeln.
Kontrollera att den nya sekundära nyckeln fungerar konsekvent mot ditt Azure Cosmos DB konto. Återskapande av nycklar kan ta allt från en minut till flera timmar beroende på storleken på Cosmos DB konto.
Ersätt din primärnyckel med den sekundära nyckeln i ditt program.
Gå tillbaka till Azure Portal och utlöser återskapande av primärnyckeln.
Om ditt program för närvarande använder den sekundära nyckeln
Gå till ditt Azure Cosmos DB konto på Azure Portal.
Välj Nycklar på den vänstra menyn och välj sedan Återskapa primärnyckel från ellipsen till höger om primärnyckeln.
Kontrollera att den nya primärnyckeln fungerar konsekvent mot ditt Azure Cosmos DB konto. Återskapande av nycklar kan ta allt från en minut till flera timmar beroende på storleken på Cosmos DB konto.
Ersätt den sekundära nyckeln med den primära nyckeln i ditt program.
Gå tillbaka till Azure Portal och utlöser återskapande av den sekundära nyckeln.
Spåra status för nyckelgenerering
När du har roterat eller återskapat en nyckel kan du spåra dess status från aktivitetsloggen. Följ stegen nedan för att spåra statusen:
Logga in på Azure Portal och gå till ditt Azure Cosmos DB konto.
Öppna fönstret Aktivitetslogg och ange följande filter:
- Ange Resurstyp till Azure Cosmos DB konton.
- Ställ in Åtgärden på Rotera nycklar.
Du bör se viktiga återskapandehändelser tillsammans med dess status, tid då åtgärden utfärdades, information om den användare som initierade nyckelgenereringen. Nyckelgenereringsåtgärden initieras med statusen Accepterad, ändras sedan till Startad och sedan till Lyckades när åtgärden har slutförts.
Nästa steg
Mer information om primära nycklar och resurstoken finns i Skydda åtkomst till Azure Cosmos DB data.
Mer information om granskningsloggning finns i Azure Cosmos DB diagnostisk loggning.
Mer information om Microsoft-certifieringar finns i Azure Säkerhetscenter.