如何找到每次向我的 Amazon S3 桶上传文件的相关外部 IP 地址?
2 分钟阅读
0
当我的团队或第三方向我的 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 服务器访问日志记录功能,请参阅启用 Amazon S3 服务器访问日志记录功能。
**注意:**Amazon S3 可能需要几个小时才能开始创建日志。
开启服务器访问日志记录功能后,查看日志即可找到每次向桶上传文件使用的 IP 地址。例如,在如下有关 PutObject 请求的日志中,IP 地址在时间戳 [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" -
使用 AWS CloudTrail 数据事件开启对象级日志记录功能
要开启 AWS CloudTrail 数据事件,请参阅为 S3 桶和对象启用 CloudTrail 事件日志记录。
**注意:**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"
},
相关信息
没有评论
相关内容
- AWS 官方已更新 5 个月前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 3 年前