Receber notificações do cofre de chaves e responder a elas com a Grade de Eventos do Azure
A integração do Azure Key Vault com a Grade de Eventos do Azure permite que o usuário seja notificado quando o status de um segredo armazenado em um cofre de chaves é alterado. Para obter uma visão geral deste recurso, confira Monitoramento do Key Vault com a Grade de Eventos.
Esse guia descreve como receber notificações de Key Vault por meio da Grade de Eventos do Azure e como responder a alterações de status pela Automação do Azure.
Pré-requisitos
- Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Um cofre de chaves na assinatura do Azure. Você pode criar rapidamente um novo cofre de chaves seguindo as etapas em Definir e recuperar um segredo do Azure Key Vault usando a CLI do Azure.
Conceitos
A Grade de Eventos é um serviço de eventos para a nuvem. Ao seguir as etapas neste guia, você assinará eventos para o cofre de chaves e roteará eventos para a Automação. Quando um dos segredos no cofre de chaves está prestes a expirar (definido como 30 dias antes da data de validade), a Grade de Eventos é notificada sobre a alteração de status e faz um HTTP POST para o ponto de extremidade. Um web hook dispara então uma execução do script de um PowerShell da Automação.
Criar uma conta de Automação
Crie uma conta da Automação por meio do portal do Azure.
Acesse portal.azure.com e faça logon em sua assinatura.
Na caixa de pesquisa, digite Contas de Automação.
Na seção Serviços do menu suspenso da barra de pesquisa, selecione Contas de Automação.
Selecione Adicionar.
Insira as informações necessárias na folha Adicionar Conta de Automação e selecione Criar.
Criar um runbook
Depois que sua conta da Automação estiver pronta, crie um runbook.
Selecione a conta de Automação que você criou.
Selecione Runbook, em Automação de Processo.
Selecione Criar um runbook.
Atribua um nome ao runbook e selecione PowerShell como o tipo do runbook.
Clique no runbook que você criou e selecione o botão Editar.
Insira o código a seguir (para fins de teste) e selecione o botão Publicar. Essa ação retornará o resultado da solicitação POST recebida.
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."
}
Criar um webhook
Crie um webhook para disparar o runbook recém-criado.
Selecione Webhooks na seção de Recursos do runbook que você publicou.
Selecione Adicionar webhook.
Selecione Criar novo Webhook.
Nomeie o webhook, defina uma data de validade e copie a URL.
Importante
Você não pode exibir a URL depois de criá-la. Lembre-se de salvar uma cópia em uma localização segura, em que você possa acessá-la no restante deste guia.
Selecione Parâmetros e configurações de execução e selecione OK. Não insira nenhum parâmetro. O botão Criar estará habilitado.
Selecione OK e, então, selecione Criar.
Criar uma assinatura na Grade de Eventos
Crie uma assinatura de Grade de Eventos por meio do portal do Azure.
Vá para o cofre de chaves e selecione a guia Eventos.
Clique no botão Assinatura de evento.
Crie um nome descritivo para a assinatura.
Escolha Esquema da Grade de Eventos.
O Recurso de Tópico deve ser o cofre de chaves cujas alterações de status você deseja monitorar.
Para Filtrar para Tipos de Evento, deixe todas as opções selecionadas (9 selecionados).
Para Tipo de Ponto de Extremidade, selecione Webhook.
Escolha Selecionar um ponto de extremidade. No novo painel de contexto, cole a URL do webhook da etapa Criar um webhook no campo Ponto de Extremidade do Assinante.
Selecione Confirmar Seleção no painel de contexto.
Selecione Criar.
Testar e verificar
Verifique se a sua assinatura da Grade de Eventos está definida adequadamente. Esse teste pressupõe que você assinou a notificação "Nova Versão Secreta Criada" em Criar uma assinatura de Grade de Eventos e que você tem as permissões necessárias para criar uma nova versão de um segredo em um cofre de chaves.
Vá para o seu cofre de chaves no portal do Azure.
Crie um novo segredo. Para fins de teste, defina a data de vencimento como o dia seguinte.
Na guia Eventos no cofre de chaves, selecione a assinatura da grade de eventos que você criou.
Em Métricas, confira se um evento foi capturado. Dois eventos são esperados: SecretNewVersion e SecretNearExpiry. Esses eventos validam que a Grade de Eventos capturou com êxito a alteração de status do segredo em seu cofre de chaves.
Vá para sua conta de Automação.
Selecione a guia Runbooks e selecione o runbook que você criou.
Selecione a guia Webhooks e confirme se o carimbo de data/hora "disparado pela última vez" está dentro de 60 segundos de quando você criou o novo segredo. Esse resultado confirma que a Grade de Eventos fez um POST no webhook com os detalhes do evento da alteração de status no cofre de chaves e que o webhook foi disparado.
Retorne ao seu runbook e selecione a guia Visão geral.
Examine a lista Trabalhos Recentes. Você deverá ver que um trabalho foi criado e que o status dele é concluído. Isso confirma que o webhook disparou o runbook para iniciar a execução do respectivo script.
Selecione o trabalho recente e examine a solicitação POST enviada da Grade de Eventos para o webhook. Examine o JSON e verifique se os parâmetros para o cofre de chaves e o tipo de evento estão corretos. Se o parâmetro "tipo de evento" no objeto JSON corresponder ao evento que ocorreu no Key Vault (neste exemplo, Microsoft.KeyVault.SecretNearExpiry), o teste foi bem-sucedido.
Solução de problemas
Não é possível iniciar uma assinatura de evento.
Registre novamente a Grade de Eventos e o provedor do Key Vault em seus provedores de recursos de assinatura do Azure. Consulte Provedores e tipos de recursos do Azure.
Próximas etapas
Parabéns! Se você seguiu corretamente todas as etapas, agora você está pronto para responder programaticamente às alterações de status dos segredos armazenados no seu cofre de chaves.
Você pode usar agora esse recurso de notificação caso você esteja usando um sistema baseado em sondagem para pesquisar alterações de status nos segredos em seus Key Vaults. Você também poderá substituir o script de teste em seu runbook por código para renovar programaticamente seus segredos quando eles estiverem prestes a expirar.
Saiba mais:
- Visão geral: Monitoramento do Key Vault com a Grade de Eventos do Azure
- Como fazer: Receber emails quando o status do cofre de chaves secreto é alterado
- Esquema de eventos da Grade de Eventos do Azure para o Azure Key Vault
- Visão geral do Azure Key Vault
- Visão geral da Grade de Eventos do Azure
- Visão geral da Automação do Azure