Overzicht van databasebeveiliging in Azure Cosmos DB

VAN TOEPASSING OP: Nosql MongoDB Cassandra Gremlin Tabel

In dit artikel worden de aanbevolen procedures voor databasebeveiliging en de belangrijkste functies van Azure Cosmos DB beschreven, om u te helpen bij het voorkomen, detecteren en reageren op databaseschendingen.

Wat is er nieuw in Azure Cosmos DB-beveiliging?

Versleuteling-at-rest is nu beschikbaar voor documenten en back-ups die zijn opgeslagen in Azure Cosmos DB in alle Azure-regio's. Versleuteling-at-rest wordt automatisch toegepast voor zowel nieuwe als bestaande klanten in deze regio's. U hoeft niets te configureren. U krijgt dezelfde geweldige latentie, doorvoer, beschikbaarheid en functionaliteit als voorheen, met het voordeel dat u weet dat uw gegevens veilig en veilig zijn met versleuteling-at-rest. Gegevens die zijn opgeslagen in uw Azure Cosmos DB-account, worden automatisch en naadloos versleuteld met sleutels die worden beheerd door Microsoft met behulp van door de service beheerde sleutels. U kunt er desgewenst voor kiezen om een tweede versleutelingslaag toe te voegen met sleutels die u beheert met behulp van door de klant beheerde sleutels of CMK.

Hoe kan ik mijn database beveiligen?

Gegevensbeveiliging is een gedeelde verantwoordelijkheid tussen u, de klant en uw databaseprovider. Afhankelijk van de databaseprovider die u kiest, kan de hoeveelheid verantwoordelijkheid die u draagt variëren. Als u een on-premises oplossing kiest, moet u alles bieden, van eindpuntbeveiliging tot fysieke beveiliging van uw hardware, wat geen eenvoudige taak is. Als u een PaaS-clouddatabaseprovider (Platform as a Service) kiest, zoals Azure Cosmos DB, neemt uw probleemgebied aanzienlijk af. In de volgende afbeelding, geleend uit het technische document Gedeelde verantwoordelijkheden voor Cloud Computing van Microsoft, ziet u hoe uw verantwoordelijkheid afneemt met een PaaS-provider, zoals Azure Cosmos DB.

Screenshot that shows customer and database provider responsibilities.

In het voorgaande diagram ziet u cloudbeveiligingsonderdelen op hoog niveau, maar over welke items moet u zich specifiek zorgen maken voor uw databaseoplossing? Hoe kunt u oplossingen met elkaar vergelijken?

We raden de volgende controlelijst aan met vereisten voor het vergelijken van databasesystemen:

  • Netwerkbeveiliging en firewallinstellingen
  • Gebruikersverificatie en fijnmazige gebruikersbesturingselementen
  • Mogelijkheid om gegevens globaal te repliceren voor regionale fouten
  • Mogelijkheid om een failover uit te wisselen van het ene datacenter naar het andere
  • Replicatie van lokale gegevens binnen een datacenter
  • Automatische back-ups van gegevens
  • Herstel van verwijderde gegevens uit back-ups
  • Gevoelige gegevens beveiligen en isoleren
  • Controle op aanvallen
  • Reageren op aanvallen
  • Mogelijkheid om gegevens geografisch te omheinen om te voldoen aan beperkingen voor gegevensbeheer
  • Fysieke beveiliging van servers in beveiligde datacenters
  • Certificeringen

Hoewel het misschien duidelijk lijkt, herinneren recente grootschalige databaseschendingen ons aan het eenvoudige maar kritieke belang van de volgende vereisten:

  • Gepatchte servers die up-to-date blijven
  • HTTPS standaard/TLS-versleuteling
  • Beheer istratieve accounts met sterke wachtwoorden

Hoe beveiligt Azure Cosmos DB mijn database?

Laten we eens kijken naar de voorgaande lijst. Hoeveel van deze beveiligingsvereisten biedt Azure Cosmos DB? Iedereen.

Laten we elk detail bekijken.

Beveiligingsvereiste Beveiligingsbenadering van Azure Cosmos DB
Netwerkbeveiliging Het gebruik van een IP-firewall is de eerste beveiligingslaag om uw database te beveiligen. Azure Cosmos DB biedt ondersteuning voor op beleid gebaseerd IP-toegangsbeheer voor binnenkomende firewallondersteuning. De op IP gebaseerde toegangsbeheer is vergelijkbaar met de firewallregels die worden gebruikt door traditionele databasesystemen. Ze worden echter uitgebreid, zodat een Azure Cosmos DB-databaseaccount alleen toegankelijk is vanaf een goedgekeurde set machines of cloudservices. Zie de firewallondersteuning van Azure Cosmos DB voor meer informatie.

Met Azure Cosmos DB kunt u een specifiek IP-adres (168.61.48.0), een IP-bereik (168.61.48.0/8) en combinaties van IP-adressen en bereiken inschakelen.

Azure Cosmos DB blokkeert alle aanvragen die afkomstig zijn van computers buiten deze lijst met toegestane machines. Aanvragen van goedgekeurde machines en cloudservices moeten vervolgens het verificatieproces voltooien om toegangsbeheer voor de resources te krijgen.

U kunt servicetags voor virtuele netwerken gebruiken om netwerkisolatie te bereiken en uw Azure Cosmos DB-resources te beschermen tegen het algemene internet. Gebruik servicetags in plaats van specifieke IP-adressen wanneer je beveiligingsregels maakt. Door de naam van de servicetag (bijvoorbeeld AzureCosmosDB) op te geven in het juiste bron- of doelveld van een regel, kunt u het verkeer voor de bijbehorende service toestaan of weigeren.
Autorisatie Azure Cosmos DB maakt gebruik van HMAC (Hash-based Message Authentication Code) voor autorisatie.

Elke aanvraag wordt gehasht met behulp van de geheime accountsleutel en de volgende base-64 gecodeerde hash wordt verzonden met elke aanroep naar Azure Cosmos DB. Om de aanvraag te valideren, gebruikt Azure Cosmos DB de juiste geheime sleutel en eigenschappen om een hash te genereren. Vervolgens wordt de waarde vergeleken met de waarde in de aanvraag. Als de twee waarden overeenkomen, wordt de bewerking geautoriseerd en wordt de aanvraag verwerkt. Als ze niet overeenkomen, is er een autorisatiefout en wordt de aanvraag geweigerd.

U kunt een primaire sleutel of een resourcetoken gebruiken, zodat u nauwkeurig toegang hebt tot een resource, zoals een document.

Zie Beveiligde toegang tot Azure Cosmos DB-resources voor meer informatie.
Gebruikers en machtigingen Met behulp van de primaire sleutel voor het account kunt u gebruikersbronnen en machtigingsbronnen per database maken. Een resourcetoken is gekoppeld aan een machtiging in een database en bepaalt of de gebruiker toegang heeft (alleen-lezen, alleen-lezen of geen toegang) tot een toepassingsresource in de database. Toepassingsbronnen omvatten containers, documenten, bijlagen, opgeslagen procedures, triggers en UDF's. Het resourcetoken wordt vervolgens gebruikt tijdens verificatie om toegang tot de resource op te geven of te weigeren.

Zie Beveiligde toegang tot Azure Cosmos DB-resources voor meer informatie.
Active Directory-integratie (op rollen gebaseerd toegangsbeheer van Azure) U kunt ook de toegang tot het Azure Cosmos DB-account, de database, de container en aanbiedingen (doorvoer) opgeven of beperken met behulp van toegangsbeheer (IAM) in Azure Portal. IAM biedt op rollen gebaseerd toegangsbeheer en kan worden geïntegreerd met Active Directory. U kunt ingebouwde rollen of aangepaste rollen gebruiken voor personen en groepen. Zie Active Directory-integratie voor meer informatie.
Globale replicatie Azure Cosmos DB biedt kant-en-klare wereldwijde distributie, waarmee u uw gegevens op een kant-en-klare manier kunt repliceren naar een van de wereldwijde datacenters van Azure. Met wereldwijde replicatie kunt u wereldwijd schalen en toegang bieden tot uw gegevens over de hele wereld met lage latentie.

In de context van beveiliging zorgt globale replicatie voor gegevensbescherming tegen regionale storingen.

Zie Gegevens wereldwijd distribueren voor meer informatie.
Regionale failovers Als u uw gegevens in meer dan één datacenter hebt gerepliceerd, wordt azure Cosmos DB automatisch over uw bewerkingen meegerold als een regionaal datacenter offline gaat. U kunt een lijst met failoverregio's met prioriteit maken met behulp van de regio's waarin uw gegevens worden gerepliceerd.

Zie Regionale failovers in Azure Cosmos DB voor meer informatie.
Lokale replicatie Zelfs binnen één datacenter worden in Azure Cosmos DB automatisch gegevens gerepliceerd voor hoge beschikbaarheid, zodat u de keuze hebt uit consistentieniveaus. Deze replicatie garandeert een SLA voor 99,99% beschikbaarheid voor alle accounts voor één regio en alle accounts voor meerdere regio's met een soepele consistentie en 99,999% leesbeschikbaarheid voor alle databaseaccounts voor meerdere regio's.
Geautomatiseerde online back-ups Er wordt regelmatig een back-up van Azure Cosmos DB-databases gemaakt en opgeslagen in een geografisch redundant archief.

Zie Automatische online back-up en herstel met Azure Cosmos DB voor meer informatie.
Verwijderde gegevens herstellen U kunt de geautomatiseerde onlineback-ups gebruiken om gegevens te herstellen die u mogelijk per ongeluk tot ongeveer 30 dagen na de gebeurtenis hebt verwijderd.

Zie Automatische online back-up en herstel met Azure Cosmos DB voor meer informatie
Gevoelige gegevens beveiligen en isoleren Alle gegevens in de regio's die worden vermeld in Wat is er nieuw? is nu versleuteld at rest.

Persoonlijke gegevens en andere vertrouwelijke gegevens kunnen worden geïsoleerd voor specifieke containers en lezen/schrijven of alleen-lezentoegang kunnen worden beperkt tot specifieke gebruikers.
Controleren op aanvallen Door auditlogboeken en activiteitenlogboeken te gebruiken, kunt u uw account controleren op normale en abnormale activiteiten. U kunt bekijken welke bewerkingen zijn uitgevoerd op uw resources. Deze gegevens omvatten wie de bewerking heeft gestart, wanneer de bewerking is opgetreden, de status van de bewerking en nog veel meer.
Reageren op aanvallen Nadat u contact hebt opgenomen met ondersteuning voor Azure om een mogelijke aanval te melden, begint een proces voor het reageren op incidenten in vijf stappen. Het doel is om de normale servicebeveiliging en -bewerkingen te herstellen. Het proces herstelt services zo snel mogelijk nadat een probleem is gedetecteerd en er wordt een onderzoek gestart.

Zie Microsoft Azure-beveiligingsantwoord in de cloud voor meer informatie.
Geo-fencing Azure Cosmos DB zorgt voor gegevensbeheer voor onafhankelijke regio's (bijvoorbeeld Duitsland, China en de Amerikaanse overheid).
Beveiligde faciliteiten Gegevens in Azure Cosmos DB worden opgeslagen op ssd-stations in beveiligde datacenters van Azure.

Zie globale Datacenters van Microsoft voor meer informatie.
HTTPS/SSL/TLS-versleuteling Alle verbindingen met Azure Cosmos DB ondersteunen HTTPS. Azure Cosmos DB ondersteunt TLS-niveaus tot 1.2 (inbegrepen).
Het is mogelijk om een minimaal TLS-niveau af te dwingen aan de serverzijde. Raadpleeg hiervoor de selfservicehandleiding voor het afdwingen van minimale TLS-versies in Azure Cosmos DB.
Versleuteling 'at rest' Alle gegevens die zijn opgeslagen in Azure Cosmos DB, worden at-rest versleuteld. Meer informatie in Azure Cosmos DB-versleuteling at-rest.
Gepatchte servers Als beheerde database elimineert Azure Cosmos DB de noodzaak om servers te beheren en te patchen, omdat deze automatisch voor u wordt uitgevoerd.
Beheer istratieve accounts met sterke wachtwoorden Het is onmogelijk om een beheerdersaccount zonder wachtwoord in Azure Cosmos DB te hebben.

Beveiliging via TLS- en HMAC-verificatie op basis van geheimen is standaard ingebouwd.
Certificeringen voor beveiliging en gegevensbescherming Zie voor de meest recente lijst met certificeringen azure-naleving en het meest recente Azure-nalevingsdocument met alle Azure-certificeringen, waaronder Azure Cosmos DB.

In de volgende schermopname ziet u hoe u auditlogboeken en activiteitenlogboeken kunt gebruiken om uw account te bewaken. Screenshot that shows activity logs for Azure Cosmos DB.

Primaire/secundaire sleutels

Primaire/secundaire sleutels bieden toegang tot alle beheerbronnen voor het databaseaccount. Primaire/secundaire sleutels:

  • Toegang bieden tot accounts, databases, gebruikers en machtigingen.
  • Kan niet worden gebruikt om gedetailleerde toegang te bieden tot containers en documenten.
  • Worden gemaakt tijdens het maken van een account.
  • Kan op elk gewenst moment opnieuw worden gegenereerd.

Elk account bestaat uit twee sleutels: een primaire sleutel en een secundaire sleutel. Het doel van dubbele sleutels is dat u sleutels opnieuw kunt genereren of samenrollen, zodat u doorlopende toegang tot uw account en gegevens kunt bieden.

Primaire/secundaire sleutels zijn beschikbaar in twee versies: lezen/schrijven en alleen-lezen. De alleen-lezensleutels staan alleen leesbewerkingen voor het account toe. Ze bieden geen toegang tot leesmachtigingsbronnen.

Sleutelrotatie en regeneratie

Het proces van sleutelrotatie en regeneratie is eenvoudig. Zorg er eerst voor dat uw toepassing consistent gebruikmaakt van de primaire sleutel of de secundaire sleutel voor toegang tot uw Azure Cosmos DB-account. Volg vervolgens de stappen in de volgende sectie. Zie Belangrijke updates bewaken met metrische gegevens en waarschuwingen om uw account te controleren op belangrijke updates en het genereren van sleutels.

Als uw toepassing momenteel de primaire sleutel gebruikt

  1. Ga naar uw Azure Cosmos DB-account in Azure Portal.

  2. Selecteer Sleutels in het linkermenu en selecteer vervolgens Secundaire sleutel opnieuw genereren in het beletselteken (...) rechts van uw secundaire sleutel.

    Screenshot showing how to regenerate the secondary key in the Azure portal when used with the NoSQL API.

  3. Controleer of de nieuwe secundaire sleutel consistent werkt voor uw Azure Cosmos DB-account. Het opnieuw genereren van sleutels kan van één minuut tot meerdere uren duren, afhankelijk van de grootte van het Azure Cosmos DB-account.

  4. Vervang uw primaire sleutel door de secundaire sleutel in uw toepassing.

  5. Ga terug naar Azure Portal en activeer de regeneratie van de primaire sleutel.

    Screenshot showing how to regenerate the primary key in the Azure portal when used with the NoSQL API.

Als uw toepassing momenteel gebruikmaakt van de secundaire sleutel

  1. Ga naar uw Azure Cosmos DB-account in Azure Portal.

  2. Selecteer Sleutels in het linkermenu en selecteer vervolgens Primaire sleutel opnieuw genereren in het beletselteken (...) aan de rechterkant van uw primaire sleutel.

    Screenshot that shows how to regenerate the primary key in the Azure portal when used with the NoSQL API.

  3. Controleer of de nieuwe primaire sleutel consistent werkt met uw Azure Cosmos DB-account. Het opnieuw genereren van sleutels kan van één minuut tot meerdere uren duren, afhankelijk van de grootte van het Azure Cosmos DB-account.

  4. Vervang uw secundaire sleutel door de primaire sleutel in uw toepassing.

  5. Ga terug naar Azure Portal en activeer de regeneratie van de secundaire sleutel.

    Screenshot that shows how to regenerate the secondary key in the Azure portal when used with the NoSQL API.

De status van sleutelregeneratie bijhouden

Nadat u een sleutel hebt gedraaid of opnieuw gegenereerd, kunt u de status ervan bijhouden vanuit het activiteitenlogboek. Gebruik de volgende stappen om de status bij te houden.

  1. Meld u aan bij Azure Portal en ga naar uw Azure Cosmos DB-account.

  2. Selecteer Sleutels in het linkermenu. Als het goed is, ziet u de laatste vernieuwingsdatum van de sleutel onder elke sleutel.

    Screenshot that shows status of key regeneration from the activity log.

    U wordt aangeraden de sleutels ten minste eenmaal per 60 dagen opnieuw te genereren. Als uw laatste regeneratie meer dan 60 dagen geleden was, ziet u een waarschuwingspictogram. U kunt ook zien dat uw sleutel niet is opgenomen. Als dit het geval is, is uw account gemaakt vóór 18 juni 2022 en zijn de datums niet geregistreerd. U moet echter de laatste regeneratiedatum voor de nieuwe sleutel opnieuw kunnen genereren en zien.

  3. U ziet de belangrijke regeneratiegebeurtenissen, samen met de status, het tijdstip waarop de bewerking is uitgegeven en details van de gebruiker die de sleutelregeneratie heeft geïnitieerd. De bewerking voor het genereren van sleutels wordt gestart met de status Geaccepteerd . De bewerking wordt gewijzigd in Gestart en vervolgens in Geslaagd wanneer de bewerking is voltooid.

Volgende stappen