Delen via


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

Azure Batch maakt standaard gebruik van door het platform beheerde sleutels om alle klantgegevens te versleutelen die zijn opgeslagen in de Azure Batch-service, zoals certificaten, taak-/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 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 na te gaan 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. Als u een door de gebruiker toegewezen beheerde identiteit gebruikt, hebt 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 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 versleuteling van klantgegevens, 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 algemene door de gebruiker toegewezen beheerde identiteit.

Azure Portal

Wanneer u Batch-accounts maakt in Azure Portal, kiest u Systeem dat is toegewezen in het identiteitstype onder het tabblad Geavanceerd.

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

Nadat het account is gemaakt, kunt u een unieke GUID vinden in het veld Id van de identiteits-principal onder de sectie Eigenschappen . Het identiteitstype wordt weergegeven System assigned.

Schermopname van een unieke GUID in het veld Id-id van identiteit.

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 deze 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 in een Batch-account is gemaakt, wordt alleen gebruikt voor het ophalen van door de klant beheerde sleutels uit key vault. Deze identiteit is niet beschikbaar in Batch-pools. Als u een door de gebruiker toegewezen beheerde identiteit in een pool wilt gebruiken, raadpleegt u Beheerde identiteiten configureren in Batch-pools.

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 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 Azure Portal, nadat de Key Vault is gemaakt, in het toegangsbeleid onder Instelling de toegang tot het Batch-account toe met behulp van een beheerde identiteit. Selecteer onder Sleutelmachtigingen 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 naam 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 Azure Portal naar het Key Vault-exemplaar in de sleutelsectie en selecteer Genereren/importeren. Selecteer het sleuteltype dat u wilt gebruiken RSA en rsa-sleutelgrootte om ten minste 2048 bits te zijn. EC sleuteltypen worden momenteel niet ondersteund als een 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 en kopieert u de sleutel-id onder de sectie Eigenschappen . Zorg ervoor dat onder Toegestane bewerkingen zowel Sleutel verpakken als Sleutel uitpakken zijn ingeschakeld.

Door de klant beheerde sleutels inschakelen voor een Batch-account

Nu de vereisten zijn ingesteld, kunt u door de klant beheerde sleutels inschakelen voor uw Batch-account.

Azure Portal

Ga in Azure Portal naar de pagina Batch-account. Schakel in de sectie Versleuteling de door 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 om door de klant beheerde sleutel in te schakelen

Azure-CLI

Nadat het Batch-account is gemaakt met door het systeem toegewezen beheerde identiteit en de toegang tot Key Vault is verleend, werkt u het Batch-account bij met de URL onder keyVaultProperties parameter{Key Identifier}. Ook ingesteld --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 met behulp 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.

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;

De door de klant beheerde sleutelversie bijwerken

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

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

U kunt azure CLI ook 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 draaien door een sleutelrotatiebeleid in Key Vault te maken. 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 voor meer informatie hoe u sleutelrotatie configureert in Key Vault.

Een andere sleutel gebruiken voor Batch-versleuteling

Voer de volgende stappen uit 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 sleutelkluis 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 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 accountverwijdering als Batch geen toegang meer heeft tot de door de klant beheerde sleutel.
  • Hoe kan ik de toegang tot mijn Batch-account herstellen als ik de Key Vault-sleutel per ongeluk verwijder? Omdat opschoningsbeveiliging 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 gedraaid, 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 voordat het Batch-account weer werkt nadat ik de toegang heb hersteld? Het kan tot 10 minuten duren voordat het account opnieuw toegankelijk is zodra de toegang is hersteld.
  • Hoewel het Batch-account niet beschikbaar is, wat gebeurt er met mijn resources? 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 weergegeven). 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 tijdelijke schijfversleuteling in te schakelen en te voorkomen dat gevoelige gegevens op besturingssysteem- en gegevensschijven worden opgeslagen. Zie Een pool maken waarvoor schijfversleuteling is ingeschakeld voor meer informatie
  • Is de door het systeem toegewezen beheerde identiteit in 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 configureren in Batch-pools als u een door de gebruiker toegewezen beheerde identiteit wilt gebruiken op rekenknooppunten.

Volgende stappen