Quando minha equipe ou um terceiro carrega arquivos no meu bucket do Amazon Simple Storage Service (Amazon S3), quero saber o endereço IP externo que eles usaram. Minha política de bucket pode permitir acesso somente para endereços IP específicos. Como posso encontrar o endereço IP externo usado em cada upload?
Descrição breve
Para encontrar os endereços IP para solicitações em nível de objeto para o Amazon S3 (uploads e downloads), você deve primeiro iniciar um dos seguintes métodos de log:
Resolução
Importante: é uma prática recomendada criar um novo bucket especificamente para logs que seja separado do bucket que você deseja monitorar. Um compartimento separado para logs evita o risco de obter logs sobre logs.
Ativar logs de acesso ao servidor do Amazon S3
Para ativar logs de acesso ao servidor do Amazon S3, consulte Habilitar logs de acesso ao servidor do Amazon S3.
Observação: pode levar algumas horas para que o Amazon S3 comece a criar logs.
Depois de ativar logs de acesso ao servidor, revise-os para encontrar os endereços IP usados em cada upload no seu bucket. Por exemplo, no log a seguir para uma solicitação PutObject, o endereço IP é exibido após o carimbo de data/hora [07/Dec/2018:07:03:01 +0000]:
82a7646e61f102aa3e17exampleef08969060fa39927b8232b5a4166d279dcc7 exampleawsbucket [07/Dec/2018:07:03:01 +0000] <b>205.251.233.256</b> arn:aws:sts::111111111111:assumed-role/admin/myuser 07F2D340F08E7171 REST.PUT.OBJECT my_object.jpg "PUT /exampleawsbucket/my_object.jpg?X-Amz-Security-Token=AgoGb3JpZ2luEF.......woa2o4AU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20181207T070301Z&X-Amz-SignedHeaders=content-md5%3Bcontent-type%3Bhost%3Bx-amz-acl%3Bx-amz-storage-class&X-Amz-Expires=300&X-Amz-Credential=ASIA5BQEXAMPLEGB3S7U%2F20181207%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX HTTP/1.1" 200 - - 1347 29 11 "https://s3.console.aws.amazon.com/s3/buckets/exampleawsbucket/?region=us-west-2&tab=overview" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" -
Ativar logs em nível de objeto com eventos de dados do AWS CloudTrail
Para ativar eventos de dados do AWS CloudTrail, consulte Habilitar logs de eventos do CloudTrail para buckets e objetos do S3.
Observação: pode levar algumas horas para o CloudTrail começar a criar logs.
Depois de ativar o log em nível de objeto com eventos de dados, revise os logs para encontrar os endereços IP usados em cada upload no seu bucket. Por exemplo, no log a seguir para uma solicitação PutObject, o endereço IP é listado como "sourceIPAddress":
{
"eventVersion": "1.05",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAI63YEXAMPLEAP4M5O:myuser",
"arn": "arn:aws:sts::111111111111:assumed-role/admin/myuser",
"accountId": "111111111111",
"accessKeyId": "ASIA5BQEXAMPLEGB3S7U",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAI63YEXAMPLEAP4M5O",
"arn": "arn:aws:iam::111111111111:role/admin",
"accountId": "111111111111",
"userName": "admin"
},
"attributes": {
"creationDate": "2018-12-07T06:43:45Z",
"mfaAuthenticated": "false"
}
}
},
"eventTime": "2018-12-07T07:23:19Z",
"eventSource": "s3.amazonaws.com",
"eventName": "PutObject",
"awsRegion": "us-west-2",
"sourceIPAddress": "205.251.233.256",
"userAgent": "[Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36]",
"requestParameters": {
"X-Amz-Date": "20181207T072319Z",
"bucketName": "exampleawsbucket",
"X-Amz-Algorithm": "AWS4-HMAC-SHA256",
"x-amz-acl": "private",
"X-Amz-SignedHeaders": "content-md5;content-type;host;x-amz-acl;x-amz-storage-class",
"X-Amz-Expires": "300",
"key": "my_object.jpg",
"x-amz-storage-class": "STANDARD"
},
"responseElements": null,
"additionalEventData": {
"x-amz-id-2": "8KQRGXIqWzLGiCV67PY8CHyh81yPjaVu7nkq3gK4ZuMYXo1THZhmbu5J/ck+Di+VHIixb18hRoU="
},
"requestID": "9B9842C4FFAAA3E8",
"eventID": "af0615fa-1d25-4e04-b280-b1e73b558aaa",
"readOnly": false,
"resources": [
{
"type": "AWS::S3::Object",
"ARN": "arn:aws:s3:::exampleawsbucket/my_object.jpg"
},
{
"accountId": "111111111111",
"type": "AWS::S3::Bucket",
"ARN": "arn:aws:s3:::exampleawsbucket"
}
],
"eventType": "AwsApiCall",
"recipientAccountId": "111111111111"
},
Informações relacionadas
Criar e configurar um bucket do S3