

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Ative um Guard Hook em sua conta
<a name="guard-hooks-activate-hooks"></a>

O tópico a seguir mostra como ativar um Guard Hook em sua conta, o que o torna utilizável na conta e na região em que foi ativado.

**Topics**
+ [Ative um Guard Hook (console)](#guard-hooks-activate-hook-console)
+ [Ativar um gancho de proteção (AWS CLI)](#guard-hooks-activate-hooks-cli)
+ [Recursos relacionados](#related-resources-guard-hooks)

## Ative um Guard Hook (console)
<a name="guard-hooks-activate-hook-console"></a>

**Para ativar um Guard Hook para uso em sua conta**

1. Faça login no Console de gerenciamento da AWS e abra o CloudFormation console em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na barra de navegação na parte superior da tela, escolha Região da AWS onde você deseja criar o Hook in.

1. No painel de navegação à esquerda, escolha **Ganchos**.

1. Na página **Ganchos**, escolha **Criar um gancho** e, em seguida, escolha **Com proteção**.

1. Se você *ainda não* criou nenhuma regra do Guard, crie sua regra do Guard, armazene-a no Amazon S3 e, em seguida, retorne a esse procedimento. Consulte os exemplos de regras em [Escreva regras do Guard para avaliar os recursos do Guard Hooks](guard-hooks-write-rules.md) para começar.

   Se você já criou sua regra do Guard e a armazenou no S3, vá para a próxima etapa. 
**nota**  
O objeto armazenado no S3 deve ter uma das seguintes extensões de arquivo:`.guard`,`.zip`, ou`.tar.gz`.

1. Para a **fonte do Guard Hook**, **armazene suas regras do Guard no S3**, faça o seguinte:
   + Para o **URI do S3**, especifique o caminho do S3 para seu arquivo de regras ou use o botão **Procurar no S3** para abrir uma caixa de diálogo para procurar e selecionar o objeto do S3.
   + (Opcional) Para a **versão do objeto**, se o bucket do S3 tiver o versionamento ativado, você poderá selecionar uma versão específica do objeto do S3. 

     O Guard Hook baixa suas regras do S3 toda vez que o Hook é invocado. Para evitar alterações ou exclusões acidentais, recomendamos usar uma versão ao configurar seu Guard Hook.

1. (Opcional) Para o **relatório de saída do bucket do S3 para o Guard**, especifique um bucket do S3 para armazenar o relatório de saída do Guard. Esse relatório contém os resultados das validações das regras do Guard.

   Para configurar o destino do relatório de saída, escolha uma das seguintes opções:
   + Marque a caixa de seleção **Usar o mesmo intervalo em que minhas regras do Guard estão armazenadas** para usar o mesmo intervalo em que suas regras do Guard estão localizadas.
   + Escolha um nome de bucket S3 diferente para armazenar o relatório de saída do Guard.

1. (Opcional) **Expanda os parâmetros de entrada da regra do Guard** e, em seguida, forneça as seguintes informações em **Armazenar os parâmetros de entrada da regra do Guard no S3:**
   + Para o **URI do S3**, especifique o caminho do S3 para um arquivo de parâmetros ou use o botão **Procurar no S3** para abrir uma caixa de diálogo para procurar e selecionar o objeto do S3.
   + (Opcional) Para a **versão do objeto**, se o bucket do S3 tiver o versionamento ativado, você poderá selecionar uma versão específica do objeto do S3. 

1. Escolha **Próximo**.

1. Em **Nome do gancho**, escolha uma das seguintes opções:
   + Forneça um nome curto e descritivo que será adicionado depois`Private::Guard::`. Por exemplo, se você inserir*`MyTestHook`*, o nome completo do Hook será`Private::Guard::MyTestHook`.
   + Forneça o nome completo do Hook (também chamado de alias) usando este formato: `Provider::ServiceName::HookName` 

1. Para **alvos de Hook**, escolha o que avaliar:
   + **Pilhas** — avalia os modelos de pilha quando os usuários criam, atualizam ou excluem pilhas.
   + **Recursos** — avalia as alterações de recursos individuais quando os usuários atualizam as pilhas.
   + **Conjuntos de alterações** — avalia as atualizações planejadas quando os usuários criam conjuntos de alterações.
   + **API Cloud Control** — avalia as operações de criação, atualização ou exclusão iniciadas pela [API Cloud Control](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/what-is-cloudcontrolapi.html).

1. Em **Ações**, escolha quais ações (criar, atualizar, excluir) invocarão seu Hook.

1. Para o **modo Hook**, escolha como o Hook responde quando as regras falham em sua avaliação:
   + **Avisar** — Emite avisos aos usuários, mas permite que as ações continuem. Isso é útil para validações não críticas ou verificações de informações.
   + **Falha** — Impede que a ação prossiga. Isso é útil para aplicar políticas rígidas de conformidade ou segurança.

1. Para a **função Execution**, escolha a função do IAM que o Hook assume para recuperar suas regras do Guard do S3 e, opcionalmente, redigir um relatório detalhado de saída do Guard. Você pode permitir CloudFormation a criação automática de uma função de execução para você ou especificar uma função que você criou. 

1. Escolha **Próximo**.

1. (Opcional) Para **filtros Hook**, faça o seguinte:

   1. Em **Filtro de recursos**, especifique quais tipos de recursos podem invocar o Hook. Isso garante que o Hook seja invocado apenas para recursos relevantes.

   1. Em **Critérios de filtragem**, escolha a lógica para aplicar filtros de nome e função da pilha:
      + **Todos os nomes e funções da pilha** — O Hook só será invocado quando todos os filtros especificados corresponderem.
      + **Qualquer nome de pilha e função de pilha** — O Hook será invocado se pelo menos um dos filtros especificados corresponder.
**nota**  
Para operações da Cloud Control API, todos os filtros de **nomes de pilha** e **papéis de pilha** são ignorados.

   1. Para **nomes de pilhas**, inclua ou exclua pilhas específicas das invocações de Hook.
      + Em **Incluir**, especifique os nomes das pilhas a serem incluídas. Use isso quando você tiver um pequeno conjunto de pilhas específicas que deseja atingir. Somente as pilhas especificadas nesta lista invocarão o Hook.
      + Em **Excluir**, especifique os nomes das pilhas a serem excluídas. Use isso quando quiser invocar o Hook na maioria das pilhas, mas exclua algumas específicas. Todas as pilhas, exceto as listadas aqui, invocarão o Hook.

   1. Para **funções do Stack**, inclua ou exclua pilhas específicas das invocações do Hook com base nas funções do IAM associadas.
      + Em **Include**, especifique uma ou mais funções do IAM ARNs para direcionar as pilhas associadas a essas funções. Somente as operações de pilha iniciadas por essas funções invocarão o Hook.
      + Em **Excluir**, especifique uma ou mais funções do IAM ARNs para as pilhas que você deseja excluir. O Hook será invocado em todas as pilhas, exceto aquelas iniciadas pelas funções especificadas.

1. Escolha **Próximo**.

1. Na página **Revisar e ativar**, revise suas escolhas. Para fazer alterações, escolha **Editar** na seção relacionada.

1. Quando estiver pronto para continuar, escolha **Ativar gancho**.

## Ativar um gancho de proteção (AWS CLI)
<a name="guard-hooks-activate-hooks-cli"></a>

Antes de continuar, confirme se você criou a regra Guard e a função de execução que você usará com este Hook. Para obter mais informações, consulte [Escreva regras do Guard para avaliar os recursos do Guard Hooks](guard-hooks-write-rules.md) e [Crie uma função de execução para um Guard Hook](guard-hooks-prepare-to-create-hook.md#guard-hooks-create-execution-role).

**Para ativar um Guard Hook para uso em sua conta (AWS CLI)**

1. Para começar a ativar um Hook, use o [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html)comando a seguir, substituindo os espaços reservados por seus valores específicos. Este comando autoriza o Hook a usar uma função de execução especificada de seu Conta da AWS.

   ```
   aws cloudformation activate-type --type HOOK \
     --type-name AWS::Hooks::GuardHook \
     --publisher-id aws-hooks \
     --type-name-alias Private::Guard::MyTestHook \
     --execution-role-arn arn:aws:iam::123456789012:role/my-execution-role \
     --region us-west-2
   ```

1. Para finalizar a ativação do Hook, você deve configurá-lo usando um arquivo de configuração JSON.

   Use o **cat** comando para criar um arquivo JSON com a estrutura a seguir. Para obter mais informações, consulte [Referência de sintaxe de esquema de configuração de hook](hook-configuration-schema.md).

   ```
   $ cat > config.json
   {
     "CloudFormationConfiguration": {
       "HookConfiguration": {
         "HookInvocationStatus": "ENABLED",
         "TargetOperations": [
           "STACK",
           "RESOURCE",
           "CHANGE_SET"
         ],
         "FailureMode": "WARN",
         "Properties": {
           "ruleLocation": "s3://amzn-s3-demo-bucket/MyGuardRules.guard",
           "logBucket": "amzn-s3-demo-logging-bucket"
         },
         "TargetFilters": {
           "Actions": [
             "CREATE",
             "UPDATE",
             "DELETE"
           ]
         }
       }
     }
   }
   ```
   + `HookInvocationStatus`: Defina como `ENABLED` para ativar o Hook.
   + `TargetOperations`: especifique as operações que o Hook avaliará.
   + `FailureMode`: defina como `FAIL` ou `WARN`.
   + `ruleLocation`: substitua pelo URI do S3 em que sua regra está armazenada. O objeto armazenado no S3 deve ter uma das seguintes extensões de arquivo: `.guard``.zip`, e. `.tar.gz`
   + `logBucket`: (Opcional) Especifique o nome de um bucket do S3 para relatórios JSON do Guard.
   + `TargetFilters`: especifique os tipos de ações que invocarão o Hook.

1. Use o [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html)comando a seguir, junto com o arquivo JSON que você criou, para aplicar a configuração. Substitua os espaços reservados por seus valores específicos.

   ```
   aws cloudformation set-type-configuration \
     --configuration file://config.json \
     --type-arn "arn:aws:cloudformation:us-west-2:123456789012:type/hook/MyTestHook" \
     --region us-west-2
   ```

## Recursos relacionados
<a name="related-resources-guard-hooks"></a>

Fornecemos exemplos de modelos que você pode usar para entender como declarar um Guard Hook em um modelo de CloudFormation pilha. Consulte mais informações em [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-guardhook.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-guardhook.html) no *Guia de Usuário AWS CloudFormation *.