Registro de Managed HSM

Después de crear uno o varios HSM administrados, es probable que desee supervisar cómo y cuándo se accede a ellos y quién lo hace. Puede hacerlo al habilitar el registro, que guarda la información en una cuenta de almacenamiento de Azure proporcionada por el usuario. Un nuevo contenedor denominado insights-logs-auditevent se crea automáticamente para su cuenta de almacenamiento especificada. Puede usar esta misma cuenta de almacenamiento para recopilar registros de varios HSM administrados.

Puede acceder a la información de registro 10 minutos (como máximo) después de la operación del HSM administrado. En la mayoría de los casos, será más rápido que esto. Es decisión suya administrar los registros en la cuenta de almacenamiento:

  • Use los métodos de control de acceso estándar de Azure para proteger los registros mediante la restricción de los usuarios que pueden entrar a ellos.
  • Elimine los registros que ya no desee mantener en la cuenta de almacenamiento.

Use este tutorial para empezar a trabajar con el registro de HSM administrado. Deberá crear una cuenta de almacenamiento, habilitar el registro e interpretar la información de los registros recopilados.

Nota:

Este tutorial no incluye instrucciones sobre cómo crear HSM administrados o claves. En este artículo se ofrecen instrucciones de la CLI de Azure para actualizar el registro de diagnóstico.

Requisitos previos

Para completar los pasos de este artículo, debe tener los siguientes elementos:

Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.

Para iniciar Azure Cloud Shell:

Opción Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. Captura de pantalla que muestra un ejemplo de la opción Pruébelo para Azure Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. Botón para iniciar Azure Cloud Shell.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. Captura de pantalla que muestra el botón de Cloud Shell en Azure Portal

Para usar Azure Cloud Shell:

  1. Inicie Cloud Shell.

  2. Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.

  3. Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.

  4. Seleccione Enter para ejecutar el código o comando.

Conexión a su suscripción de Azure

El primer paso para configurar el registro de claves es hacer que la CLI de Azure apunte al HSM administrado que desea registrar.

az login

Para más información sobre las opciones de inicio de sesión mediante la CLI, consulte Inicio de sesión con la CLI de Azure

Es posible que deba especificar la suscripción que usó para crear el HSM administrado. Para ver las suscripciones de su cuenta, escriba el siguiente comando:

Identificación del HSM administrado y la cuenta de almacenamiento

hsmresource=$(az keyvault show --hsm-name ContosoMHSM --query id -o tsv)
storageresource=$(az storage account show --name ContosoMHSMLogs --query id -o tsv)

Habilitar registro

Para habilitar el registro del HSM administrado, use el comando az monitor diagnostic-settings create, junto con las variables que hemos creado para la nueva cuenta de almacenamiento y el HSM administrado. También estableceremos la marca -Enabled en $true y estableceremos la categoría en AuditEvent (la única categoría del registro de HSM administrado):

Este resultado confirma que el registro está habilitado ahora para el HSM administrado, y guardará la información en su cuenta de almacenamiento.

Opcionalmente, puede establecer una directiva de retención para los registros, de forma que los registros más antiguos se eliminen automáticamente. Por ejemplo, establezca la directiva de retención mediante la configuración de la marca -RetentionEnabled en $true, y establezca el parámetro -RetentionInDays en 90, con el fin de que los registros que tengan más de 90 días se eliminen automáticamente.

az monitor diagnostic-settings create --name ContosoMHSM-Diagnostics --resource $hsmresource --logs '[{"category": "AuditEvent","enabled": true}]' --storage-account $storageresource

Qué se registra:

  • Todas las solicitudes de la API REST autenticadas, incluidas las solicitudes con error debido a permisos de acceso, errores del sistema, bloques de firewall o solicitudes incorrectas.
  • Operaciones del plano de administración en el propio recurso de HSM administrado, incluidas la creación, eliminación y actualización de atributos, como las etiquetas.
  • Operaciones relacionadas con el dominio de seguridad, como la inicialización y descarga, la inicialización de la recuperación y la carga.
  • Operaciones de copia de seguridad completa de HSM, restauración y restauración selectiva.
  • Operaciones de administración de roles, como crear, ver o eliminar asignaciones de roles, y crear, ver o eliminar definiciones de roles personalizados.
  • Operaciones con claves, entre las que se incluyen las siguientes:
    • Creación, modificación o eliminación de las claves.
    • Firma, comprobación, cifrado, descifrado, encapsulado, desencapsulado y enumeración de claves.
    • Copia de seguridad, restauración y purga de claves.
    • Versión de clave
  • Rutas de acceso no válidas que dan como resultado una respuesta 404.

Acceso a los registros

Los registros de Managed HSM se almacenan en el contenedor insights-logs-auditevent de la cuenta de almacenamiento proporcionada. Para ver los registros, tendrá que descargar blobs. Para obtener información sobre Azure Storage, consulte Creación, descarga y enumeración de blobs mediante la CLI de Azure.

Los blobs individuales se almacenan como texto, con formato de JSON. Veamos una entrada de registro como ejemplo. En el ejemplo siguiente se muestra la entrada de registro cuando se envía una solicitud para crear una copia de seguridad completa al HSM administrado.

[
  {
    "TenantId": "{tenant-id}",
    "time": "2020-08-31T19:52:39.763Z",
    "resourceId": "/SUBSCRIPTIONS/{subscription-id}/RESOURCEGROUPS/CONTOSORESOURCEGROUP/PROVIDERS/MICROSOFT.KEYVAULT/MANAGEDHSMS/CONTOSOMHSM",
    "operationName": "BackupCreate",
    "operationVersion": "7.0",
    "category": "AuditEvent",
    "resultType": "Success",
    "properties": {
        "PoolType": "M-HSM",
        "sku_Family": "B",
        "sku_Name": "Standard_B1"
    },
    "durationMs": 488,
    "callerIpAddress": "X.X.X.X",
    "identity": "{\"claim\":{\"appid\":\"{application-id}\",\"http_schemas_microsoft_com_identity\":{\"claims\":{\"objectidentifier\":\"{object-id}\"}},\"http_schemas_xmlsoap_org_ws_2005_05_identity\":{\"claims\":{\"upn\":\"admin@contoso.com\"}}}}",
    "clientInfo": "azsdk-python-core/1.7.0 Python/3.8.2 (Linux-4.19.84-microsoft-standard-x86_64-with-glibc2.29) azsdk-python-azure-keyvault/7.2",
    "correlationId": "8806614c-ebc3-11ea-9e9b-00155db778ad",
    "subnetId": "(unknown)",
    "httpStatusCode": 202,
    "PoolName": "mhsmdemo",
    "requestUri": "https://ContosoMHSM.managedhsm.azure.net/backup",
    "resourceGroup": "ContosoResourceGroup",
    "resourceProvider": "MICROSOFT.KEYVAULT",
    "resource": "ContosoMHSM",
    "resourceType": "managedHSMs"
  }
]

Pasos siguientes