Chiavi gestite dal cliente in Azure Istanza gestita per Apache Cassandra
In Azure Istanza gestita per Apache Cassandra è possibile usare la propria chiave per crittografare i dati su disco. Questo articolo descrive come implementare chiavi gestite dal cliente usando Azure Key Vault.
Prerequisiti
Configurare un segreto usando Azure Key Vault. Per altre informazioni, vedere Informazioni sui segreti di Azure Key Vault.
Distribuire una rete virtuale nel gruppo di risorse.
Applicare il ruolo Collaboratore rete all'entità servizio di Azure Cosmos DB come membro. Usare il comando seguente:
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>
L'applicazione del ruolo appropriato alla rete virtuale consente di evitare errori quando si distribuisce un Istanza gestita di Azure per il cluster Apache Cassandra. Per altre informazioni, vedere Creare un Istanza gestita di Azure per il cluster Apache Cassandra usando l'interfaccia della riga di comando di Azure.
Questo articolo richiede l'interfaccia della riga di comando di Azure versione 2.30.0 o successiva. Se si usa Azure Cloud Shell, la versione più recente è già installata.
Creare un cluster con un'identità assegnata dal sistema
Creare un cluster usando il comando seguente. Sostituire
<subscriptionID>
,<resourceGroupName>
<vnetName>
, e<subnetName>
con i valori appropriati.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
Ottenere le informazioni sull'identità del cluster creato:
az managed-cassandra cluster show -c $cluster -g $group
L'output include una sezione Identity simile all'esempio seguente. Copiare il
principalId
valore per usarlo in un secondo momento."identity": { "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "SystemAssigned" }
Nella portale di Azure passare all'insieme di credenziali delle chiavi e selezionare Criteri di accesso. Selezionare quindi Aggiungi criteri di accesso per creare un criterio di accesso per le chiavi.
In Autorizzazioni chiave selezionare get, wrap e unwrap. Selezionare la casella Seleziona entità per aprire il riquadro Entità . Immettere il valore del
principalId
cluster recuperato in precedenza e quindi selezionare il pulsante Seleziona . Nel portale è anche possibile cercare l'ID entità del cluster in base al nome del cluster.Avviso
Assicurarsi che l'insieme di credenziali delle chiavi abbia la protezione di ripulitura attivata. Le distribuzioni dei data center avranno esito negativo senza di esso.
Selezionare Aggiungi per aggiungere i criteri di accesso e quindi selezionare Salva.
Per ottenere l'identificatore di chiave, selezionare Chiavi e quindi selezionare la chiave.
Selezionare la versione corrente.
Salvare l'identificatore della chiave per usarlo in un secondo momento.
Creare il data center sostituendo
<key identifier>
con la stessa chiave (l'URI copiato nel passaggio precedente) per la crittografia del disco gestito (managed-disk-customer-key-uri
) e dell'archiviazione di backup (backup-storage-customer-key-uri
). Usare lo stesso valore usatosubnet
in precedenza.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
È anche possibile assegnare un'identità a un cluster esistente senza informazioni sull'identità:
az managed-cassandra cluster update --identity-type SystemAssigned -g $group -c $cluster
ruotare la chiave
Per aggiornare la chiave, usare questo comando:
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