Partilhar via


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

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.

Fluxograma HTTP POST

Criar uma conta de Automatização

Crie uma conta de Automação através do portal do Azure:

  1. Aceda a portal.azure.com e inicie sessão na sua subscrição.

  2. Na caixa de pesquisa, insira Contas de automação.

  3. Na seção Serviços da lista suspensa na 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 de automação estiver pronta, crie um runbook.

Criar uma interface do usuário do 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. Nomeie seu runbook e selecione PowerShell como o tipo de 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 . 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." 
}

Publicar runbook UI

Criar um webhook

Crie um webhook para acionar seu runbook recém-criado.

  1. Selecione Webhooks na seção Recursos do runbook que você publicou.

  2. Selecione Adicionar Webhook.

    Botão Adicionar Webhook

  3. Selecione Criar novo Webhook.

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

  5. Selecione Parâmetros e execute configurações e, em seguida, selecione OK. Não insira nenhum parâmetro. O botão Criar será ativado.

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

    Criar nova interface do usuário do Webhook

Criar uma subscrição do Event Grid

Crie uma subscrição da Grelha de Eventos através do portal do Azure.

  1. Aceda ao cofre das chaves e selecione o separador Eventos .

    Guia Eventos no portal do Azure

  2. Selecione o botão Subscrição de Eventos .

  3. Crie um nome descritivo para a assinatura.

  4. Escolha Event Grid Schema (Esquema de grade de eventos).

  5. O recurso de tópico deve ser o cofre de chaves que você deseja monitorar para alterações de status.

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

  7. No Tipo de Ponto Final, selecione Webhook.

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

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

  10. Selecione Criar.

    Criar subscrição de evento

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.

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

Painel Criar um segredo

  1. Aceda ao cofre de chaves no portal do Azure.

  2. Crie um novo segredo. Para fins de teste, defina a data de validade para o dia seguinte.

  3. No separador Eventos no cofre das chaves, selecione a subscrição da Grelha de Eventos que 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: verifique se há eventos capturados

  5. Aceda à sua conta de Automatização.

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

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

    Guia Webhooks, Último carimbo de data/hora acionado

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

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

    Lista de empregos recentes do Webhook

  10. 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: