Como posso recriar um canal de entrega do AWS Config?

7 minuto de leitura
0

Excluí meu canal de entrega do AWS Config. Como posso recriá-lo?

Breve descrição

Quando você configura o AWS Config usando o console do AWS Config, um processo de configuração orienta você a configurar os recursos da AWS para enviar notificações ao canal de entrega. A configuração do AWS Config inclui a configuração de um bucket do Amazon Simple Storage Service (Amazon S3), um tópico do Amazon Simple Notification Service (Amazon SNS), um perfil do AWS Identity and Access Management (IAM) e os tipos de recursos a serem registrados.

Se você excluir um canal de entrega do AWS Config usando o comando delete-delivery-channel da AWS Command Line Interface (AWS CLI), o gravador de configuração será desligado. Tentar ativar o gravador de configuração novamente retorna o erro “O AWS Config não pode iniciar a gravação porque o canal de entrega não foi encontrado.”

Observação: você não pode recriar o canal de entrega usando o console do AWS Config.

Resolução

Siga estas instruções para recriar manualmente o canal de entrega do AWS Config e ativar o gravador de configuração.

Observação: se você não excluiu o bucket do Amazon S3, o tópico do S3 e o perfil do IAM associados ao canal de entrega excluído do AWS Config, pode pular essas etapas.

Criar o bucket do Amazon S3

1.    Abra o console do Amazon S3 na mesma região do seu serviço AWS Config e escolha Criar bucket.

2.    Em Nome do bucket, insira um nome para o bucket do S3 e escolha Avançar.

3.    Escolha Avançar, Avançar e depois Criar bucket.

4.    Em Buckets do S3, escolha o bucket do S3 que você acabou de criar na etapa 3.

5.    Escolha Permissões e depois Política de bucket.

6.    Copie e cole o exemplo de política de bucket a seguir e escolha Salvar.

{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Sid": "AWSConfigBucketPermissionsCheck",
   "Effect": "Allow",
   "Principal": {
    "Service": "config.amazonaws.com"
   },
   "Action": "s3:GetBucketAcl",
   "Resource": "arn:aws:s3:::targetBucketName",
   "Condition": {
    "StringEquals": {
     "AWS:SourceAccount": "sourceAccountID"
    }
   }
  },
  {
   "Sid": "AWSConfigBucketExistenceCheck",
   "Effect": "Allow",
   "Principal": {
    "Service": "config.amazonaws.com"
   },
   "Action": "s3:ListBucket",
   "Resource": "arn:aws:s3:::targetBucketName",
   "Condition": {
    "StringEquals": {
     "AWS:SourceAccount": "sourceAccountID"
    }
   }
  },
  {
   "Sid": "AWSConfigBucketDelivery",
   "Effect": "Allow",
   "Principal": {
    "Service": "config.amazonaws.com"
   },
   "Action": "s3:PutObject",
   "Resource": "arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID/Config/*",
   "Condition": {
    "StringEquals": {
     "s3:x-amz-acl": "bucket-owner-full-control",
     "AWS:SourceAccount": "sourceAccountID"
    }
   }
  }
 ]
}

Criar o tópico do SNS

1.    Abra o console do Amazon SNS na mesma região do seu serviço AWS Config e escolha Tópicos.

2.    Escolha Criar tópico.

3.    Em Nome, insira um nome para o tópico do SNS. Em seguida, selecione Criar tópico.

4.    Selecione Criar assinatura.

5.    Para Protocolo, selecione Email.

6.    Em Endpoint, insira o endereço de e-mail que você deseja associar a esse tópico do SNS e escolha Criar assinatura.

7.    Verifique seu e-mail para ver a confirmação da assinatura e escolha Confirmar assinatura.

8.    Você recebe a mensagem Assinatura confirmada!

Observação: para usar seu tópico do SNS, verifique se você tem as permissões necessárias.

Criar o perfil do IAM

1.    Abra o console do IAM.

2.    Escolha Perfis e depois Criar perfil.

3.    Em Selecionar tipo de entidade confiável, escolha Serviço da AWS.

4.    Em Casos de uso para outros serviços da AWS, escolha Config..

5.    Em Selecione seu caso de uso, escolha Configurar - Personalizável e depois Avançar: Permissões.

6.    Escolha Avançar: Etiquetas e depois Avançar: Revisão.

7.    Em Nome do perfil, insira um nome e escolha Criar perfil.

8.    Escolha o perfil que você criou na etapa 7, escolha Adicionar política inline e escolha a guia JSON.

9.    Copie e cole o seguinte exemplo de política:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": [
        "arn:aws:s3:::arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID-WithoutHyphens/*"
      ],
      "Condition": {
        "StringLike": {
          "s3:x-amz-acl": "bucket-owner-full-control"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketAcl"
      ],
      "Resource": "arn:aws:s3:::targetBucketName"
    },
    {
      "Effect": "Allow",
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:region:account_number:targetTopicName"
    }
  ]
}

Criar a chave do KMS

A prática recomendada é usar a criptografia baseada no AWS Key Management Service (AWS KMS) em objetos entregues pelo AWS Config para um bucket do Amazon S3. Crie uma chave do KMS na mesma região do seu serviço AWS Config. Verifique se você tem as permissões necessárias para sua chave do KMS.

Se você optar por não criptografar os objetos, ignore essas etapas e continue até a seção Criar o canal de entrega.

1.    Abra o console do AWS KMS.

2.    No painel de navegação, escolha Chaves gerenciadas pelo cliente.

3.    Escolha Criar chave.

4.    Em Tipo de chave, escolha Simétrica para criar uma chave do KMS de criptografia simétrica. Para obter informações sobre chaves do KMS assimétricas, consulte Criar chaves do KMS assimétricas (console).

5.    Em Uso da chave, a opção Criptografar e descriptografar é selecionada por padrão. Confirme essa opção e escolha Avançar.

6.    Insira um alias para sua chave do KMS. Em seguida, escolha Avançar. Observação: o nome do alias não pode começar com aws/.

7.    Selecione os usuários e perfis do IAM que podem administrar a chave do KMS. Em seguida, escolha Avançar.

8.    Selecione os usuários e perfis do IAM que podem usar a chave em operações criptográficas. Em seguida, escolha Avançar.

9.    Escolha Concluir para criar a chave do KMS.

10.    Escolha Chaves gerenciadas pelo cliente no painel de navegação. Em seguida, em Chaves gerenciadas pelo cliente, selecione a chave que você acabou de criar

11.    Na guia Política de chaves, escolha Alternar para exibição de política. Em seguida, escolha Editar.

12.    Se você estiver usando um perfil do IAM personalizado para o AWS Config, copie e cole essa declaração de política como declaração de política chave adicional. Em seguida, escolha Salvar alterações.

{
  "Statement": [
    {
      "Sid": "AWSConfigKMSPolicy",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Effect": "Allow",
      "Resource": "myKMSKeyARN",
      "Principal": {
        "AWS": [
          "arn:aws:iam:account_id:role/my-config-role-name"
        ]
      }
    }
  ]
}

-ou-

Se você estiver usando Perfis vinculados a serviços (SLR) para o AWS Config, use a seguinte declaração de política para atualizar a política de chaves do KMS:

{
  "Statement": [
    {
      "Sid": "AWSConfigKMSPolicy",
      "Effect": "Allow",
      "Principal": {
        "Service": "config.amazonaws.com"
      },
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": "myKMSKeyARN",
      "Condition": {
        "StringEquals": {
          "AWS:SourceAccount": "sourceAccountID"
        }
      }
    }
  ]
}

Criar o canal de entrega

1.    Usando um editor de texto, copie e cole o modelo de exemplo a seguir e salve-o como um arquivo JSON. Você pode alterar o valor de deliveryFrequency para corresponder ao seu caso de uso. Se você optar por não ativar a criptografia, omita o valor s3KmsKeyArn do arquivo JSON.

Importante: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.

{
    "name": "default",
    "s3BucketName": "targetBucketName",
    "s3KeyPrefix": "Optionalprefix",
    "snsTopicARN": "arn:aws:sns:region:account_ID:targetTopicName",
    "s3KmsKeyArn": "arn:aws:kms:region:account_ID:KmsKey",
    "configSnapshotDeliveryProperties": {
        "deliveryFrequency": "Twelve_Hours"
    }
}

Observação: o s3KeyPrefix deverá ser fornecido se a política de bucket do S3 restringir o PutObject a um determinado prefixo, em vez do padrão.

2.    Execute o seguinte comando da AWS CLI:

$ aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json

3.    Execute o seguinte comando da AWS CLI para confirmar que o canal de entrega foi criado:

$ aws configservice describe-delivery-channels

Iniciar o gravador de configuração

1.    Abra o console do AWS Config.

2.    INo painel de navegação, selecione Configurações.

3.    Em A gravação está desativada, escolha Ativar e depois escolha Continuar.

-ou-

Execute o seguinte comando da AWS CLI:

$ aws configservice start-configuration-recorder --configuration-recorder-name configRecorderName

Para mais informações, consulte Gerenciar o gravador de configurações e Gerenciar suas regras do AWS Config.


Informações relacionadas

Configurar o AWS Config com o console

Como posso solucionar problemas de mensagens de erro no console do AWS Config?

AWS OFICIAL
AWS OFICIALAtualizada há um ano