Dela via


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. Du kan också använda dina egna nycklar, dvs. kundhanterade nycklar, för att kryptera data som lagras i Azure Batch.

De nycklar 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 passar 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. Med hjälp av 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 gemensam användartilldelad hanterad identitet i stället.

Azure Portal

I Azure Portal, när du skapar Batch-konton, 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 kan du hitta ett unikt GUID i fältet Identitetsobjekt-ID under 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 det här Batch-kontot å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 den systemtilldelade hanterade identiteten 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

Kommentar

Den systemtilldelade hanterade identiteten som skapats i ett Batch-konto används endast 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 värdet för klient-ID för den här identiteten för att den ska 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 för att skapa Key Vault.

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 tidigare hämtade 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 ska vara 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 . Kontrollera 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 så kan du 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 hjälp av .NET-klienten för Batch-hantering kan du skapa ett Batch-konto som har en användartilldelad hanterad identitet och kundhanterade nycklar.

string subscriptionId = "Your SubscriptionID";
string resourceGroupName = "Your ResourceGroup name";
         
var credential = new DefaultAzureCredential();
ArmClient _armClient = new ArmClient(credential);

ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = _armClient.GetResourceGroupResource(resourceGroupResourceId);

var data = new BatchAccountCreateOrUpdateContent(AzureLocation.EastUS)
{
    Encryption = new BatchAccountEncryptionConfiguration()
    {
        KeySource = BatchAccountKeySource.MicrosoftKeyVault,
        KeyIdentifier = new Uri("Your Key Azure Resource Manager Resource ID"),
    },

    Identity = new ManagedServiceIdentity(ManagedServiceIdentityType.UserAssigned)
    {
        UserAssignedIdentities = {
            [new ResourceIdentifier("Your Identity Azure Resource Manager ResourceId")] = new UserAssignedIdentity(),
        },
    }
};

var lro = resourceGroupResource.GetBatchAccounts().CreateOrUpdate(WaitUntil.Completed, "Your BatchAccount name", data);
BatchAccountResource batchAccount = lro.Value;

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 ditt Batch-konto i Azure Portal och visa krypteringsinställningarna.
  2. Ange URI:n för den nya nyckelversionen. Alternativt kan du välja Key Vault och nyckeln igen för att uppdatera versionen.
  3. Spara dina ändringar.

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}

Dricks

Du kan låta dina nycklar roteras automatiskt genom att skapa en nyckelrotationsprincip i 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 ditt Batch-konto 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 dina ändringar.

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 endast 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ärd som tillåts är kontoborttagning om Batch förlorar åtkomsten till den kundhanterade nyckeln.
  • Hur återställer jag åtkomsten till mitt Batch-konto om jag av misstag tar bort Key Vault-nyckeln? Eftersom rensningsskydd och mjuk borttagning är aktiverade kan du återställa de befintliga nycklarna. Mer information finns i Återställa ett Azure Key Vault.
  • Kan jag inaktivera kundhanterade nycklar? Du kan när som helst ange krypteringstypen för Batch-kontot till "Microsoft Managed Key". Du kan ta bort eller ändra nyckeln efteråt.
  • Hur roterar jag mina nycklar? Kundhanterade nycklar roteras inte automatiskt om inte nyckeln är versionslös med en lämplig princip för nyckelrotation som angetts i Key Vault. Om du vill rotera nyckeln manuellt uppdaterar du den nyckelidentifierare 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 blir 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-åtkomsten 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 hämtas igen). När åtkomsten har återställts blir noderna tillgängliga igen och aktiviteterna startas om.
  • Gäller den här krypteringsmekanismen för virtuella datordiskar 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 Microsoft-plattformshanterad nyckel som standard. För närvarande kan du inte ange din 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 Microsoft-plattformsnyckel måste du aktivera egenskapen diskEncryptionConfiguration i konfigurationspoolen för virtuella datorer. 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