Solución de problemas de una clave administrada por el cliente

Este artículo es la cuarta parte de una serie de tutoriales de cuatro partes. La primera parte ofrece una introducción a las claves administradas por el cliente, sus características y las consideraciones que hay que tener en cuenta antes de habilitar una en su registro. En la segunda parte, aprenderá a habilitar una clave administrada por el cliente mediante la CLI de Azure, Azure Portal o una plantilla de Azure Resource Manager. En la tercera parte, aprenderá a rotar, actualizar y revocar una clave administrada por el cliente. Este artículo le ayuda a solucionar problemas comunes con claves administradas por el cliente.

Error al quitar una identidad administrada

Si intenta quitar una identidad asignada por el usuario o una asignada por el sistema que se usa para configurar el cifrado para su registro, es posible que vea un error:

Azure resource '/subscriptions/xxxx/resourcegroups/myGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry' does not have access to identity 'xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx' Try forcibly adding the identity to the registry <registry name>. For more information on bring your own key, please visit 'https://aka.ms/acr/cmk'.

No puede cambiar (rotar) la clave de cifrado. Los pasos de resolución dependen del tipo de identidad que se usa para el cifrado.

Eliminación de una identidad asignada por el usuario

Si recibe el error al intentar quitar una identidad asignada por el usuario, siga estos pasos:

  1. Reasigne la identidad asignada por el usuario mediante el comando az acr identity assign.

  2. Pase el id. de recurso de la identidad asignada por el usuario o use el nombre de la identidad cuando esté en el mismo grupo de recursos que el registry.

    Por ejemplo:

    az acr identity assign -n myRegistry \
        --identities "/subscriptions/mysubscription/resourcegroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity"
    
  3. Cambie la clave y asigne una identidad diferente.

  4. Ahora, puede eliminar la identidad original asignada por el usuario.

Eliminación de una identidad asignada por el sistema

Si recibe el error al intentar quitar una identidad asignada por el sistema, cree una incidencia de soporte técnico de Azure para obtener ayuda para restaurar la identidad.

Error después de habilitar un firewall del almacén de claves

Si habilita un firewall de Key Vault o de HSM administrado, una red virtual o un punto de conexión privado después de crear un registro cifrado, es posible que vea HTTP 403 u otros errores con la importación de imágenes o la rotación automatizada de claves. Asegúrese de que la configuración de red del almacén de claves permite que Azure Container Registry acceda a la clave. Para conocer las opciones de red de HSM administrado, consulte Seguridad de red para HSM administrado.

Si Azure Container Registry puede acceder al HSM administrado, pero el selector de claves del portal no puede enumerar las claves, asegúrese de que el cliente está dentro del límite de red configurado o use Especificar URI de clave. El bypass de servicios de confianza no concede a los clientes del portal acceso a través del firewall de Managed HSM.

Después de corregir la configuración de red, vuelva a configurar la identidad administrada y la clave que usó inicialmente para el cifrado. Consulte los pasos descritos en Rotar una clave administrada por el cliente.

Si el problema persiste, póngase en contacto con el servicio de soporte técnico de Azure.

Error al usar una clave HSM administrada

Compruebe los siguientes requisitos si se produce un error en la creación del registro, la rotación de claves o las operaciones de imagen cuando la clave de cifrado se almacena en Managed HSM:

  • El HSM administrado se aprovisiona y activa. Las operaciones del plano de datos, incluida la creación de claves y la asignación de roles, no están disponibles hasta que se complete la activación.
  • La clave es una clave RSA-HSM que admite las operaciones wrapKey y unwrapKey.
  • La identidad administrada del registro tiene el rol RBAC local de Managed HSM Crypto Service Encryption User. Para aplicar el principio de privilegios mínimos, asigne el rol en /keys/<key-name>.
  • El URI de clave usa HTTPS y tiene el formato https://<managed-hsm-name>.<managed-hsm-dns-suffix>/keys/<key-name> o https://<managed-hsm-name>.<managed-hsm-dns-suffix>/keys/<key-name>/<version>.
  • El URI identifica una clave. No se admiten URI para secretos, certificados u otras rutas de acceso de objetos HSM administrados.

Para comprobar la asignación de roles de una clave específica, ejecute:

az keyvault role assignment list \
  --hsm-name <managed-hsm-name> \
  --assignee-object-id <identity-principal-id> \
  --role "Managed HSM Crypto Service Encryption User" \
  --scope /keys/<key-name>

Los cambios de RBAC local de HSM administrados pueden tardar varios minutos en propagarse. Si la asignación de roles es correcta, pero la validación sigue fallando, espere a la propagación y vuelva a intentar la operación del Registro.

Error de expiración de identidad

La identidad adjunta a un registro se configura para la renovación automática con el fin de evitar que expire. Si desasocia una identidad de un registro, se produce un mensaje de error que explica que no se puede quitar la identidad en uso para la CMK. Si se intenta quitar la identidad, se pone en peligro la renovación automática de la identidad. Las operaciones de extracción/inserción del artefacto funcionan hasta que expira la identidad (normalmente a los tres meses). Tras la expiración de la identidad, verá el error HTTP 403 con el siguiente mensaje de error: "La identidad asociada al registro está inactiva". Esto podría deberse a un intento de eliminar la identidad. Reasigne manualmente la identidad".

Tiene que volver a asignar la identidad al registro de forma explícita.

  1. Ejecute el comando az acr identity assign para reasignar la identidad manualmente.

    • Por ejemplo,
    az acr identity assign -n myRegistry \
    --identities "/subscriptions/mysubscription/resourcegroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity"
    

Eliminación accidental de un almacén de claves o una clave

La eliminación del recurso de Key Vault o HSM administrado, o de la clave que use para cifrar un registro, hace que el contenido del registro sea inaccesible. Si habilita la eliminación no definitiva en un almacén de claves, puede recuperar el almacén eliminado o el objeto del almacén de claves y reanudar las operaciones del registro. Managed HSM también admite la recuperación de eliminación temporal (soft-delete), pero sigue incurriendo en cargos mientras se encuentra en un estado de eliminación temporal (soft-delete).

Error de corrección de Azure Policy en un registro con clave administrada por el cliente

Una asignación de Azure Policy con un efecto Modify (por ejemplo, la directiva Configure container registries to disable ARM audience token authentication.integrada ) puede no corregir automáticamente un registro cifrado con una clave administrada por el cliente. La tarea de corrección produce un error y el registro sigue sin ser conforme. La implementación de corrección notifica un BadRequest error similar al siguiente:

Invalid encryption key vault property specified for registry <registry-name>. Property Identity and KeyIdentifier must be set when encryption is enabled. For more information on customer-managed keys, please visit 'https://aka.ms/acr/cmk'.

Este error es una limitación conocida: la corrección automática de Modificar no se admite actualmente en registros cifrados con una clave administrada por el cliente. La corrección no puede conservar la configuración del almacén de claves protegido cuando vuelve a enviar la configuración del Registro, por lo que el registro rechaza la actualización con el error anterior y permanece no conforme.

Para que el registro cumpla con las directivas, establezca directamente la propiedad a la que se dirige la directiva en lugar de depender de la corrección automática. Al establecer la propiedad directamente, solo cambia esa configuración y se deja sin modificar la configuración de cifrado, por lo que el registro acepta la actualización. Utilice el comando que corresponde a la directiva que está corrigiendo.

Para la directiva Configure container registries to disable ARM audience token authentication., ejecute:

az acr config authentication-as-arm update \
    -r myregistry \
    --resource-group myResourceGroup \
    --status disabled

Después de ejecutar el comando, desencadene un examen de cumplimiento de directivas o espere a la siguiente evaluación. El registro figura entonces como conforme. La tarea de corrección automática podría seguir mostrando el estado Error en los registros cifrados con una clave administrada por el cliente. Ese estado no afecta al cumplimiento del Registro después de establecer la propiedad directamente.

Siguientes pasos

Para los escenarios de eliminación y recuperación, consulte: