Klíče spravované zákazníkem ve spravované instanci Azure pro Apache Cassandra

Ve službě Azure Managed Instance for Apache Cassandra můžete k šifrování dat na disku použít vlastní klíč. Tento článek popisuje, jak implementovat klíče spravované zákazníkem pomocí služby Azure Key Vault.

Požadavky

  • Nastavte tajný klíč pomocí služby Azure Key Vault. Další informace najdete v tématu o tajných klíči služby Azure Key Vault.

  • Nasaďte virtuální síť ve skupině prostředků.

  • Použijte roli Přispěvatel sítě s instančním objektem služby Azure Cosmos DB jako členem. Použijte následující příkaz:

        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>
    

    Použití příslušné role ve virtuální síti vám pomůže vyhnout se selhání při nasazování clusteru Azure Managed Instance for Apache Cassandra. Další informace najdete v tématu Vytvoření clusteru Azure Managed Instance for Apache Cassandra pomocí Azure CLI.

Tento článek vyžaduje Azure CLI verze 2.30.0 nebo novější. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.

Vytvoření clusteru s identitou přiřazenou systémem

  1. Vytvořte cluster pomocí následujícího příkazu. Nahraďte <subscriptionID>, <vnetName><resourceGroupName>, a <subnetName> odpovídajícími hodnotami.

    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. Získejte informace o identitě vytvořeného clusteru:

    az managed-cassandra cluster show -c $cluster -g $group
    

    Výstup obsahuje oddíl identity podobný následujícímu příkladu. principalId Zkopírujte hodnotu pro pozdější použití.

      "identity": {
        "principalId": "1aa51c7f-196a-4013-a656-1ccabfdc54e0",
        "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
        "type": "SystemAssigned"
      }
    
  3. Na webu Azure Portal přejděte do trezoru klíčů a vyberte Zásady přístupu. Pak vyberte Přidat zásadu přístupu a vytvořte pro své klíče zásady přístupu.

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

  4. V části Oprávnění ke klíči vyberte získat, zabalit a rozbalit. Výběrem pole Vybrat objekt zabezpečení otevřete podokno Objekt zabezpečení. Zadejte hodnotu clusteru principalId , kterou jste získali dříve, a pak vyberte tlačítko Vybrat . (Na portálu můžete také vyhledat HLAVNÍ ID clusteru podle názvu clusteru.)

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

    Upozorňující

    Ujistěte se, že trezor klíčů má zapnutou ochranu před vymazáním. Nasazení datacenter se nezdaří bez nasazení.

  5. Vyberte Přidat , chcete-li přidat zásady přístupu, a pak vyberte Uložit.

    Screenshot that shows the button for saving an access policy.

  6. Pokud chcete získat identifikátor klíče, vyberte Klíče a pak klíč vyberte.

    Screenshot that shows the pane for selecting a key.

  7. Vyberte aktuální verzi.

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

  8. Uložte identifikátor klíče pro pozdější použití.

    Screenshot that shows copying a key identifier to the clipboard.

  9. Vytvořte datové centrum nahrazením <key identifier> stejného klíče (identifikátor URI, který jste zkopírovali v předchozím kroku) pro šifrování spravovaného disku (managed-disk-customer-key-uri) i úložiště záloh (backup-storage-customer-key-uri). Použijte stejnou hodnotu, subnet jakou jste použili dříve.

    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
    

Identitu můžete také přiřadit existujícímu clusteru bez informací o identitě:

az managed-cassandra cluster update --identity-type SystemAssigned -g $group -c $cluster

Otočení klíče

Pokud chcete klíč aktualizovat, použijte tento příkaz:

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