Kundhanterade nycklar i Azure Managed Instance för Apache Cassandra
I Azure Managed Instance för Apache Cassandra kan du använda din egen nyckel för att kryptera data på disk. Den här artikeln beskriver hur du implementerar kundhanterade nycklar med hjälp av Azure Key Vault.
Förutsättningar
Konfigurera en hemlighet med hjälp av Azure Key Vault. Mer information finns i Om Azure Key Vault-hemligheter.
Distribuera ett virtuellt nätverk i resursgruppen.
Använd rollen Nätverksdeltagare med Tjänstens huvudnamn för Azure Cosmos DB som medlem. Ange följande kommando:
az role assignment create \ --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \ --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \ --scope /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>
Genom att använda lämplig roll i ditt virtuella nätverk kan du undvika fel när du distribuerar en Azure Managed Instance för Apache Cassandra-kluster. Mer information finns i Skapa en Azure Managed Instance för Apache Cassandra-kluster med hjälp av Azure CLI.
Den här artikeln kräver Azure CLI version 2.30.0 eller senare. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.
Skapa ett kluster med en systemtilldelad identitet
Skapa ett kluster med hjälp av följande kommando. Ersätt
<subscriptionID>
,<resourceGroupName>
,<vnetName>
och<subnetName>
med lämpliga värden.subnet="/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/<subnetName>" cluster="thvankra-cmk-test-wcus" group="thvankra-nova-cmk-test" region="westcentralus" password="PlaceholderPassword" az managed-cassandra cluster create \ --identity-type SystemAssigned \ --resource-group $group \ --location $region \ --cluster-name $cluster \ --delegated-management-subnet-id $subnet \ --initial-cassandra-admin-password $password
Hämta identitetsinformationen för det skapade klustret:
az managed-cassandra cluster show -c $cluster -g $group
Utdata innehåller ett identitetsavsnitt som i följande exempel. Kopiera värdet
principalId
för senare användning."identity": { "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "SystemAssigned" }
I Azure-portalen går du till ditt nyckelvalv och väljer Åtkomstprinciper. Välj sedan Lägg till åtkomstprincip för att skapa en åtkomstprincip för dina nycklar.
För Nyckelbehörigheter väljer du hämta, wrap och unwrap. Välj rutan Välj huvudnamn för att öppna fönstret Huvudnamn . Ange klustrets
principalId
värde som du hämtade tidigare och välj sedan knappen Välj . (I portalen kan du också slå upp huvud-ID:t för klustret efter klustrets namn.)Varning
Kontrollera att nyckelvalvet har rensningsskydd aktiverat. Datacenterdistributioner misslyckas utan det.
Välj Lägg till för att lägga till åtkomstprincipen och välj sedan Spara.
Om du vill hämta nyckelidentifieraren väljer du Nycklar och sedan din nyckel.
Välj den aktuella versionen.
Spara nyckelidentifieraren för senare användning.
Skapa datacentret genom att
<key identifier>
ersätta med samma nyckel (den URI som du kopierade i föregående steg) för kryptering av både hanterad disk (managed-disk-customer-key-uri
) och lagring av säkerhetskopior (backup-storage-customer-key-uri
). Använd samma värde försubnet
som du använde tidigare.managedDiskKeyUri = "<key identifier>" backupStorageKeyUri = "<key identifier>" group="thvankra-nova-cmk-test" region="westcentralus" cluster="thvankra-cmk-test-2" dc="dc1" nodecount=3 subnet="/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/<subnetName>" az managed-cassandra datacenter create \ --resource-group $group \ --cluster-name $cluster \ --data-center-name $dc \ --managed-disk-customer-key-uri $managedDiskKeyUri \ --backup-storage-customer-key-uri $backupStorageKeyUri \ --node-count $nodecount \ --delegated-subnet-id $subnet \ --data-center-location $region \ --sku Standard_DS14_v2
Du kan också tilldela en identitet till ett befintligt kluster utan identitetsinformation:
az managed-cassandra cluster update --identity-type SystemAssigned -g $group -c $cluster
Rotera nyckeln
Om du vill uppdatera nyckeln använder du det här kommandot:
managedDiskKeyUri = "<key identifier>"
backupStorageKeyUri = "<key identifier>"
az managed-cassandra datacenter update \
--resource-group $group \
--cluster-name $cluster \
--data-center-name $dc \
--managed-disk-customer-key-uri $managedDiskKeyUri \
--backup-storage-customer-key-uri $backupStorageKeyUri