Sdílet prostřednictvím


Nakonfigurujte klíče spravované zákazníkem pro váš účet Azure Cosmos DB pomocí Azure Key Vault

PLATÍ PRO: NoSQL MongoDB Cassandra Skřítek Tabulka

Data uložená na vašem účtu Azure Cosmos DB jsou automaticky a plynule šifrována klíči spravovanými společností Microsoft (klíče spravované službou). Volitelně můžete zvolit přidání druhé vrstvy šifrování s klíči, které spravujete vy (klíče spravované zákazníkem nebo CMK).

Diagram vrstev šifrování okolo zákaznických dat.

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íč se používá k šifrování všech dat uložených na tomto účtu.

Poznámka

Pokud chcete povolit klíče spravované zákazníkem ve stávajících účtech služby Azure Cosmos DB, přečtěte si téma Konfigurace klíčů spravovaných zákazníkem pro existující účet služby Azure Cosmos DB pomocí služby Azure Key Vault.

Varování

Následující názvy polí jsou vyhrazeny pro tabulky rozhraní API Cassandra v účtech pomocí klíčů spravovaných 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í na zákazníky __sys_ .

Požadavky

Zaregistrujte poskytovatele prostředků Azure Cosmos DB

Pokud poskytovatel zdrojů Microsoft.DocumentDB ještě není zaregistrován, měli byste tento poskytovatel zaregistrovat jako první krok.

  1. Přihlaste se do Azure portálu, přejděte ke svému Azure předplatnému a vyberte Poskytovatelé zdrojů pod záložkou Nastavení.

    Snímek obrazovky s možností Poskytovatelé zdrojů v navigačním menu zdrojů.

  2. Vyhledejte poskytovatele prostředků Microsoft.DocumentDB. Ověřte, zda je poskytovatel zdrojů již označen jako registrovaný. Pokud ne, vyberte poskytovatele zdrojů a zvolte Registrovat:

    Snímek obrazovky s možností Registrace pro poskytovatele zdrojů Microsoft.DocumentDB.

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žbám Microsoftu obejít bránu firewall. Instanci, která je výhradně přístupná prostřednictvím privátních koncových bodů , není možné použít k hostování klíčů spravovaných zákazníkem.

Důrazně doporučujeme, aby vytvořený prostředek služby Azure Key Vault byl povolený pro replikaci dat , aby se zajistila nepřetržitá dostupnost během neočekávaných oblastních výpadků.

Použití klíčů spravovaných zákazníkem s Azure Cosmos DB vyžaduje nastavení dvou vlastností na instanci Azure Key Vault, kterou plánujete použít k ukládání svých šifrovacích klíčů: Soft Delete a Purge Protection.

  1. Pokud vytváříte novou instanci Azure Key Vault, povolte při vytváření tyto vlastnosti:

Snímek obrazovky s možnostmi Azure Key Vault včetně soft delete a ochrany proti vyčištění.

  1. Pokud používáte stávající instanci Azure Key Vault, můžete ověřit, zda jsou tyto vlastnosti povoleny, tím, že se podíváte na sekci Vlastnosti na portálu Azure. 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ů:

Volba 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. Přístupové zásady jsou nastaveny jako výchozí, ale podpora řízení přístupu Azure na základě rolí je také k dispozici.

Je nutné udělit potřebná oprávnění, aby Cosmos DB mohl použít váš šifrovací klíč. Tento krok se liší v závislosti na tom, zda Azure Key Vault používá přístupové zásady nebo řízení přístupu založené na rolích.

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 identitu Azure Cosmos DB k vytvoření zásad přístupu s odpovídajícími oprávněními.

  1. Z portálu Azure přejděte k instanci Azure Key Vault, kterou plánujete použít k hostování vašich šifrovacích klíčů. Vyberte Access Policies z levého menu.

Snímek obrazovky s možností Zásady přístupu v navigačním menu zdrojů.

  1. Vyberte + Přidat přístupovou politiku.

  2. V rozevírací nabídce Oprávnění ke klíči vyberte Získat klíč, Rozbalit klíč a Obalit klíč :

Snímek obrazovky oprávnění zásad přístupu zahrnující Získat, Rozbalit klíč a Zabalit klíč.

  1. V části Vybrat objekt zabezpečení vyberte Není vybráno.

  2. Vyhledejte hlavní objekt Azzure Cosmos DB a vyberte ho.

    Návod

    Tímto se registruje identita první strany Azure Cosmos DB ve vaší přístupové politice Azure Key Vault. Pokud není hlavní entita Azure Cosmos DB uvedena v seznamu, možná budete muset znovu zaregistrovat poskytovatele zdrojů Microsoft.DocumentDB.

  3. Zvolte možnost Select ve spodní části.

    Snímek obrazovky s možností Výběr vlastníka na stránce Přidat zásady přístupu.

  4. Pokud chcete přidat novou zásadu přístupu, vyberte Přidat .

  5. 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ě rolí

  1. Z portálu Azure přejděte k instanci Azure Key Vault, kterou plánujete použít k hostování vašich šifrovacích klíčů. Vyberte Řízení přístupu (IAM) z levého menu a vyberte Poskytnout přístup k tomuto zdroji.

    Snímek obrazovky s možností Řízení přístupu v navigačním menu zdroje.

    Snímek obrazovky s možností Udělit přístup k tomuto zdroji na stránce Řízení přístupu.

  2. Najděte roli Správce Key Vault a přiřaďte ji sami sobě. Provedete to tak, že nejprve vyhledáte název role ze seznamu a potom kliknete na kartu Členové. Na kartě vyberte 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.

    Snímek obrazovky přiřazení role na stránce Řízení přístupu.

  3. Poté musí být hlavnímu objektu Cosmos DB přidělena potřebná oprávnění. Stejně jako při posledním přiřazení role přejděte na stránku přiřazení, ale tentokrát vyhledejte roli uživatele šifrovacích služeb Key Vault a na kartě členy vyhledejte hlavní účet služby Cosmos DB. Chcete-li najít zástupce, vyhledejte Azure Cosmos DB zástupce a vyberte ho.

    Screenshot zobrazující přidělení oprávnění pro hlavního uživatele Azure Cosmos DB.

  4. Vyberte možnost Zkontrolovat a přiřadit, čímž se role 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é.

  1. Po přiřazení rolí vyberte Zobrazit přístup k tomuto prostředku na stránce řízení přístupu IAM a ověřte, že je všechno správně nastavené.

    Snímek obrazovky možnosti Zobrazit přístup k prostředku na stránce Řízení přístupu.

  2. Na stránce nastavte obor na tento prostředek a ověřte, že roli správce služby Key Vault máte vy, a že principál Cosmos DB má roli uživatele šifrování služby Key Vault.

Generujte klíč v Azure Key Vault

Zde vytvořte nový klíč pomocí služby Azure Key Vault a získejte jedinečný identifikátor.

  1. Z portálu Azure přejděte do instance Azure Key Vault, kterou plánujete použít k hostování vašich šifrovacích klíčů. Poté vyberte Keys z levého menu:

    Snímek obrazovky s možností Keys v navigačním menu zdrojů.

  2. Vyberte Generovat/Importovat, zadejte název pro nový klíč a vyberte velikost klíče RSA. Minimálně 3072 je doporučeno pro nejlepší zabezpečení. Pak vyberte Vytvořit:

    Snímek obrazovky dialogu pro vytvoření nového klíče.

    Návod

    Alternativně můžete použít Azure CLI k vygenerování klíče takto:

    az keyvault key create \
        --vault-name <name-of-key-vault> \
        --name <name-of-key>
    

    Pro více informací o správě trezoru klíčů pomocí Azure CLI viz správa Azure Key Vault pomocí Azure CLI.

  3. Po vytvoření klíče vyberte nově vytvořený klíč a poté jeho aktuální verzi.

  4. Zkopírujte identifikátor klíče s výjimkou části za posledním lomítkem:

    Snímek obrazovky s polem identifikátoru klíče a akcí kopírování

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:

Snímek obrazovky stránky Šifrování s nakonfigurovaným identifikátorem URI vlastního spravovaného klíče

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ě přístupu k Azure Key Vault

Tato zásada přístupu zajišťuje, že k vašim šifrovacím klíčům má přístup váš účet Azure Cosmos DB. Přístupová politika je implementována poskytnutím přístupu ke konkrétní identitě Microsoft Entra. Podporovány jsou dva typy identit:

  • První identita služby Azure Cosmos DB může být použita k udělení přístupu ke službě Azure Cosmos DB.
  • Účet Azure Cosmos DB lze použít ke specifickému zpřístupnění vašeho účtu pomocí spravované identity.

Není k dispozici

Použijte klíče spravované zákazníkem se souvislou zálohou

Účet průběžného zálohování můžete vytvořit pomocí Azure CLI nebo šablony ARM.

Aktuálně je podporována pouze spravovaná identita přidělená uživateli pro vytváření účtů pro nepřetržité zálohování.

Po vytvoření účtu můžete identitu aktualizovat na spravovanou identitu přiřazenou systémem.

Případně můžou uživatelé také vytvořit systémovou identitu s pravidelným režimem zálohování a pak účet migrovat do režimu průběžného zálohování. Podrobný postup najdete v tématu Migrace účtu 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

Obnovte průběžný účet, který je nakonfigurován s řízenou 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 na svém účtu Azure Cosmos DB pomocí klíčů spravovaných zákazníkem, jsou nakonec dvakrát zašifrována:

  • Jakmile proběhne výchozí šifrování provedené pomocí klíčů spravovaných společností Microsoft.
  • Jakmile projdete dodatečným šifrováním prováděným 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 na druhou úroveň úložiště, kde není poskytováno dvojité šifrování, dokonce i s klíči spravovanými zákazníkem. Mezi tyto funkce patří:

Rotace klíčů

Rotace klíče spravovaného zákazníkem, který používá váš účet Azure Cosmos DB, lze provést dvěma způsoby.

  • Vytvořte novou verzi klíče, který se aktuálně používá z Azure Key Vault.

    Snímek obrazovky možnosti Nová verze na stránce Verze v portálu Azure.

  • Vyměňte aktuálně používaný klíč za jiný tak, že na svém účtu aktualizujete URI klíče. Z portálu Azure přejděte ke svému účtu Azure Cosmos DB a z levého menu vyberte Šifrování dat.

    Snímek obrazovky s možností Šifrování dat v navigačním menu zdroje.

    Potom nahraďte identifikátor URI klíče novým klíčem, který chcete použít, a vyberte Uložit:

    Snímek obrazovky s možností Uložit na stránce Klíč

    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 od rotace klíče by již neměla probíhat žádná aktivita na předchozím klíči nebo verzi klíče.

Automatické dělení 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ějaký čas, aby se přizpůsobily nové verzi klíče poté, co ověří, že účet není ve zrušeném stavu nebo v procesu přechodu na klíče spravované zákazníkem.

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. Pro diagnostiku základní příčiny problému můžete použít podstavový kód HTTP. Seznam podporovaných kódů substatusu HTTP viz Stavové kódy HTTP pro službu Azure Cosmos DB.

Nejčastěji kladené otázky

Zde jsou zahrnuty často kladené dotazy o nastavení klíčů spravovaných zákazníkem v Azure Cosmos DB.

Jsou zde další poplatky za povolení klíčů spravovaných zákazníkem?

Ne, za aktivaci této funkce se neplatí.

Jak klíče spravované zákazníky ovlivňují plánování kapacity?

Jednotky žádostí (RU) spotřebované vašimi databázovými operacemi uvidí 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. Použijte tuto tabulku jako vodítko.

Typ operace Požadavek na zvýšení jednotky
Point-reads (načítání položek podle jejich ID) + 5% za operaci
Jakákoli zápisová operace + 6 % na operaci | Přibližně + 0,06 RU na indexovanou položku
Dotazy, čtení informačního kanálu změn nebo informačního kanálu konfliktů + 15% za operaci

Jaká data jsou šifrována pomocí klíčů spravovaných zákazníkem?

Veškerá data uložená ve vašem účtu Azure Cosmos DB jsou šifrována pomocí klíčů spravovaných zákazníkem, kromě následujících metadat:

Jsou pro stávající účty Azure Cosmos DB podporovány klíče spravované zákazníkem?

Ano. Další informace najdete v tématu Konfigurace klíčů spravovaných zákazníkem pro stávající účet služby Azure Cosmos DB pomocí služby Azure Key Vault.

Je možné použít šifrovací 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 vašeho účtu 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. Pro návod, jak povolit spravovanou identitu a použít ji v přístupové politice, viz přístup k Azure Key Vault z Azure Cosmos DB pomocí spravované identity.

Existuje plán podpory jemnější granularity než klíče na úrovni účtu?

V současnosti ne, ale uvažuje se o klíčích na úrovni kontejneru.

Jak zjistím, zda jsou v mém účtu Azure Cosmos DB povoleny klíče spravované zákazníkem?

Na webu Azure Portal přejděte do svého účtu služby Azure Cosmos DB a v nabídce vlevo sledujte položku Šifrování dat . Pokud tato položka existuje, pro váš účet jsou povolené klíče spravované zákazníkem:

Snímek obrazovky možnosti Šifrování dat v navigačním menu zdrojů.

Podrobnosti o vašem účtu Azure Cosmos DB můžete také získat programově a vyhledat přítomnost vlastnosti keyVaultKeyUri.

Jak ovlivňují klíče spravované zákazníkem periodické zálohy?

Azure Cosmos DB provádí pravidelné a automatické zálohování dat uložených na vašem účtu. Tato operace zálohuje šifrovaná data.

Ke správnému obnovení periodické zálohy jsou nutné následující podmínky:

  • K šifrovacímu klíči, který jste použili při zálohování, je potřebný přístup a klíč musí být dostupný v Azure Key Vault. Tato podmínka vyžaduje, aby nebyla provedena žádná revokace a verze klíče, která byla použita v době zálohování, stále byla povolena.
  • Pokud jste v zásadě přístupu použili systémově přiřazenou spravovanou identitu, dočasně udělte přístup prvotní identitě Azure Cosmos DB před obnovením vašich dat. Tento požadavek existuje, protože systémově přiřazená spravovaná identita je specifická pro jeden účet a nelze ji znovu použít v cílovém účtu. Jakmile jsou data plně obnovena na cílový účet, můžete nastavit požadovanou konfiguraci identity a odstranit primární identitu z přístupové politiky Key Vault.

Jaký vliv mají klíče spravované zákazníkem na průběžné zálohování?

Azure Cosmos DB vám dává možnost konfigurovat nepřetržité zálohování na vašem účtu. S neustálými zálohami můžete obnovit svá data do libovolného bodu v čase za posledních 30 dní. Pro používání kontinuálních záloh na účtu, kde jsou povoleny klíče spravované zákazníkem, musíte v přístupové politice Key Vault použít systémově přiřazenou nebo uživatelsky přiřazenou spravovanou identitu. Identity první strany služby Azure Cosmos DB se v současné době nepodporují u účtů využívajících průběžné zálohování.

Požadované kroky pro účty s klíči spravovanými zákazníkem pro aktualizaci identity přiřazené uživatelem

  • Přidejte uživatelsky přiřazenou identitu do účtu služby Cosmos DB a udělte oprávnění v zásadách přístupu v trezoru klíčů.
  • Nastavte uživatele přiřazenou jako výchozí identitu prostřednictvím Azure CLI nebo Azure Resource Manageru (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 provedení obnovení k určitému časovému bodu jsou nutné následující podmínky:

  • Přístup ke klíči spravovanému zákazníkem musí být dostupný pro výchozí identitu účtu. Pokud byl klíč rotován, musí být proces rotace zcela dokončen nebo účet musí mít přístup ke starým i novým verzím klíčů.

  • Musíte zajistit, aby uživatelsky přiřazená spravovaná identita, původně použitá na zdrojovém účtu, byla stále uvedena v přístupové politice 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ž hodinu před zrušením.

Jak zruším šifrovací klíč?

Zrušení klíče se provádí deaktivací nejnovější verze klíče:

Snímek obrazovky deaktivované verze vlastní klávesy.

Alternativně, chcete-li zrušit všechny klíče z instance Azure Key Vault, můžete odstranit zásadu přístupu, která je udělena hlavnímu objektu Azure Cosmos DB:

Snímek obrazovky možnosti Odstranit pro zásadu přístupu.

Jaké operace jsou dostupné po odvolání klíče spravovaného zákazníkem?

Odstranění účtu je jedinou možnou operací, pokud byl šifrovací klíč odvolán.

Přiřaďte novou spravovanou identitu obnovenému databázovému účtu, abyste mohli pokračovat v přístupu k databázovému účtu nebo obnovení přístupu k němu.

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í záloh) CMK + identity přiřazené uživatelem,

Metadata identity jsou svázaná se zdrojovým účtem databáze a pracovní postup obnovení nevrátí identitu do cílového databázového účtu. To způsobí, že obnovené databázové účty budou ve špatném stavu a po odstranění zdrojového účtu se stanou nepřístupnými a doba obnovení identity vyprší.

Kroky pro přiřazení nové spravované identity:

  1. Vytvoření nové spravované identity přiřazené uživatelem
  2. Poskytněte této identitě přístup k klíči Key Vault
  3. Přiřaďte tuto novou identitu k obnovené databázovému účtu.

Další krok