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

  1. 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
    
  2. 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": "1aa51c7f-196a-4013-a656-1ccabfdc54e0",
        "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
        "type": "SystemAssigned"
      }
    
  3. 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.

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

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

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

    Varning

    Kontrollera att nyckelvalvet har rensningsskydd aktiverat. Datacenterdistributioner misslyckas utan det.

  5. Välj Lägg till för att lägga till åtkomstprincipen och välj sedan Spara.

    Screenshot that shows the button for saving an access policy.

  6. Om du vill hämta nyckelidentifieraren väljer du Nycklar och sedan din nyckel.

    Screenshot that shows the pane for selecting a key.

  7. Välj den aktuella versionen.

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

  8. Spara nyckelidentifieraren för senare användning.

    Screenshot that shows copying a key identifier to the clipboard.

  9. 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ör subnet 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