Claves administradas por el cliente en Azure Managed Instance for Apache Cassandra
En Azure Managed Instance for Apache Cassandra puede cifrar datos en el disco mediante su propia clave. En este artículo se describe cómo implementar claves administradas por el cliente mediante Azure Key Vault.
Requisitos previos
Configure un secreto mediante Azure Key Vault. Para obtener más información, consulte Acerca de los secretos de Azure Key Vault.
Implemente una red virtual en un grupo de recursos.
Aplique el rol Colaborador de red con la entidad de servicio Azure Cosmos DB como miembro. Use el comando siguiente:
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>
La aplicación del rol adecuado a la red virtual le ayuda a evitar errores al implementar un clúster de Azure Managed Instance for Apache Cassandra. Para obtener más información, consulte Creación de un clúster de Azure Managed Instance for Apache Cassandra mediante la CLI de Azure.
En este artículo se necesita la CLI de Azure versión 2.30.0 o posterior. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.
Creación de un clúster con una identidad asignada por el sistema
Cree el clúster mediante el siguiente comando. Reemplace
<subscriptionID>
,<resourceGroupName>
,<vnetName>
y<subnetName>
por los valores adecuados.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
Obtención de la información de identidad del clúster creado:
az managed-cassandra cluster show -c $cluster -g $group
La salida incluye una sección de identidad como en el ejemplo siguiente. Copie el valor
principalId
para su uso posterior."identity": { "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "SystemAssigned" }
En Azure Portal, vaya al almacén de claves y seleccione Directivas de acceso. A continuación, seleccione Agregar directiva de acceso para crear una directiva de acceso para las claves.
Para Permisos de clave, seleccione obtener, encapsulary desencapsular. Seleccione el cuadro Seleccionar entidad de seguridad para abrir el panel Principal. Escriba el valor
principalId
del clúster que recuperó anteriormente y, a continuación, seleccione el botón Seleccionar. (En el portal, también puede buscar el identificador de la entidad de seguridad del clúster por el nombre del clúster).Advertencia
Asegúrese de que el almacén de claves tiene habilitada la protección de purga. Se producirá un error en las implementaciones del centro de datos si no la tienen.
Seleccione Agregar para agregar la directiva de acceso y, posteriormente, Guardar.
Para obtener el identificador de clave, seleccione Claves y seleccione su clave.
Seleccione la versión actual.
Guarde el identificador de clave para su uso posterior.
Cree el centro de datos reemplazando
<key identifier>
por la misma clave (el URI que copió en el paso anterior) para el disco administrado (managed-disk-customer-key-uri
) y el cifrado de almacenamiento de copia de seguridad (backup-storage-customer-key-uri
). Use el mismo valor parasubnet
que usó anteriormente.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
También puede asignar una identidad a un clúster existente sin información de identidad:
az managed-cassandra cluster update --identity-type SystemAssigned -g $group -c $cluster
Rotación de la clave
Para actualizar la clave, use este 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