Dela via


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": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "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.

    Skärmbild som visar fönstret för åtkomstprinciper i Azure-portalen.

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

    Skärmbild som visar ett exempel på hur du lägger till ett huvudnamn för en åtkomstprincip.

    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.

    Skärmbild som visar knappen för att spara en åtkomstprincip.

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

    Skärmbild som visar fönstret för att välja en nyckel.

  7. Välj den aktuella versionen.

    Skärmbild som visar rutan för att välja den aktuella versionen av en nyckel.

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

    Skärmbild som visar hur du kopierar en nyckelidentifierare till Urklipp.

  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