Por que meus logs de acesso ao servidor do Amazon S3 não foram entregues no meu bucket?

4 minuto de leitura
0

Configurei o registro de acesso ao servidor do Amazon Simple Storage Service (Amazon S3). No entanto, o Amazon S3 não entregou os logs de acesso ao servidor no bucket de destino do Amazon S3.

Breve descrição

Quando você ativa o registro de acesso ao servidor pela primeira vez ou altera o bucket de destino para os logs, as alterações levam um tempo para serem implementadas. O Amazon S3 pode não registrar solicitações de entrega durante a primeira hora após a ativação do registro. Além disso, o Amazon S3 pode entregar logs no bucket de destino anterior durante a primeira hora após a alteração do bucket de destino.

Depois de alterar a configuração de registro, aguarde pelo menos 1 hora antes de verificar os logs. Para mais informações, consulte Entrega de log do servidor com melhor esforço.

Certifique-se de que os buckets de origem e destino estejam na mesma região da AWS e que a mesma conta da AWS seja a proprietária dos buckets. Além disso, se você ativou o Requester Pays para o bucket de destino, desative-o.

Se você ainda não vê logs no bucket de destino, use a seguinte solução de problemas para resolver o erro.

Resolução

Verifique se o grupo de entrega de logs tem acesso ao bucket de destino

O Amazon S3 usa um grupo de entrega de logs para entregar os logs de acesso ao servidor para no bucket de destino. Para receber os logs de acesso ao servidor, você deve conceder acesso à entidade principal de serviço de registro no seu bucket de destino.

Para conceder acesso ao bucket de destino, crie uma política de bucket do S3. É possível usar uma lista de controle de acesso (ACL) para conceder acesso ao bucket de destino. No entanto, é uma prática recomendada usar ACLs somente quando for necessário controlar individualmente o acesso a cada objeto.

Conceda acesso por meio de uma política de bucket

Atualize a política de bucket para conceder a permissão s3:PutObject à entidade principal de serviço de registro.

Exemplo de política:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "S3ServerAccessLogsPolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "logging.s3.amazonaws.com"
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/EXAMPLE-LOGGING-PREFIX*",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET"
                },
                "StringEquals": {
                    "aws:SourceAccount": "SOURCE-ACCOUNT-ID"
                }
            }
        }
    ]
}

Conceda acesso por meio de uma ACL do bucket

Adicione uma entrada de concessão na ACL do bucket que conceda permissões de gravação ao grupo de entrega de logs do S3.

Para modificar a ACL do bucket de destino, conclua as seguintes etapas:

  1. Abra o console do Amazon S3.
  2. Na lista Buckets, selecione o bucket de destino.
  3. Escolha a guia Permissões.
  4. Na seção lista de controle de acesso (ACL), escolha Editar.
  5. No grupo de entrega de logs do S3, selecione Objetos - Gravar.
  6. No grupo de entrega de logs do S3, selecione ACL do bucket - Gravar.
  7. Escolha Salvar alterações.

Verifique se a política de bucket de destino não nega acesso aos logs

Verifique a política de bucket de destino para ver se há declarações que contenham “Efeito”: “Negar”. Se a política tiver declarações de negação, verifique se as declarações Negar não impedem o acesso de gravação ao bucket.

Observação: É uma prática recomendada usar um bucket separado para logs de acesso ao servidor. Por padrão, os buckets são privados, então você não precisa usar uma declaração Negar na política de bucket para impedir o acesso não autorizado ao bucket.

Confirme se você desativou o Bloqueio de Objetos do Amazon S3 para o bucket de destino

Certifique-se de ter desativado o Bloqueio de Objetos para o bucket de destino. Quando você ativa o Bloqueio de Objetos, o Amazon S3 não consegue entregar os logs de acesso ao servidor.

Verifique se você selecionou SSE-S3 como a chave de criptografia

Se você usar a criptografia padrão no bucket de destino, confirme que selecionou a criptografia no lado do servidor com as chaves gerenciadas pelo Amazon S3 (SSE-S3) para a criptografia. A entrega de logs do servidor não oferece suporte à criptografia no lado do servidor com chaves do AWS Key Management Service (AWS KMS). Para configurar a criptografia padrão, consulte Configuração da criptografia padrão.

AWS OFICIAL
AWS OFICIALAtualizada há 2 meses