Share via


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

  1. 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
    
  2. 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": "1aa51c7f-196a-4013-a656-1ccabfdc54e0",
        "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
        "type": "SystemAssigned"
      }
    
  3. 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.

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

  4. 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).

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

    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.

  5. Seleccione Agregar para agregar la directiva de acceso y, posteriormente, Guardar.

    Screenshot that shows the button for saving an access policy.

  6. Para obtener el identificador de clave, seleccione Claves y seleccione su clave.

    Screenshot that shows the pane for selecting a key.

  7. Seleccione la versión actual.

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

  8. Guarde el identificador de clave para su uso posterior.

    Screenshot that shows copying a key identifier to the clipboard.

  9. 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 para subnet 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