Partekatu honen bidez:


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": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "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.

    Recorte de pantalla en el que se muestra el panel de directivas de acceso en 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).

    Recorte de pantalla en el que se muestra un ejemplo de cómo agregar una entidad de seguridad para una directiva de acceso.

    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.

    Recorte de pantalla en el que se muestra el botón para guardar una directiva de acceso.

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

    Recorte de pantalla en el que se muestra el panel para seleccionar una clave.

  7. Seleccione la versión actual.

    Recorte de pantalla en el que se muestra la selección de la versión actual de una clave.

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

    Recorte de pantalla en el que se muestra cómo copiar un identificador de clave al Portapapeles.

  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