Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La integración de Azure Key Vault con Azure Event Grid permite la notificación de usuario cuando el estado de un secreto almacenado en un almacén de claves ha cambiado. Para obtener información general sobre esta característica, consulte Supervisión de Key Vault con Event Grid.
En esta guía se describe cómo recibir notificaciones de Key Vault a través de Event Grid y cómo responder a los cambios de estado a través de Azure Automation.
Prerrequisitos
- Una suscripción de Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
- Un almacén de claves en tu suscripción de Azure. Puede crear rápidamente un nuevo almacén de claves siguiendo los pasos descritos en Establecimiento y recuperación de un secreto de Azure Key Vault mediante la CLI de Azure.
Conceptos
Event Grid es un servicio de eventos para la nube. Al seguir los pasos de esta guía, se suscribirá a los eventos de Key Vault y enrutará los eventos a Automation. Cuando uno de los secretos del almacén de claves está a punto de expirar (definido como 30 días antes de la fecha de expiración), Event Grid recibe una notificación del cambio de estado y realiza una solicitud HTTP POST al punto de conexión. A continuación, un webhook desencadena una ejecución de Automation de un script de PowerShell.
Creación de una cuenta de Automation
Cree una cuenta de Automation a través de Azure Portal:
Vaya a portal.azure.com e inicie sesión en su suscripción.
En el cuadro de búsqueda, escriba Cuentas de automatización.
En la sección Servicios de la lista desplegable de la barra de búsqueda, seleccione Cuentas de Automation.
Selecciona Agregar.
Escriba la información necesaria en el panel Agregar cuenta de Automation y seleccione Crear.
Crear un runbook
Una vez que la cuenta de Automation esté lista, cree un runbook.
Seleccione la cuenta de Automation que ha creado.
Seleccione Runbooks en Automatización de procesos.
Seleccione Crear un runbook.
Asigne un nombre al runbook y seleccione PowerShell como tipo de runbook.
Seleccione el runbook que creó y, a continuación, seleccione el botón Editar.
Escriba el código siguiente (con fines de prueba) y seleccione el botón Publicar . Esta acción devuelve el resultado de la solicitud POST recibida.
param
(
[Parameter (Mandatory = $false)]
[object] $WebhookData
)
#If runbook was called from Webhook, WebhookData will not be null.
if ($WebhookData) {
#rotate secret:
#generate new secret version in key vault
#update db/service with generated secret
#Write-Output "WebhookData <$WebhookData>"
Write-Output $WebhookData.RequestBody
}
else
{
# Error
write-Error "No input data found."
}
Creación de un webhook
Cree un webhook para desencadenar el runbook que acaba de crear.
Seleccione Webhooks en la sección Recursos del runbook que ha publicado.
Seleccione Agregar webhook.
Seleccione Crear nuevo webhook.
Asigne un nombre al webhook, establezca una fecha de expiración y copie la dirección URL.
Importante
No puede ver la dirección URL después de crearla. Asegúrese de guardar una copia en una ubicación segura donde pueda acceder a ella durante el resto de esta guía.
Seleccione Parámetros y ejecute la configuración y, a continuación, seleccione Aceptar. No escriba ningún parámetro. El botón Crear se habilitará.
Seleccione Aceptar y, a continuación, seleccione Crear.
Creación de una suscripción de Event Grid
Cree una suscripción de Event Grid a través de Azure Portal.
Vaya al almacén de claves y seleccione la pestaña Eventos .
Seleccione el botón Suscripción de eventos .
Cree un nombre descriptivo para la suscripción.
Elija Esquema de Event Grid.
Recurso de tema debe ser el almacén de claves cuyos cambios de estado desea supervisar.
En Filtrar a tipos de eventos, deje todas las opciones seleccionadas (9 seleccionadas).
En Tipo de punto de conexión, seleccione Webhook.
Elija Seleccionar un punto de conexión. En el nuevo panel de contexto, pegue la dirección URL del webhook del paso Crear un webhook en el campo Punto de conexión del suscriptor .
Seleccione Confirmar selección en el panel de contexto.
Selecciona Crear.
Prueba y comprobación
Compruebe que la suscripción de Event Grid está configurada correctamente. En esta prueba se supone que se ha suscrito a la notificación "Secret New Version Created" (Nueva versión del secreto creada) en Creación de una suscripción de Event Grid y que tiene los permisos necesarios para crear una versión de un secreto en un almacén de claves.
Dirígete al almacén de claves de tu portal de Azure.
Cree un nuevo secreto. Con fines de prueba, establezca la fecha de expiración en el día siguiente.
En la pestaña Eventos del almacén de claves, seleccione la suscripción de Event Grid que creó.
En Métricas, compruebe si se capturó un evento. Se esperan dos eventos: SecretNewVersion y SecretNearExpiry. Estos eventos validan que Event Grid capturó correctamente el cambio de estado del secreto en el almacén de claves.
Vaya a su cuenta de Automation.
Seleccione la pestaña Runbooks y, a continuación, seleccione el runbook que creó.
Seleccione la pestaña Webhooks y confirme que la marca de tiempo de "última activación" esté dentro de los 60 segundos posteriores a la creación del nuevo secreto. Este resultado confirma que Event Grid realizó una solicitud POST en el webhook con los detalles del evento de cambio de estado en el almacén de claves, y que el webhook se desencadenó.
Vuelva al runbook y seleccione la pestaña Información general .
Examine la lista Trabajos recientes . Debería ver que se ha creado un trabajo y que el estado es completado. Esto confirma que el webhook desencadenó el runbook para iniciar la ejecución de su script.
Seleccione el trabajo reciente y examine la solicitud POST que se envió desde Event Grid al webhook. Revisa el JSON y asegúrate de que los parámetros de la bóveda de claves y el tipo de evento son correctos. Si el parámetro "tipo de evento" del objeto JSON coincide con el evento que se produjo en el almacén de claves (en este ejemplo, Microsoft.KeyVault.SecretNearExpiry), la prueba se realizó correctamente.
Solución de problemas
No se puede crear una suscripción de eventos
Vuelva a registrar Event Grid y el proveedor del almacén de claves en los proveedores de recursos de la suscripción a Azure. Consulte Tipos y proveedores de recursos de Azure.
Pasos siguientes
¡Felicidades! Si ha seguido correctamente todos estos pasos, ya está listo para responder mediante programación a los cambios de estado de los secretos almacenados en el almacén de claves.
Si ha usado un sistema basado en sondeo para buscar cambios de estado en los secretos de los almacenes de claves, puede empezar a usar esta característica de notificación. También puede reemplazar el script de prueba del runbook con código para renovar los secretos mediante programación cuando están a punto de expirar.
Aprende más:
- Información general: Supervisión de Key Vault con Azure Event Grid
- Procedimientos: Recepción de un correo electrónico al cambiar un secreto del almacén de claves
- Esquema de eventos de Azure Event Grid para Azure Key Vault
- Introducción a Azure Key Vault
- Introducción a Azure Event Grid
- Introducción a Azure Automation