sql >> Database teknologi >  >> NoSQL >> MongoDB

En oversigt over MongoDB Atlas:Anden del

I den første del af bloggen "En oversigt over MongoDB Atlas" så vi på at komme i gang med MongoDB Atlas, den indledende opsætning og migrering af en eksisterende MongoDB-klynge til MongoDB Atlas. I denne del vil vi fortsætte med at udforske adskillige ledelseselementer, der kræves for hvert MongoDB-produktionssystem, såsom sikkerhed og forretningskontinuitet.

Databasesikkerhed i MongoDB Atlas

Sikkerhed kommer altid først. Selvom det er vigtigt for alle databaser, har det en særlig betydning for MongoDB. I midten af ​​2017 var internettet fyldt med nyheder om ransomware-angreb, som specifikt var rettet mod sårbarheder i MongoDB-systemer. Hackere kaprede MongoDB-forekomster og bad om en løsesum i bytte for returnering af de lagrede data. Der var advarsler. Forud for disse ransomware-angreb skrev bloggere og eksperter om, hvor mange produktionsforekomster, der blev fundet at være sårbare. Det satte gang i livlig diskussion omkring MongoDB-sikkerhed i lang tid efter.

Vi er nu i 2019, og MongoDB bliver endnu mere populær. Den nye større version (4.0) blev for nylig udgivet, og vi har set øget stabilitet i MongoDB Atlas. Men hvad er der gjort for at øge sikkerheden for NoSQL-databaserne i skyen.

Ransomwaren og den konstante presse må have haft en indflydelse på MongoDB, da vi tydeligt kan se, at sikkerhed nu er i centrum af MongoDB-økosystemet. MongoDB Atlas er ingen undtagelse, da den nu kommer med indbyggede sikkerhedskontroller til produktionsdatabehandlingsbehov og mange virksomhedssikkerhedsfunktioner ud af boksen. Standardtilgangen (som forårsagede sårbarheden) fra den ældre version er væk, og databasen er nu sikret som standard (netværk, crud-autorisationer osv.). Det kommer også med funktioner, du ville forvente at have i et moderne produktionsmiljø (revision, midlertidig brugeradgang osv.).

Men det stopper ikke der. Da Atlas er en onlineløsning, kan du nu bruge integrationer med tredjeparter som LDAP-godkendelse eller moderne MongoDB internettjenester som MongoDB-diagrammer. MongoDB Atlas er bygget oven på Amazon WebServices (AWS), Microsoft Azure og Google Cloud Platform (GCP), som også tilbyder deres egne højsikkerhedsforanstaltninger. Denne fantastiske kombination sikrer, at MongoDB Atlas sikkerhedsstandarder er, hvad vi ville forvente. Lad os tage et hurtigt kig på nogle af disse nøglefunktioner.

MongoDB Atlas &Network Security

MongoDB Atlas bygger klynger oven på din eksisterende cloud-infrastruktur. Når man vælger AWS, lagres kundedataene i MongoDB Atlas-systemer. Disse systemer er dedikerede AWS EC2 virtuelle servere med én lejer, som udelukkende er skabt til en Atlas-kunde. Amazon AWS-datacentre er kompatible med flere fysiske sikkerheds- og informationssikkerhedsstandarder, men da vi har brug for et åbent netværk, kan det give anledning til bekymring.

MongoDB Atlas dedikerede klynger er implementeret i en Virtual Private Cloud (VPC) med dedikerede firewalls. Adgang skal gives af en IP-hvidliste eller via VPC Peering. Som standard er al adgang deaktiveret.

MongoDB kræver følgende netværksporte til Atlas...

  • 27016 for shards
  • 27015 til BI-stikket
  • 27017 til server
  • Hvis LDAP er aktiveret, kræver MongoDB LDAP-netværk 636 på kundesiden, der er åbent for 0.0.0.0 (hel internet) trafik.

Netværksportene kan ikke ændres, og TLS kan ikke deaktiveres. Adgang kan også isoleres af IP-hvidliste.

Yderligere kan du vælge at få adgang til MongoDB Atlas via Bastion-værter. Bastion-værter er konfigureret til at kræve SSH-nøgler (ikke adgangskoder). De kræver også multi-faktor-godkendelse, og brugere skal desuden godkendes af den øverste ledelse til backend-adgang.

MongoDB Atlas rollebaseret adgangsstyring

Du kan konfigurere avancerede, rollebaserede adgangsregler for at kontrollere, hvilke brugere (og teams) der kan få adgang til, manipulere og/eller slette data i dine databaser. Som standard er der ingen brugere oprettet, så du vil blive bedt om at oprette en.

MongoDB Atlas giver administratorer mulighed for at definere tilladelser for en bruger eller applikation, samt hvilke data der kan tilgås, når de forespørger MongoDB. MongoDB Atlas giver mulighed for at give brugere roller, der er specifikke for et projekt eller en database, hvilket gør det muligt at realisere en adskillelse af opgaver mellem forskellige enheder, der tilgår og administrerer dataene. Processen er enkel og fuldt interaktiv.

For at oprette en ny bruger skal du gå til fanen Sikkerhed i venstre side og vælge mellem MongoDB-brugere og MongoDB-roller.

MongoDB-roller

Ende-til-ende-databasekryptering i MongoDB Atlas

Alle MongoDB Atlas-data i transit er krypteret ved hjælp af Transport Layer Security (TLS). Du har fleksibiliteten til at konfigurere minimumsversionen af ​​TLS-protokollen. Kryptering for data-at-rest er automatiseret ved hjælp af krypterede lagervolumener.

Du kan også integrere din eksisterende sikkerhedspraksis og -processer med MongoDB Atlas for at give yderligere kontrol over, hvordan du sikrer dit miljø.

For selve MongoDB Atlas Cluster er godkendelse automatisk aktiveret som standard via SCRAM for at sikre et sikkert system ud af kassen.

Med Encryption Key Management kan du bringe dine egne krypteringsnøgler til dine dedikerede klynger for et ekstra lag af kryptering på databasefilerne, inklusive backup-snapshots.

Revision i MongoDB Atlas

Granulær databaserevision besvarer detaljerede spørgsmål om systemaktivitet for implementeringer med flere brugere ved at spore alle kommandoer mod databasen. Revision i MongoDB er kun tilgængelig i MongoDB Enterprise. Du kan skrive revisionsbegivenheder til konsollen, til syslog, til en JSON-fil eller til en BSON-fil. Du konfigurerer revisionsindstillingen ved hjælp af –auditDestination-kvalifikationen. For eksempel for at sende revisionsbegivenheder som JSON-begivenheder til syslog brug...

mongod --dbpath data/db --auditDestination syslog

MongoDB vedligeholder et centraliseret logstyringssystem til indsamling, lagring og analyse af logdata til produktionsmiljøer. Disse oplysninger kan bruges til helbredsovervågning, fejlfinding og til sikkerhedsformål. Advarsler er konfigureret i systemet for at give SRE'er besked om eventuelle operationelle problemer.

MongoDB Atlas LDAP-integration

Brugergodkendelse og -autorisation mod MongoDB Atlas-klynger kan administreres via en kundes LDAP-server (Lightweight Directory Access Protocol) over TLS. En enkelt LDAP-konfiguration gælder for alle databaseklynger i et Atlas-projekt. LDAP-servere bruges til at forenkle adgangskontrol og gøre administrationen af ​​tilladelser mere detaljeret.

For kunder, der kører deres LDAP-server i en AWS Virtual Private Cloud (VPC), anbefales en peering-forbindelse mellem det miljø og den VPC, der indeholder deres Atlas-databaser.

MongoDB Business Continuity og Disaster Recovery

MongoDB Atlas opretter og konfigurerer dedikerede klynger på infrastruktur leveret af AWS, Azure og/eller Google GCP. Datatilgængelighed er underlagt infrastrukturudbyderens service Business Continuity Plans (BCP) og Disaster Recovery (DR) processer. MongoDB Atlas infrastrukturtjenesteudbydere har en række certificeringer og revisionsrapporter for disse kontroller.

Database-sikkerhedskopier i MongoDB Atlas

MongoDB Atlas sikkerhedskopierer data, typisk kun sekunder efter et operationelt system. MongoDB Atlas sikrer kontinuerlig backup af replikasæt, konsistente, klyngeomfattende snapshots af sharded clusters og punkt-i-tidsgendannelse. Denne fuldt administrerede backup-tjeneste bruger Amazon S3 i den region, der er tættest på kundens databaseimplementering.

Sikkerhedskopiering af data er beskyttet ved hjælp af server-side kryptering. Amazon S3 krypterer sikkerhedskopierede data på objektniveau, mens den skriver dem til diske i sine datacentre og dekrypterer dem for dig, når du gendanner dem. Alle nøgler administreres fuldt ud af AWS.

Atlas-klynger, der er implementeret i Amazon Web Services og Microsoft Azure, kan drage fordel af cloud-udbyders snapshots, som bruger de native snapshot-funktioner hos den underliggende cloud-udbyder. Sikkerhedskopier gemmes i samme skyregion som den tilsvarende klynge. For multi-region-klynger gemmes snapshots i klyngens foretrukne region.

Atlas tilbyder følgende metoder til at sikkerhedskopiere dine data...

Kontinuerlige databasesikkerhedskopier

Kontinuerlige sikkerhedskopier er tilgængelige i M10+-klynger og versioner lavere end serverversion 4.2. Dette er en gammel metode til at udføre MongoDB-sikkerhedskopier. Atlas bruger trinvise snapshots til løbende at sikkerhedskopiere dine data. Kontinuerlige backup-snapshots er typisk kun et par sekunder efter det operationelle system. Atlas sikrer punkt-i-tids backup af replikasæt og konsistente, klyngeomfattende snapshots af sharded clusters på egen hånd, som den bruger S3 til.

Snapshots i fuld kopi

Atlas bruger din cloududbyders indbyggede snapshot-funktioner til at understøtte snapshots i fuld kopi og lokaliseret snapshot-lagring.

MongoDB Atlas Data Lake

Ved at bruge Atlas Data Lake til at indlæse dine S3-data i Atlas-klynger kan du hurtigt forespørge på data, der er gemt i dine AWS S3-bøtter ved hjælp af Mongo Shell, MongoDB Compass og enhver MongoDB-driver.

Når du opretter en Data Lake, vil du give Atlas skrivebeskyttet adgang til S3-buckets på din AWS-konto og oprette en datakonfigurationsfil, der kortlægger data fra dine S3-buckets til dine MongoDB-databaser og samlinger. Atlas understøtter brug af enhver M10+-klynge, inklusive globale klynger, til at oprette forbindelse til Data Lakes i samme.

På tidspunktet for skrivning af denne blog understøttes følgende formater.

  • Avro
  • Parket
  • JSON
  • JSON/Gzipped
  • BSON
  • CSV (kræver overskriftsrække)
  • TSV (kræver overskriftsrække)

Konklusion

Det var alt for nu, jeg håber, du nød min todelte oversigt over MongoDB Atlas. Husk, at ClusterControl også leverer end-to-end-styring af MongoDB-klynger og er et fantastisk, billigere alternativ til MongoDB Atlas, som også kan implementeres i skyen.


  1. Brug mock MongoDB-server til enhedstest

  2. Sådan opsætter du en Docker redis container med ssl

  3. Sådan kører du rå mongodb-kommandoer fra pymongo

  4. Korrekt skjul databaselegitimationsoplysninger