Přehled zabezpečení databáze ve službě Azure Cosmos DB
PLATÍ PRO: NoSQL
MongoDB
Cassandra
Gremlin
Tabulka
Tento článek popisuje osvědčené postupy zabezpečení databází a klíčové funkce, které nabízí služba Azure Cosmos DB a které pomáhají s ochranou před porušeními zabezpečení databází, jejich rozpoznáváním a reakcí na ně.
Co je nového v zabezpečení služby Azure Cosmos DB
Šifrování neaktivních uložených dokumentů a záloh uložených ve službě Azure Cosmos DB je teď dostupné ve všech oblastech Azure. Šifrování neaktivních uložených dat se automaticky použije pro nové i stávající zákazníky v těchto oblastech. Není potřeba nic konfigurovat. Získáte stejnou vysokou latenci, propustnost, dostupnost a funkčnost jako předtím s výhodou, že víte, že jsou vaše data v bezpečí a zabezpečená díky šifrování neaktivních uložených dat. Data uložená ve vašem účtu služby Azure Cosmos DB se automaticky a bezproblémově šifrují pomocí klíčů spravovaných Microsoftem pomocí klíčů spravovaných službou. Volitelně můžete přidat druhou vrstvu šifrování s klíči, které spravujete pomocí klíčů spravovaných zákazníkem nebo klíče CMK.
Návody zabezpečení databáze
Zabezpečení dat je sdílená odpovědnost mezi vámi, zákazníkem a vaším poskytovatelem databáze. V závislosti na zvoleném poskytovateli databáze se může míra odpovědnosti, kterou nesete, lišit. Pokud zvolíte místní řešení, musíte zajistit vše od ochrany koncových bodů až po fyzické zabezpečení hardwaru – což není snadný úkol. Pokud zvolíte poskytovatele cloudové databáze PaaS, jako je Azure Cosmos DB, oblast vašeho zájmu se výrazně zmenší. Následující obrázek, který jste si vypůjčili z dokumentu white paper Microsoft Shared Responsibilities for Cloud Computing (Sdílené odpovědnosti za cloud computing od Microsoftu), ukazuje, jak se vaše odpovědnost snižuje u poskytovatele PaaS, jako je Azure Cosmos DB.
Předchozí diagram znázorňuje komponenty zabezpečení cloudu na vysoké úrovni, ale s jakými položkami se musíte konkrétně u svého databázového řešení starat? A jak můžete vzájemně porovnávat řešení?
K porovnání databázových systémů doporučujeme následující kontrolní seznam požadavků:
- Nastavení zabezpečení sítě a brány firewall
- Ověřování uživatelů a jemně odstupňované uživatelské ovládací prvky
- Možnost globální replikace dat v případě selhání oblasti
- Možnost převzetí služeb při selhání z jednoho datacentra do jiného
- Místní replikace dat v rámci datového centra
- Automatické zálohování dat
- Obnovení odstraněných dat ze záloh
- Ochrana a izolace citlivých dat
- Monitorování útoků
- Reakce na útoky
- Možnost geografického ohraničení dat kvůli dodržování omezení zásad správného řízení dat
- Fyzická ochrana serverů v chráněných datových centrech
- Certifikace
A i když se to může zdát zřejmé, nedávné rozsáhlé porušení zabezpečení databází nám připomenou jednoduchou, ale kritickou důležitost následujících požadavků:
- Opravené servery, které jsou udržovány v aktuálním stavu
- Ve výchozím nastavení HTTPS/ šifrování TLS
- Účty pro správu se silnými hesly
Jak Azure Cosmos DB zabezpečuje databázi
Podívejme se zpět na předchozí seznam – kolik z těchto požadavků na zabezpečení azure Cosmos DB poskytuje? Každich.
Pojďme se na každou z nich podívat podrobněji.
Požadavek na zabezpečení | Přístup k zabezpečení služby Azure Cosmos DB |
---|---|
Zabezpečení sítě | Použití brány firewall protokolu IP je první vrstvou ochrany pro zabezpečení databáze. Azure Cosmos DB podporuje řízení přístupu na základě zásad na základě IP pro podporu příchozí brány firewall. Řízení přístupu na základě PROTOKOLU IP se podobá pravidlům brány firewall používaným tradičními databázovými systémy. Jsou ale rozšířené tak, aby účet databáze Azure Cosmos DB byl přístupný jenom ze schválené sady počítačů nebo cloudových služeb. Další informace najdete v článku o podpoře brány firewall služby Azure Cosmos DB . Azure Cosmos DB umožňuje povolit konkrétní IP adresu (168.61.48.0), rozsah IP adres (168.61.48.0/8) a kombinace IP adres a rozsahů. Azure Cosmos DB blokuje všechny požadavky pocházející z počítačů mimo tento seznam povolených počítačů. Žádosti ze schválených počítačů a cloudových služeb pak musí dokončit proces ověřování, aby bylo k prostředkům uděleno řízení přístupu. Pomocí značek služeb pro virtuální síť můžete dosáhnout izolace sítě a chránit prostředky služby Azure Cosmos DB před obecným internetem. Značky služeb můžete používat místo konkrétních IP adres při vytváření pravidel zabezpečení. Zadáním názvu značky služby (například AzureCosmosDB) v příslušném zdrojovém nebo cílovém poli pravidla můžete povolit nebo zakázat provoz pro příslušnou službu. |
Autorizace | Azure Cosmos DB používá k autorizaci ověřovací kód zpráv založený na hodnotě hash (HMAC). Každý požadavek se zatřiďuje pomocí tajného klíče účtu a při každém volání služby Azure Cosmos DB se odešle následná hodnota hash v kódování Base-64. K ověření požadavku služba Azure Cosmos DB použije správný tajný klíč a vlastnosti k vygenerování hodnoty hash a pak porovná hodnotu s hodnotou v požadavku. Pokud se tyto dvě hodnoty shodují, operace je úspěšně autorizována a požadavek se zpracuje. Pokud se neshodují, dojde k selhání autorizace a žádost se zamítne. Můžete použít buď primární klíč, nebo token prostředku , který umožňuje jemně odstupňovaný přístup k prostředku, jako je dokument. Další informace najdete v tématu Zabezpečení přístupu k prostředkům Azure Cosmos DB. |
Uživatelé a oprávnění | Pomocí primárního klíče pro účet můžete vytvářet prostředky uživatelů a oprávnění pro každou databázi. Token prostředku je přidružený k oprávnění v databázi a určuje, jestli má uživatel přístup (přístup pro čtení i zápis, jen pro čtení nebo bez přístupu) k prostředku aplikace v databázi. Mezi prostředky aplikace patří kontejner, dokumenty, přílohy, uložené procedury, triggery a funkce definované uživatelem. Token prostředku se pak během ověřování použije k poskytnutí nebo odepření přístupu k prostředku. Další informace najdete v tématu Zabezpečení přístupu k prostředkům Azure Cosmos DB. |
Integrace se službou Active Directory (řízení přístupu na základě role v Azure) | Pomocí řízení přístupu (IAM) v Azure Portal můžete také poskytnout nebo omezit přístup k účtu služby Azure Cosmos DB, databázi, kontejneru a nabídkám (propustnost). IAM poskytuje řízení přístupu na základě role a integruje se se službou Active Directory. Pro jednotlivce a skupiny můžete použít předdefinované role nebo vlastní role. Další informace najdete v tématu Integrace služby Active Directory. |
Globální replikace | Azure Cosmos DB nabízí globální distribuci na klíč, která umožňuje replikovat data do libovolného celosvětového datacentra Azure na klíč. Globální replikace umožňuje globální škálování a poskytuje přístup k datům po celém světě s nízkou latencí. V souvislosti se zabezpečením zajišťuje globální replikace ochranu dat před oblastními selháními. Další informace najdete v části Globální distribuce dat. |
Místní převzetí služeb při selhání | Pokud jste data replikovali do více než jednoho datového centra, Azure Cosmos DB automaticky přehodí vaše operace v případě, že regionální datacentrum přejde do režimu offline. Pomocí oblastí, ve kterých se replikují vaše data, můžete vytvořit seznam oblastí převzetí služeb při selhání seřazený podle priority. Další informace najdete v tématu Regionální převzetí služeb při selhání ve službě Azure Cosmos DB. |
Místní replikace | Azure Cosmos DB i v rámci jednoho datového centra automaticky replikuje data pro zajištění vysoké dostupnosti, takže máte na výběr úrovně konzistence. Tato replikace zaručuje 99,99% dostupnost SLA pro všechny účty v jedné oblasti a všechny účty ve více oblastech s uvolněnou konzistencí a 99,999% dostupnost čtení u všech účtů databáze ve více oblastech. |
Automatizované online zálohování | Databáze Azure Cosmos DB se pravidelně zálohují a ukládají v geograficky redundantním úložišti. Další informace najdete v tématu Automatické online zálohování a obnovení s využitím služby Azure Cosmos DB. |
Obnovení odstraněných dat | Automatizované online zálohy lze použít k obnovení dat, která jste mohli omylem odstranit, až do přibližně 30 dnů po události. Další informace najdete v tématu Automatické online zálohování a obnovení s využitím služby Azure Cosmos DB. |
Ochrana a izolace citlivých dat | Všechna data v oblastech uvedených v části Co je nového? je teď zašifrovaný v klidovém stavu. Osobní údaje a další důvěrné údaje lze izolovat do konkrétního kontejneru a pro čtení i zápis nebo přístup jen pro čtení může být omezený na konkrétní uživatele. |
Monitorování útoků | Pomocí protokolování auditu a protokolů aktivit můžete u svého účtu monitorovat běžnou a neobvyklou aktivitu. Můžete si prohlédnout, jaké operace se s vašimi prostředky provedly. Tato data zahrnují: kdo operaci zahájil, kdy k operaci došlo, stav operace a mnoho dalšího. |
Reakce na útoky | Jakmile kontaktujete podpora Azure a nahlásíte potenciální útok, zahájí se proces reakce na incidenty v pěti krocích. Cílem tohoto pětistupňového procesu je obnovit normální zabezpečení a provoz služeb. Proces s pěti kroky obnoví služby co nejrychleji po zjištění problému a zahájení šetření. Další informace najdete v tématu Reakce zabezpečení Microsoft Azure v cloudu. |
Geografické ohraničení | Azure Cosmos DB zajišťuje zásady správného řízení dat pro suverénní oblasti (například Německo, Čína, US Gov). |
Chráněná zařízení | Data ve službě Azure Cosmos DB se ukládají na disky SSD v chráněných datových centrech Azure. Další informace o globálních datových centrech Microsoftu |
Šifrování HTTPS/SSL/TLS | Všechna připojení ke službě Azure Cosmos DB podporují protokol HTTPS. Azure Cosmos DB podporuje úrovně protokolu TLS až 1.2 (včetně). Na straně serveru je možné vynutit minimální úroveň protokolu TLS. Postup najdete v průvodci samoobslužnou službou Samoobslužné vynucování minimální verze protokolu TLS ve službě Azure Cosmos DB. |
Šifrování neaktivních uložených dat | Všechna neaktivní uložená data ve službě Azure Cosmos DB se šifrují. Další informace o šifrování neaktivních uložených dat ve službě Azure Cosmos DB |
Opravené servery | Azure Cosmos DB jako spravovaná databáze eliminuje nutnost spravovat a opravovat servery, které se dělají automaticky za vás. |
Účty pro správu se silnými hesly | Je těžké uvěřit, že tento požadavek vůbec potřebujeme zmínit, ale na rozdíl od některých našich konkurentů není možné mít ve službě Azure Cosmos DB účet pro správu bez hesla. Zabezpečení prostřednictvím protokolu TLS a ověřování založeného na tajných kódech HMAC se ve výchozím nastavení zapíná. |
Certifikace zabezpečení a ochrany dat | Nejnovější seznam certifikací najdete v tématu Dodržování předpisů v Azure a v nejnovějším dokumentu o dodržování předpisů Azure se všemi certifikacemi Azure, včetně služby Azure Cosmos DB. |
Následující snímek obrazovky ukazuje, jak můžete pomocí protokolování auditu a protokolů aktivit monitorovat svůj účet:
Primární/sekundární klíče
Primární a sekundární klíče poskytují přístup ke všem prostředkům pro správu pro účet databáze. Primární/sekundární klíče:
- Udělte přístup k účtům, databázím, uživatelům a oprávněním.
- Nedá se použít k poskytování podrobného přístupu ke kontejnerům a dokumentům.
- Jsou vytvořeny během vytváření účtu.
- Lze kdykoli znovu vygenerovat.
Každý účet se skládá ze dvou klíčů: primárního a sekundárního klíče. Účelem duálních klíčů je, abyste mohli znovu vygenerovat nebo hodit klíče a zajistit tak nepřetržitý přístup k vašemu účtu a datům.
Primární a sekundární klíče se dodávají ve dvou verzích: jen pro čtení i zápis a jen pro čtení. Klíče jen pro čtení umožňují pouze operace čtení v účtu, ale neposkytují přístup k prostředkům oprávnění ke čtení.
Obměně a regenerace klíčů
Proces obměně klíčů a regenerace je jednoduchý. Nejprve se ujistěte, že vaše aplikace pro přístup k vašemu účtu služby Azure Cosmos DB konzistentně používá primární nebo sekundární klíč . Pak postupujte podle níže uvedených kroků. Pokud chcete u svého účtu monitorovat aktualizace klíčů a regeneraci klíčů, přečtěte si článek Monitorování aktualizací klíčů pomocí metrik a upozornění .
- Rozhraní API pro NoSQL
- Azure Cosmos DB pro MongoDB
- Rozhraní API pro Cassandra
- Rozhraní API pro Gremlin
- Rozhraní API pro tabulku
Pokud vaše aplikace aktuálně používá primární klíč
Na Azure Portal přejděte ke svému účtu služby Azure Cosmos DB.
V nabídce vlevo vyberte Klíče a pak vyberte Znovu vygenerovat sekundární klíč ze tří teček na pravé straně sekundárního klíče.
Ověřte, že nový sekundární klíč funguje konzistentně s vaším účtem služby Azure Cosmos DB. Regenerace klíčů může v závislosti na velikosti účtu služby Azure Cosmos DB trvat od jedné minuty až po několik hodin.
Nahraďte primární klíč sekundárním klíčem ve vaší aplikaci.
Zpět do Azure Portal a aktivujte regeneraci primárního klíče.
Pokud vaše aplikace aktuálně používá sekundární klíč
Na Azure Portal přejděte ke svému účtu služby Azure Cosmos DB.
V nabídce vlevo vyberte Klíče a pak vyberte Znovu vygenerovat primární klíč ze tří teček na pravé straně primárního klíče.
Ověřte, že nový primární klíč funguje konzistentně s vaším účtem služby Azure Cosmos DB. Regenerace klíčů může v závislosti na velikosti účtu služby Azure Cosmos DB trvat od jedné minuty až po několik hodin.
Nahraďte sekundární klíč primárním klíčem ve vaší aplikaci.
Zpět do Azure Portal a aktivujte regeneraci sekundárního klíče.
Sledování stavu regenerace klíčů
Po otočení nebo opětovném vygenerování klíče můžete sledovat jeho stav z protokolu aktivit. Stav můžete sledovat pomocí následujících kroků:
Přihlaste se k Azure Portal a přejděte ke svému účtu služby Azure Cosmos DB.
V nabídce vlevo vyberte Klávesy . Pod každým klíčem by se mělo zobrazit datum poslední regenerace klíče.
Microsoft doporučuje znovu vygenerovat klíče alespoň jednou za 60 dní. Pokud byla vaše poslední regenerace před více než 60 dny, zobrazí se ikona upozornění. Také jste viděli, že váš klíč nebyl zaznamenán. V takovém případě byl váš účet vytvořen před 18. 6. 2022 a data nebyla zaregistrována. Měli byste ale být schopni znovu vygenerovat a zobrazit nové datum poslední regenerace nového klíče.
Měli byste vidět události obnovení klíče spolu s jeho stavem, časem, kdy byla operace vydána, podrobnosti o uživateli, který inicioval regeneraci klíče. Operace generování klíče se zahájí se stavem Přijato a po dokončení se změní na Spuštěno a pak na Úspěch .
Další kroky
Další informace o primárních klíčích a tokenech prostředků najdete v tématu Zabezpečení přístupu k datům služby Azure Cosmos DB.
Další informace o protokolování auditu najdete v tématu Protokolování diagnostiky služby Azure Cosmos DB.
Další informace o certifikacích Microsoftu najdete v Centru zabezpečení Azure.