Konfigurace klíčů spravovaných zákazníkem pro účet služby Azure Cosmos DB pomocí služby Azure Key Vault
PLATÍ PRO: NoSQL MongoDB Cassandra Skřítek Stůl
Data uložená ve vašem účtu služby Azure Cosmos DB se automaticky a bezproblémově šifrují pomocí klíčů spravovaných Microsoftem (klíče spravované službou). Volitelně můžete přidat druhou vrstvu šifrování pomocí klíčů, které spravujete (klíče spravované zákazníkem nebo CMK).
Klíče spravované zákazníkem musíte uložit ve službě Azure Key Vault a zadat klíč pro každý účet služby Azure Cosmos DB, který je povolený pomocí klíčů spravovaných zákazníkem. Tento klíč slouží k šifrování všech dat uložených v daném účtu.
Poznámka:
Pokud chcete povolit klíče spravované zákazníkem ve stávajících účtech Služby Azure Cosmos DB, můžete se podívat na odkaz , kde najdete další podrobnosti.
Upozorňující
Následující názvy polí jsou vyhrazeny pro tabulky rozhraní API Cassandra v účtech používajících klíče spravované zákazníkem:
id
ttl
_ts
_etag
_rid
_self
_attachments
_epk
Pokud klíče spravované zákazníkem nejsou povolené, jsou vyhrazeny pouze názvy polí začínajících zákazníkem __sys_
.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
Registrace poskytovatele prostředků Azure Cosmos DB
Pokud poskytovatel prostředků Microsoft.DocumentDB ještě není zaregistrovaný, měli byste tohoto poskytovatele zaregistrovat jako první krok.
Přihlaste se k webu Azure Portal, přejděte do svého předplatného Azure a na kartě Nastavení vyberte Poskytovatele prostředků:
Vyhledejte poskytovatele prostředků Microsoft.DocumentDB . Ověřte, jestli je poskytovatel prostředků již označený jako zaregistrovaný. Pokud ne, zvolte poskytovatele prostředků a vyberte Zaregistrovat:
Konfigurace instance služby Azure Key Vault
Důležité
Vaše instance služby Azure Key Vault musí být přístupná prostřednictvím přístupu k veřejné síti nebo umožnit důvěryhodným služby Microsoft obejít bránu firewall. Instanci, která je výhradně přístupná prostřednictvím privátních koncových bodů, nelze použít k hostování klíčů spravovaných zákazníkem.
Použití klíčů spravovaných zákazníkem se službou Azure Cosmos DB vyžaduje, abyste v instanci služby Azure Key Vault nastavili dvě vlastnosti, které chcete použít k hostování šifrovacích klíčů: obnovitelné odstranění a vymazání ochrany.
Pokud vytvoříte novou instanci služby Azure Key Vault, během vytváření povolte tyto vlastnosti:
Pokud používáte existující instanci služby Azure Key Vault, můžete ověřit, že jsou tyto vlastnosti povolené, a to v části Vlastnosti na webu Azure Portal. Pokud některé z těchto vlastností není povolené, přečtěte si část "Povolení obnovitelného odstranění" a "Povolení ochrany před vymazáním" v jednom z následujících článků:
Výběr upřednostňovaného modelu zabezpečení
Po povolení ochrany před vymazáním a obnovitelného odstranění můžete na kartě zásady přístupu zvolit preferovaný model oprávnění, který chcete použít. Zásady přístupu jsou nastavené ve výchozím nastavení, ale podporuje se i řízení přístupu na základě role v Azure.
Aby služba Cosmos DB mohla používat váš šifrovací klíč, musí být udělena potřebná oprávnění. Tento krok se liší v závislosti na tom, jestli Azure Key Vault používá zásady přístupu nebo řízení přístupu na základě role.
Poznámka:
Je důležité si uvědomit, že najednou může být aktivní jenom jeden model zabezpečení, takže není nutné sestavovat řízení přístupu na základě role, pokud je služba Azure Key Vault nastavená tak, aby používala zásady přístupu a naopak).
Přidání zásad přístupu
V této variantě použijte instanční objekt služby Azure Cosmos DB k vytvoření zásady přístupu s příslušnými oprávněními.
Na webu Azure Portal přejděte do instance služby Azure Key Vault, kterou chcete použít k hostování šifrovacích klíčů. V nabídce vlevo vyberte Zásady přístupu:
Vyberte + Přidat zásady přístupu.
V rozevírací nabídce Oprávnění ke klíči vyberte oprávnění Získat, Rozbalit klíč a Zalamovat klíč:
V části Vybrat objekt zabezpečení vyberte Možnost Žádný.
Vyhledejte objekt zabezpečení služby Azure Cosmos DB a vyberte ho (abyste ho mohli snadněji najít, můžete také vyhledávat podle ID aplikace:
00001111-aaaa-2222-bbbb-3333cccc4444
pro libovolnou oblast Azure kromě oblastí Azure Government, ve kterých je11112222-bbbb-3333-cccc-4444dddd5555
ID aplikace).Tip
Tím se ve vašich zásadách přístupu ke službě Azure Key Vault zaregistruje identita první strany služby Azure Cosmos DB. Pokud objekt zabezpečení služby Azure Cosmos DB není v seznamu, možná budete muset znovu zaregistrovat poskytovatele prostředků Microsoft.DocumentDB.
Zvolte Vybrat v dolní části.
Pokud chcete přidat novou zásadu přístupu, vyberte Přidat .
Výběrem možnosti Uložit v instanci služby Key Vault uložte všechny změny.
Přidání rolí řízení přístupu na základě role
Na webu Azure Portal přejděte do instance služby Azure Key Vault, kterou chcete použít k hostování šifrovacích klíčů. V nabídce vlevo vyberte Řízení přístupu (IAM) a vyberte Udělit přístup k tomuto prostředku.
Vyhledejte roli správce služby Key Vault a přiřaďte ji sobě. Toto přiřazení provedete tak, že nejprve vyhledáte název role ze seznamu a potom kliknete na kartu Členové . Na kartě vyberte v rádiu možnost Uživatel, skupina nebo instanční objekt a vyhledejte svůj účet Azure. Po výběru účtu je možné roli přiřadit.
Potom musí být potřebná oprávnění přiřazena k instančnímu objektu služby Cosmos DB. Stejně jako poslední přiřazení role přejděte na stránku přiřazení, ale tentokrát vyhledejte roli Šifrování šifrovací služby Key Vault a na kartě členové vyhledejte instanční objekt služby Cosmos DB. Pokud chcete objekt zabezpečení najít, vyhledejte instanční objekt služby Azure Cosmos DB a vyberte ho.
Důležité
V oblasti Azure Government je
11112222-bbbb-3333-cccc-4444dddd5555
ID aplikace .Vyberte Zkontrolovat a přiřadit a role se přiřadí ke službě Cosmos DB.
Ověřte, že jsou role správně nastavené.
Dále pomocí stránky řízení přístupu ověřte, že jsou všechny role správně nakonfigurované.
Po přiřazení rolí vyberte na stránce Řízení přístupu IAM možnost Zobrazit přístup k tomuto prostředku a ověřte, že je vše správně nastavené.
Na stránce nastavte obor na tento prostředek a ověřte, že máte roli Správce služby Key Vault, a instanční objekt služby Cosmos DB má roli uživatele šifrování služby Key Vault.
Vygenerování klíče ve službě Azure Key Vault
Tady vytvořte nový klíč pomocí služby Azure Key Vault a načtěte jedinečný identifikátor.
Na webu Azure Portal přejděte k instanci služby Azure Key Vault, kterou chcete použít k hostování šifrovacích klíčů. Potom v nabídce vlevo vyberte Klíče :
Vyberte Generovat/Importovat, zadejte název nového klíče a vyberte velikost klíče RSA. Pro zajištění nejlepšího zabezpečení se doporučuje minimálně 3072. Pak vyberte Vytvořit:
Tip
Případně můžete pomocí Azure CLI vygenerovat klíč pomocí:
az keyvault key create \ --vault-name <name-of-key-vault> \ --name <name-of-key>
Další informace o správě trezoru klíčů pomocí Azure CLI najdete v tématu Správa služby Azure Key Vault pomocí Azure CLI.
Po vytvoření klíče vyberte nově vytvořený klíč a pak jeho aktuální verzi.
Zkopírujte identifikátor klíče s výjimkou části za posledním lomítkem:
Vytvoření nového účtu služby Azure Cosmos DB
Vytvořte nový účet služby Azure Cosmos DB pomocí webu Azure Portal nebo Azure CLI.
Když vytvoříte nový účet služby Azure Cosmos DB z webu Azure Portal, zvolte klíč spravovaný zákazníkem v kroku Šifrování . Do pole Identifikátor URI klíče vložte identifikátor URI/klíč klíče služby Azure Key Vault, který jste zkopírovali z předchozího kroku:
Důležité
V závislosti na konfiguraci sítě možná budete muset povolit přístup ke službě Azure Cosmos DB z jiných služeb Azure.
Použití spravované identity v zásadách přístupu ke službě Azure Key Vault
Tyto zásady přístupu zajišťují, že k šifrovacím klíčům bude mít přístup váš účet služby Azure Cosmos DB. Zásady přístupu se implementují udělením přístupu ke konkrétní identitě Microsoft Entra. Podporují se dva typy identit:
- Identitu první strany služby Azure Cosmos DB je možné použít k udělení přístupu ke službě Azure Cosmos DB.
- Spravovanou identitu účtu služby Azure Cosmos DB můžete použít k udělení přístupu k vašemu účtu konkrétně.
Není k dispozici
Použití klíčů spravovaných zákazníkem s průběžným zálohováním
Účet průběžného zálohování můžete vytvořit pomocí Azure CLI nebo šablony Azure Resource Manageru.
V současné době se pro vytváření účtů průběžného zálohování podporuje jenom spravovaná identita přiřazená uživatelem.
Po vytvoření účtu můžete identitu aktualizovat na spravovanou identitu přiřazenou systémem.
Případně může uživatel také vytvořit systémovou identitu s pravidelným režimem zálohování a pak pomocí těchto pokynů migrovat účet do režimu průběžného zálohování pomocí těchto pokynů Migrovat účet Služby Azure Cosmos DB z pravidelného režimu průběžného zálohování do režimu průběžného zálohování.
Není k dispozici
Obnovení průběžného účtu, který je nakonfigurovaný se spravovanou identitou
V žádosti o obnovení se vyžaduje identita přiřazená uživatelem, protože spravovaná identita zdrojového účtu (přiřazená uživatelem a identita přiřazená systémem) se nemůže automaticky přenést do cílového databázového účtu.
Není k dispozici
Klíče spravované zákazníkem a dvojité šifrování
Data, která ukládáte do účtu služby Azure Cosmos DB při použití klíčů spravovaných zákazníkem, se zašifrují dvakrát:
- Jednou prostřednictvím výchozího šifrování prováděného s klíči spravovanými Microsoftem.
- Jednou prostřednictvím dodatečného šifrování prováděného s klíči spravovanými zákazníkem.
Dvojité šifrování platí jenom pro hlavní transakční úložiště Azure Cosmos DB. Některé funkce zahrnují interní replikaci vašich dat do druhé úrovně úložiště, kde není poskytováno dvojité šifrování, a to ani s klíči spravovanými zákazníkem. Patří k nim:
Obměna klíčů
Obměně klíče spravovaného zákazníkem, který používá váš účet služby Azure Cosmos DB, je možné provést dvěma způsoby.
Vytvořte novou verzi klíče, která se aktuálně používá ze služby Azure Key Vault:
Prohoďte klíč, který se aktuálně používá, aktualizací identifikátoru URI klíče ve vašem účtu. Na webu Azure Portal přejděte do svého účtu služby Azure Cosmos DB a v nabídce vlevo vyberte Šifrování dat:
Potom nahraďte identifikátor URI klíče novým klíčem, který chcete použít, a vyberte Uložit:
Tady je postup, jak dosáhnout stejného výsledku v PowerShellu:
# Variable for resource group name $RESOURCE_GROUP_NAME = "<resource-group-name>" # Variable for account name $ACCOUNT_NAME = "<globally-unique-account-name>" # Variable for new key URI in the key vault $NEW_KEY_VAULT_KEY_URI="https://<key-vault-name>.vault.azure.net/keys/<new-key-name>" $parameters = @{ ResourceGroupName = $RESOURCE_GROUP_NAME Name = $ACCOUNT_NAME ResourceType = "Microsoft.DocumentDb/databaseAccounts" } $ACCOUNT = Get-AzResource @parameters $ACCOUNT.Properties.keyVaultKeyUri = $NEW_KEY_VAULT_KEY_URI $ACCOUNT | Set-AzResource -Force
Předchozí klíč nebo verze klíče je možné zakázat poté , co protokoly auditu služby Azure Key Vault nezobrazují aktivitu ze služby Azure Cosmos DB v této verzi klíče nebo klíče. Po 24 hodinách obměně klíčů by se neměla provádět žádná další aktivita u předchozího klíče nebo verze klíče.
Automatické obměny klíčů ve službě Azure Key Vault se podporuje, pokud předchozí klíč není zakázaný nebo odstraněný. Interní systémy potřebují nějakou dobu, aby po ověření, že účet není v odvolaném stavu nebo při přechodu na povolení klíčů spravovaných zákazníkem, chvíli dohnat novou verzi klíče.
Zpracování chyb
Pokud ve službě Azure Cosmos DB dojde k chybám s klíči spravovanými zákazníkem, azure Cosmos DB vrátí podrobnosti o chybě spolu s kódem podstatu HTTP v odpovědi. K ladění původní příčiny problému můžete použít kód podstatu HTTP. Seznam podporovaných kódů dílčích statistik HTTP najdete v článku o stavových kódech HTTP pro Službu Azure Cosmos DB .
Nejčastější dotazy
Tady jsou nejčastější dotazy k nastavení klíčů spravovaných zákazníkem ve službě Azure Cosmos DB.
Účtují se další poplatky za povolení klíčů spravovaných zákazníkem?
Ne, za tuto funkci se neúčtují žádné poplatky.
Jaký vliv mají klíče spravované zákazníkem na plánování kapacity?
Jednotky žádostí spotřebované vašimi databázovými operacemi vidí zvýšení, které odráží dodatečné zpracování potřebné k šifrování a dešifrování dat při použití klíčů spravovaných zákazníkem. Zvýšení spotřeby RU může vést k mírně vyššímu využití zřízené kapacity. Pokyny najdete v této tabulce:
Typ operace | Zvýšení jednotky žádosti |
---|---|
Čtení bodů (načítání položek podle jejich ID) | + 5 % na operaci |
Jakákoli operace zápisu | + 6 % na operaci | Přibližně + 0,06 RU na indexovanou vlastnost |
Dotazy, čtení kanálu změn nebo konfliktní informační kanál | + 15 % na operaci |
Jaká data se šifrují pomocí klíčů spravovaných zákazníkem?
Všechna data uložená v účtu služby Azure Cosmos DB se šifrují pomocí klíčů spravovaných zákazníkem s výjimkou následujících metadat:
Názvy uložených procedur
Cesty vlastností deklarované v zásadách indexování
Podporují se klíče spravované zákazníkem pro stávající účty služby Azure Cosmos DB?
Ano. Informace o nastavení klíčů spravovaných zákazníkem pro stávající účty Služby Azure Cosmos DB najdete v tématu Nastavení klíčů spravovaných zákazníkem.
Je možné používat klíče spravované zákazníkem s analytickým úložištěm Azure Cosmos DB?
Ano, Azure Synapse Link podporuje pouze konfiguraci klíčů spravovaných zákazníkem pomocí spravované identity účtu služby Azure Cosmos DB. Před povolením služby Azure Synapse Link ve vašem účtu musíte ve svých zásadách přístupu ke službě Azure Key Vault použít spravovanou identitu účtu služby Azure Cosmos DB. Návod, jak povolit spravovanou identitu a použít ji v zásadách přístupu, najdete v tématu o přístupu ke službě Azure Key Vault ze služby Azure Cosmos DB pomocí spravované identity.
Existuje plán podpory jemněji členitosti než klíče na úrovni účtu?
V současné době ne, ale zvažují se klíče na úrovni kontejneru.
Jak zjistím, jestli jsou u účtu služby Azure Cosmos DB povolené klíče spravované zákazníkem?
Na webu Azure Portal přejděte do svého účtu služby Azure Cosmos DB a v levé nabídce sledujte položku Šifrování dat. Pokud tato položka existuje, klíče spravované zákazníkem jsou ve vašem účtu povolené:
Můžete také programově načíst podrobnosti o účtu služby Azure Cosmos DB a vyhledat přítomnost keyVaultKeyUri
vlastnosti.
Jaký vliv mají klíče spravované zákazníkem na pravidelné zálohy?
Azure Cosmos DB přijímá pravidelné a automatické zálohy dat uložených ve vašem účtu. Tato operace zálohuje šifrovaná data.
K úspěšnému obnovení pravidelné zálohy jsou nezbytné následující podmínky:
- Šifrovací klíč, který jste použili v době zálohování, je povinný a musí být dostupný ve službě Azure Key Vault. Tato podmínka vyžaduje, aby nedošlo k odvolání a verze klíče použitého v době zálohování je stále povolená.
- Pokud jste v zásadách přístupu použili spravovanou identitu přiřazenou systémem, před obnovením dat dočasně udělte přístup k identitě první strany služby Azure Cosmos DB. Tento požadavek existuje, protože spravovaná identita přiřazená systémem je specifická pro účet a nedá se znovu použít v cílovém účtu. Po úplném obnovení dat do cílového účtu můžete nastavit požadovanou konfiguraci identity a odebrat identitu první strany ze zásad přístupu ke službě Key Vault.
Jaký vliv mají klíče spravované zákazníkem na průběžné zálohování?
Azure Cosmos DB nabízí možnost konfigurovat průběžné zálohování ve vašem účtu. Díky průběžným zálohám můžete data obnovit k libovolnému bodu v čase během posledních 30 dnů. Pokud chcete používat průběžné zálohování na účtu, kde jsou povolené klíče spravované zákazníkem, musíte v zásadách přístupu ke službě Key Vault použít spravovanou identitu přiřazenou systémem nebo přiřazenou uživatelem. Identita první strany služby Azure Cosmos DB se v současné době nepodporuje u účtů využívajících průběžné zálohování.
Požadované kroky pro účty s povolenými klíči spravovanými zákazníkem za účelem aktualizace identity přiřazené uživatelem
- Přidejte identitu přiřazenou uživatelem do účtu služby Cosmos DB a udělte oprávnění v zásadách přístupu trezoru klíčů.
- Nastavte uživatelem přiřazenou jako výchozí identitu prostřednictvím Azure CLI nebo ARM.
az cosmosdb update --resource-group MyResourceGroup --name MyAccountName --default-identity UserAssignedIdentity=/subscriptions/MySubscriptionId/resourcegroups/MyResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyUserAssignedIdentity
K úspěšnému obnovení k určitému bodu v čase jsou nezbytné následující podmínky:
- Šifrovací klíč, který jste použili v době zálohování, je povinný a musí být dostupný ve službě Azure Key Vault. Tento požadavek znamená, že nedošlo k odvolání a verze klíče použitého v době zálohování je stále povolená.
- Musíte zajistit, aby spravovaná identita přiřazená uživatelem původně používaná ve zdrojovém účtu byla stále deklarována v zásadách přístupu ke službě Key Vault.
Důležité
Pokud před odstraněním účtu odvoláte šifrovací klíč, může záloha vašeho účtu vynechat data zapsaná až 1 hodinu před zrušením.
Návody odvolat šifrovací klíč?
Odvolání klíče se provádí zakázáním nejnovější verze klíče:
Pokud chcete také odvolat všechny klíče z instance služby Azure Key Vault, můžete odstranit zásady přístupu udělené instančnímu objektu služby Azure Cosmos DB:
Jaké operace jsou k dispozici po odvolání klíče spravovaného zákazníkem?
Jedinou možnou operací, pokud byl šifrovací klíč odvolán, je odstranění účtu.
Pokud chcete pokračovat v přístupu k databázovému účtu nebo obnovit přístup k databázovému účtu, přiřaďte obnovené databázovému účtu novou spravovanou identitu.
Identita přiřazená uživatelem je svázaná se zadaným účtem Cosmos DB, kdykoli přiřadíme identitu přiřazenou uživatelem k účtu, ARM předá požadavek identitám spravované služby, aby se toto připojení provedlo. V současné době přenášíme informace o identitě uživatele ze zdrojového databázového účtu do cílového databázového účtu během obnovení (pro průběžné i pravidelné obnovení) CMK + identity přiřazené uživatelem,
Vzhledem k tomu, že metadata identit jsou svázaná se zdrojovým účtem databáze a pracovní postup obnovení nepřesazuje identitu cílovému databázovému účtu. To způsobí, že obnovené databázové účty budou ve špatném stavu a po odstranění zdrojového účtu budou nedostupné a doba obnovení identity vyprší.
Postup přiřazení nové spravované identity:
- Vytvořte novou spravovanou identitu přiřazenou uživatelem.
- Udělte klíč služby KeyVault přístup k této identitě.
- Přiřaďte tuto novou identitu k obnovenému databázovému účtu.
Další kroky
- Přečtěte si další informace o šifrování dat ve službě Azure Cosmos DB.