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
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
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": "aaaaaaaa-bbbb-cccc-1111-222222222222", "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "SystemAssigned" }
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.
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).Ostrzeżenie
Upewnij się, że magazyn kluczy ma włączoną ochronę przed przeczyszczeniem. Wdrożenia centrum danych nie powiedzą się bez niego.
Wybierz pozycję Dodaj , aby dodać zasady dostępu, a następnie wybierz pozycję Zapisz.
Aby uzyskać identyfikator klucza, wybierz pozycję Klucze, a następnie wybierz klucz.
Wybierz bieżącą wersję.
Zapisz identyfikator klucza do późniejszego użycia.
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órasubnet
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