Compartilhar via


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 a notificação do usuário quando o status de um segredo armazenado em um cofre de chaves é alterado. Para obter uma visão geral desse recurso, consulte Monitoramento do Key Vault com a Grade de Eventos.

Este guia descreve como receber notificações do Key Vault por meio da Grade de Eventos e como responder às alterações de status por meio da Automação do Azure.

Pré-requisitos

Conceitos

A Grade de Eventos é um serviço de eventos para a nuvem. Seguindo as etapas neste guia, você assinará eventos para o Key Vault 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.

Fluxograma HTTP POST

Criar uma conta de Automação

Crie uma conta de Automação por meio do portal do Azure:

  1. Vá para portal.azure.com e faça logon em sua assinatura.

  2. Na caixa de pesquisa, digite Contas de Automação.

  3. Na seção Serviços do menu suspenso da barra de pesquisa, selecione Contas de Automação.

  4. Selecione Adicionar.

    Painel de contas de automação

  5. Insira as informações necessárias no painel Adicionar Conta de Automação e selecione Criar.

Criar um runbook

Depois que sua conta da Automação estiver pronta, crie um runbook.

Criar uma interface do usuário de runbook

  1. Selecione a conta de Automação que você criou.

  2. Selecione Runbooks em Automação de Processos.

  3. Selecione Criar um runbook.

  4. Atribua um nome ao runbook e selecione PowerShell como o tipo do runbook.

  5. Selecione o runbook que você criou e, em seguida, selecione o botão Editar .

  6. Insira o código a seguir (para fins de teste) e selecione o botão Publicar . Essa 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." 
}

Publicar interface do usuário do runbook

Criar um webhook

Crie um webhook para disparar o runbook recém-criado.

  1. Selecione Webhooks na seção Recursos do manual de execução publicado.

  2. Selecione Adicionar Webhook.

    Adicionar Botão de Webhook

  3. Selecione Criar novo Webhook.

  4. Nomeie o webhook, defina uma data de validade e copie a URL.

    Importante

    Não é possível exibir a URL depois de criá-la. Salve uma cópia em um local seguro em que você possa acessá-la para o restante deste guia.

  5. Selecione Parâmetros e execute as configurações e selecione OK. Não insira parâmetros. O botão Criar será habilitado.

  6. Selecione OK e, em seguida, selecione Criar.

    Criar uma nova interface do usuário do Webhook

Criar uma assinatura na Grade de Eventos

Crie uma assinatura da Grade de Eventos por meio do portal do Azure.

  1. Vá para o cofre de chaves e selecione a guia Eventos .

    Guia Eventos no portal do Azure

  2. Selecione o botão Assinatura de Evento .

  3. Crie um nome descritivo para a assinatura.

  4. Escolha Esquema da Grade de Eventos.

  5. O Recurso de Tópico deve ser o cofre de chaves cujas alterações de status você deseja monitorar.

  6. Para Filtrar para Tipos de Eventos, deixe todas as opções selecionadas (9 selecionadas).

  7. Para Tipo de Ponto de Extremidade, selecione Webhook.

  8. Escolha Selecionar um ponto de extremidade. No novo painel de contexto, cole o URL do webhook da etapa Criar um webhook no campo Ponto de Extremidade do Assinante.

  9. Selecione Confirmar Seleção no painel de contexto.

  10. Selecione Criar.

    Criar assinatura de evento

Testar e verificar

Verifique se sua assinatura da Grade de Eventos está configurada corretamente. 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.

Testar a configuração da assinatura de Grade de Eventos

Painel de criar um segredo

  1. Vá para o seu cofre de chaves no portal do Azure.

  2. Crie um novo segredo. Para fins de teste, defina a expiração como data para o dia seguinte.

  3. Na guia Eventos no cofre de chaves, selecione a assinatura da Grade de Eventos que você criou.

  4. 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.

    Painel de métricas: verificar se há eventos capturados

  5. Vá para sua conta de Automação.

  6. Selecione a guia Runbooks e, em seguida, selecione o runbook que você criou.

  7. Selecione a guia Webhooks e confirme se o timestamp de "última ativação" está dentro de 60 segundos da criação do 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.

    Guia WebHooks, carimbo de data/hora do último disparo

  8. Retorne ao runbook e selecione a guia Visão geral .

  9. 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 começar a executar seu script.

    Lista de Trabalhos Recentes do Webhook

  10. 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 cofre de chaves (neste exemplo, Microsoft.KeyVault.SecretNearExpiry), o teste foi bem-sucedido.

Resolução de problemas

Você não pode criar 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 essas etapas, agora está pronto para responder programaticamente a alterações de status de segredos armazenados em 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: