Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aplikace Azure Konfigurace šifruje citlivé informace v klidovém stavu. Použití klíčů spravovaných zákazníkem poskytuje vylepšenou ochranu dat tím, že poskytuje větší kontrolu nad šifrovacími klíči. Při použití šifrování spravovaného klíče se všechny citlivé informace v konfiguraci aplikace zašifrují pomocí klíče služby Azure Key Vault, který zadáte. V důsledku toho můžete šifrovací klíč na vyžádání otočit. Přístup vašeho App Configuration Storu k citlivým informacím můžete odvolat tím, že odvoláte přístup storu ke klíči.
Přehled
App Configuration šifruje citlivé informace v klidovém stavu pomocí 256bitového šifrovacího klíče AES (Advanced Encryption Standard) poskytovaného Microsoftem. Každé úložiště konfigurace aplikací má svůj vlastní šifrovací klíč, který spravuje služba a používá se k šifrování citlivých informací. Citlivé informace zahrnují hodnoty nalezené v párech klíč-hodnota.
Když v konfiguraci aplikace použijete klíč spravovaný zákazníkem, proběhne následující události:
- App Configuration používá spravovanou identitu přiřazenou k App Configuration Storu k ověření pomocí ID Microsoft Entra.
- Spravovaná identita volá službu Key Vault a zabalí šifrovací klíč úložiště App Configuration Store.
- Zabalený šifrovací klíč se uloží.
- Nezapsaný šifrovací klíč se ukládá do mezipaměti v rámci konfigurace aplikace po dobu jedné hodiny.
- Konfigurace aplikace každou hodinu aktualizuje rozbalenou verzi šifrovacího klíče úložiště App Configuration.
Tento proces zajišťuje dostupnost za normálních provozních podmínek.
Důležité
Pokud jsou splněny některé z následujících podmínek, citlivé informace uložené v App Configuration Storu se nedají dešifrovat:
- Identita přiřazená ke službě App Configuration store už není oprávněna rozbalit šifrovací klíč úložiště.
- Spravovaný klíč byl trvale odstraněn.
- Platnost používané verze spravovaného klíče vyprší.
Pomocí funkce obnovitelného odstranění ve službě Key Vault můžete zmírnit pravděpodobnost náhodného odstranění šifrovacího klíče. Pokud chcete zmírnit možnost vypršení platnosti základního spravovaného klíče, můžete při konfiguraci šifrování spravovaného klíče vynechat verzi klíče a nastavit automatickou obměnu klíčů ve službě Key Vault. Další informace najdete v tématu Obměně klíčů dále v tomto článku.
Požadavky
Následující komponenty jsou potřeba k úspěšnému povolení klíčových funkcí spravovaných zákazníkem pro Službu App Configuration. V tomto článku se dozvíte, jak tyto komponenty nastavit.
- Úložiště konfigurace aplikací úrovní Standard nebo Premium.
- Instance služby Key Vault s povolenými funkcemi obnovitelného odstranění a ochrany před vymazáním.
- Klíč v trezoru klíčů, který splňuje následující požadavky:
- Používá šifrování Rivest-Shamir-Adleman (RSA) nebo šifrování RSA, které používá modul hardwarového zabezpečení (RSA-HSM).
- Nevypršela platnost.
- Je povolená.
- Má zapnuté funkce zabalení a rozbalení.
Po tomto článku se dozvíte, jak nakonfigurovat tyto prostředky, provede vás následujícími kroky, aby služba App Configuration Store mohl používat klíč služby Key Vault:
- Přiřaďte spravovanou identitu ke službě App Configuration Store.
- Udělte identitě oprávnění, aby mohl přistupovat ke klíči služby Key Vault:
- Pro trezory klíčů, které používají řízení přístupu na základě role Azure (Azure RBAC), přiřaďte identitě roli uživatele šifrování šifrovací služby Key Vault v cílovém trezoru klíčů.
- U trezorů klíčů, které používají autorizaci prostřednictvím zásad přístupu, udělte identitě oprávnění
GET,WRAPaUNWRAPv přístupové politice cílového trezoru klíčů.
Povolení šifrování klíčů spravovaných zákazníkem
Pokud chcete použít šifrování klíče spravovaného zákazníkem, postupujte podle kroků v následujících částech.
Vytvoření zdrojů
Vytvořte App Configuration store v úrovni Standard nebo Premium, pokud ho nemáte. Pokyny najdete v Rychlý Start: Vytvoření Azure App Configuration Store.
Spuštěním následujícího příkazu Azure CLI vytvořte instanci služby Key Vault s povolenou ochranou před vymazáním. Měkké odstranění je ve výchozím nastavení zapnuto. Nahraďte
<vault-name>a<resource-group-name>vlastními jedinečnými hodnotami.az keyvault create --name <vault-name> --resource-group <resource-group-name> --enable-purge-protectionVýstup tohoto příkazu zobrazí ID prostředku
idúložiště klíčů. Poznamenejte si jeho hodnotu, která má následující formát:/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<vault-name>Pomocí Azure CLI si přiřaďte přístup ke svému trezoru klíčů, který potřebujete k vytvoření klíče. Příkaz, který použijete, závisí na autorizačním systému, který používá váš trezor klíčů. K dispozici jsou dva modely:
- Model řízení přístupu na základě role (RBAC) Azure
- Model zásad přístupu
Pro oba modely potřebujete ID objektu uživatele ke spuštění příkazu. ID objektu uživatele můžete najít pomocí jedné z následujících metod:
az ad user show --id <user-principal-name>Použijte příkaz v Azure CLI, kde<user-principal-name>je hlavní název uživatele (UPN).Použití webu Azure Portal:
- Vyberte Microsoft Entra ID a pak vyberte Spravovat>uživatele.
- Do vyhledávacího pole zadejte svoje jméno a pak ve výsledcích vyberte své uživatelské jméno.
- Zkopírujte hodnotu ID objektu .
Přiřaďte si přístup spuštěním příkazu, který je vhodný pro autorizační systém vašeho trezoru klíčů:
Nahraďte zástupné symboly následujícími hodnotami:
- Použijte
<user-object-ID>ID objektu, které jste právě našli. - Pro použití
<role>zvolte roli, jako například Key Vault Crypto Officer, která vám poskytne potřebný přístup k vytvoření klíče. Uzavřete roli do uvozovek. - Pro
<vault-resource-ID>použijte ID prostředku klíčového trezoru z předchozího kroku.
az role assignment create --assignee <user-object-ID> --role <role> --scope <vault-resource-ID>Spuštěním následujícího příkazu vytvořte klíč služby Key Vault. Nahraďte zástupné symboly následujícími hodnotami:
- Pro
<key-name>použijte svou vlastní jedinečnou hodnotu. - Pro
<key-type>:- Slouží
RSAk šifrování RSA. - Použijte
RSA-HSMpro šifrování RSA-HSM. RSA-HSM šifrování je k dispozici pouze na úrovni Premium.
- Slouží
- Pro
<vault-name>, použijte název úložiště klíčů z kroku 2.
az keyvault key create --name <key-name> --kty <key-type> --vault-name <vault-name>Výstup tohoto příkazu obsahuje ID klíče,
kid, vygenerovaného klíče. Poznamenejte si jeho hodnotu, která má následující formát:https://<vault-name>.vault.azure.net/keys/<key-name>/<key-version>ID klíče obsahuje následující komponenty:
- Identifikátor URI trezoru klíčů:
https://<vault-name>.vault.azure.net - Název klíče trezoru klíčů:
<key-name> - Verze klíče trezoru klíčů:
<key-version>
- Pro
Pomocí jedné z následujících možností vytvořte spravovanou identitu pro úložiště App Configuration:
Pokud chcete vytvořit spravovanou identitu přiřazenou uživatelem, postupujte podle kroků v části Přidání identity přiřazené uživatelem. Poznamenejte si hodnoty
clientIdaprincipalIdvlastnosti identity.Pokud chcete vytvořit spravovanou identitu přiřazenou systémem, použijte následující příkaz Azure CLI. Nahraďte zástupné symboly následujícími hodnotami:
- Pro
<App-Configuration-store-name>použijte název úložiště App Configuration z kroku 1. - Pro použití
<resource-group-name>, použijte název skupiny prostředků, která obsahuje váš App Configuration Store.
- Pro
az appconfig identity assign --name <App-Configuration-store-name> --resource-group <resource-group-name> --identities [system]Výstup tohoto příkazu zahrnuje ID hlavního objektu
principalIda ID tenantatenantIdsystémově přiřazené identity. Poznamenejte si hodnotuprincipalIDvlastnosti.{ "principalId": <principal-ID>, "tenantId": <tenant-ID>, "type": "SystemAssigned", "userAssignedIdentities": null }
Udělení přístupu a povolení klíče
Spravovaná identita úložiště App Configuration potřebuje přístup k klíči, aby bylo možné provádět ověřování klíčů, šifrování a dešifrování. Konkrétně spravovaná identita potřebuje přístup k akcím GET, WRAP a UNWRAP pro klíče.
- U trezorů klíčů, které používají Azure RBAC, můžete tato oprávnění udělit přiřazením role uživatele šifrování kryptografických služeb Key Vault spravované identitě.
- U klíčových trezorů, které používají autorizaci zásad přístupu, můžete nastavit zásadu pro tato oprávnění ke klíčům.
Udělte spravované identitě přístup ke spravovanému klíči pomocí příkazu, který je vhodný pro autorizační systém vašeho trezoru klíčů. V obou systémech nahraďte
<managed-identity-principal-ID>ID hlavního objektu z předchozího kroku.Nahraďte
<key-vault-resource-id>ID prostředku trezoru klíčů z kroku 2 části Vytvoření prostředků.az role assignment create --assignee <managed-identity-principal-ID> --role "Key Vault Crypto Service Encryption User" --scope <key-vault-resource-id>Spuštěním jednoho z následujících příkazů Azure CLI povolte ve službě funkci klíče spravovaného zákazníkem. Nahraďte zástupné symboly následujícími hodnotami:
- Pro použití
<resource-group-name>, použijte název skupiny prostředků, která obsahuje váš App Configuration Store. - Pro
<App-Configuration-store-name>použijte název vašeho úložiště App Configuration. - Pro
<key-name>a<key-vault-URI>použijte hodnoty z kroku 4 vytvoření prostředků.
Ve výchozím nastavení příkaz používá spravovanou identitu přiřazenou systémem k ověření v trezoru klíčů.
Pokud pro přístup ke klíči spravovanému zákazníkem používáte spravovanou identitu přiřazenou systémem, spusťte následující příkaz:
az appconfig update -g <resource-group-name> -n <App-Configuration-store-name> --encryption-key-name <key-name> --encryption-key-vault <key-vault-URI>Pokud pro přístup ke klíči spravovanému zákazníkem použijete spravovanou identitu přiřazenou uživatelem, spusťte následující příkaz, který explicitně určuje ID klienta. Nahraďte
<user-assigned-managed-identity-client-ID>hodnotou z kroku 5clientId.az appconfig update -g <resource-group-name> -n <App-Configuration-store-name> --encryption-key-name <key-name> --encryption-key-vault <key-vault-URI> --identity-client-id <user-assigned-managed-identity-client-ID>
- Pro použití
Úložiště konfigurace aplikací je teď nakonfigurované tak, aby používalo klíč spravovaný zákazníkem uložený ve službě Key Vault.
Zákaz šifrování klíčů spravovaných zákazníkem
Když zakážete šifrování klíčů spravovaných zákazníkem, vaše úložiště app Configuration se vrátí k používání klíčů spravovaných Microsoftem. Než se ale vrátíte k klíčům spravovaným Microsoftem, použije App Configuration aktuální klíč k dešifrování všech existujících dat. Pokud platnost aktuálního klíče vypršela nebo je přístup k němu odvolán, musíte nejprve obnovit přístup k ho.
Poznámka:
Než nakonfigurujete úložiště App Configuration tak, aby k šifrování používal klíč spravovaný Microsoftem místo klíče spravovaného zákazníkem, zajistěte, aby tato změna odpovídala požadavkům vaší organizace na zásady zabezpečení a dodržování předpisů.
Ujistěte se, že aktuální klíč spravovaný zákazníkem je platný a funkční.
Pomocí následujícího příkazu Azure CLI aktualizujte úložiště App Configuration Store odebráním konfigurace klíče spravovaného zákazníkem. Nahraďte
<resource-group-name>a<App-Configuration-store-name>hodnotami ve vašem prostředí.az appconfig update -g <resource-group-name> -n <App-Configuration-store-name> --encryption-key-name ""Pokud chcete ověřit, že je konfigurace klíče spravovaného zákazníkem zakázaná, zkontrolujte vlastnosti vašeho App Configuration Storu.
az appconfig show -g <resource-group-name> -n <App-Configuration-store-name> --query "encryption"Ve výstupu tohoto příkazu
encryption.keyVaultPropertiesby vlastnost měla mít hodnotunull.
Vaše úložiště App Configuration Store je teď nakonfigurované tak, aby k šifrování používaly klíče spravované Microsoftem.
Odvolání přístupu
Když povolíte funkci klíče spravovaného zákazníkem ve službě App Configuration Store, řídíte schopnost služby přistupovat k citlivým informacím. Spravovaný klíč slouží jako kořenový šifrovací klíč.
Přístup ke spravovanému klíči v App Configuration Storu můžete odvolat změnou zásad přístupu trezoru klíčů. Když tento přístup odvoláte, konfigurace aplikace ztratí možnost dešifrovat uživatelská data do jedné hodiny. V tomto okamžiku služba App Configuration Store zakáže všechny pokusy o přístup.
Tato situace je obnovitelná tak, že službě App Configuration znovu udělíte přístup ke spravovanému klíči. Během jedné hodiny dokáže App Configuration dešifrovat uživatelská data a pracovat za normálních podmínek.
Poznámka:
Všechna data služby App Configuration se ukládají až 24 hodin v izolovaném zálohování. Tato data zahrnují nezapsaný šifrovací klíč. Tato data nejsou okamžitě dostupná pro službu nebo tým služby. Během nouzového obnovení se App Configuration znovu samovolně odstraní z dat spravovaného klíče.
Rotace klíčů
Když nakonfigurujete klíč spravovaný zákazníkem v obchodě App Configuration Store, musíte spravovaný klíč pravidelně obměňovat, aby nevyprší jeho platnost. Pro úspěšnou rotaci klíčů musí být aktuální klíč platný a funkční. Pokud platnost aktuálního klíče vypršela nebo pokud je přístup ke službě App Configuration odvolán, úložiště služby App Configuration nemůže dešifrovat data a rotace selže.
Automatické otáčení
Osvědčeným postupem je nakonfigurovat automatickou obměnu ve službě Key Vault pro klíč spravovaný zákazníkem. Rotace klíčů často zlepšuje zabezpečení. A když používáte automatickou rotaci, vyhnete se ztrátě přístupu kvůli absenci rotace. Eliminujete také potřebu ručního obměňování šifrovacích klíčů.
Klíče bez verzí
Dalším osvědčeným postupem pro automatickou obměnu šifrovacích klíčů spravovaných zákazníkem je vynechat verzi klíče úložiště klíčů. Pokud nenakonfigurujete konkrétní verzi klíče, může se konfigurace aplikace při automatické obměně klíče přesunout na nejnovější verzi klíče. V důsledku toho se v obchodě App Configuration vyhnete ztrátě přístupu, když vyprší platnost verze spravovaného klíče, která se právě používá.
Při nastavování šifrování klíčů spravovaných zákazníkem zadáte v trezoru klíčů identifikátor klíče. Identifikátor klíče trezoru klíčů může mít následující formáty:
- Identifikátor klíče bez verzování:
https://<vault-name>.vault.azure.net/keys/<key-name> - Identifikátor klíče s verzí (nedoporučuje se):
https://<vault-name>.vault.azure.net/keys/<key-name>/<key-version>
Ke konfiguraci klíče bez verze použijte formát identifikátoru, který verzi vynechá.
Další krok
V tomto článku jste nakonfigurovali službu App Configuration Store tak, aby k šifrování používala klíč spravovaný zákazníkem. Další informace o integraci služby App Service se spravovanými identitami Azure najdete v dalším kroku.