Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure App Configuration krypterar känslig information i vila. Användningen av kundhanterade nycklar ger förbättrat dataskydd genom att ge dig större kontroll över dina krypteringsnycklar. När du använder kryptering med hanterad nyckel krypteras all känslig information i App Configuration med en Azure Key Vault-nyckel som du anger. Därför kan du rotera krypteringsnyckeln på begäran. Du kan också återkalla appkonfigurationsarkivets åtkomst till känslig information genom att återkalla butikens åtkomst till nyckeln.
Översikt
App Configuration krypterar känslig information i vila med hjälp av en 256-bitars krypteringsnyckel för Avancerad krypteringsstandard (AES) som tillhandahålls av Microsoft. Varje App Configuration Store har en egen krypteringsnyckel som hanteras av tjänsten och används för att kryptera känslig information. Känslig information innehåller de värden som finns i nyckel/värde-par.
När du använder en kundhanterad nyckel i App Configuration sker följande händelser:
- App Configuration använder en hanterad identitet som är tilldelad App Configuration-butiken för att autentisera med Microsoft Entra ID.
- Den hanterade identiteten anropar Key Vault och omsluter krypteringsnyckeln i App Configuration Store.
- Den omslutna krypteringsnyckeln lagras.
- Den oöppnade krypteringsnyckeln cachelagras i App Configuration i en timme.
- Varje timme uppdaterar App Configuration den oöppnade versionen av krypteringsnyckeln i App Configuration Store.
Den här processen säkerställer tillgänglighet under normala driftsförhållanden.
Viktigt!
När något av följande villkor uppfylls kan känslig information som lagras i App Configuration Store inte dekrypteras:
- Den identitet som tilldelats Appkonfigurationsbutiken har inte längre behörighet att dekryptera butikens krypteringsnyckel.
- Den hanterade nyckeln tas bort permanent.
- Den hanterade nyckelversion som används upphör att gälla.
Du kan använda funktionen för mjuk borttagning i Key Vault för att minska risken för att krypteringsnyckeln tas bort av misstag. För att minska risken för att den underliggande hanterade nyckeln upphör att gälla kan du utelämna nyckelversionen när du konfigurerar kryptering med hanterad nyckel och konfigurerar automatisk nyckelrotation i Key Vault. Mer information finns i Nyckelrotation senare i den här artikeln.
Krav
Följande komponenter krävs för att aktivera den kundhanterade nyckelfunktionen för App Configuration. Den här artikeln visar hur du konfigurerar dessa komponenter.
- Ett Appkonfigurationsarkiv på Standardnivå eller Premium-nivå.
- En instans av Key Vault som har funktionerna soft-delete och purge-protection aktiverat.
- En nyckel i nyckelvalvet som uppfyller följande krav:
- Den använder Kryptering av Rivest-Shamir-Adleman (RSA) eller RSA-kryptering som använder en maskinvarusäkerhetsmodul (RSA-HSM).
- Den har inte upphört att gälla.
- Den är aktiverad.
- Den har wrap- och unwrap-funktioner aktiverade.
När den här artikeln visar hur du konfigurerar dessa resurser vägleder den dig genom följande steg så att appkonfigurationsarkivet kan använda Key Vault-nyckeln:
- Tilldela en hanterad identitet till App Configuration Store.
- Bevilja behörigheter till identiteten så att den kan komma åt Key Vault-nyckeln:
- För nyckelvalv som använder rollbaserad åtkomstkontroll i Azure (Azure RBAC) tilldelar du identiteten rollen Key Vault Crypto Service Encryption User i målnyckelvalvet.
- För nyckelvalv som använder åtkomstprincipauktorisering beviljar du identiteten
GET,WRAPochUNWRAPbehörigheter i målnyckelvalvets åtkomstprincip.
Aktivera kundhanterad nyckelkryptering
Utför stegen i följande avsnitt om du vill använda kundhanterad nyckelkryptering.
Skapa resurser
Skapa ett appkonfigurationsarkiv på standard- eller Premium-nivån om du inte har något. Anvisningar finns i Snabbstart: Skapa ett Azure App Configuration Store.
Kör följande Azure CLI-kommando för att skapa en instans av Key Vault som har rensningsskydd aktiverat. Mjuk borttagning är aktiverat som standard. Ersätt
<vault-name>och<resource-group-name>med dina egna unika värden.az keyvault create --name <vault-name> --resource-group <resource-group-name> --enable-purge-protectionUtdata från det här kommandot visar resurs-ID,
id, för nyckelvalvet. Observera dess värde, som har följande format:/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<vault-name>Använd Azure CLI för att tilldela dig själv den åtkomst till ditt nyckelvalv som du behöver för att skapa en nyckel. Vilket kommando du använder beror på vilket auktoriseringssystem som ditt nyckelvalv använder. Två modeller är tillgängliga:
- Azure RBAC modellen
- Åtkomstpolicymodellen
För båda modellerna behöver du ditt användarobjekt-ID för att köra kommandot. Du hittar ditt användarobjekt-ID med någon av följande metoder:
az ad user show --id <user-principal-name>Använd kommandot i Azure CLI, där<user-principal-name>är ditt användarhuvudnamn (UPN).Använd Azure-portalen:
- Välj Microsoft Entra-ID och välj sedan Hantera>användare.
- Ange ditt namn i sökrutan och välj sedan ditt användarnamn i resultatet.
- Kopiera objekt-ID-värdet .
Tilldela dig själv åtkomst genom att köra kommandot som är lämpligt för auktoriseringssystemet för ditt nyckelvalv:
Ersätt platshållarna med följande värden:
- För
<user-object-ID>använder du objekt-ID:t som du nyss hittade. - För
<role>använder du en roll som Key Vault Crypto Officer som ger dig den åtkomst du behöver för att skapa en nyckel. Omslut rollen inom citattecken. - För
<vault-resource-ID>använder du resurs-ID:t för nyckelvalvet från föregående steg.
az role assignment create --assignee <user-object-ID> --role <role> --scope <vault-resource-ID>Skapa en Key Vault-nyckel genom att köra följande kommando. Ersätt platshållarna med följande värden:
- För
<key-name>använder du ditt eget unika värde. - För
<key-type>:- Används
RSAför RSA-kryptering. - Används
RSA-HSMför RSA-HSM kryptering. RSA-HSM kryptering är endast tillgängligt på Premium-nivån.
- Används
- För
<vault-name>använder du namnet på nyckelvalvet från steg 2.
az keyvault key create --name <key-name> --kty <key-type> --vault-name <vault-name>Utdata från det här kommandot visar nyckel-ID,
kid, för den genererade nyckeln. Observera dess värde, som har följande format:https://<vault-name>.vault.azure.net/keys/<key-name>/<key-version>Nyckel-ID:t innehåller följande komponenter:
- Nyckelvalvs-URI:n:
https://<vault-name>.vault.azure.net - Nyckelnamnet för nyckelvalvet:
<key-name> - Nyckelversionen för nyckelvalvet:
<key-version>
- För
Skapa en hanterad identitet för din App Configuration-butik med hjälp av något av följande alternativ:
Om du vill skapa en användartilldelad hanterad identitet följer du stegen i Lägga till en användartilldelad identitet. Observera värdena för identitetens
clientIdegenskaper ochprincipalId.Om du vill skapa en systemtilldelad hanterad identitet använder du följande Azure CLI-kommando. Ersätt platshållarna med följande värden:
- För
<App-Configuration-store-name>använder du namnet på App Configuration Store från steg 1. - För
<resource-group-name>använder du namnet på resursgruppen som innehåller din App Configuration-butik.
- För
az appconfig identity assign --name <App-Configuration-store-name> --resource-group <resource-group-name> --identities [system]Utdata från det här kommandot innehåller principal-ID,
principalId, och tenant-ID,tenantId, för den systemtilldelade identiteten. Observera värdet förprincipalIDegenskapen.{ "principalId": <principal-ID>, "tenantId": <tenant-ID>, "type": "SystemAssigned", "userAssignedIdentities": null }
Bevilja åtkomst och aktivera nyckeln
Den hanterade identiteten för din App Configuration-lagring behöver åtkomst till nyckeln för att utföra nyckelvalidering, kryptering och dekryptering. Mer specifikt behöver den hanterade identiteten åtkomst till GET, WRAP och UNWRAP-åtgärderna för nycklar.
- För nyckelvalv som använder Azure RBAC kan du bevilja dessa behörigheter genom att tilldela rollen Key Vault Crypto Service Encryption User till den hanterade identiteten.
- För nyckelvalv som använder åtkomstprincipauktorisering kan du ange en princip för dessa nyckelbehörigheter.
Ge den hanterade identiteten åtkomst till den hanterade nyckeln med hjälp av det kommando som är lämpligt för auktoriseringssystemet för ditt nyckelvalv. För båda systemen ersätter du
<managed-identity-principal-ID>med huvud-ID:t från föregående steg.Ersätt
<key-vault-resource-id>med resurs-ID för nyckelvalvet från steg 2 i Skapa resurser.az role assignment create --assignee <managed-identity-principal-ID> --role "Key Vault Crypto Service Encryption User" --scope <key-vault-resource-id>Aktivera funktionen för kundhanterad nyckel i tjänsten genom att köra något av följande Azure CLI-kommandon. Ersätt platshållarna med följande värden:
- För
<resource-group-name>använder du namnet på resursgruppen som innehåller din App Configuration-butik. - För
<App-Configuration-store-name>använder du namnet på konfigurationsarkivet för appar. - För
<key-name>och<key-vault-URI>använder du värdena från steg 4 i Skapa resurser.
Som standard använder kommandot en systemtilldelad hanterad identitet för att autentisera med nyckelvalvet.
Om du använder en systemtilldelad hanterad identitet för att komma åt den kundhanterade nyckeln kör du följande kommando:
az appconfig update -g <resource-group-name> -n <App-Configuration-store-name> --encryption-key-name <key-name> --encryption-key-vault <key-vault-URI>Om du använder en användartilldelad hanterad identitet för att komma åt den kundhanterade nyckeln kör du följande kommando, som uttryckligen anger klient-ID:t. Ersätt
<user-assigned-managed-identity-client-ID>medclientIdvärdet från steg 5 i Skapa resurser.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>
- För
App-Konfigurationslagringen är nu konfigurerad för att använda en kundhanterad nyckel som lagras i Key Vault.
Inaktivera kundhanterad nyckelkryptering
När du inaktiverar kundhanterad nyckelkryptering återgår appkonfigurationsarkivet till att använda Microsoft-hanterade nycklar. Men innan du återgår till Microsoft-hanterade nycklar använder App Configuration den aktuella nyckeln för att dekryptera alla befintliga data. Om den aktuella nyckeln har upphört att gälla eller om åtkomsten till den har återkallats måste du först återställa åtkomsten till den nyckeln.
Kommentar
Innan du konfigurerar appkonfigurationsarkivet för att använda en Microsoft-hanterad nyckel i stället för en kundhanterad nyckel för kryptering ska du se till att den här ändringen överensstämmer med organisationens säkerhetsprinciper och efterlevnadskrav.
Kontrollera att den aktuella kundhanterade nyckeln är giltig och i drift.
Använd följande Azure CLI-kommando för att uppdatera appkonfigurationsarkivet genom att ta bort den kundhanterade nyckelkonfigurationen. Ersätt
<resource-group-name>och<App-Configuration-store-name>med värdena i din miljö.az appconfig update -g <resource-group-name> -n <App-Configuration-store-name> --encryption-key-name ""Kontrollera att kundhanterade nyckelkonfigurationen är inaktiverad genom att granska egenskaperna för din Appkonfigurationslagring.
az appconfig show -g <resource-group-name> -n <App-Configuration-store-name> --query "encryption"I utdata från det här kommandot ska egenskapen
encryption.keyVaultPropertiesha värdetnull.
Ditt Appkonfigurationslager är nu konfigurerat för att använda Microsoft-hanterade nycklar för kryptering.
Återkallande av åtkomst
När du aktiverar funktionen för kundhanterad nyckel i appkonfigurationsarkivet kontrollerar du tjänstens möjlighet att komma åt känslig information. Den hanterade nyckeln fungerar som en rotkrypteringsnyckel.
Du kan återkalla åtkomsten till din hanterade nyckel i App Configuration Store genom att ändra åtkomstprincipen för nyckelvalvet. När du återkallar den här åtkomsten förlorar App Configuration möjligheten att dekryptera användardata inom en timme. Nu förbjuder App Configuration Store alla åtkomstförsök.
Den här situationen kan återställas genom att appkonfigurationstjänsten får åtkomst till den hanterade nyckeln igen. Inom en timme kan App Configuration dekryptera användardata och arbeta under normala förhållanden.
Kommentar
Alla appkonfigurationsdata lagras i upp till 24 timmar i en isolerad säkerhetskopia. Dessa data innehåller den oöppnade krypteringsnyckeln. Dessa data är inte omedelbart tillgängliga för tjänsten eller tjänstteamet. Under en nödåterställning återkallar App Configuration sin åtkomst till de hanterade nycklarna.
Nyckelrotation
När du konfigurerar en kundhanterad nyckel i ett appkonfigurationsarkiv måste du regelbundet rotera den hanterade nyckeln så att den inte upphör att gälla. För en lyckad nyckelrotation måste den aktuella nyckeln vara giltig och driftsduglig. Om den aktuella nyckeln har upphört att gälla, eller om appkonfigurationens åtkomst till den har återkallats, kan appkonfigurationsarkivet inte dekryptera data och rotationen misslyckas.
Automatisk rotation
Bästa praxis är att konfigurera automatisk rotation i Key Vault för din kundhanterade nyckel. Roterande nycklar förbättrar ofta säkerheten. Och när du använder automatisk rotation undviker du att förlora åtkomsten på grund av brist på rotation. Du eliminerar också behovet av att rotera krypteringsnycklar manuellt.
Versionslösa nycklar
En annan metod för automatisk rotation i kundhanterad nyckelkryptering är att utelämna versionen av nyckelvalvnyckeln. När du inte konfigurerar en specifik nyckelversion kan App Configuration flytta till den senaste versionen av nyckeln när den roteras automatiskt. Därför undviker appkonfigurationsarkivet att förlora åtkomst när en hanterad nyckelversion upphör att gälla som för närvarande används.
När du konfigurerar kundhanterad nyckelkryptering anger du identifieraren för en nyckel i nyckelvalvet. En nyckelidentifierare för nyckelvalv kan ha följande format:
- Versionslös nyckelidentifierare:
https://<vault-name>.vault.azure.net/keys/<key-name> - Versionsnyckelidentifierare (rekommenderas inte):
https://<vault-name>.vault.azure.net/keys/<key-name>/<key-version>
Om du vill konfigurera en versionslös nyckel använder du det ID-format som utelämnar versionen.
Nästa steg
I den här artikeln konfigurerade du din App Configuration-butik för att använda en kundhanterad nyckel för kryptering. Om du vill veta mer om hur du integrerar din apptjänst med hanterade Azure-identiteter fortsätter du till nästa steg.