sql >> Databáze >  >> NoSQL >> MongoDB

Přehled Atlasu MongoDB:Část druhá

V první části blogu „Přehled Atlasu MongoDB“ jsme se podívali na to, jak začít s Atlasem MongoDB, což je počáteční nastavení a migrace existujícího clusteru MongoDB do Atlasu MongoDB. V této části budeme pokračovat ve zkoumání několika prvků správy požadovaných pro každý produkční systém MongoDB, jako je zabezpečení a kontinuita podnikání.

Zabezpečení databáze v MongoDB Atlas

Bezpečnost je vždy na prvním místě. I když je důležitý pro všechny databáze, pro MongoDB má zvláštní význam. V polovině roku 2017 byl internet plný zpráv o útocích ransomwaru, které se konkrétně zaměřovaly na zranitelná místa v systémech MongoDB. Hackeři unášeli instance MongoDB a požadovali výkupné výměnou za vrácení uložených dat. Byla tam varování. Před těmito ransomwarovými útoky blogeři a odborníci psali o tom, kolik produkčních instancí bylo shledáno zranitelnými. To rozvířilo živou diskuzi o zabezpečení MongoDB na dlouhou dobu poté.

Nyní jsme v roce 2019 a MongoDB je stále populárnější. Nedávno byla vydána nová hlavní verze (4.0) a v MongoDB Atlasu jsme zaznamenali zvýšenou stabilitu. Co se však udělalo pro zvýšení bezpečnosti pro databáze NoSQL v cloudu.

Ransomware a neustálý tisk musely mít dopad na MongoDB, protože jasně vidíme, že zabezpečení je nyní středem ekosystému MongoDB. MongoDB Atlas není výjimkou, protože nyní přichází s vestavěnými bezpečnostními ovládacími prvky pro potřeby zpracování produkčních dat a mnoha podnikovými bezpečnostními funkcemi ihned po vybalení. Výchozí přístup (který způsobil zranitelnost) ze starší verze je pryč a databáze je nyní standardně zabezpečena (síť, crud autorizace atd.). Přichází také s funkcemi, které byste očekávali v moderním produkčním prostředí (audit, dočasný uživatelský přístup atd.).

Ale tím to nekončí. Vzhledem k tomu, že Atlas je online řešení, můžete nyní používat integrace s třetími stranami, jako je ověřování LDAP nebo moderní internetové služby MongoDB, jako jsou grafy MongoDB. MongoDB Atlas je postaven na Amazon WebServices (AWS), Microsoft Azure a Google Cloud Platform (GCP), které také nabízejí vlastní vysoce bezpečnostní opatření. Tato skvělá kombinace zajišťuje, že bezpečnostní standardy MongoDB Atlas jsou takové, jaké bychom očekávali. Pojďme se rychle podívat na některé z těchto klíčových funkcí.

Atlas MongoDB a zabezpečení sítě

MongoDB Atlas vytváří clustery nad vaší stávající cloudovou infrastrukturou. Když si člověk vybere AWS, zákaznická data jsou uložena v systémech MongoDB Atlas. Tyto systémy jsou vyhrazené virtuální servery AWS EC2 s jedním nájemcem, které jsou vytvořeny výhradně pro zákazníka společnosti Atlas. Datová centra Amazon AWS jsou v souladu s několika standardy fyzického zabezpečení a bezpečnosti informací, ale protože potřebujeme otevřenou síť, může to vzbuzovat obavy.

Dedikované clustery MongoDB Atlas jsou nasazeny ve virtuálním privátním cloudu (VPC) s vyhrazenými firewally. Přístup musí být udělen prostřednictvím seznamu povolených IP adres nebo prostřednictvím VPC peeringu. Ve výchozím nastavení je veškerý přístup zakázán.

MongoDB vyžaduje pro Atlas následující síťové porty...

  • 27016 pro úlomky
  • 27015 pro konektor BI
  • 27017 pro server
  • Pokud je povolen LDAP, MongoDB vyžaduje síť LDAP 636 na straně zákazníka otevřenou pro provoz 0.0.0.0 (celý internet).

Nelze změnit síťové porty a nelze zakázat TLS. Přístup lze také izolovat pomocí seznamu povolených IP adres.

Navíc si můžete zvolit přístup k Atlasu MongoDB prostřednictvím hostitelů Bastion. Hostitelé Bastion jsou nakonfigurováni tak, aby vyžadovali klíče SSH (nikoli hesla). Vyžadují také vícefaktorovou autentizaci a uživatelé musí být navíc schváleni vrcholovým vedením pro backendový přístup.

Správa přístupu na základě rolí MongoDB Atlas

Můžete nakonfigurovat pokročilá pravidla přístupu na základě rolí, abyste řídili, kteří uživatelé (a týmy) mohou přistupovat, manipulovat a/nebo odstraňovat data ve vašich databázích. Ve výchozím nastavení nejsou vytvořeni žádní uživatelé, takže budete vyzváni k vytvoření.

Atlas MongoDB umožňuje správcům definovat oprávnění pro uživatele nebo aplikaci a také to, k jakým datům lze při dotazování MongoDB přistupovat. MongoDB Atlas poskytuje možnost poskytnout uživatelům role specifické pro projekt nebo databázi, což umožňuje realizovat oddělení povinností mezi různými subjekty přistupujícími k datům a jejich správou. Proces je jednoduchý a plně interaktivní.

Chcete-li vytvořit nového uživatele, přejděte na kartu Zabezpečení na levé straně a vyberte si mezi uživateli MongoDB a rolemi MongoDB.

Role MongoDB

End-to-end šifrování databáze v MongoDB Atlas

Všechna data MongoDB Atlas při přenosu jsou šifrována pomocí Transport Layer Security (TLS). Máte možnost konfigurovat minimální verzi protokolu TLS. Šifrování pro data v klidu je automatizováno pomocí šifrovaných úložných svazků.

Můžete také integrovat své stávající bezpečnostní postupy a procesy s MongoDB Atlas, abyste získali další kontrolu nad tím, jak zabezpečujete své prostředí.

Pro samotný MongoDB Atlas Cluster je autentizace ve výchozím nastavení automaticky povolena prostřednictvím SCRAM, aby byl zajištěn bezpečný systém hned po vybalení.

Se správou šifrovacích klíčů můžete do vyhrazených clusterů přenést vlastní šifrovací klíče pro další vrstvu šifrování databázových souborů, včetně snímků záloh.

Audit v MongoDB Atlas

Granulární auditování databáze odpovídá na podrobné otázky o aktivitě systému pro nasazení s více uživateli sledováním všech příkazů proti databázi. Auditování v MongoDB je dostupné pouze v MongoDB Enterprise. Události auditu můžete zapisovat do konzoly, do syslogu, do souboru JSON nebo do souboru BSON. Možnost auditu nakonfigurujete pomocí kvalifikátoru –auditDestination. Chcete-li například odeslat události auditu jako události JSON do syslog, použijte...

mongod --dbpath data/db --auditDestination syslog

MongoDB udržuje centralizovaný systém správy protokolů pro shromažďování, ukládání a analýzu dat protokolů pro produkční prostředí. Tyto informace lze použít pro sledování stavu, odstraňování problémů a pro účely zabezpečení. Upozornění jsou v systému nakonfigurována tak, aby upozornila SRE na jakékoli provozní problémy.

Integrace MongoDB Atlas LDAP

Autentizaci a autorizaci uživatele vůči clusterům MongoDB Atlas lze spravovat prostřednictvím zákaznického serveru Lightweight Directory Access Protocol (LDAP) přes TLS. Jediná konfigurace LDAP platí pro všechny databázové clustery v rámci projektu Atlas. Servery LDAP se používají ke zjednodušení řízení přístupu a ke zpřesnění správy oprávnění.

Zákazníkům provozujícím svůj LDAP server ve virtuálním privátním cloudu AWS (VPC) se doporučuje peeringové připojení mezi tímto prostředím a VPC obsahujícím jejich databáze Atlas.

Kontinuita provozu MongoDB a obnova po havárii

MongoDB Atlas vytváří a konfiguruje vyhrazené clustery na infrastruktuře poskytované AWS, Azure a/nebo Google GCP. Dostupnost dat podléhá procesům služeb Business Continuity Plans (BCP) a Disaster Recovery (DR) poskytovatele infrastruktury. Poskytovatelé infrastrukturních služeb MongoDB Atlas jsou držiteli řady certifikací a zpráv o auditu pro tyto kontroly.

Zálohování databáze v Atlasu MongoDB

MongoDB Atlas zálohuje data, obvykle jen několik sekund za operačním systémem. MongoDB Atlas zajišťuje nepřetržité zálohování sad replik, konzistentní snímky sdílených clusterů v celém clusteru a obnovu v určitém okamžiku. Tato plně spravovaná zálohovací služba využívá Amazon S3 v regionu nejbližším k nasazení databáze zákazníka.

Zálohovaná data jsou chráněna pomocí šifrování na straně serveru. Amazon S3 šifruje zálohovaná data na úrovni objektu, když je zapisuje na disky ve svých datových centrech a dešifruje je za vás, když je obnovujete. Všechny klíče jsou plně spravovány AWS.

Clustery Atlas nasazené v Amazon Web Services a Microsoft Azure mohou využívat snímky poskytovatele cloudu, které využívají možnosti nativních snímků základního poskytovatele cloudu. Zálohy jsou uloženy ve stejné oblasti cloudu jako odpovídající cluster. U clusterů s více oblastmi jsou snímky uloženy v preferované oblasti clusteru.

Atlas nabízí následující metody zálohování dat...

Nepřetržité zálohování databáze

Nepřetržité zálohování je dostupné v clusterech M10+ a verzích nižších než verze serveru 4.2. Toto je stará metoda provádění záloh MongoDB. Atlas používá inkrementální snímky k průběžnému zálohování vašich dat. Průběžné snímky zálohování jsou obvykle jen několik sekund za operačním systémem. Atlas sám zajišťuje zálohování sad replik a konzistentní snímky celých clusterů sdílených clusterů, pro které používá S3.

Úplné kopírování snímků

Atlas využívá nativní schopnosti vašeho poskytovatele cloudových služeb k podpoře úplných kopií snímků a lokalizovaného úložiště snímků.

MongoDB Atlas Data Lake

Použití Atlas Data Lake ke zpracování vašich dat S3 do clusterů Atlas vám umožňuje rychle vyhledávat data uložená ve vašich segmentech AWS S3 pomocí Mongo Shell, MongoDB Compass a jakéhokoli ovladače MongoDB.

Když vytvoříte Data Lake, udělíte Atlasu přístup pouze pro čtení k segmentům S3 ve vašem účtu AWS a vytvoříte konfigurační soubor dat, který mapuje data z vašich segmentů S3 do vašich databází a kolekcí MongoDB. Atlas podporuje použití libovolného clusteru M10+, včetně Global Clusters, pro připojení k Data Lakes ve stejném.

V době psaní tohoto blogu jsou podporovány následující formáty.

  • Avro
  • Parkety
  • JSON
  • JSON/Gzipped
  • BSON
  • CSV (vyžaduje řádek záhlaví)
  • TSV (vyžaduje řádek záhlaví)

Závěr

To je prozatím vše, doufám, že se vám můj dvoudílný přehled MongoDB Atlasu líbil. Pamatujte, že ClusterControl také poskytuje komplexní správu MongoDB Clusterů a je to skvělá, levnější alternativa k MongoDB Atlas, kterou lze také nasadit v cloudu.


  1. Musím výslovně ukončit připojení?

  2. Jak vytvořit uživatele a přidat roli v MongoDB

  3. Přímý způsob generování kódu pomocí Mongoose a Node.js a podtržení?

  4. klient mongodb verze 3.0.0 robomongo mongovue