Door de klant beheerde sleutels gebruiken om uw App Configuration-gegevens te versleutelen

Azure-app Configuration versleutelt gevoelige informatie-at-rest. Het gebruik van door de klant beheerde sleutels biedt verbeterde gegevensbeveiliging doordat u uw versleutelingssleutels kunt beheren. Wanneer beheerde sleutelversleuteling wordt gebruikt, worden alle gevoelige informatie in App Configuration versleuteld met een door de gebruiker verstrekte Azure Key Vault-sleutel. Dit biedt de mogelijkheid om de versleutelingssleutel op aanvraag te roteren. Het biedt ook de mogelijkheid om de toegang van Azure-app Configuration tot gevoelige informatie in te trekken door de toegang van het App Configuration-exemplaar tot de sleutel in te trekken.

Overzicht

Azure-app Configuration versleutelt gevoelige informatie-at-rest met behulp van een 256-bits AES-versleutelingssleutel van Microsoft. Elk App Configuration-exemplaar heeft een eigen versleutelingssleutel die wordt beheerd door de service en wordt gebruikt voor het versleutelen van gevoelige informatie. Gevoelige informatie bevat de waarden in sleutel-waardeparen. Wanneer de door de klant beheerde sleutelmogelijkheid is ingeschakeld, gebruikt App Configuration een beheerde identiteit die is toegewezen aan het App Configuration-exemplaar om te verifiëren met Microsoft Entra-id. De beheerde identiteit roept vervolgens Azure Key Vault aan en verpakt de versleutelingssleutel van het App Configuration-exemplaar. De verpakte versleutelingssleutel wordt vervolgens opgeslagen en de niet-uitgepakte versleutelingssleutel wordt gedurende één uur in de cache opgeslagen in App Configuration. Elk uur vernieuwt App Configuration de niet-uitgepakte versie van de versleutelingssleutel van het App Configuration-exemplaar. Dit proces zorgt voor beschikbaarheid onder normale bedrijfsomstandigheden.

Belangrijk

Als de identiteit die is toegewezen aan het App Configuration-exemplaar niet langer is gemachtigd om de versleutelingssleutel van het exemplaar uit te pakken of als de beheerde sleutel permanent wordt verwijderd, is het niet meer mogelijk om gevoelige informatie te ontsleutelen die is opgeslagen in het App Configuration-exemplaar. Door de functie voor voorlopig verwijderen van Azure Key Vault te gebruiken, kunt u de kans beperken dat uw versleutelingssleutel per ongeluk wordt verwijderd.

Wanneer gebruikers de door de klant beheerde sleutelfunctie inschakelen op hun Azure-app Configuration-exemplaar, beheren ze de mogelijkheid van de service om toegang te krijgen tot hun gevoelige informatie. De beheerde sleutel fungeert als een hoofdversleutelingssleutel. Gebruikers kunnen de toegang van hun App Configuration-exemplaar tot hun beheerde sleutel intrekken door het toegangsbeleid voor de sleutelkluis te wijzigen. Wanneer deze toegang wordt ingetrokken, verliest App Configuration de mogelijkheid om gebruikersgegevens binnen één uur te ontsleutelen. Op dit moment verbiedt het App Configuration-exemplaar alle toegangspogingen. Deze situatie kan worden hersteld door de service opnieuw toegang te geven tot de beheerde sleutel. Binnen een uur kan App Configuration gebruikersgegevens ontsleutelen en onder normale omstandigheden werken.

Notitie

Alle Azure-app configuratiegegevens worden maximaal 24 uur opgeslagen in een geïsoleerde back-up. Dit omvat de niet-uitgepakte versleutelingssleutel. Deze gegevens zijn niet direct beschikbaar voor het service- of serviceteam. In het geval van herstel in noodgevallen wordt Azure-app Configuratie zichzelf opnieuw uit de gegevens van de beheerde sleutel ingetrokken.

Vereisten

De volgende onderdelen zijn vereist om de door de klant beheerde sleutelmogelijkheid in te schakelen voor Azure-app Configuratie:

  • Standard-laag Azure-app configuratie-exemplaar.
  • Azure Key Vault met functies voor voorlopig verwijderen en opschonen ingeschakeld.
  • Een RSA- of RSA-HSM-sleutel in de Sleutelkluis.
    • De sleutel mag niet verlopen zijn, deze moet zijn ingeschakeld en er moeten mogelijkheden voor verpakken en uitpakken zijn ingeschakeld.

Nadat deze resources zijn geconfigureerd, gebruikt u de volgende stappen, zodat de Azure-app Configuration de Key Vault-sleutel kan gebruiken:

  1. Wijs een beheerde identiteit toe aan het Azure-app Configuration-exemplaar.
  2. Verken de identiteit GETen WRAPUNWRAP machtigingen in het toegangsbeleid van de doelsleutelkluis.

Door de klant beheerde sleutelversleuteling inschakelen voor uw App Configuration-archief

  1. Maak een App Configuration-archief als u er nog geen hebt.

  2. Maak een Azure Key Vault met behulp van de Azure CLI. Beide vault-name en resource-group-name zijn door de gebruiker opgegeven en moeten uniek zijn. We gebruiken contoso-vault en contoso-resource-group in deze voorbeelden.

    az keyvault create --name contoso-vault --resource-group contoso-resource-group
    
  3. Schakel voorlopig verwijderen en beveiliging tegen opschonen inschakelen voor de Sleutelkluis. Vervang de namen van de sleutelkluis (contoso-vault) en de resourcegroep (contoso-resource-group) die u in stap 1 hebt gemaakt.

    az keyvault update --name contoso-vault --resource-group contoso-resource-group --enable-purge-protection --enable-soft-delete
    
  4. Maak een Key Vault-sleutel. Geef een unieke key-name naam op voor deze sleutel en vervang de namen van de Sleutelkluis (contoso-vault) die u in stap 1 hebt gemaakt. Geef op of u de voorkeur geeft RSA aan of RSA-HSM versleuteling.

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

    De uitvoer van deze opdracht toont de sleutel-id ('kid') voor de gegenereerde sleutel. Noteer de sleutel-id die u later in deze oefening wilt gebruiken. De sleutel-id heeft het formulier: https://{my key vault}.vault.azure.net/keys/{key-name}/{Key version}. De sleutel-id heeft drie belangrijke onderdelen:

    1. Key Vault-URI: 'https://{mijn sleutelkluis}.vault.azure.net
    2. Key Vault-sleutelnaam: {Sleutelnaam}
    3. Key Vault-sleutelversie: {Key version}
  5. Maak een door het systeem toegewezen beheerde identiteit met behulp van de Azure CLI, waarbij u de naam vervangt van uw App Configuration-exemplaar en resourcegroep die in de vorige stappen zijn gebruikt. De beheerde identiteit wordt gebruikt voor toegang tot de beheerde sleutel. We gebruiken contoso-app-config om de naam van een App Configuration-exemplaar te illustreren:

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

    De uitvoer van deze opdracht bevat de principal-id ("principalId") en tenant-id ("tenandId") van de door het systeem toegewezen identiteit. Deze id's worden gebruikt om de identiteit toegang te verlenen tot de beheerde sleutel.

    {
    "principalId": {Principal Id},
    "tenantId": {Tenant Id},
    "type": "SystemAssigned",
    "userAssignedIdentities": null
    }
    
  6. De beheerde identiteit van het Azure-app Configuration-exemplaar moet toegang hebben tot de sleutel om sleutelvalidatie, versleuteling en ontsleuteling uit te voeren. De specifieke set acties waarvoor toegang nodig is, omvat: GET, WRAPen UNWRAP voor sleutels. Voor het verlenen van toegang is de principal-id van de beheerde identiteit van het App Configuration-exemplaar vereist. Deze waarde is verkregen in de vorige stap. Het wordt hieronder weergegeven als contoso-principalId. Machtigingen verlenen aan de beheerde sleutel met behulp van de opdrachtregel:

    az keyvault set-policy -n contoso-vault --object-id contoso-principalId --key-permissions get wrapKey unwrapKey
    
  7. Nadat het Azure-app Configuration-exemplaar toegang heeft tot de beheerde sleutel, kunnen we de door de klant beheerde sleutelfunctie inschakelen in de service met behulp van de Azure CLI. Onthoud de volgende eigenschappen die zijn vastgelegd tijdens de stappen voor het maken van sleutels: key namekey 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
    

Uw Azure-app-configuratie-exemplaar is nu geconfigureerd voor het gebruik van een door de klant beheerde sleutel die is opgeslagen in Azure Key Vault.

Volgende stappen

In dit artikel hebt u uw Azure-app-configuratie-exemplaar geconfigureerd voor het gebruik van een door de klant beheerde sleutel voor versleuteling. Ga verder met de volgende stap voor meer informatie over het integreren van uw app-service met door Azure beheerde identiteiten.