Konfigurera kundhanterade nycklar för ditt Azure Batch-konto med Azure Key Vault och hanterad identitet

Som standard använder Azure Batch plattformshanterade nycklar för att kryptera alla kunddata som lagras i Azure Batch Service, till exempel certifikat, jobb-/uppgiftsmetadata. Om du vill kan du använda dina egna nycklar, d.v.s. kundhanterade nycklar, för att kryptera data som lagras i Azure Batch.

Nycklarna som du anger måste genereras i Azure Key Vault och de måste nås med hanterade identiteter för Azure-resurser.

Det finns två typer av hanterade identiteter: systemtilldelade och användartilldelade.

Du kan antingen skapa ditt Batch-konto med systemtilldelad hanterad identitet eller skapa en separat användartilldelad hanterad identitet som har åtkomst till de kundhanterade nycklarna. Granska jämförelsetabellen för att förstå skillnaderna och fundera över vilket alternativ som fungerar bäst för din lösning. Om du till exempel vill använda samma hanterade identitet för att få åtkomst till flera Azure-resurser krävs en användartilldelad hanterad identitet. Annars kan en systemtilldelad hanterad identitet som är associerad med ditt Batch-konto vara tillräcklig. Om du använder en användartilldelad hanterad identitet kan du också använda kundhanterade nycklar när Batch-kontot skapas, som du ser härnäst.

Skapa ett Batch-konto med systemtilldelad hanterad identitet

Om du inte behöver en separat användartilldelad hanterad identitet kan du aktivera systemtilldelad hanterad identitet när du skapar ditt Batch-konto.

Viktigt

En systemtilldelad hanterad identitet som skapats för ett Batch-konto för kunddatakryptering enligt beskrivningen i det här dokumentet kan inte användas som en användartilldelad hanterad identitet i en Batch-pool. Om du vill använda samma hanterade identitet på både Batch-kontot och Batch-poolen använder du en vanlig användartilldelad hanterad identitet i stället.

Azure Portal

När du skapar Batch-konton i Azure Portal väljer du System som tilldelats i identitetstypen under fliken Avancerat.

Skärmbild av ett nytt Batch-konto med systemtilldelad identitetstyp.

När kontot har skapats hittar du ett unikt GUID i fältet Identitetshuvudnamn i avsnittet Egenskaper . Identitetstypen visar System assigned.

Skärmbild som visar ett unikt GUID i fältet Identitetsobjekt-ID.

Du behöver det här värdet för att ge batchkontot åtkomst till Key Vault.

Azure CLI

När du skapar ett nytt Batch-konto anger du SystemAssigned parametern --identity .

resourceGroupName='myResourceGroup'
accountName='mybatchaccount'

az batch account create \
    --name $accountName \
    --resource-group $resourceGroupName \
    --locations regionName='West US 2' \
    --identity 'SystemAssigned'

När kontot har skapats kan du kontrollera att systemtilldelad hanterad identitet har aktiverats för det här kontot. Observera PrincipalId, eftersom det här värdet behövs för att ge batchkontot åtkomst till Key Vault.

az batch account show \
    --name $accountName \
    --resource-group $resourceGroupName \
    --query identity

Anteckning

Den systemtilldelade hanterade identiteten som skapats i ett Batch-konto används bara för att hämta kundhanterade nycklar från Key Vault. Den här identiteten är inte tillgänglig i Batch-pooler. Information om hur du använder en användartilldelad hanterad identitet i en pool finns i Konfigurera hanterade identiteter i Batch-pooler.

Skapa en användartilldelad hanterad identitet

Om du vill kan du skapa en användartilldelad hanterad identitet som kan användas för att komma åt dina kundhanterade nycklar.

Du behöver klient-ID-värdet för den här identiteten för att få åtkomst till Key Vault.

Konfigurera din Azure Key Vault-instans

Azure-Key Vault där dina nycklar genereras måste skapas i samma klientorganisation som ditt Batch-konto. Den behöver inte finnas i samma resursgrupp eller ens i samma prenumeration.

Skapa ett Azure Key Vault

När du skapar en Azure Key Vault-instans med kundhanterade nycklar för Azure Batch kontrollerar du att både mjuk borttagning och rensningsskydd är aktiverade.

Skärmbild av skärmen Key Vault att skapa.

Lägga till en åtkomstprincip i din Azure Key Vault-instans

När Key Vault har skapats i Azure Portal lägger du till Batch-kontoåtkomsten med hjälp av hanterad identitet i åtkomstprincipen under Inställning. Under Nyckelbehörigheter väljer du Hämta, Radbryt nyckel och Packa upp nyckel.

Skärmbild som visar skärmen Lägg till åtkomstprincip.

I fältet Välj under Huvudnamn fyller du i något av följande:

  • För systemtilldelad hanterad identitet: Ange principalId det som du hämtade tidigare eller namnet på Batch-kontot.
  • För användartilldelad hanterad identitet: Ange det klient-ID som du hämtade tidigare eller namnet på den användartilldelade hanterade identiteten.

Skärmbild av skärmen Huvudnamn.

Generera en nyckel i Azure Key Vault

I Azure Portal går du till Key Vault-instansen i nyckelavsnittet och väljer Generera/importera. Välj den nyckeltyp som ska vara RSA och RSA-nyckelstorleken som minst 2048 bitar. EC nyckeltyper stöds för närvarande inte som en kundhanterad nyckel på ett Batch-konto.

Skapa en nyckel

När nyckeln har skapats klickar du på den nyligen skapade nyckeln och den aktuella versionen och kopierar nyckelidentifieraren under avsnittet Egenskaper . Se till att både Wrap Key och Unwrap Key är markerade under Tillåtna åtgärder.

Aktivera kundhanterade nycklar på ett Batch-konto

Nu när förutsättningarna är uppfyllda kan du aktivera kundhanterade nycklar på ditt Batch-konto.

Azure Portal

I Azure Portal går du till sidan Batch-konto. Under avsnittet Kryptering aktiverar du kundhanterad nyckel. Du kan använda nyckelidentifieraren direkt eller välja nyckelvalvet och sedan klicka på Välj ett nyckelvalv och nyckel.

Skärmbild som visar avsnittet Kryptering och alternativet för att aktivera kundhanterad nyckel

Azure CLI

När Batch-kontot har skapats med systemtilldelad hanterad identitet och åtkomsten till Key Vault har beviljats uppdaterar du Batch-kontot med {Key Identifier} URL:en under keyVaultProperties parametern . --encryption-key-source Ange även som Microsoft.KeyVault.

az batch account set \
    --name $accountName \
    --resource-group $resourceGroupName \
    --encryption-key-source Microsoft.KeyVault \
    --encryption-key-identifier {YourKeyIdentifier}

Skapa ett Batch-konto med användartilldelad hanterad identitet och kundhanterade nycklar

Som ett exempel med batchhanteringsklienten .NET kan du skapa ett Batch-konto som har en användartilldelad hanterad identitet och kundhanterade nycklar.

EncryptionProperties encryptionProperties = new EncryptionProperties()
{
    KeySource = KeySource.MicrosoftKeyVault,
    KeyVaultProperties = new KeyVaultProperties()
    {
        KeyIdentifier = "Your Key Azure Resource Manager Resource ID"
    }
};

BatchAccountIdentity identity = new BatchAccountIdentity()
{
    Type = ResourceIdentityType.UserAssigned,
    UserAssignedIdentities = new Dictionary<string, BatchAccountIdentityUserAssignedIdentitiesValue>
    {
            ["Your Identity Azure Resource Manager ResourceId"] = new BatchAccountIdentityUserAssignedIdentitiesValue()
    }
};
var parameters = new BatchAccountCreateParameters(TestConfiguration.ManagementRegion, encryption:encryptionProperties, identity: identity);

var account = await batchManagementClient.Account.CreateAsync("MyResourceGroup",
    "mynewaccount", parameters);

Uppdatera den kundhanterade nyckelversionen

När du skapar en ny version av en nyckel uppdaterar du Batch-kontot så att det använder den nya versionen. Följ de här stegen:

  1. Gå till batchkontot i Azure Portal och visa krypteringsinställningarna.
  2. Ange URI för den nya nyckelversionen. Alternativt kan du välja Key Vault och nyckeln igen för att uppdatera versionen.
  3. Spara ändringarna.

Du kan också använda Azure CLI för att uppdatera versionen.

az batch account set \
    --name $accountName \
    --resource-group $resourceGroupName \
    --encryption-key-identifier {YourKeyIdentifierWithNewVersion}

Tips

Du kan låta dina nycklar roteras automatiskt genom att skapa en princip för nyckelrotation inom Key Vault. När du anger en nyckelidentifierare för Batch-kontot använder du den versionslösa nyckelidentifieraren för att aktivera autorotation med en giltig rotationsprincip. Mer information finns i konfigurera nyckelrotation i Key Vault.

Använda en annan nyckel för Batch-kryptering

Följ dessa steg för att ändra nyckeln som används för Batch-kryptering:

  1. Gå till batchkontot och visa krypteringsinställningarna.
  2. Ange URI:n för den nya nyckeln. Alternativt kan du välja Key Vault och välja en ny nyckel.
  3. Spara ändringarna.

Du kan också använda Azure CLI för att använda en annan nyckel.

az batch account set \
    --name $accountName \
    --resource-group $resourceGroupName \
    --encryption-key-identifier {YourNewKeyIdentifier}

Vanliga frågor och svar

  • Stöds kundhanterade nycklar för befintliga Batch-konton? Nej. Kundhanterade nycklar stöds bara för nya Batch-konton.
  • Kan jag välja RSA-nyckelstorlekar som är större än 2 048 bitar? Ja, RSA-nyckelstorlekar 3072 och 4096 bitar stöds också.
  • Vilka åtgärder är tillgängliga när en kundhanterad nyckel har återkallats? Den enda åtgärden som tillåts är kontoborttagning om Batch förlorar åtkomst till den kundhanterade nyckeln.
  • Hur återställer jag åtkomsten till mitt Batch-konto om jag av misstag tar bort Key Vault nyckel? Eftersom rensningsskydd och mjuk borttagning är aktiverade kan du återställa de befintliga nycklarna. Mer information finns i Återställa en Azure-Key Vault.
  • Kan jag inaktivera kundhanterade nycklar? Du kan när som helst ange krypteringstypen för Batch-kontot till "Microsoft hanterad nyckel". Du kan ta bort eller ändra nyckeln efteråt.
  • Hur roterar jag mina nycklar? Kundhanterade nycklar roteras inte automatiskt om nyckeln inte är versionslös med en lämplig princip för nyckelrotation inom Key Vault. Om du vill rotera nyckeln manuellt uppdaterar du nyckelidentifieraren som kontot är associerat med.
  • Hur lång tid tar det för Batch-kontot att fungera igen när jag har återställt åtkomsten? Det kan ta upp till 10 minuter innan kontot är tillgängligt igen när åtkomsten har återställts.
  • Vad händer med mina resurser när Batch-kontot inte är tillgängligt? Alla pooler som är aktiva när Batch-åtkomst till den kundhanterade nyckeln går förlorad fortsätter att köras. Noderna i dessa pooler övergår dock till ett otillgängligt tillstånd och aktiviteterna slutar att köras (och placeras i kö igen). När åtkomsten har återställts blir noderna tillgängliga igen och aktiviteterna startas om.
  • Gäller den här krypteringsmekanismen vm-diskar i en Batch-pool? Nej. För Cloud Services konfigurationspooler (som är inaktuella) tillämpas ingen kryptering för operativsystemet och den tillfälliga disken. För vm-konfigurationspooler krypteras operativsystemet och alla angivna datadiskar med en hanterad Nyckel för Microsoft-plattformen som standard. För närvarande kan du inte ange en egen nyckel för dessa diskar. Om du vill kryptera den tillfälliga disken med virtuella datorer för en Batch-pool med en hanterad Nyckel för Microsoft-plattformen måste du aktivera egenskapen diskEncryptionConfiguration i konfigurationspoolen för den virtuella datorn . För mycket känsliga miljöer rekommenderar vi att du aktiverar tillfällig diskkryptering och undviker att lagra känsliga data på operativsystem och datadiskar. Mer information finns i Skapa en pool med diskkryptering aktiverat
  • Är den systemtilldelade hanterade identiteten på Batch-kontot tillgänglig på beräkningsnoderna? Nej. Den systemtilldelade hanterade identiteten används för närvarande endast för åtkomst till Azure-Key Vault för den kundhanterade nyckeln. Information om hur du använder en användartilldelad hanterad identitet på beräkningsnoder finns i Konfigurera hanterade identiteter i Batch-pooler.

Nästa steg