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 dat je nyní k dispozici pro dokumenty a zálohy uložené ve službě Azure Cosmos DB ve všech oblastech Azure. Šifrování neaktivních uložených dat se použije automaticky pro nové i stávající zákazníky v těchto oblastech. Nemusíte nic konfigurovat. Získáte stejnou vysokou latenci, propustnost, dostupnost a funkce jako předtím s výhodou, že vaše data jsou bezpečná a zabezpečená pomocí š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í pomocí klíčů, 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 množství odpovědnosti, kterou nesete, může lišit. Pokud zvolíte místní řešení, musíte poskytnout všechno od ochrany koncových bodů až po fyzické zabezpečení hardwaru, což není snadný úkol. Pokud zvolíte poskytovatele cloudové databáze paaS (platforma jako služba), například Azure Cosmos DB, vaše oblast zájmu se výrazně zmenší. Následující obrázek, který jsme si půjčili z dokumentu White Paper o sdílených zodpovědnostech Microsoftu za cloud computing , ukazuje, jak se vaše odpovědnost snižuje u poskytovatele PaaS, jako je Azure Cosmos DB.

Screenshot that shows customer and database provider responsibilities.

Předchozí diagram znázorňuje komponenty zabezpečení cloudu vysoké úrovně, ale o jaké položky se potřebujete starat konkrétně pro vaše databázové řešení? Jak můžete vzájemně porovnat řešení?

Pro 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
  • Schopnost globálně replikovat data pro regionální selhání
  • Možnost převzetí služeb při selhání z jednoho datacentra do druhého
  • Replikace místních dat v datacentru
  • 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
  • Schopnost geograficky ohraničení dat dodržovat omezení zásad správného řízení dat
  • Fyzická ochrana serverů v chráněných datacentrech
  • Certifikace

I když to může vypadat jako běžné, nedávné rozsáhlé porušení zabezpečení databáze nám připomíná jednoduchou, ale kritickou důležitost následujících požadavků:

  • Opravené servery, které jsou aktuální
  • Šifrování HTTPS ve výchozím nastavení/TLS
  • Správa istrativní účty se silnými hesly

Jak Azure Cosmos DB zabezpečuje databázi?

Pojďme se podívat na předchozí seznam. Kolik z těchto požadavků na zabezpečení poskytuje Služba Azure Cosmos DB? Každý jeden.

Pojďme se podrobněji podívat na každý z nich.

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í vrstva ochrany pro zabezpečení databáze. Azure Cosmos DB podporuje řízení přístupu na základě IP adres na základě zásad 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. Rozšíří se ale 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 tématu Podpora brány firewall služby Azure Cosmos DB.

Ve službě Azure Cosmos DB můžete 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 povolený seznam. Žádosti ze schválených počítačů a cloudových služeb pak musí dokončit proces ověřování, aby byl udělen řízení přístupu k prostředkům.

Značky služeb virtuální sítě můžete použít k zajištění izolace sítě a ochraně prostředků 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) do příslušného zdrojového nebo cílového pole pravidla můžete povolit nebo odepřít provoz pro příslušnou službu.
Autorizace Azure Cosmos DB k autorizaci používá kód ověřování zpráv založený na hodnotě hash (HMAC).

Každý požadavek je hashován pomocí tajného klíče účtu a následné zakódované hodnoty hash base-64 se odešle s každým voláním služby Azure Cosmos DB. K ověření požadavku azure Cosmos DB použije ke generování hodnoty hash správný tajný klíč a vlastnosti a pak porovná hodnotu s hodnotou v požadavku. Pokud se obě hodnoty shodují, operace se úspěšně autorizovala a požadavek se zpracuje. Pokud se neshodují, dojde k selhání autorizace a žádost se odmítne.

Můžete použít buď primární klíč , nebo token prostředku, což 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 vytvořit prostředky uživatelů a prostředky oprávnění pro každou databázi. Token prostředku je přidružený k oprávněním v databázi a určuje, jestli má uživatel přístup (jen pro čtení, jen pro čtení nebo žádný přístup) k prostředku aplikace v databázi. Prostředky aplikací zahrnují kontejnery, dokumenty, přílohy, uložené procedury, triggery a funkce definované uživatelem. Token prostředku se pak použije během ověřování 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 služby Active Directory (řízení přístupu na základě role v Azure) Můžete také poskytnout nebo omezit přístup k účtu, databázi, kontejneru a nabídkám služby Azure Cosmos DB pomocí řízení přístupu (IAM) na webu Azure Portal. IAM poskytuje řízení přístupu na základě role a integruje se se službou Active Directory. Můžete použít předdefinované role nebo vlastní role pro jednotlivce a skupiny. 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 škálovat globálně a poskytovat přístup k datům po celém světě s nízkou latencí.

V kontextu zabezpečení zajišťuje globální replikace ochranu dat před regionálními selháními.

Další informace najdete v tématu Globální distribuce dat.
Místní převzetí služeb při selhání Pokud jste replikovali data ve více než jednom datacentru, Azure Cosmos DB automaticky převrací vaše operace, pokud regionální datové centrum přejde do režimu offline. Seznam oblastí převzetí služeb při selhání s prioritou můžete vytvořit pomocí oblastí, ve kterých se vaše data replikují.

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 I v rámci jednoho datacentra azure Cosmos DB automaticky replikuje data pro zajištění vysoké dostupnosti a poskytuje výběr úrovní konzistence. Tato replikace zaručuje smlouvu SLA o 99,99% dostupnosti pro všechny účty v jedné oblasti a všechny účty s více oblastmi s uvolněnou konzistencí a 99,999% dostupnost čtení u všech účtů databáze s více oblastmi.
Automatizované online zálohy 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í ve službě Azure Cosmos DB.
Obnovení odstraněných dat Automatizované online zálohy můžete použít k obnovení dat, která jste omylem odstranili až přibližně 30 dní po události.

Další informace najdete v tématu Automatické online zálohování a obnovení ve službě 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 je možné izolovat s konkrétními kontejnery a zápisem pro čtení 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 monitorovat svůj účet za normální a neobvyklou aktivitu. Můžete zobrazit, jaké operace byly provedeny s vašimi prostředky. 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 ohlásit potenciální útok, zahájí se proces reakce na incidenty s pěti kroky. Cílem je obnovit normální zabezpečení a provoz služeb. Proces obnoví služby co nejrychleji po zjištění problému a spustí se šetření.

Další informace najdete v tématu Reakce na 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 a státní správa USA).
Chráněná zařízení Data ve službě Azure Cosmos DB se ukládají na jednotky SSD v datacentrech chráněných Azure.

Další informace najdete v globálních datacentrech Microsoftu.
Šifrování HTTPS/SSL/TLS Všechna připojení ke službě Azure Cosmos DB podporují 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 samoobslužné příručce samoobslužného vynucení minimální verze protokolu TLS ve službě Azure Cosmos DB.
Šifrování neaktivních uložených dat Všechna data uložená ve službě Azure Cosmos DB se šifrují v klidovém stavu. Další informace najdete v š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, protože se provádí automaticky.
Správa istrativní účty se silnými hesly Ve službě Azure Cosmos DB není možné mít účet pro správu bez hesla.

Zabezpečení prostřednictvím ověřování založeného na tajných klíčích TLS a HMAC se ve výchozím nastavení zapečuje.
Certifikace zabezpečení a ochrany dat Nejnovější seznam certifikací najdete v tématu Dodržování předpisů Azure a nejnovější dokument dodržování předpisů Azure se všemi certifikacemi Azure, včetně azure Cosmos DB.

Následující snímek obrazovky ukazuje, jak můžete k monitorování účtu použít protokolování auditu a protokoly aktivit. Screenshot that shows activity logs for Azure Cosmos DB.

Primární/sekundární klíče

Primární/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:

  • Umožňuje přístup k účtům, databázím, uživatelům a oprávněním.
  • Nejde použít k zajištění podrobného přístupu ke kontejnerům a dokumentům.
  • Vytvoří se během vytváření účtu.
  • Je možné ho kdykoli znovu vygenerovat.

Každý účet se skládá ze dvou klíčů: primárního klíče a sekundárního klíče. Účelem duálních klíčů je, abyste mohli znovu vygenerovat (nebo vygenerovat) klíče, které poskytují nepřetržitý přístup k vašemu účtu a datům.

Primární/sekundární klíče mají dvě verze: jen pro čtení a čtení. Klíče jen pro čtení umožňují operace čtení v účtu. Neposkytují přístup k prostředkům oprávnění ke čtení.

Rotace a regenerace klíčů

Proces rotace a regenerace klíčů je jednoduchý. Nejprve se ujistěte, že vaše aplikace konzistentně používá primární klíč nebo sekundární klíč pro přístup k vašemu účtu služby Azure Cosmos DB. Pak postupujte podle kroků v další části. Pokud chcete monitorovat klíčové aktualizace účtu a regeneraci klíčů, přečtěte si téma Monitorování klíčových aktualizací s využitím metrik a upozornění.

Pokud vaše aplikace aktuálně používá primární klíč

  1. Na webu Azure Portal přejděte ke svému účtu služby Azure Cosmos DB.

  2. V nabídce vlevo vyberte Klávesy a pak v pravé části sekundárního klíče vyberte Znovu vygenerovat sekundární klíč ze tří teček (...).

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

  3. Ověřte, že nový sekundární klíč funguje konzistentně s vaším účtem služby Azure Cosmos DB. Regenerace klíčů může trvat od jedné minuty do několika hodin v závislosti na velikosti účtu služby Azure Cosmos DB.

  4. Nahraďte primární klíč sekundárním klíčem ve vaší aplikaci.

  5. Vraťte se na web Azure Portal a aktivujte regeneraci primárního klíče.

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

Pokud vaše aplikace aktuálně používá sekundární klíč

  1. Na webu Azure Portal přejděte ke svému účtu služby Azure Cosmos DB.

  2. V nabídce vlevo vyberte Klíče a pak v pravé části primárního klíče vyberte Znovu vygenerovat primární klíč ze tří teček (...).

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

  3. Ověřte, že nový primární klíč funguje konzistentně s vaším účtem služby Azure Cosmos DB. Regenerace klíčů může trvat od jedné minuty do několika hodin v závislosti na velikosti účtu služby Azure Cosmos DB.

  4. Nahraďte sekundární klíč primárním klíčem ve vaší aplikaci.

  5. Vraťte se na web Azure Portal a aktivujte regeneraci sekundárního klíče.

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

Sledování stavu regenerace klíčů

Po obměně 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ů.

  1. Přihlaste se k webu Azure Portal a přejděte ke svému účtu služby Azure Cosmos DB.

  2. V nabídce vlevo vyberte klávesy . Pod každým klíčem by se mělo zobrazit datum regenerace posledního klíče.

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

    Doporučujeme klíče znovu vygenerovat alespoň jednou za 60 dní. Pokud vaše poslední regenerace byla před více než 60 dny, zobrazí se ikona upozornění. Také můžete vidět, že váš klíč nebyl zaznamenán. Pokud se jedná o tento případ, váš účet byl vytvořen před 18. červnem 2022 a data nebyla zaregistrována. Měli byste ale být schopni znovu vygenerovat a vidět nové datum poslední regenerace nového klíče.

  3. Měli byste vidět události regenerace klíčů spolu s jeho stavem, čas vydání operace a podrobnosti o uživateli, který inicioval regeneraci klíčů. Operace generování klíčů se inicializuje se stavem Přijato . Po dokončení operace se změní na Spuštěno a potom na Úspěch .

Další kroky