Receba e responda a notificações do cofre de chaves com a Grade de Eventos do Azure
A integração do Cofre da Chave do Azure com a Grade de Eventos do Azure permite a notificação do usuário quando o status de um segredo armazenado em um cofre de chaves foi alterado. Para obter uma visão geral desse recurso, consulte Monitoring Key Vault with Event Grid.
Este guia descreve como receber notificações do Cofre da Chave por meio da Grade de Eventos e como responder a alterações de status por meio da Automação do Azure.
Pré-requisitos
- Uma subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
- Um cofre de chaves na sua Subscrição do Azure. Você pode criar rapidamente um novo cofre de chaves seguindo as etapas em Definir e recuperar um segredo do Cofre de Chaves do Azure usando a CLI do Azure.
Conceitos
A Grade de Eventos é um serviço de eventos para a nuvem. Seguindo as etapas deste guia, você se inscreverá em eventos do Key Vault e encaminhará 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 expiração), a Grade de Eventos é notificada da alteração de status e faz um HTTP POST para o ponto de extremidade. Em seguida, um gancho da Web dispara uma execução de automação de um script do PowerShell.
Criar uma conta de Automatização
Crie uma conta de Automação através do portal do Azure:
Aceda a portal.azure.com e inicie sessão na sua subscrição.
Na caixa de pesquisa, insira Contas de automação.
Na seção Serviços da lista suspensa na barra de pesquisa, selecione Contas de automação.
Selecione Adicionar.
Insira as informações necessárias no painel Adicionar Conta de Automação e selecione Criar.
Criar um runbook
Depois que sua conta de automação estiver pronta, crie um runbook.
Selecione a conta de automação que você criou.
Selecione Runbooks em Automação de processos.
Selecione Criar um runbook.
Nomeie seu runbook e selecione PowerShell como o tipo de runbook.
Selecione o runbook que você criou e, em seguida, selecione o botão Editar .
Insira o código a seguir (para fins de teste) e selecione o botão Publicar . Esta ação retorna 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 acionar seu runbook recém-criado.
Selecione Webhooks na seção Recursos do runbook que você publicou.
Selecione Adicionar Webhook.
Selecione Criar novo Webhook.
Nomeie o webhook, defina uma data de validade e copie o URL.
Importante
Não é possível visualizar o URL depois de o criar. Certifique-se de salvar uma cópia em um local seguro onde você possa acessá-la para o restante deste guia.
Selecione Parâmetros e execute configurações e, em seguida, selecione OK. Não insira nenhum parâmetro. O botão Criar será ativado.
Selecione OK e, em seguida, selecione Criar.
Criar uma subscrição do Event Grid
Crie uma subscrição da Grelha de Eventos através do portal do Azure.
Aceda ao cofre das chaves e selecione o separador Eventos .
Selecione o botão Subscrição de Eventos .
Crie um nome descritivo para a assinatura.
Escolha Event Grid Schema (Esquema de grade de eventos).
O recurso de tópico deve ser o cofre de chaves que você deseja monitorar para alterações de status.
Para Filtrar para Tipos de Evento, deixe todas as opções selecionadas (9 selecionadas).
No Tipo de Ponto Final, 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 subscrição da Grelha de Eventos está configurada corretamente. Este teste pressupõe que você tenha se inscrito na notificação "Nova versão secreta criada" na assinatura Criar uma grade de eventos e que tenha as permissões necessárias para criar uma nova versão de um segredo em um cofre de chaves.
Aceda ao cofre de chaves no portal do Azure.
Crie um novo segredo. Para fins de teste, defina a data de validade para o dia seguinte.
No separador Eventos no cofre das chaves, selecione a subscrição da Grelha de Eventos que criou.
Em Métricas, verifique 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.
Aceda à sua conta de Automatização.
Selecione a guia Runbooks e, em seguida, selecione o runbook que você criou.
Selecione a guia Webhooks e confirme se o carimbo de data/hora "último acionado" 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 acionado.
Volte ao seu runbook e selecione a guia Visão geral .
Veja a lista de empregos recentes. Você verá que um trabalho foi criado e que o status está concluído. Isso confirma que o webhook acionou o runbook para começar a executar seu script.
Selecione o trabalho recente e veja a solicitação POST que foi enviada da Grade de Eventos para o webhook. Examine o JSON e certifique-se de que os parâmetros do cofre de chaves e do tipo de evento estão corretos. Se o parâmetro "event type" no objeto JSON corresponder ao evento que ocorreu no cofre de chaves (neste exemplo, Microsoft.KeyVault.SecretNearExpiry), o teste foi bem-sucedido.
Resolução de Problemas
Não é possível criar uma subscrição de evento
Registre novamente a Grade de Eventos e o provedor do cofre de chaves em seus provedores de recursos de assinatura do Azure. Veja Fornecedores e tipos de recursos do Azure.
Próximos passos
Parabéns! Se você seguiu corretamente todas essas etapas, agora está pronto para responder programaticamente às alterações de status dos segredos armazenados no cofre de chaves.
Se você estiver usando um sistema baseado em sondagem para pesquisar alterações de status de segredos em seus cofres de chaves, agora você pode começar a usar esse recurso de notificação. Você também pode 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: Monitorando o Cofre da Chave com a Grade de Eventos do Azure
- Como: Receber e-mails quando um segredo do cofre de chaves é alterado
- Esquema de eventos do Azure Event Grid para o Azure Key Vault
- Visão geral do Azure Key Vault
- Visão geral da Grade de Eventos do Azure
- Descrição geral da Automatização do Azure