Door de klant beheerde sleutels in Azure Managed Instance voor Apache Cassandra
In Azure Managed Instance voor Apache Cassandra kunt u uw eigen sleutel gebruiken om gegevens op schijf te versleutelen. In dit artikel wordt beschreven hoe u door de klant beheerde sleutels implementeert met behulp van Azure Key Vault.
Vereisten
Een geheim instellen met behulp van Azure Key Vault. Zie Over Azure Key Vault-geheimen voor meer informatie.
Implementeer een virtueel netwerk in uw resourcegroep.
Pas de rol Netwerkbijdrager toe met de Azure Cosmos DB-service-principal als lid. Gebruik de volgende opdracht:
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>
Als u de juiste rol toepast op uw virtuele netwerk, kunt u fouten voorkomen wanneer u een Azure Managed Instance voor Apache Cassandra-cluster implementeert. Zie Een Azure Managed Instance voor Apache Cassandra-cluster maken met behulp van de Azure CLI voor meer informatie.
Voor dit artikel is Azure CLI versie 2.30.0 of hoger vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.
Een cluster maken met een door het systeem toegewezen identiteit
Maak een cluster met behulp van de volgende opdracht. Vervang ,
<resourceGroupName>
,<vnetName>
en<subnetName>
door<subscriptionID>
de juiste waarden.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
Haal de identiteitsgegevens van het gemaakte cluster op:
az managed-cassandra cluster show -c $cluster -g $group
De uitvoer bevat een identiteitssectie, zoals in het volgende voorbeeld. Kopieer de
principalId
waarde voor later gebruik."identity": { "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "SystemAssigned" }
Ga in Azure Portal naar uw sleutelkluis en selecteer Toegangsbeleid. Selecteer Vervolgens Toegangsbeleid toevoegen om een toegangsbeleid voor uw sleutels te maken.
Selecteer ophalen, verpakken en uitpakken voor sleutelmachtigingen. Selecteer het vak Principal selecteren om het deelvenster Principal te openen. Voer de waarde van
principalId
het cluster in die u eerder hebt opgehaald en selecteer vervolgens de knop Selecteren . (In de portal kunt u ook de principal-id van het cluster opzoeken op basis van de naam van het cluster.)Waarschuwing
Zorg ervoor dat de sleutelkluis beveiliging tegen opschonen heeft ingeschakeld. Datacenterimplementaties mislukken zonder dit.
Selecteer Toevoegen om het toegangsbeleid toe te voegen en selecteer Vervolgens Opslaan.
Als u de sleutel-id wilt ophalen, selecteert u Sleutels en selecteert u vervolgens uw sleutel.
Selecteer de huidige versie.
Sla de sleutel-id op voor later gebruik.
Maak het datacenter door deze te vervangen
<key identifier>
door dezelfde sleutel (de URI die u in de vorige stap hebt gekopieerd) voor zowel beheerde schijf- alsmanaged-disk-customer-key-uri
back-upopslagversleuteling (backup-storage-customer-key-uri
). Gebruik dezelfde waarde alssubnet
die u eerder hebt gebruikt.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
U kunt ook een identiteit toewijzen aan een bestaand cluster zonder identiteitsgegevens:
az managed-cassandra cluster update --identity-type SystemAssigned -g $group -c $cluster
De sleutel draaien
Gebruik deze opdracht om de sleutel bij te werken:
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