Como configurar os logs de acesso ao servidor no S3

Como configurar os logs de acesso ao servidor no S3
Sempre que alguém em um servidor inicia uma operação, uma solicitação é gerada no back -end para cumprir essa operação. As operações realizadas nos servidores geralmente são operações CRUD (Criar, ler, atualizar, excluir). As solicitações geradas para as operações podem ser registradas ou armazenadas pelo servidor, e nós as chamamos de logs de acesso ou logs de acesso ao servidor.

Esses logs podem ser usados ​​para monitorar o desempenho, refazer pontos de falha, aprimorar a segurança, analisar custos e muitos outros fins. Inicialmente, os logs são gerados no formato de texto, mas podemos executar a análise de dados sobre ele usando diferentes ferramentas e software para obter as informações necessárias.

A AWS permite ativar os logs de acesso para baldes S3, fornecendo os detalhes sobre as operações e ações executadas nesse balde S3. Você só precisa ativar o log no balde e fornecer um local onde esses toras serão armazenados, geralmente outro balde S3. O processo não é em tempo real, pois esses logs são atualizados em uma ou duas horas.

Neste artigo, veremos como podemos ativar facilmente logs de acesso ao servidor para baldes S3 em nossas contas da AWS.

Criando o balde S3

Para começar, precisamos criar dois baldes S3; Um será o balde real que queremos usar para nossos dados, e o outro será usado para armazenar os registros do nosso balde de dados. Portanto, basta fazer login na sua conta do AWS e procurar o serviço S3 usando a barra de pesquisa disponível no topo do seu console de gerenciamento.

Agora no console S3, clique em Criar balde.

Na seção de criação do balde, você precisa fornecer um nome de balde; O nome do balde deve ser universalmente único e não deve existir em nenhuma outra conta da AWS. Em seguida, você precisa especificar a região da AWS, onde deseja que seu balde S3 seja colocado; Embora o S3 seja um serviço global, o que significa que pode ser acessível em qualquer região, você ainda precisa definir em qual região seus dados serão armazenados. Você pode gerenciar muitas outras configurações, como versão, criptografia, acesso público, etc., Mas você pode simplesmente deixá -los como padrão.

Agora role para baixo e clique no balde Criar no canto inferior direito para terminar o processo de criação do balde.

Da mesma forma, crie outro balde S3 como o balde de destino para os logs de acesso ao servidor.

Então, criamos com sucesso nossos baldes S3 para fazer upload de dados e armazenamento de toras.

Ativando toras de acesso usando o AWS Console

Agora, na lista de baldes S3, selecione o balde para o qual você deseja ativar os logs de acesso ao servidor.

Vá para a guia Propriedades da barra de menu superior.

Na seção Propriedades do S3, role para baixo até a seção de log de acesso ao servidor e clique na opção de edição.

Aqui, selecione a opção Ativar; Isso atualizará automaticamente a lista de controle de acesso (ACL) do seu balde S3, para que você não precise gerenciar as permissões você mesmo.

Agora você precisa fornecer o balde de destino onde seus logs serão armazenados; Basta clicar em Browse S3.

Selecione o balde que deseja configurar para acessar toras e clique em Escolha o caminho botão.

OBSERVAÇÃO: Nunca use o mesmo balde para salvar logs de acesso ao servidor como cada log, quando adicionado no balde acionará outro log e gerará um loop infinito de madeira que fará com que o tamanho do balde S3 aumente para sempre, e você acabará com um enorme quantidade de fatura em sua conta da AWS.

Quando o balde de destino for escolhido, clique em Salvar alterações no canto inferior direito para concluir o processo.

Os registros de acesso agora estão ativados e podemos vê -los no balde que configuramos como o balde de destino. Você pode baixar e visualizar esses arquivos de logs no formato de texto.

Por isso, ativamos com sucesso os logs de acesso ao servidor em nosso balde S3. Agora, sempre que uma operação é realizada no balde, ela será registrada no balde de destino S3.

Ativando logs de acesso usando CLI

Estávamos lidando com o console de gerenciamento da AWS para executar nossa tarefa até agora. Fizemos isso com sucesso, mas a AWS também fornece aos usuários outra maneira de gerenciar serviços e recursos na conta usando a interface da linha de comando. Algumas pessoas que têm pouca experiência em usar a CLI podem achar um pouco complicado e complexo, mas depois que você continuar, você prefere o console de gerenciamento, assim como a maioria dos profissionais faz. A interface da linha de comando da AWS pode ser configurada para qualquer ambiente, Windows, Mac ou Linux, e você também pode simplesmente abrir o AWS Cloud Shell no seu navegador.

O primeiro passo é simplesmente criar os baldes em nossa conta da AWS, para a qual simplesmente precisamos usar o seguinte comando.

$: aws s3api create-bucket-bucket --região

Um balde será o nosso balde de dados real onde colocaremos nossos arquivos e precisamos ativar logs neste balde.

Em seguida, precisamos de outro balde em que os logs de acesso ao servidor serão armazenados.

Para visualizar os baldes S3 disponíveis em sua conta, você pode usar o seguinte comando.

$: AWS S3API List-Buckets

Quando habilitamos o registro usando o console, a própria AWS atribui permissão ao mecanismo de registro para colocar objetos no balde de destino. Mas para a CLI, você precisa anexar a política. Precisamos criar um arquivo json e adicionar a seguinte política a ele.

Substitua o Data_bucket_name e Fonte_account_id com o nome do balde S3 para o qual os logs de acesso ao servidor estão sendo configurados e o ID da conta da AWS no qual existe o balde de origem S3.


"Versão": "2012-10-17",
"Declaração": [

"Sid": "S3ServerAccessLogSpolicy",
"Efeito": "permitir",
"Principal": "Service": "Loging.S3.Amazonaws.com ",
"Ação": "S3: Putobject",
"Recurso": "arn: aws: s3 ::: data_bucket_name/*",
"Doença":
"ArnLike": "AWS: SourCearn": "ARN: AWS: S3 ::: Data_Bucket_Name",
"StringEquals": "AWS: SourCeacCount": "fonte_account_id"


]

Precisamos anexar esta política ao nosso balde de destino S3, no qual os logs de acesso ao servidor serão salvos. Execute o seguinte comando da AWS CLI para configurar a política com o balde de destino S3.

$: aws s3api put-bucket-policy-bucket --Arquivo de Política: // S3_Logging_policy.JSON

Nossa política está anexada ao balde de destino, permitindo que o balde de dados coloque os logs de acesso ao servidor.

Depois de anexar a política ao balde de destino S3, agora ative os logs de acesso ao servidor no balde de origem (dados) S3. Para isso, primeiro, crie um arquivo json com o seguinte conteúdo.


"LoggingEnabled":
"TargetBucket": "Target_S3_Bucket",
"TargetPrefix": "Target_Prefix"

Por fim, para ativar o log de acesso ao servidor S3 para o nosso balde original, basta executar o seguinte comando.

$: aws s3api put-bucket lançando-bucket --Arquivo de status-status de bucket-logging: // enable_logging.JSON

Por isso, ativamos com sucesso os logs de acesso ao servidor em nosso balde S3 usando a interface da linha de comando da AWS.

Conclusão

A AWS fornece a instalação para ativar facilmente os logs de acesso ao servidor em seus baldes S3. Os logs fornecem ao IP do usuário que iniciou essa solicitação de operação específica, a data e a hora da solicitação, o tipo de operação executada e se essa solicitação foi bem -sucedida. A saída de dados está em forma bruta no arquivo de texto, mas você também pode executar a análise sobre ele usando ferramentas avançadas como a AWS Athena para obter resultados mais maduros desses dados.