Door de klant beheerde sleutels configureren voor uw Azure Batch-account met Azure Key Vault en beheerde identiteit

Standaard gebruikt Azure Batch door het platform beheerde sleutels om alle klantgegevens te versleutelen die zijn opgeslagen in de Azure Batch Service, zoals certificaten en taakmetagegevens. U kunt desgewenst uw eigen sleutels gebruiken, dat wil zeggen door de klant beheerde sleutels, om gegevens te versleutelen die zijn opgeslagen in Azure Batch.

De sleutels die u opgeeft, moeten worden gegenereerd in Azure Key Vault en ze moeten worden geopend met beheerde identiteiten voor Azure-resources.

Er zijn twee typen beheerde identiteiten: door het systeem toegewezen en door de gebruiker toegewezen.

U kunt uw Batch-account maken met een door het systeem toegewezen beheerde identiteit of een afzonderlijke door de gebruiker toegewezen beheerde identiteit maken die toegang heeft tot de door de klant beheerde sleutels. Bekijk de vergelijkingstabel om de verschillen te begrijpen en te overwegen welke optie het beste werkt voor uw oplossing. Als u bijvoorbeeld dezelfde beheerde identiteit wilt gebruiken voor toegang tot meerdere Azure-resources, is een door de gebruiker toegewezen beheerde identiteit nodig. Zo niet, dan is een door het systeem toegewezen beheerde identiteit die is gekoppeld aan uw Batch-account mogelijk voldoende. Het gebruik van een door de gebruiker toegewezen beheerde identiteit biedt u ook de mogelijkheid om door de klant beheerde sleutels af te dwingen bij het maken van een Batch-account, zoals hierna wordt weergegeven.

Een Batch-account maken met een door het systeem toegewezen beheerde identiteit

Als u geen afzonderlijke door de gebruiker toegewezen beheerde identiteit nodig hebt, kunt u door het systeem toegewezen beheerde identiteit inschakelen wanneer u uw Batch-account maakt.

Belangrijk

Een door het systeem toegewezen beheerde identiteit die is gemaakt voor een Batch-account voor klantgegevensversleuteling, zoals beschreven in dit document, kan niet worden gebruikt als een door de gebruiker toegewezen beheerde identiteit in een Batch-pool. Als u dezelfde beheerde identiteit wilt gebruiken voor zowel het Batch-account als de Batch-pool, gebruikt u in plaats daarvan een gemeenschappelijke door de gebruiker toegewezen beheerde identiteit.

Azure Portal

Wanneer u in de Azure Portal Batch-accounts maakt, kiest u Systeem toegewezen in het identiteitstype op het tabblad Geavanceerd.

Schermopname van een nieuw Batch-account met door het systeem toegewezen identiteitstype.

Nadat het account is gemaakt, vindt u een unieke GUID in het veld Id-principal-id in de sectie Eigenschappen . Het identiteitstype wordt weergegevenSystem assigned.

Schermopname van een unieke GUID in het veld Id van identiteitsprincipal.

U hebt deze waarde nodig om dit Batch-account toegang te verlenen tot de Key Vault.

Azure CLI

Wanneer u een nieuw Batch-account maakt, geeft u SystemAssigned op voor de --identity parameter.

resourceGroupName='myResourceGroup'
accountName='mybatchaccount'

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

Nadat het account is gemaakt, kunt u controleren of de door het systeem toegewezen beheerde identiteit is ingeschakeld voor dit account. Let op de PrincipalId, omdat deze waarde nodig is om dit Batch-account toegang te verlenen tot de Key Vault.

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

Notitie

De door het systeem toegewezen beheerde identiteit die is gemaakt in een Batch-account, wordt alleen gebruikt voor het ophalen van door de klant beheerde sleutels van de Key Vault. Deze identiteit is niet beschikbaar in Batch-pools. Zie Beheerde identiteiten configureren in Batch-pools als u een door de gebruiker toegewezen beheerde identiteit in een pool wilt gebruiken.

Een door de gebruiker toegewezen beheerde identiteit maken

Als u wilt, kunt u een door de gebruiker toegewezen beheerde identiteit maken die kan worden gebruikt voor toegang tot uw door de klant beheerde sleutels.

U hebt de client-id-waarde van deze identiteit nodig om toegang te krijgen tot de Key Vault.

Uw Azure Key Vault-exemplaar configureren

De Azure Key Vault waarin uw sleutels worden gegenereerd, moeten worden gemaakt in dezelfde tenant als uw Batch-account. Deze hoeft zich niet in dezelfde resourcegroep of zelfs niet in hetzelfde abonnement te bevinden.

Een Azure Key Vault maken

Wanneer u een Azure Key Vault-exemplaar maakt met door de klant beheerde sleutels voor Azure Batch, moet u ervoor zorgen dat Voorlopig verwijderen en Beveiliging tegen opschonen beide zijn ingeschakeld.

Schermopname van het scherm voor het maken van Key Vault.

Een toegangsbeleid toevoegen aan uw Azure Key Vault-exemplaar

Voeg in de Azure Portal, nadat de Key Vault is gemaakt, in het toegangsbeleid onder Instelling het Batch-accounttoegang toe met behulp van een beheerde identiteit. Selecteer onder Sleutelmachtigingende optie Ophalen, Sleutel verpakken en Sleutel uitpakken.

Schermopname van het scherm Toegangsbeleid toevoegen.

Vul in het veld Selecteren onder Principal een van de volgende gegevens in:

  • Voor door het systeem toegewezen beheerde identiteit: voer de principalId in die u eerder hebt opgehaald of de naam van het Batch-account.
  • Voor door de gebruiker toegewezen beheerde identiteit: voer de client-id in die u eerder hebt opgehaald of de naam van de door de gebruiker toegewezen beheerde identiteit.

Schermopname van het scherm Principal.

Een sleutel genereren in Azure Key Vault

Ga in de Azure Portal naar het Key Vault exemplaar in de sleutelsectie en selecteer Genereren/importeren. Selecteer het sleuteltype dat moet zijn RSA en de RSA-sleutelgrootte ten minste 2048 bits. EC sleuteltypen worden momenteel niet ondersteund als door de klant beheerde sleutel in een Batch-account.

Een sleutel maken

Nadat de sleutel is gemaakt, klikt u op de zojuist gemaakte sleutel en de huidige versie, kopieert u de sleutel-id onder de sectie Eigenschappen . Zorg ervoor dat onder Toegestane bewerkingen de optie Sleutel verpakken en Sleutel uitpakken beide zijn ingeschakeld.

Door de klant beheerde sleutels inschakelen voor een Batch-account

Nu aan de vereisten is voldaan, kunt u door de klant beheerde sleutels inschakelen voor uw Batch-account.

Azure Portal

Ga in de Azure Portal naar de pagina Batch-account. Schakel in de sectie Versleutelingdoor de klant beheerde sleutel in. U kunt de sleutel-id rechtstreeks gebruiken of u kunt de sleutelkluis selecteren en vervolgens op Een sleutelkluis en sleutel selecteren klikken.

Schermopname van de sectie Versleuteling en de optie voor het inschakelen van door de klant beheerde sleutel

Azure CLI

Nadat het Batch-account is gemaakt met een door het systeem toegewezen beheerde identiteit en de toegang tot Key Vault is verleend, werkt u het Batch-account bij met de {Key Identifier} URL onder keyVaultProperties parameter. Stel ook in --encryption-key-source als Microsoft.KeyVault.

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

Een Batch-account maken met door de gebruiker toegewezen beheerde identiteit en door de klant beheerde sleutels

Als voorbeeld van de .NET-client voor Batch-beheer kunt u een Batch-account maken met een door de gebruiker toegewezen beheerde identiteit en door de klant beheerde sleutels.

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);

De versie van de door de klant beheerde sleutel bijwerken

Wanneer u een nieuwe versie van een sleutel maakt, werkt u het Batch-account bij om de nieuwe versie te gebruiken. Volg deze stappen:

  1. Navigeer naar uw Batch-account in Azure Portal en geef de versleutelingsinstellingen weer.
  2. Voer de URI voor de nieuwe sleutelversie in. U kunt ook de Key Vault en de sleutel opnieuw selecteren om de versie bij te werken.
  3. Sla uw wijzigingen op.

U kunt ook Azure CLI gebruiken om de versie bij te werken.

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

Tip

U kunt uw sleutels automatisch laten roteren door een sleutelrotatiebeleid te maken binnen Key Vault. Wanneer u een sleutel-id voor het Batch-account opgeeft, gebruikt u de versieloze sleutel-id om automatisch roteren met een geldig rotatiebeleid in te schakelen. Zie Sleutelrotatie configureren in Key Vault voor meer informatie.

Een andere sleutel gebruiken voor Batch-versleuteling

Volg deze stappen om de sleutel te wijzigen die wordt gebruikt voor Batch-versleuteling:

  1. Navigeer naar uw Batch-account en geef de versleutelingsinstellingen weer.
  2. Voer de URI voor de nieuwe sleutel in. U kunt ook de Key Vault selecteren en een nieuwe sleutel kiezen.
  3. Sla uw wijzigingen op.

U kunt ook Azure CLI gebruiken om een andere sleutel te gebruiken.

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

Veelgestelde vragen

  • Worden door de klant beheerde sleutels ondersteund voor bestaande Batch-accounts? Nee. Door de klant beheerde sleutels worden alleen ondersteund voor nieuwe Batch-accounts.
  • Kan ik RSA-sleutelgrootten selecteren die groter zijn dan 2048 bits? Ja, RSA-sleutelgrootten van 3072 en 4096 bits worden ook ondersteund.
  • Welke bewerkingen zijn beschikbaar nadat een door de klant beheerde sleutel is ingetrokken? De enige bewerking die is toegestaan, is het verwijderen van een account als Batch de toegang tot de door de klant beheerde sleutel verliest.
  • Hoe moet ik de toegang tot mijn Batch-account herstellen als ik per ongeluk de Key Vault-sleutel verwijder? Omdat beveiliging tegen opschonen en voorlopig verwijderen zijn ingeschakeld, kunt u de bestaande sleutels herstellen. Zie Een Azure-Key Vault herstellen voor meer informatie.
  • Kan ik door de klant beheerde sleutels uitschakelen? U kunt het versleutelingstype van het Batch-account op elk gewenst moment weer instellen op 'Door Microsoft beheerde sleutel'. U kunt de sleutel later verwijderen of wijzigen.
  • Hoe kan ik mijn sleutels draaien? Door de klant beheerde sleutels worden niet automatisch geroteerd, tenzij de sleutel versieloos is met een geschikt sleutelrotatiebeleid dat is ingesteld in Key Vault. Als u de sleutel handmatig wilt draaien, werkt u de sleutel-id bij waaraan het account is gekoppeld.
  • Hoe lang duurt het nadat ik de toegang heb hersteld, voordat het Batch-account weer werkt? Het kan tot 10 minuten duren voordat het account weer toegankelijk is nadat de toegang is hersteld.
  • Wat gebeurt er met mijn resources zolang het Batch-account niet beschikbaar is? Alle pools die actief zijn wanneer Batch-toegang tot de door de klant beheerde sleutel verloren gaat, blijven actief. De knooppunten in deze pools worden echter overgezet naar een niet-beschikbare status en taken worden niet meer uitgevoerd (en worden opnieuw in de wachtrij geplaatst). Zodra de toegang is hersteld, worden knooppunten weer beschikbaar en worden taken opnieuw gestart.
  • Is dit versleutelingsmechanisme van toepassing op VM-schijven in een Batch-pool? Nee. Voor Cloud Services configuratiegroepen (die zijn afgeschaft), wordt er geen versleuteling toegepast voor het besturingssysteem en de tijdelijke schijf. Voor virtuele-machineconfiguratiegroepen worden het besturingssysteem en opgegeven gegevensschijven standaard versleuteld met een door het Microsoft-platform beheerde sleutel. Op dit moment kunt u uw eigen sleutel voor deze schijven niet opgeven. Als u de tijdelijke schijf van VM's voor een Batch-pool wilt versleutelen met een door het Microsoft-platform beheerde sleutel, moet u de eigenschap diskEncryptionConfiguration inschakelen in uw virtuele-machineconfiguratiegroep . Voor zeer gevoelige omgevingen raden we u aan om tijdelijke schijfversleuteling in te schakelen en te voorkomen dat gevoelige gegevens worden opgeslagen op besturingssysteem- en gegevensschijven. Zie Een groep maken met schijfversleuteling ingeschakeld voor meer informatie
  • Is de door het systeem toegewezen beheerde identiteit voor het Batch-account beschikbaar op de rekenknooppunten? Nee. De door het systeem toegewezen beheerde identiteit wordt momenteel alleen gebruikt voor toegang tot de Azure Key Vault voor de door de klant beheerde sleutel. Zie Beheerde identiteiten in Batch-pools configureren als u een door de gebruiker toegewezen beheerde identiteit wilt gebruiken op rekenknooppunten.

Volgende stappen