Sdílet prostřednictvím


Šifrování dat služby App Configuration pomocí klíčů spravovaných zákazníkem

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 umožňuje spravovat šifrovací klíče. Při použití šifrování spravovaného klíče se všechny citlivé informace v konfiguraci aplikace šifrují pomocí klíče Azure Key Vault poskytnutého uživatelem. Díky tomu můžete šifrovací klíč na vyžádání otočit. Poskytuje také možnost odvolat přístup ke citlivým informacím v konfiguraci Aplikace Azure odvoláním přístupu instance app Configuration ke klíči.

Přehled

Aplikace Azure Konfigurace šifruje citlivé informace v klidovém stavu pomocí 256bitového šifrovacího klíče AES poskytovaného Microsoftem. Každá instance služby App Configuration má svůj vlastní šifrovací klíč spravovaný službou a používá se k šifrování citlivých informací. Citlivé informace zahrnují hodnoty nalezené v párech klíč-hodnota. Pokud je funkce klíče spravovaná zákazníkem povolená, služba App Configuration použije spravovanou identitu přiřazenou k instanci App Configuration k ověření pomocí Microsoft Entra ID. Spravovaná identita pak zavolá službu Azure Key Vault a zabalí šifrovací klíč instance služby App Configuration. Zabalený šifrovací klíč se pak uloží a nezapsaný šifrovací klíč se uloží do mezipaměti v rámci konfigurace aplikace po dobu jedné hodiny. Konfigurace aplikace každou hodinu aktualizuje nezapsanou verzi šifrovacího klíče instance app Configuration. Tento proces zajišťuje dostupnost za normálních provozních podmínek.

Důležité

Pokud už identita přiřazená k instanci app Configuration nemá oprávnění k rozbalení šifrovacího klíče instance nebo pokud je spravovaný klíč trvale odstraněný, nebude už možné dešifrovat citlivé informace uložené v instanci App Configuration. Pomocí funkce obnovitelného odstranění ve službě Azure Key Vault zmírníte riziko náhodného odstranění šifrovacího klíče.

Když uživatelé ve své instanci konfigurace Aplikace Azure povolí funkci klíče spravovaného zákazníkem, řídí schopnost služby přistupovat ke svým citlivým informacím. Spravovaný klíč slouží jako kořenový šifrovací klíč. Uživatelé můžou odvolat přístup instance služby App Configuration ke svému spravovanému klíči změnou zásad přístupu k trezoru klíčů. Když je tento přístup odvolán, konfigurace aplikace ztratí možnost dešifrovat uživatelská data do jedné hodiny. V tomto okamžiku instance konfigurace aplikace zakáže všechny pokusy o přístup. Tato situace je obnovitelná tím, že službě udělíte přístup ke spravovanému klíči ještě jednou. Během jedné hodiny bude app Configuration moct dešifrovat uživatelská data a fungovat za normálních podmínek.

Poznámka:

Všechna Aplikace Azure Konfigurační data se ukládají až po dobu 24 hodin v izolovaném zálohování. To zahrnuje nezapsaný šifrovací klíč. Tato data nejsou okamžitě dostupná pro tým služeb nebo služeb. V případě nouzového obnovení se Aplikace Azure Konfigurace znovu odvolá ze spravovaných dat klíče.

Požadavky

K úspěšnému povolení klíčového klíče spravovaného zákazníkem pro konfiguraci Aplikace Azure jsou potřeba následující komponenty:

  • Instance konfigurace úrovně Standard nebo Premium Aplikace Azure.
  • Služba Azure Key Vault s povolenými funkcemi obnovitelného odstranění a ochrany před vymazáním.
  • Klíč RSA nebo RSA-HSM v rámci služby Key Vault.
    • Platnost klíče nesmí vypršena, musí být povolená a musí mít povolené možnosti zabalení i rozbalení.

Po nakonfigurování těchto prostředků použijte následující kroky, aby konfigurace Aplikace Azure mohli použít klíč služby Key Vault:

  1. Přiřaďte spravovanou identitu k instanci konfigurace Aplikace Azure.
  2. Udělte identitě oprávnění pro přístup k klíči služby Key Vault.
    • V případě služby Key Vault s povoleným Azure RBAC přiřaďte roli Key Vault Crypto Service Encryption User pro cílovou službu Key Vault.
    • Pro službu Key Vault pomocí autorizace zásad přístupu udělte identitu GETWRAPa UNWRAP oprávnění v zásadách přístupu cílové služby Key Vault.

Povolení šifrování klíčů spravovaných zákazníkem pro app Configuration Store

  1. Pokud ho nemáte, vytvořte úložiště App Configuration store na úrovni Standard nebo Premium.

  2. Pomocí Azure CLI vytvořte službu Azure Key Vault s povolenou ochranou před vymazáním. Obnovitelné odstranění je ve výchozím nastavení povolené. Oba vault-name a resource-group-name jsou poskytovány uživatelem a musí být jedinečné. Používáme contoso-vault a contoso-resource-group v těchto příkladech.

    az keyvault create --name contoso-vault --resource-group contoso-resource-group --enable-purge-protection
    
  3. Vytvořte klíč služby Key Vault. Zadejte jedinečný key-name název tohoto klíče a nahraďte název služby Key Vault (contoso-vault) vytvořený v kroku 2. Určete, jestli dáváte přednost RSA nebo RSA-HSM šifrování (RSA-HSM je k dispozici pouze na úrovni Premium).

    az keyvault key create --name key-name --kty {RSA or RSA-HSM} --vault-name contoso-vault
    

    Výstup z tohoto příkazu zobrazuje ID klíče (kid) pro vygenerovaný klíč. Poznamenejte si ID klíče, které použijete později v tomto cvičení. ID klíče má formulář: https://{my key vault}.vault.azure.net/keys/{key-name}/{key-version}. ID klíče má tři důležité komponenty:

    1. Identifikátor URI služby Key Vault: https://{my key vault}.vault.azure.net
    2. Název klíče služby Key Vault: {key-name}
    3. Verze klíče služby Key Vault: {key-version}
  4. Pomocí Azure CLI vytvořte spravovanou identitu přiřazenou systémem a nahraďte název instance služby App Configuration a skupinu prostředků použitou v předchozích krocích. Spravovaná identita se použije pro přístup ke spravovanému klíči. Používáme contoso-app-config k ilustraci názvu instance služby App Configuration:

    az appconfig identity assign --name contoso-app-config --resource-group contoso-resource-group --identities [system]
    

    Výstup tohoto příkazu zahrnuje ID objektu zabezpečení ("principalId") a ID tenanta ("tenantId") identity přiřazené systémem. Tato ID se použijí k udělení přístupu identit ke spravovanému klíči.

    {
        "principalId": {Principal Id},
        "tenantId": {Tenant Id},
        "type": "SystemAssigned",
        "userAssignedIdentities": null
    }
    
  5. Spravovaná identita instance konfigurace Aplikace Azure potřebuje přístup ke klíči, aby bylo možné provádět ověřování klíčů, šifrování a dešifrování. Konkrétní sada akcí, ke kterým potřebuje přístup, zahrnuje: GET, WRAPa UNWRAP pro klíče. Tato oprávnění je možné udělit přiřazením Key Vault Crypto Service Encryption User role pro trezory klíčů s podporou Azure RBAC. Pro trezory klíčů používající autorizaci zásad přístupu nastavte zásadu pro výše uvedená oprávnění ke klíči. Udělení přístupu vyžaduje ID objektu zabezpečení spravované identity instance app Configuration. Nahraďte níže uvedenou hodnotu jako contoso-principalId ID objektu zabezpečení získané v předchozím kroku. Udělení oprávnění spravovanému klíči pomocí příkazového řádku:

    Pro trezory klíčů s povoleným Azure RBAC použijte následující příkaz.

    az role assignment create --assignee contoso-principalId --role "Key Vault Crypto Service Encryption User" --scope key-vault-resource-id
    
  6. Teď, když má instance konfigurace Aplikace Azure přístup ke spravovanému klíči, můžeme povolit funkci klíče spravovaného zákazníkem ve službě pomocí Azure CLI. Připomeňte si následující vlastnosti zaznamenané během kroků vytvoření klíče: key name key vault URI.

    az appconfig update -g contoso-resource-group -n contoso-app-config --encryption-key-name key-name --encryption-key-version key-version --encryption-key-vault key-vault-Uri
    

Vaše instance konfigurace Aplikace Azure je teď nakonfigurovaná tak, aby používala klíč spravovaný zákazníkem uložený ve službě Azure Key Vault.

Další kroky

V tomto článku jste nakonfigurovali instanci konfigurace Aplikace Azure 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.