Habilitación del registro de Key Vault

Después de crear uno o varios almacenes de claves, es probable que desee supervisar cómo y cuándo se accede a los almacenes de claves y quién lo hace. Para obtener detalles completos sobre la característica, consulte Registro de Azure Key Vault.

Esto es lo que se registra:

  • Todas las solicitudes de la API REST autenticadas, incluidas las solicitudes con error debido a permisos de acceso, errores del sistema o solicitudes incorrectas.
  • Las operaciones en el almacén de claves, incluidas la creación, la eliminación, la definición de políticas de acceso del almacén de claves y la actualización de los atributos del almacén de claves, como las etiquetas.
  • Las operaciones en claves y secretos del almacén de claves, incluido lo siguiente:
    • Crear, modificar o eliminar estas claves o secretos.
    • Firmar, comprobar, cifrar, descifrar, encapsular y desencapsular claves, obtener secretos y elaborar listados de claves y secretos (y sus versiones).
  • Solicitudes no autenticadas que dan como resultado una respuesta 401. Por ejemplo, las solicitudes que no tienen un token de portador, cuyo formato es incorrecto o está caducado o que tienen un token no válido.
  • Eventos de notificaciones de Azure Event Grid para las siguientes condiciones: expirada, a punto de expirar y directiva de acceso al almacén modificada (el evento de nueva versión no se registra). Los eventos se registran incluso si hay una suscripción de eventos creada en el almacén de claves. Para más información, vea Azure Key Vault como origen de Event Grid.

Requisitos previos

Para realizar este tutorial, debe disponer de lo siguiente:

  • Un Almacén de claves existente que ha utilizado.
  • Azure Cloud Shell: entorno de Bash.
  • Suficiente almacenamiento en Azure para sus registros de Key Vault.

En este artículo, a los comandos de esta guía se les da formato para Cloud Shell con Bash como entorno.

Conexión a su suscripción de Key Vault

El primer paso para configurar el registro de claves es conectarse a la suscripción que contiene el almacén de claves. Este es un paso especialmente importante si tiene varias suscripciones asociadas a su cuenta.

Con la CLI de Azure, puede ver todas las suscripciones mediante el comando az account list. A continuación, conéctese a una mediante el comando az account set:

az account list

az account set --subscription "<subscriptionID>"

Con Azure PowerShell, primero puede enumerar las suscripciones mediante el cmdlet Get-AzSubscription. A continuación, conéctese a una mediante el cmdlet Set-AzContext.

Get-AzSubscription

Set-AzContext -SubscriptionId "<subscriptionID>"

Creación de una cuenta de almacenamiento para sus registros

Aunque puede usar una cuenta de almacenamiento existente para sus registros, aquí crearemos una cuenta de almacenamiento dedicada a los registros de Key Vault.

Para una mayor facilidad de administración, use también el grupo de recursos que contiene el almacén de claves. En el inicio rápido de la CLI de Azure y el inicio rápido de Azure PowerShell, este grupo de recursos se denomina myResourceGroup y la ubicación es eastus. Sustituya estos valores por los suyos propios, según corresponda.

También debe indicar un nombre de cuenta de almacenamiento. Los nombres de cuentas de almacenamiento deben ser únicos, tener entre 3 y 24 caracteres, y usar solo números y letras minúsculas. Por último, cree una cuenta de almacenamiento de la SKU Standard_LRS.

Con la CLI de Azure, use el comando az storage account create.

az storage account create --name "<your-unique-storage-account-name>" -g "myResourceGroup" --sku "Standard_LRS"

Con Azure PowerShell, use el cmdlet New-AzStorageAccount. Tendrá que proporcionar la ubicación correspondiente al grupo de recursos.

 New-AzStorageAccount -ResourceGroupName myResourceGroup -Name "<your-unique-storage-account-name>" -Type "Standard_LRS" -Location "eastus"

En cualquier caso, anote el identificador de la cuenta de almacenamiento. La operación con la CLI de Azure devuelve el identificador en la salida. Para obtener el identificador con Azure PowerShell, use Get-AzStorageAccount y asigne la salida a la variable $sa. Así, puede ver la cuenta de almacenamiento con $sa.id. (La propiedad $sa.Context también se usa más adelante en este artículo).

$sa = Get-AzStorageAccount -Name "<your-unique-storage-account-name>" -ResourceGroup "myResourceGroup"
$sa.id

El identificador de la cuenta de almacenamiento tendrá el formato: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/your-unique-storage-account-name".

Nota:

Si decide usar una cuenta de almacenamiento existente, debe usar la misma suscripción que el almacén de claves. Debe usar el modelo de implementación de Resource Manager, en lugar del modelo de implementación clásica.

Obtención del identificador de recurso del almacén de claves

En el inicio rápido de la CLI y el inicio rápido de PowerShell, creó una clave con un nombre único. Vuelva a usar ese nombre en los pasos siguientes. Si no recuerda el nombre del almacén de claves, puede usar el comando az keyvault list de la CLI de Azure o el cmdlet Get-AzKeyVault de Azure PowerShell para obtenerlo.

Use el nombre del almacén de claves para encontrar su identificador de recurso. Con la CLI de Azure, use el comando az keyvault show.

az keyvault show --name "<your-unique-keyvault-name>"

Con Azure PowerShell, use el cmdlet Get-AzKeyVault.

Get-AzKeyVault -VaultName "<your-unique-keyvault-name>"

El identificador de recurso del almacén de claves tiene el formato siguiente: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/your-unique-keyvault-name". Guárdelo para el siguiente paso.

Habilitar registro

Puede habilitar el registro de Key Vault mediante la CLI de Azure, Azure PowerShell o Azure Portal.

Azure CLI

Use el comando az monitor diagnostic-settings create de la CLI de Azure, el identificador de la cuenta de almacenamiento y el identificador de recurso del almacén de claves, como se muestra a continuación:

az monitor diagnostic-settings create --storage-account "<storage-account-id>" --resource "<key-vault-resource-id>" --name "Key vault logs" --logs '[{"category": "AuditEvent","enabled": true}]' --metrics '[{"category": "AllMetrics","enabled": true}]'

Si lo desea, puede establecer una directiva de retención para los registros, de forma que los registros más antiguos se eliminen automáticamente tras un período de tiempo especificado. Por ejemplo, puede establecer una directiva de retención que elimine automáticamente los registros que tengan más de 90 días.

Con la CLI de Azure, use el comando az monitor diagnostic-settings update.

az monitor diagnostic-settings update --name "Key vault retention policy" --resource "<key-vault-resource-id>" --set retentionPolicy.days=90

Acceso a los registros

Los registros de Key Vault se encuentran en el contenedor insights-logs-auditevent de la cuenta de almacenamiento que ha proporcionado. Para ver los registros, tendrá que descargar blobs.

En primer lugar, enumere todos los blobs del contenedor. Con la CLI de Azure, use el comando az storage blob list.

az storage blob list --account-name "<your-unique-storage-account-name>" --container-name "insights-logs-auditevent"

Con Azure PowerShell, use Get-AzStorageBlob. Para mostrar una lista de todos los blobs de este contenedor, escriba:

Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context

En la salida del comando de la CLI de Azure o del cmdlet de Azure PowerShell, puede ver que los nombres de los blobs tienen el formato siguiente: resourceId=<ARM resource ID>/y=<year>/m=<month>/d=<day of month>/h=<hour>/m=<minute>/filename.json. Los valores de fecha y hora usan la hora universal coordinada.

Puesto que la misma cuenta de almacenamiento puede usarse para recopilar registros de varios recursos, el identificador de recurso completo en el nombre del blob es útil para acceder o descargar solo los blobs que necesita.

En primer lugar, descargue todos los blobs. Con la CLI de Azure, use el comando az storage blob download; pásele los nombres de los blobs y la ruta de acceso al archivo en el que desea guardar los resultados.

az storage blob download --container-name "insights-logs-auditevent" --file <path-to-file> --name "<blob-name>" --account-name "<your-unique-storage-account-name>"

Con Azure PowerShell, use el cmdlet Get-AzStorageBlob para obtener la lista de los blobs. A continuación, canalícela al cmdlet Get-AzStorageBlobContent para descargar los registros en la ruta de acceso elegida.

$blobs = Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context | Get-AzStorageBlobContent -Destination "<path-to-file>"

Al ejecutar este segundo comando en PowerShell, el delimitador / de los nombres de blobs crea una estructura de carpetas completa en la carpeta de destino. Usará esta estructura para descargar y almacenar los blobs como archivos.

Para descargar blobs de forma selectiva, utilice caracteres comodín. Por ejemplo:

  • Si tiene varios almacenes de claves y desea descargar los registros solo para un Almacén de claves, denominado CONTOSOKEYVAULT3:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/VAULTS/CONTOSOKEYVAULT3
    
  • Si tiene varios grupos de recursos y desea descargar los registros solo de un grupo de recursos específico, use -Blob '*/RESOURCEGROUPS/<resource group name>/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/RESOURCEGROUPS/CONTOSORESOURCEGROUP3/*'
    
  • Si desea descargar todos los registros del mes de enero de 2019, use -Blob '*/year=2019/m=01/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/year=2016/m=01/*'
    

Uso de registros de Azure Monitor

Puede utilizar la solución Key Vault en registros de Azure Monitor para revisar los registros AuditEvent de Key Vault. En los registros de Azure Monitor, las consultas de los registros se usan para analizar los datos y obtener la información que necesita. Para obtener más información, consulte Supervisión de Key Vault.

Pasos siguientes