上传文件到服务器查询IP地址,查找与上传到您的 Amazon S3 存储桶关联的外部 IP 地址...

如何找到每次向我的 Amazon S3 存储桶上传文件的相关外部 IP 地址?

当我的团队或第三方向我的 Amazon Simple Storage Service (Amazon S3) 存储桶上传文件时,我希望知道他们使用的外部 IP 地址。我的存储桶策略可能仅允许特定 IP 地址访问。如何才能找到每次上传文件使用的外部 IP 地址?

简短描述

如要找到向 Amazon S3 发出对象级请求(上传和下载)的 IP 地址,您必须首先启用下列日志记录方法中的一种:

Amazon S3 服务器访问日志会记录所有存储桶级和对象级的事件。这些日志使用与 Apache Web 服务器日志相似的格式。

AWS CloudTrail 数据事件捕获最近 90 天的存储桶级事件(例如 PutBucketPolicy 和 DeleteBucketPolicy),且您可以启用对象级日志记录。这些日志使用 JSON 格式。

解决方法

重要提示:最佳做法是专为与您想要监控的存储桶分开的日志创建一个新存储桶。为日志单独使用一个存储桶可避免获取关于日志的日志风险。

启用 Amazon S3 服务器访问日志记录功能

有关启用 Amazon S3 服务器访问日志记录功能的信息,请参阅如何为 S3 存储桶启用服务器访问日志记录?

注意:Amazon S3 可能需要几个小时才能开始创建日志。

启用服务器访问日志记录后,请查看日志以查找每次上传到您的存储桶时使用的 IP 地址。例如,在下面的 PutObject 请求日志中,IP 地址显示在时间戳 [07/Dec/2018:07:03:01 +0000] 之后:

82a7646e61f102aa3e17exampleef08969060fa39927b8232b5a4166d279dcc7 exampleawsbucket [07/Dec/2018:07:03:01 +0000] 205.251.233.256 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" -

使用 AWS CloudTrail 数据事件启用对象级日志记录

注意:AWS CloudTrail 可能需要几个小时才能开始创建日志。

使用数据事件启用对象级日志记录后,请查看日志以查找每次上传至您的存储桶时所用的 IP 地址。例如,在如下有关 PutObject 请求的日志中,IP 地址显示为 "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"

},

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值