Registrar em log as solicitações com registro em log de acesso ao servidor - Amazon Simple Storage Service

Registrar em log as solicitações com registro em log de acesso ao servidor

O registro em log de acesso ao servidor fornece detalhes sobre as solicitações que são feitas a um bucket. Os logs de acesso ao servidor são úteis para muitos aplicativos. Por exemplo, as informações do log de acesso podem ser úteis em auditorias de segurança e acesso. Isso também pode ajudá-lo a conhecer sua base de clientes e entender a conta do Amazon S3.

nota

Os logs de acesso ao servidor não registram informações sobre erros de redirecionamento a regiões erradas para regiões lançadas após 20 de março de 2019. Erros de redirecionamento para regiões erradas ocorrem quando uma solicitação para um objeto ou bucket é feita fora da região em que o bucket existe.

Como faço para habilitar a entrega de logs?

Para habilitar a entrega de logs, execute as seguintes etapas básicas. Para obter mais detalhes, consulte Habilitar o log de acesso ao servidor do Amazon S3.

  1. Forneça o nome do bucket de destino. Esse bucket é onde você deseja que o Amazon S3 salve os logs de acesso como objetos. Os buckets de origem e de destino devem estar na mesma Região da AWS e pertencer à mesma conta.

    Os logs podem ser entregues a qualquer bucket que você possui e que esteja na mesma região que o bucket de origem, incluindo o próprio bucket de origem. No entanto, para um gerenciamento de logs mais simples, recomendamos que você salve logs de acesso em um bucket diferente.

    Quando o bucket de origem e o bucket de destino são os mesmos, logs adicionais são criados para os logs que forem gravados no bucket. Isso pode não ser ideal porque pode resultar em um pequeno aumento na cobrança do armazenamento. Além disso, com os logs adicionais sobre logs, pode ser mais difícil encontrar o log que você está procurando. Se você optar por salvar os logs de acesso no bucket de origem, recomendamos que você especifique um prefixo para todas as chaves de objeto do log, para que os nomes do objeto comecem com uma string em comum e seja fácil identificar esses objetos.

    Prefixos de chaves também são úteis para distinguir entre buckets de origem quando vários buckets são registrados em log no mesmo bucket de origem.

  2. (Opcional) Atribua um prefixo a todas as chaves de objeto de log do Amazon S3. O prefixo facilita a localização de objetos de log. Por exemplo, se você especificar o valor do prefixo logs/, cada objeto de log criado pelo Amazon S3 começará com o prefixo logs/ na sua chave.

    logs/2013-11-01-21-32-16-E568B2907131C0C0

    O prefixo de chaves também ajuda ao excluir os logs. Por exemplo, defina uma regra de configuração do ciclo de vida para que o Amazon S3 exclua objetos com um prefixo de chave específico. Para obter mais informações, consulte Exclusão de arquivos de log do Amazon S3.

  3. (Opcional) Defina permissões para que outros possam acessar os logs gerados. Por padrão, somente o proprietário do bucket sempre tem acesso completo aos objetos de log. Para obter mais informações, consulte Identity and Access Management no Amazon S3.

Formato da chave de objeto de log

O Amazon S3 usa o seguinte formato de chave de objeto para os objetos de log carregados no bucket de destino:

TargetPrefixYYYY-mm-DD-HH-MM-SS-UniqueString/

Na chave, YYYY, mm, DD, HH, MM e SS são os dígitos do ano, mês, dia, hora, minuto e segundos (respectivamente) quando o arquivo de log foi entregue. Essas datas e horas estão em Tempo Universal Coordenado (UTC).

Um arquivo de log entregue em um horário específico pode conter registros gravados a qualquer momento até aquele horário. Não há como saber se todos os logs de um certo intervalo de tempo foram entregues ou não.

O componente UniqueString da chave existe para impedir que arquivos sejam substituídos por outros. Ele não tem significado, e o software de processamento de logs deve ignorá-lo.

A barra à direita / é necessária para denotar o fim do prefixo.

Como os logs são entregues?

O Amazon S3 coleta periodicamente os registros de log de acessos, consolida-os em arquivos de log e, em seguida, faz o upload desses arquivos no bucket de destino como objetos de log. Caso o registro em log esteja habilitado em diversos buckets de origem que identifiquem o mesmo bucket de destino, ele terá logs de acesso de todos os buckets de origem. No entanto, cada objeto de log relata registros de log para um bucket de origem específico.

O Amazon S3 usa uma conta especial de entrega de logs, chamada de grupo de Entrega de logs, para gravar logs de acessos. Essas gravações estão sujeitas a restrições usuais de controle de acesso. Você deve conceder ao grupo de Entrega de logs a permissão para gravação no bucket de destino adicionando uma entrada de concessão na lista de controle de acesso (ACL) do bucket.

Se você usar o console do Amazon S3 para habilitar o registro em log em um bucket, o console habilitará o registro em log no bucket de origem e atualizará a ACL no bucket de destino para conceder a permissão para gravação ao grupo de Entrega de logs. Para obter mais informações, consulte Visão geral da lista de controle de acesso (ACL).

Entrega de logs do servidor de melhor esforço

Os registros de log de acessos do servidor são entregues com base no melhor esforço. A maioria das solicitações para um bucket configurado corretamente para registro em log tem como resultado um registro do log entregue. A maioria dos registros de log é entregue dentro de algumas horas após o tempo em que forem registrados, mas eles podem ser entregues com mais frequência.

A integralidade e a pontualidade do registro em log do servidor não são garantidas. O registro de log de uma solicitação específica pode ser entregue muito depois de a solicitação ter sido realmente processada ou pode nem ser entregue. A finalidade dos logs do servidor é proporcionar uma ideia da natureza do tráfego no bucket. É raro perder registros de log, mas o log dos servidores não tem como objetivo ser uma contabilidade completa de todas as solicitações.

Levando em conta a natureza de melhor esforço do recurso de log do servidor, os relatórios de uso disponíveis no portal da AWS (relatórios do Gerenciamento de custos e faturamento no AWS Management Console) podem incluir uma ou mais solicitações de acesso que não aparecem em um log do servidor entregue.

As alterações do status do registro de bucket em logs entram em vigor ao longo do tempo

As alterações no status do log de um bucket levam tempo para realmente afetar a entrega de arquivos de log. Por exemplo, se você habilitar o log para um bucket, algumas solicitações feitas na hora seguinte podem ser registradas, enquanto outras não. Se você alterar o bucket de destino para log do bucket A para o B, alguns logs podem continuar sendo entregues ao bucket A durante a próxima hora, enquanto outros serão entregues ao novo bucket de destino B. Em todo caso, as novas configurações entrarão em vigor posteriormente, sem a necessidade de ações adicionais.

Para obter mais informações sobre registro em log e arquivos de log, consulte as seguintes seções: