Wie finde ich die externe IP-Adresse, die jedem Upload in meinen Amazon S3-Bucket zugeordnet ist?

Lesedauer: 3 Minute
0

Wenn mein Team oder ein Dritter Dateien in meinen Amazon Simple Storage Service (Amazon S3)-Bucket hochlädt, möchte ich wissen, welche externe IP-Adresse sie verwendet haben. Meine Bucket-Richtlinie erlaubt möglicherweise nur den Zugriff für bestimmte IP-Adressen. Wie finde ich die externe IP-Adresse, die bei jedem Upload verwendet wird?

Kurzbeschreibung

Um die IP-Adressen für Anfragen auf Objektebene an Amazon S3 (Uploads und Downloads) zu finden, müssen Sie zunächst eine der folgenden Protokollierungsmethoden starten:

  • Die Amazon S3-Serverzugriffsprotokollierung erfasst alle Ereignisse auf Bucket- und Objektebene. Diese Protokolle verwenden ein Format, das den Apache-Webserverprotokollen ähnelt.
  • AWS CloudTrail-Datenereignisse erfassen die letzten 90 Tage von Ereignissen auf Bucket-Ebene (z. B. PutBucketPolicy und DeleteBucketPolicy). Diese Protokolle verwenden ein JSON-Format.

Behebung

**Wichtig:**Es hat sich bewährt, einen neuen Bucket speziell für Protokolle zu erstellen, der von dem Bucket getrennt ist, den Sie überwachen möchten. Ein separater Bucket für Protokolle vermeidet das Risiko, dass Protokolle über Protokolle abgerufen werden.

Aktivieren Sie die Amazon S3-Serverzugriffsprotokollierung

Informationen zum Aktivieren der Amazon S3-Serverzugriffsprotokollierung finden Sie unter Amazon S3-Serverzugriffsprotokollierung aktivieren.

**Hinweis:**Es kann einige Stunden dauern, bis Amazon S3 mit der Erstellung von Protokollen beginnt.

Nachdem Sie die Serverzugriffsprotokollierung aktiviert haben, überprüfen Sie die Protokolle, um die IP-Adressen zu ermitteln, die bei jedem Upload in Ihren Bucket verwendet wurden. Im folgenden Protokoll für eine PutObject-Anfrage wird die IP-Adresse beispielsweise nach dem Zeitstempel [07/Dec/ 2018:07:03:01 +0000 angezeigt]:

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" -

Aktivieren Sie die Protokollierung auf Objektebene mit AWS CloudTrail-Datenereignissen

Informationen zum Aktivieren von AWS CloudTrail-Datenereignissen finden Sie unter Aktivieren der CloudTrail-Ereignisprotokollierung für S3-Buckets und -Objekte.

**Hinweis:**Es kann einige Stunden dauern, bis CloudTrail mit der Erstellung von Protokollen beginnt.

Nachdem Sie die Protokollierung auf Objektebene mit Datenereignissen aktiviert haben, überprüfen Sie die Protokolle, um die IP-Adressen zu ermitteln, die bei jedem Upload in Ihren Bucket verwendet wurden. Im folgenden Protokoll für eine PutObject-Anfrage wird die IP-Adresse beispielsweise als „sourceIpAddress“ aufgeführt:

{
    "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"
},

Verwandte Informationen

Einen S3-Bucket erstellen und konfigurieren

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr