Ricevere e rispondere alle notifiche di Key Vault con Griglia di eventi di Azure
L'integrazione di Azure Key Vault con Griglia di eventi di Azure consente agli utenti di ricevere notifiche quando lo stato di un segreto archiviato in un insieme di credenziali delle chiavi è cambiato. Per una panoramica di questa funzionalità, vedere Monitoraggio di Key Vault con Griglia di eventi di Azure.
Questa guida illustra come ricevere notifiche di Key Vault tramite Griglia di eventi e come rispondere alle modifiche dello stato tramite Automazione di Azure.
Prerequisiti
- Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- Un insieme di credenziali delle chiavi nella sottoscrizione di Azure. È possibile creare rapidamente un nuovo insieme di credenziali delle chiavi seguendo la procedura descritta in Impostare e recuperare un segreto da Azure Key Vault usando l'interfaccia della riga di comando di Azure.
Concetti
Griglia di eventi è un servizio di gestione degli eventi per il cloud. Seguendo le procedure di questa guida, si sottoscriveranno eventi per Key Vault e li si indirizzeranno ad Automazione di Azure. Quando uno dei segreti nell'istanza di Key Vault sta per scadere (vale a dire 30 giorni prima della data di scadenza), Griglia di eventi riceve una notifica della modifica dello stato e invia un POST HTTP all'endpoint. Un webhook attiva quindi un'esecuzione di Automazione di Azure di uno script di PowerShell.
Creare un account di Automazione
Creare un account di Automazione nel portale di Azure:
Passare a portal.azure.com e accedere alla sottoscrizione.
Nella casella di ricerca digitare Account di Automazione.
Nella sezione Servizi dell'elenco a discesa nella barra di ricerca selezionare Account di Automazione.
Selezionare Aggiungi.
Immettere le informazioni necessarie nel riquadro Aggiungi account di Automazione e quindi selezionare Crea.
Creare un runbook
Quando l'account di Automazione è pronto, creare un runbook.
Selezionare l'account di Automazione creato.
In Automazione processi selezionare Runbook.
Selezionare Crea un runbook.
Assegnare un nome al runbook e selezionare PowerShell come tipo di runbook.
Selezionare il runbook creato e quindi selezionare il pulsante Modifica.
Immettere il codice seguente (a scopo di test) e selezionare il pulsante Pubblica. Questa azione restituisce il risultato della richiesta POST ricevuta.
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."
}
Creare un webhook
Creare un webhook per attivare il runbook appena creato.
Selezionare Webhook nella sezione Risorse del runbook pubblicato.
Selezionare Aggiungi webhook.
Selezionare Crea un nuovo webhook.
Assegnare un nome al webhook, impostare una data di scadenza e copiare l'URL.
Importante
Non è possibile visualizzare l'URL dopo averlo creato. Assicurarsi di salvarne una copia in una posizione sicura a cui sia possibile accedere per il resto di questa guida.
Selezionare Parametri e impostazioni di esecuzione e scegliere OK. Non immettere parametri. Verrà abilitato il pulsante Crea.
Scegliere OK, quindi Crea.
Creare una sottoscrizione di Griglia di eventi
Creare una sottoscrizione di Griglia di eventi tramite il portale di Azure.
Passare all'insieme di credenziali delle chiavi e selezionare la scheda Eventi.
Selezionare il pulsante Sottoscrizione di eventi.
Creare un nome descrittivo per la sottoscrizione.
Scegliere Schema griglia di eventi.
Risorsa argomento deve essere l'insieme di credenziali delle chiavi di cui si vogliono monitorare le modifiche dello stato.
Per Filtra per tipi di evento lasciare tutte le opzioni selezionate (9 selezionati).
Per Tipo di endpoint: selezionare Webhook.
Scegliere Seleziona endpoint. Nel nuovo riquadro del contesto incollare l'URL del webhook dal passaggio Creare un webhook nel campo Endpoint sottoscrittore.
Selezionare Conferma selezione nel riquadro del contesto.
Seleziona Crea.
Test e verifica
Verificare che la sottoscrizione di Griglia di eventi sia configurata correttamente. Questo test presuppone che sia stata sottoscritta la notifica di "creazione di una nuova versione di un segreto" in Creare una sottoscrizione di Griglia di eventi e che si abbiano le autorizzazioni necessarie per creare una nuova versione di un segreto in un insieme di credenziali delle chiavi.
Passare all'insieme di credenziali delle chiavi nel portale di Azure.
Creare un nuovo segreto. Ai fini del test, impostare la data di scadenza sul giorno successivo.
Nella scheda Eventi dell'insieme di credenziali delle chiavi selezionare la sottoscrizione di Griglia di eventi creata.
In Metriche verificare se è stato acquisito un evento. Sono previsti due eventi: SecretNewVersion e SecretNearExpiry. Questi eventi verificano che Griglia di eventi abbia acquisito correttamente la modifica dello stato del segreto nell'insieme di credenziali delle chiavi.
Passare all'account di Automazione.
Selezionare la scheda Runbook e quindi il runbook creato.
Selezionare la scheda Webhook e verificare che il timestamp "Ultima attivazione" sia entro 60 secondi dalla creazione del nuovo segreto. Questo risultato conferma che Griglia di eventi ha inviato un POST al webhook con i dettagli dell'evento relativi alla modifica dello stato nell'insieme di credenziali delle chiavi e che il webhook è stato attivato.
Tornare al runbook e selezionare la scheda Panoramica.
Esaminare l'elenco Processi recenti. Si dovrebbe vedere che è stato creato un processo e che lo stato è Completato. Questo conferma che il webhook ha attivato il runbook per avviare l'esecuzione dello script.
Selezionare il processo recente ed esaminare la richiesta POST inviata da Griglia di eventi al webhook. Esaminare il JSON e verificare che i parametri dell'insieme di credenziali delle chiavi e del tipo di evento siano corretti. Se il parametro del "tipo di evento" nell'oggetto JSON corrisponde all'evento che si è verificato nell'insieme di credenziali delle chiavi (in questo esempio Microsoft.KeyVault.SecretNearExpiry), il test è riuscito.
Risoluzione dei problemi
Non è possibile creare una sottoscrizione di evento
Registrare di nuovo il provider dell'insieme di credenziali delle chiavi e Griglia di eventi nei provider di risorse della sottoscrizione di Azure. Vedere Provider e tipi di risorse di Azure.
Passaggi successivi
Complimenti. Se sono stati eseguiti correttamente tutti questi passaggi, è ora possibile rispondere a livello di codice alle modifiche dello stato dei segreti archiviati nell'insieme di credenziali delle chiavi.
Se si usa un sistema basato su polling per cercare le modifiche dello stato dei segreti negli insiemi di credenziali delle chiavi, è ora possibile iniziare a usare questa funzionalità di notifica. È anche possibile sostituire lo script di test nel runbook con codice che imposti il rinnovo dei segreti a livello di programmazione quando stanno per scadere.
Altre informazioni:
- Panoramica: Monitoraggio di Key Vault con Griglia di eventi di Azure
- Procedura: Ricevere un messaggio di posta elettronica quando viene modificato un segreto di Key Vault
- Schema di eventi di Griglia di eventi di Azure per Azure Key Vault
- Panoramica di Azure Key Vault
- Panoramica di Griglia di eventi di Azure
- Panoramica di Automazione di Azure