Share via


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

  1. 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
    
  2. 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": "1aa51c7f-196a-4013-a656-1ccabfdc54e0",
        "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
        "type": "SystemAssigned"
      }
    
  3. Ga in Azure Portal naar uw sleutelkluis en selecteer Toegangsbeleid. Selecteer Vervolgens Toegangsbeleid toevoegen om een toegangsbeleid voor uw sleutels te maken.

    Screenshot that shows the pane for access policies in the Azure portal.

  4. 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.)

    Screenshot that shows an example of adding a principal for an access policy.

    Waarschuwing

    Zorg ervoor dat de sleutelkluis beveiliging tegen opschonen heeft ingeschakeld. Datacenterimplementaties mislukken zonder dit.

  5. Selecteer Toevoegen om het toegangsbeleid toe te voegen en selecteer Vervolgens Opslaan.

    Screenshot that shows the button for saving an access policy.

  6. Als u de sleutel-id wilt ophalen, selecteert u Sleutels en selecteert u vervolgens uw sleutel.

    Screenshot that shows the pane for selecting a key.

  7. Selecteer de huidige versie.

    Screenshot that shows the box for selecting the current version of a key.

  8. Sla de sleutel-id op voor later gebruik.

    Screenshot that shows copying a key identifier to the clipboard.

  9. 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 als subnet 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