Beveiliging in Azure Cosmos DB - overzicht

VAN TOEPASSING OP: SQL-API Cassandra-API Gremlin-API Table-API Azure Cosmos DB-API voor MongoDB

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 in rust wordt automatisch toegepast voor zowel nieuwe als bestaande klanten in deze regio's. U hoeft niets te configureren; en u krijgt dezelfde hoge latentie, doorvoer, beschikbaarheid en functionaliteit als voorheen, met als voordeel dat u weet dat uw gegevens veilig en veilig zijn met versleuteling in rust. Gegevens die zijn opgeslagen in uw Azure Cosmos-account worden automatisch en naadloos versleuteld met sleutels die worden beheerd door Microsoft met behulp van door de service beheerde sleutels. U kunt er eventueel 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 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 hebt variëren. Als u een on-premises oplossing kiest, moet u alles bieden, van eindpuntbeveiliging tot fysieke beveiliging van uw hardware. Dit is geen eenvoudige taak. Als u kiest voor een PaaS-clouddatabaseprovider zoals Azure Cosmos DB, neemt uw probleem aanzienlijk af. In de volgende afbeelding, die is te lezen in het whitepaper Gedeelde verantwoordelijkheden voor cloudcomputing van Microsoft, ziet u hoe uw verantwoordelijkheid afneemt bij een PaaS-provider zoals Azure Cosmos DB.

Verantwoordelijkheden van klant en databaseprovider

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

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

  • Instellingen voor netwerkbeveiliging en firewall
  • Gebruikersverificatie en fijninterneerde gebruikersbesturingselementen
  • Mogelijkheid om gegevens wereldwijd te repliceren voor regionale fouten
  • Mogelijkheid om een fail over te maken van het ene datacenter naar het andere
  • Lokale gegevensreplicatie binnen een datacenter
  • Automatische gegevensback-ups
  • Herstel van verwijderde gegevens uit back-ups
  • Gevoelige gegevens beveiligen en isoleren
  • Controleren op aanvallen
  • Reageren op aanvallen
  • Mogelijkheid om gegevens te geo-fencen om te voldoen aan beperkingen voor gegevensbeheer
  • Fysieke beveiliging van servers in beveiligde datacenters
  • Certificeringen

En hoewel het misschien duidelijk lijkt, herinnert recente grootschalige databaseschending ons aan het eenvoudige maar kritieke belang van de volgende vereisten:

  • Gepatchte servers die up-to-date worden gehouden
  • HTTPS-standaard/TLS-versleuteling
  • Beheerdersaccounts met sterke wachtwoorden

Hoe kan Azure Cosmos DB database beveiligen?

Laten we eens kijken naar de vorige lijst: hoeveel van deze beveiligingsvereisten Azure Cosmos DB bieden? Elke keer.

Laten we elk detail bekijken.

Beveiligingsvereiste Azure Cosmos DB beveiligingsbenadering van de Azure Cosmos DB
Netwerkbeveiliging Het gebruik van een IP-firewall is de eerste beveiligingslaag voor het beveiligen van uw database. Azure Cosmos DB biedt ondersteuning voor op beleid gebaseerde toegangsbesturingselementen op basis van IP voor binnenkomende firewallondersteuning. Het toegangsbesturingselement op basis van IP is vergelijkbaar met de firewallregels die worden gebruikt door traditionele databasesystemen, maar ze worden uitgebreid zodat een Azure Cosmos-databaseaccount alleen toegankelijk is vanaf een goedgekeurde set machines of cloudservices. Meer informatie in Azure Cosmos DB voor firewallondersteuning.

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

Alle aanvragen die afkomstig zijn van machines buiten deze lijst met toegestane aanvragen, worden geblokkeerd door Azure Cosmos DB. 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 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 gebruikt HMAC (Hash-based Message Authentication Code) voor autorisatie.

Elke aanvraag wordt gehasht met behulp van de geheime accountsleutel en de volgende met base-64 gecodeerde hash wordt bij elke aanroep naar Azure Cosmos DB. Om de aanvraag te valideren, gebruikt de Azure Cosmos DB-service 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, anders is er een autorisatiefout en wordt de aanvraag geweigerd.

U kunt een primaire sleutel of een resource-token gebruiken voor een fijner toegang tot een resource, zoals een document.

Meer informatie in Toegang tot uw Azure Cosmos DB beveiligen.
Gebruikers en machtigingen Met de primaire sleutel voor het account kunt u per database gebruikersbronnen en machtigingsbronnen maken. Een resource-token is gekoppeld aan een machtiging in een database en bepaalt of de gebruiker toegang (lezen-schrijven, alleen-lezen of geen toegang) heeft tot een toepassingsresource in de database. Toepassingsresources zijn onder andere container, documenten, bijlagen, opgeslagen procedures, triggers en UDF's. Het resource-token wordt vervolgens tijdens de verificatie gebruikt om toegang tot de resource te bieden of te weigeren.

Meer informatie in Toegang tot uw Azure Cosmos DB beveiligen.
Active Directory-integratie (Azure RBAC) U kunt ook toegang tot het Cosmos-account, de database, de container en de aanbiedingen (doorvoer) bieden of beperken met behulp van Toegangsbeheer (IAM) in de 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 het artikel Active Directory-integratie voor meer informatie.
Globale replicatie Azure Cosmos DB biedt een gebruiksklare wereldwijde distributie, waarmee u uw gegevens met één klik op een knop kunt repliceren naar een van de wereldwijde datacenters van Azure. Met wereldwijde replicatie kunt u wereldwijd schalen en toegang met lage latentie bieden tot uw gegevens over de hele wereld.

In de context van beveiliging garandeert wereldwijde replicatie gegevensbeveiliging tegen regionale storingen.

Zie Gegevens wereldwijd distribueren voor meer informatie.
Regionale failovers Als u uw gegevens in meer dan één datacenter hebt gerepliceerd, worden Azure Cosmos DB bewerkingen automatisch overgeslagen 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.

Meer informatie in Regionale failovers in Azure Cosmos DB.
Lokale replicatie Zelfs binnen één datacenter repliceert Azure Cosmos DB automatisch gegevens voor hoge beschikbaarheid, zodat u kunt kiezen uit consistentieniveaus. Deze replicatie garandeert een SLA voor een beschikbaarheid van 99,99% voor alle accounts voor één regio en alle accounts voor meerdere regio's met een minder consistente consistentie en een leesbeschikbaarheid van 99,999% voor alle databaseaccounts voor meerdere regio's.
Geautomatiseerde online back-ups Er wordt regelmatig een back-up van Azure Cosmos-databases gemaakt en opgeslagen in een geografisch redundante opslag.

Meer informatie in Automatische online back-up en herstel met Azure Cosmos DB.
Verwijderde gegevens herstellen De geautomatiseerde online back-ups kunnen worden gebruikt voor het herstellen van gegevens die u per ongeluk hebt verwijderd tot ongeveer 30 dagen na de gebeurtenis.

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

Persoonsgegevens en andere vertrouwelijke gegevens kunnen worden geïsoleerd voor specifieke containers en lees-/schrijftoegang, of alleen-lezentoegang kan worden beperkt tot specifieke gebruikers.
Controleren op aanvallen Met behulp van auditlogboeken en activiteitenlogboekenkunt u uw account controleren op normale en abnormale activiteiten. U kunt bekijken welke bewerkingen zijn uitgevoerd op uw resources, wie de bewerking heeft gestart, wanneer de bewerking heeft plaatsgevonden, de status van de bewerking en nog veel meer, zoals wordt weergegeven in de schermopname na deze tabel.
Reageren op aanvallen Nadat u contact hebt opgenomen met ondersteuning voor Azure een mogelijke aanval te melden, wordt een reactieproces voor incidenten in vijf stappen van start gegaan. Het doel van het vijfstapsproces is om de normale servicebeveiliging en -bewerkingen zo snel mogelijk te herstellen nadat een probleem is gedetecteerd en er een onderzoek is gestart.

Meer informatie in Microsoft Azure Security Response in the Cloud (Beveiligingsreactie in de cloud).
Geo-fencing Azure Cosmos DB zorgt voor gegevensbeheer voor onafhankelijke regio's (bijvoorbeeld Duitsland, China en US Gov).
Beveiligde faciliteiten Gegevens in Azure Cosmos DB worden opgeslagen op SSD's in de beveiligde datacenters van Azure.

Meer informatie in Microsoft Global Datacenters
HTTPS/SSL/TLS-versleuteling Alle verbindingen met Azure Cosmos DB ondersteuning voor HTTPS. Azure Cosmos DB ondersteunt ook TLS 1.2.
Het is mogelijk om een minimale TLS-versie af te dwingen aan de serverzijde. Als u dit wilt doen, opent u ondersteuning voor Azure ticket.
Versleuteling 'at rest' Alle gegevens die zijn opgeslagen in Azure Cosmos DB worden at-rest versleuteld. Meer informatie over versleuteling Azure Cosmos DB-at-rest
Gepatchte servers Als beheerde database hoeft Azure Cosmos DB servers niet automatisch te beheren en te patchen. Dit wordt automatisch voor u gedaan.
Beheerdersaccounts met sterke wachtwoorden Het is moeilijk te denken dat we deze vereiste zelfs moeten noemen, maar in tegenstelling tot sommige van onze concurrenten is het niet mogelijk om een beheerdersaccount zonder wachtwoord in de Azure Cosmos DB.

Beveiliging via TLS- en HMAC-verificatie op basis van geheimen is standaard standaard ingeschakeld.
Certificeringen voor beveiliging en gegevensbescherming Zie voor de meest recente lijst met certificeringen de algehele Site voor Azure-naleving en het meest recente Azure-nalevingsdocument met alle certificeringen (zoek naar Cosmos). Lees het artikel 25 april 2018 [Azure #CosmosDB: Veilig, privé, compatibel met SOCS 1/2 Type 2, HITRUST, PCI DSS Level 1, ISO 27001, HIPAA, FedRAMP High en nog veel meer.

In de volgende schermopname ziet u hoe u auditlogboeken en activiteitenlogboeken kunt gebruiken om uw account te bewaken: Activiteitenlogboeken voor 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 voor gedetailleerde toegang tot containers en documenten.
  • Worden gemaakt tijdens het maken van een account.
  • Kan op elk moment opnieuw worden ge regenereerd.

Elk account bestaat uit twee sleutels: een primaire sleutel en een secundaire sleutel. Het doel van dubbele sleutels is dat u sleutels opnieuw kunt maken of rollen, zodat u continue toegang hebt tot uw account en gegevens.

Primaire/secundaire sleutels zijn beschikbaar in twee versies: lezen/schrijven en alleen-lezen. De alleen-lezensleutels staan alleen leesbewerkingen toe op het account, maar bieden geen toegang tot bronnen met leesmachtigingen.

Sleutelrotatie en opnieuw regenereren

Het proces van sleutelrotatie en opnieuw opstarten is eenvoudig. Zorg er eerst voor dat uw toepassing consistent de primaire sleutel of de secundaire sleutel gebruikt om toegang te krijgen tot Azure Cosmos DB account. Volg vervolgens de onderstaande stappen. Zie het artikel Belangrijke updates bewaken met metrische gegevens en waarschuwingen om uw account te controleren op belangrijke updates en het opnieuw maken van sleutels.

Als uw toepassing momenteel de primaire sleutel gebruikt

  1. Navigeer naar Azure Cosmos DB account op de Azure Portal.

  2. Selecteer Sleutels in het menu links en selecteer vervolgens Secundaire sleutel opnieuw instellen in het beletselteken rechts van uw secundaire sleutel.

    Schermopname van de Azure Portal laat zien hoe u de secundaire sleutel opnieuw kunt maken

  3. Controleer of de nieuwe secundaire sleutel consistent werkt met uw Azure Cosmos DB account. Het opnieuw maken van sleutels kan een minuut tot meerdere uren duren, afhankelijk van de grootte van Cosmos DB account.

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

  5. Terug aan de Azure Portal en activeer het opnieuw activeren van de primaire sleutel.

    Schermopname van de Azure Portal laat zien hoe u de primaire sleutel opnieuw kunt maken

Als uw toepassing momenteel de secundaire sleutel gebruikt

  1. Navigeer naar Azure Cosmos DB account op de Azure Portal.

  2. Selecteer Sleutels in het menu links en selecteer vervolgens Primaire sleutel opnieuw instellen in het beletselteken rechts van uw primaire sleutel.

    Schermopname van de Azure Portal laat zien hoe u de primaire sleutel opnieuw kunt maken

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

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

  5. Terug aan de Azure Portal en activeer het opnieuw activeren van de secundaire sleutel.

    Schermopname van de Azure Portal laat zien hoe u de secundaire sleutel opnieuw kunt maken

De status van het opnieuw regeneren van sleutels bijhouden

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

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

  2. Open het deelvenster Activiteitenlogboek en stel de volgende filters in:

    • Stel resourcetype in op Azure Cosmos DB accounts.
    • Stel de bewerking in op Sleutels roteren.

    Status van het opnieuw weergeven van de sleutel uit het activiteitenlogboek

  3. U ziet de gebeurtenissen voor het opnieuw maken van de sleutel, samen met de status ervan, de tijd waarop de bewerking is uitgegeven, details van de gebruiker die het opnieuw opstarten van de sleutel heeft gestart. De bewerking voor het genereren van sleutels wordt gestart met de status Geaccepteerd. Vervolgens verandert deze in Gestart en vervolgens in Geslaagd wanneer de bewerking is voltooid.

Volgende stappen

Zie Toegang tot uw gegevens beveiligen voor meer informatie over primaire sleutels Azure Cosmos DB resourcetokens.

Zie diagnostische logboekregistratie voor Azure Cosmos DB meer informatie over auditlogboekregistratie.

Zie voor meer informatie over Microsoft-certificeringen Vertrouwenscentrum van Azure.