Klucze zarządzane przez klienta w wystąpieniu zarządzanym platformy Azure dla usługi Apache Cassandra

W usłudze Azure Managed Instance for Apache Cassandra możesz użyć własnego klucza do szyfrowania danych na dysku. W tym artykule opisano sposób implementowania kluczy zarządzanych przez klienta przy użyciu usługi Azure Key Vault.

Wymagania wstępne

  • Konfigurowanie wpisu tajnego przy użyciu usługi Azure Key Vault. Aby uzyskać więcej informacji, zobacz About Azure Key Vault secrets (Informacje o wpisach tajnych usługi Azure Key Vault).

  • Wdróż sieć wirtualną w grupie zasobów.

  • Zastosuj rolę Współautor sieci z jednostką usługi Azure Cosmos DB jako członkiem. Użyj następującego polecenia:

        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>
    

    Zastosowanie odpowiedniej roli do sieci wirtualnej pomaga uniknąć awarii podczas wdrażania wystąpienia zarządzanego platformy Azure dla klastra Apache Cassandra. Aby uzyskać więcej informacji, zobacz Tworzenie wystąpienia zarządzanego platformy Azure dla klastra Apache Cassandra przy użyciu interfejsu wiersza polecenia platformy Azure.

Ten artykuł wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.30.0 lub nowszej. Jeśli używasz usługi Azure Cloud Shell, najnowsza wersja jest już zainstalowana.

Tworzenie klastra z tożsamością przypisaną przez system

  1. Utwórz klaster przy użyciu następującego polecenia. Zastąp <subscriptionID>wartości , <resourceGroupName>, <vnetName>i <subnetName> odpowiednimi wartościami.

    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. Uzyskaj informacje o tożsamości utworzonego klastra:

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

    Dane wyjściowe zawierają sekcję tożsamości podobną do poniższego przykładu. Skopiuj wartość do późniejszego principalId użycia.

      "identity": {
        "principalId": "1aa51c7f-196a-4013-a656-1ccabfdc54e0",
        "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
        "type": "SystemAssigned"
      }
    
  3. W witrynie Azure Portal przejdź do magazynu kluczy i wybierz pozycję Zasady dostępu. Następnie wybierz pozycję Dodaj zasady dostępu, aby utworzyć zasady dostępu dla kluczy.

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

  4. W obszarze Uprawnienia klucza wybierz pozycję Pobierz, zawijaj i odpakuj. Wybierz pole Wybierz podmiot zabezpieczeń, aby otworzyć okienko Podmiot zabezpieczeń. Wprowadź pobraną wcześniej wartość klastra principalId , a następnie wybierz przycisk Wybierz . (W portalu można również wyszukać identyfikator podmiotu zabezpieczeń klastra według nazwy klastra).

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

    Ostrzeżenie

    Upewnij się, że magazyn kluczy ma włączoną ochronę przed przeczyszczeniem. Wdrożenia centrum danych nie powiedzą się bez niego.

  5. Wybierz pozycję Dodaj , aby dodać zasady dostępu, a następnie wybierz pozycję Zapisz.

    Screenshot that shows the button for saving an access policy.

  6. Aby uzyskać identyfikator klucza, wybierz pozycję Klucze, a następnie wybierz klucz.

    Screenshot that shows the pane for selecting a key.

  7. Wybierz bieżącą wersję.

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

  8. Zapisz identyfikator klucza do późniejszego użycia.

    Screenshot that shows copying a key identifier to the clipboard.

  9. Utwórz centrum danych, zastępując <key identifier> element tym samym kluczem (identyfikator URI skopiowany w poprzednim kroku) dla szyfrowania dysku zarządzanego (managed-disk-customer-key-uri) i magazynu kopii zapasowych (backup-storage-customer-key-uri). Użyj tej samej wartości, która subnet była używana wcześniej.

    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
    

Tożsamość można również przypisać do istniejącego klastra bez informacji o tożsamości:

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

Obracanie klucza

Aby zaktualizować klucz, użyj następującego polecenia:

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