

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Exportieren Sie Protokolldaten nach Amazon S3 mit dem AWS CLI
<a name="S3ExportTasks"></a>

Im folgenden Beispiel verwenden Sie eine Exportaufgabe, um alle Daten aus einer CloudWatch Logs-Protokollgruppe mit dem Namen in einen Amazon S3 S3-Bucket mit dem Namen `my-log-group` zu exportieren`amzn-s3-demo-bucket`. In diesem Beispiel wird davon ausgegangen, dass Sie bereits eine Protokollgruppe namens `my-log-group` erstellt haben.

Das Exportieren von Protokolldaten in S3-Buckets, die verschlüsselt sind, AWS KMS wird unterstützt. Der Export in Buckets, die mit DSSE-KMS verschlüsselt sind, wird nicht unterstützt.

Wie Sie den Export im Detail einrichten, hängt davon ab, ob sich der Amazon-S3-Bucket, in den Sie exportieren möchten, im selben Konto wie die zu exportierenden Protokolle befindet oder in einem anderen Konto.

**Topics**
+ [Export für dasselbe Konto (CLI)](#ExportSingleAccount-CLI)
+ [Kontoübergreifender Export (CLI)](#ExportCrossAccount-CLI)

## Export für dasselbe Konto (CLI)
<a name="ExportSingleAccount-CLI"></a>

Wenn sich der Amazon-S3-Bucket im selben Konto befindet wie die zu exportierenden Protokolle, verwenden Sie die Anweisungen in diesem Abschnitt.

**Topics**
+ [Erstellen Sie einen S3-Bucket (CLI)](#CreateS3Bucket)
+ [Zugriffsberechtigungen einrichten (CLI)](#CreateIAMUser-With-S3-Access-CLI)
+ [Berechtigungen für einen S3-Bucket (CLI) festlegen](#S3Permissions)
+ [(Optional) Exportieren in einen Amazon S3 S3-Ziel-Bucket, der mit SSE-KMS (CLI) verschlüsselt ist](#S3-Export-KMSEncrypted-CLI)
+ [Erstellen Sie eine Exportaufgabe (CLI)](#CreateExportTask)

### Erstellen Sie einen S3-Bucket (CLI)
<a name="CreateS3Bucket"></a>

Wir empfehlen, dass Sie einen Bucket verwenden, der speziell für CloudWatch Logs erstellt wurde. Wenn Sie jedoch einen vorhandenen Bucket verwenden möchten, können Sie dieses Verfahren überspringen.

**Anmerkung**  
Der S3-Bucket muss sich in derselben Region wie die Protokolldaten befinden, die exportiert werden sollen. CloudWatch Logs unterstützt den Export von Daten in S3-Buckets in einer anderen Region nicht.

**Um einen S3-Bucket mit dem zu erstellen AWS CLI**  
Führen Sie an der Eingabeaufforderung den Befehl [create-bucket](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html) aus, wobei `LocationConstraint` die Region ist, in der Sie Protokolldaten exportieren.

```
aws s3api create-bucket --bucket amzn-s3-demo-bucket --create-bucket-configuration LocationConstraint=us-east-2
```

Es folgt eine Beispielausgabe.

```
{
    "Location": "/amzn-s3-demo-bucket"
}
```

### Zugriffsberechtigungen einrichten (CLI)
<a name="CreateIAMUser-With-S3-Access-CLI"></a>

Um die Exportaufgabe später zu erstellen, müssen Sie mit der `AmazonS3ReadOnlyAccess` IAM-Rolle angemeldet sein und über die folgenden Berechtigungen verfügen:
+ `logs:CreateExportTask`
+ `logs:CancelExportTask`
+ `logs:DescribeExportTasks`
+ `logs:DescribeLogStreams`
+ `logs:DescribeLogGroups`

Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
+ Benutzer und Gruppen in AWS IAM Identity Center:

  Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter [Erstellen eines Berechtigungssatzes](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) im *AWS IAM Identity Center -Benutzerhandbuch*.
+ Benutzer, die in IAM über einen Identitätsanbieter verwaltet werden:

  Erstellen Sie eine Rolle für den Identitätsverbund. Befolgen Sie die Anleitung unter [Eine Rolle für einen externen Identitätsanbieter (Verbund) erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) im *IAM-Benutzerhandbuch*.
+ IAM-Benutzer:
  + Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Befolgen Sie die Anleitung unter [Eine Rolle für einen IAM-Benutzer erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) im *IAM-Benutzerhandbuch*.
  + (Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Befolgen Sie die Anweisungen unter [Hinzufügen von Berechtigungen zu einem Benutzer (Konsole)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) im *IAM-Benutzerhandbuch*.

### Berechtigungen für einen S3-Bucket (CLI) festlegen
<a name="S3Permissions"></a>

Standardmäßig werden alle S3-Buckets und -Objekte als privat eingestuft. Nur der Ressourceneigentümer, das Konto, in dem der Bucket erstellt wurde, kann auf den Bucket und alle darin enthaltenen Objekte zugreifen. Der Ressourcenbesitzer kann jedoch anderen Ressourcen und Benutzern Zugriffsberechtigungen gewähren, indem er eine Zugriffsrichtlinie schreibt.

**Wichtig**  
Um Exporte in S3-Buckets sicherer zu machen, müssen Sie jetzt die Liste der Quellkonten angeben, die Protokolldaten in Ihren S3-Bucket exportieren dürfen.   
Im folgenden Beispiel entspricht die Liste der Konten IDs im `aws:SourceAccount` Schlüssel den Konten, von denen ein Benutzer Protokolldaten in Ihren S3-Bucket exportieren kann. Der Schlüssel `aws:SourceArn` ist die Ressource, für die die Aktion ausgeführt wird. Sie können dies auf eine bestimmte Protokollgruppe beschränken oder einen Platzhalter verwenden, wie in diesem Beispiel zu sehen.  
Wir empfehlen, dass Sie auch die Konto-ID des Kontos angeben, in dem der S3-Bucket erstellt wurde, um den Export innerhalb desselben Kontos zu ermöglichen.

**So legen Sie Berechtigungen für einen S3-Bucket fest**

1. Erstellen Sie eine Datei mit dem Namen `policy.json` und fügen Sie die folgende Zugriffsrichtlinie hinzu. Ändern Sie dabei `amzn-s3-demo-bucket` in den Namen Ihres S3-Bucket und `Principal` in den Endpunkt der Region, in der Sie Protokolldaten exportieren (beispielsweise `us-east-1`). Verwenden Sie einen Text-Editor, um diese Richtliniendatei zu erstellen. Verwenden Sie nicht die IAM-Konsole.

------
#### [ JSON ]

****  

   ```
    
       {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
             "Sid": "AllowGetBucketAcl",
             "Action": "s3:GetBucketAcl",
             "Effect": "Allow",
             "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
             "Principal": { "Service": "logs.us-east-1.amazonaws.com" },
             "Condition": {
               "StringEquals": {
                   "aws:SourceAccount": [
                       "123456789012",
                       "111122223333"
                   ]
               },
               "ArnLike": {
                       "aws:SourceArn": [
                           "arn:aws:logs:us-east-1:123456789012:log-group:*",
                           "arn:aws:logs:us-east-1:111122223333:log-group:*"
                       ]
               }
             }
         },
         {
             "Sid": "AllowPutObject",
             "Action": "s3:PutObject",
             "Effect": "Allow",
             "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
             "Principal": { "Service": "logs.us-east-1.amazonaws.com" },
             "Condition": {
               "StringEquals": {
                   "s3:x-amz-acl": "bucket-owner-full-control",
                   "aws:SourceAccount": [
                       "123456789012",
                       "111122223333"
                   ]
               },
               "ArnLike": {
                       "aws:SourceArn": [
                           "arn:aws:logs:us-east-1:123456789012:log-group:*",
                           "arn:aws:logs:us-east-1:111122223333:log-group:*"
                       ]
               }
             }
         }
       ]
   }
   ```

------

1. Legen Sie die Richtlinie, die Sie gerade hinzugefügt haben, mithilfe des [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html)Befehls als Zugriffsrichtlinie für Ihren Bucket fest. Diese Richtlinie ermöglicht CloudWatch Logs, Protokolldaten in Ihren S3-Bucket zu exportieren. Der Bucket-Eigentümer hat vollen Zugriff auf alle exportierten Objekte.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   ```
**Warnung**  
Wenn mit dem vorhandenen Bucket bereits eine oder mehrere Richtlinien verknüpft sind, fügen Sie die Anweisungen für den Zugriff auf CloudWatch Logs zu dieser Richtlinie oder diesen Richtlinien hinzu. Sie sollten eine Beurteilung der daraus resultierenden Berechtigungen vornehmen, um sicherzustellen, dass sie für die Benutzer, die auf den Bucket zugreifen werden, geeignet sind.

### (Optional) Exportieren in einen Amazon S3 S3-Ziel-Bucket, der mit SSE-KMS (CLI) verschlüsselt ist
<a name="S3-Export-KMSEncrypted-CLI"></a>

Dieses Verfahren ist nur erforderlich, wenn Sie in einen S3-Bucket exportieren, der serverseitige Verschlüsselung mit verwendet. AWS KMS keys Diese Verschlüsselung wird als SSE-KMS bezeichnet. 

**So exportieren Sie in einen mit SSE-KMS verschlüsselten Bucket**

1. Verwenden Sie einen Texteditor, um eine Datei mit dem Namen `key_policy.json` zu erstellen und die folgende Zugriffsrichtlinie hinzuzufügen. Wenn Sie die Richtlinie hinzufügen, nehmen Sie die folgenden Änderungen vor:
   + *Region*Ersetzen Sie es durch die Region Ihrer Protokolle. 
   + *account-ARN*Ersetzen Sie ihn durch den ARN des Kontos, dem der KMS-Schlüssel gehört.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Allow CWL Service Principal usage",
               "Effect": "Allow",
               "Principal": {
                   "Service": "logs.Region.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "*"
           },
           {
               "Sid": "Enable IAM User Permissions",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "account-ARN"
               },
               "Action": [
                   "kms:GetKeyPolicy*",
                   "kms:PutKeyPolicy*",
                   "kms:DescribeKey*",
                   "kms:CreateAlias*",
                   "kms:ScheduleKeyDeletion*",
                   "kms:Decrypt"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Geben Sie den folgenden Befehl ein:

   ```
   aws kms create-key --policy file://key_policy.json
   ```

   Das Folgende ist eine Beispielausgabe aus diesem Befehl:

   ```
   {
       "KeyMetadata": {
           "AWSAccountId": "account_id",
           "KeyId": "key_id",
           "Arn": "arn:aws:kms:us-east-2:account-ARN:key/key_id",
           "CreationDate": "time",
           "Enabled": true,
           "Description": "",
           "KeyUsage": "ENCRYPT_DECRYPT",
           "KeyState": "Enabled",
           "Origin": "AWS_KMS",
           "KeyManager": "CUSTOMER",
           "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
           "KeySpec": "SYMMETRIC_DEFAULT",
           "EncryptionAlgorithms": [
               "SYMMETRIC_DEFAULT"
           ],
           "MultiRegion": false
       }
   ```

1. Erstellen Sie mithilfe eines Texteditors eine Datei mit dem Namen `bucketencryption.json` mit folgenden Inhalten.

   ```
   {
     "Rules": [
       {
         "ApplyServerSideEncryptionByDefault": {
           "SSEAlgorithm": "aws:kms",
           "KMSMasterKeyID": "{KMS Key ARN}"
         },
         "BucketKeyEnabled": true
       }
     ]
   }
   ```

1. Geben Sie den folgenden Befehl ein und *amzn-s3-demo-bucket* ersetzen Sie ihn durch den Namen des Buckets, in den Sie Protokolle exportieren.

   ```
   aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration file://bucketencryption.json
   ```

   Wenn der Befehl keinen Fehler zurückgibt, ist der Vorgang erfolgreich abgeschlossen.

### Erstellen Sie eine Exportaufgabe (CLI)
<a name="CreateExportTask"></a>

Verwenden Sie den folgenden Befehl, um die Exportaufgabe zu erstellen. Nach der Erstellung kann der Exportvorgang von einigen Sekunden bis zu einigen Stunden dauern. Dies ist abhängig von der Größe der zu exportierenden Daten.

**Um Daten nach Amazon S3 zu exportieren, verwenden Sie AWS CLI**

1. Melden Sie sich mit ausreichenden Berechtigungen an, wie unter [Zugriffsberechtigungen einrichten (CLI)](#CreateIAMUser-With-S3-Access-CLI) dokumentiert.

1. Verwenden Sie in einer Befehlszeile den folgenden [create-export-task](https://docs.aws.amazon.com/cli/latest/reference/logs/create-export-task.html)Befehl, um die Exportaufgabe zu erstellen.

   ```
   aws logs create-export-task --profile CWLExportUser --task-name "my-log-group-09-10-2015" --log-group-name "my-log-group" --from 1441490400000 --to 1441494000000 --destination "amzn-s3-demo-bucket" --destination-prefix "export-task-output"
   ```

   Es folgt eine Beispielausgabe.

   ```
   {
       "taskId": "cda45419-90ea-4db5-9833-aade86253e66"
   }
   ```

## Kontoübergreifender Export (CLI)
<a name="ExportCrossAccount-CLI"></a>

Wenn sich der Amazon-S3-Bucket in einem anderen Konto befindet als die zu exportierenden Protokolle, verwenden Sie die Anweisungen in diesem Abschnitt.

**Topics**
+ [Erstellen Sie einen S3-Bucket für den kontoübergreifenden Export (CLI)](#CreateS3Bucket-CLI-crossaccount)
+ [Zugriffsberechtigungen für den kontoübergreifenden Export (CLI) einrichten](#CreateIAMUser-With-S3-Access-CLI-crossaccount)
+ [Berechtigungen für einen S3-Bucket für den kontoübergreifenden Export (CLI) festlegen](#S3Permissions-CLI-crossaccount)
+ [(Optional) Exportieren in einen Amazon S3 S3-Ziel-Bucket, der mit SSE-KMS für den kontoübergreifenden Export (CLI) verschlüsselt ist](#S3-Export-KMSEncrypted-CLI-crossaccount)
+ [Erstellen Sie eine Exportaufgabe für den kontoübergreifenden Export (CLI)](#CreateExportTask-CLI-crossaccount)

### Erstellen Sie einen S3-Bucket für den kontoübergreifenden Export (CLI)
<a name="CreateS3Bucket-CLI-crossaccount"></a>

Wir empfehlen, dass Sie einen Bucket verwenden, der speziell für CloudWatch Logs erstellt wurde. Wenn Sie jedoch einen vorhandenen Bucket verwenden möchten, gehen Sie direkt zu Schritt 2.

**Anmerkung**  
Der S3-Bucket muss sich in derselben Region wie die Protokolldaten befinden, die exportiert werden sollen. CloudWatch Logs unterstützt den Export von Daten in S3-Buckets in einer anderen Region nicht.

**Um einen S3-Bucket mit dem zu erstellen AWS CLI**  
Führen Sie an der Eingabeaufforderung den Befehl [create-bucket](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html) aus, wobei `LocationConstraint` die Region ist, in der Sie Protokolldaten exportieren.

```
aws s3api create-bucket --bucket amzn-s3-demo-bucket --create-bucket-configuration LocationConstraint=us-east-2
```

Es folgt eine Beispielausgabe.

```
{
    "Location": "/amzn-s3-demo-bucket"
}
```

### Zugriffsberechtigungen für den kontoübergreifenden Export (CLI) einrichten
<a name="CreateIAMUser-With-S3-Access-CLI-crossaccount"></a>

Zunächst müssen Sie eine neue IAM-Richtlinie erstellen, damit CloudWatch Logs die `s3:PutObject` Aktion für den Amazon S3 S3-Ziel-Bucket im Zielkonto hat. 

Neben der `s3:PutObject` Aktion hängen weitere in der Richtlinie enthaltene Aktionen davon ab, ob der Ziel-Bucket AWS KMS Verschlüsselung verwendet oder mit der Einstellung [S3-Objektbesitz ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) aktiviert wurde. 
+ Wenn Sie die KMS-Verschlüsselung verwenden, fügen Sie die `kms:Decrypt` Aktionen `kms:GenerateDataKey` und für die Schlüsselressource hinzu
+ Wenn sie im Bucket aktiviert ACLs sind, fügen Sie die `s3:PutObjectAcl` Aktion für die Bucket-Ressource hinzu

Ändern `amzn-s3-demo-bucket` Sie in den folgenden Richtlinien den Namen Ihres Ziel-S3-Buckets.

Die Richtlinie, die Sie erstellen, hängt davon ab, ob der Ziel-Bucket AWS KMS -Verschlüsselung verwendet. Wenn es keine AWS KMS Verschlüsselung verwendet, erstellen Sie eine Richtlinie mit dem folgenden Inhalt.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------

Wenn der Ziel-Bucket AWS KMS Verschlüsselung verwendet, erstellen Sie eine Richtlinie mit dem folgenden Inhalt.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ]
}
```

------

Wenn sie im Ziel-Bucket aktiviert ACLs sind, fügen Sie in den obigen Richtlinien den Block s3: PutObjectAcl zum Block s3: PutObject Action hinzu.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
               "s3:PutObject",
               "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------

Um eine Exportaufgabe zu erstellen, müssen Sie mit einer IAM-Rolle angemeldet sein, der die `AmazonS3ReadOnlyAccess` verwaltete Richtlinie und die oben erstellte IAM-Richtlinie zugeordnet sind. Außerdem müssen Sie über die folgenden Berechtigungen verfügen:
+ `logs:CreateExportTask`
+ `logs:CancelExportTask`
+ `logs:DescribeExportTasks`
+ `logs:DescribeLogStreams`
+ `logs:DescribeLogGroups`

Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
+ Benutzer und Gruppen in: AWS IAM Identity Center

  Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter [Erstellen eines Berechtigungssatzes](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) im *AWS IAM Identity Center -Benutzerhandbuch*.
+ Benutzer, die in IAM über einen Identitätsanbieter verwaltet werden:

  Erstellen Sie eine Rolle für den Identitätsverbund. Befolgen Sie die Anleitung unter [Eine Rolle für einen externen Identitätsanbieter (Verbund) erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) im *IAM-Benutzerhandbuch*.
+ IAM-Benutzer:
  + Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Befolgen Sie die Anleitung unter [Eine Rolle für einen IAM-Benutzer erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) im *IAM-Benutzerhandbuch*.
  + (Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Befolgen Sie die Anweisungen unter [Hinzufügen von Berechtigungen zu einem Benutzer (Konsole)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) im *IAM-Benutzerhandbuch*.

### Berechtigungen für einen S3-Bucket für den kontoübergreifenden Export (CLI) festlegen
<a name="S3Permissions-CLI-crossaccount"></a>

Standardmäßig werden alle S3-Buckets und -Objekte als privat eingestuft. Nur der Ressourceneigentümer, das Konto, in dem der Bucket erstellt wurde, kann auf den Bucket und alle darin enthaltenen Objekte zugreifen. Der Ressourcenbesitzer kann jedoch anderen Ressourcen und Benutzern Zugriffsberechtigungen gewähren, indem er eine Zugriffsrichtlinie schreibt.

**Wichtig**  
Um Exporte in S3-Buckets sicherer zu machen, müssen Sie jetzt die Liste der Quellkonten angeben, die Protokolldaten in Ihren S3-Bucket exportieren dürfen.   
Im folgenden Beispiel entspricht die Liste der Konten IDs im `aws:SourceAccount` Schlüssel den Konten, von denen ein Benutzer Protokolldaten in Ihren S3-Bucket exportieren kann. Der Schlüssel `aws:SourceArn` ist die Ressource, für die die Aktion ausgeführt wird. Sie können dies auf eine bestimmte Protokollgruppe beschränken oder einen Platzhalter verwenden, wie in diesem Beispiel zu sehen.  
Wir empfehlen, dass Sie auch die Konto-ID des Kontos angeben, in dem der S3-Bucket erstellt wurde, um den Export innerhalb desselben Kontos zu ermöglichen.

**So legen Sie Berechtigungen für einen S3-Bucket fest**

1. Erstellen Sie eine Datei mit dem Namen `policy.json` und fügen Sie dem Endpunkt der `amzn-s3-demo-bucket` Region, in die Sie Protokolldaten exportieren, die folgende Zugriffsrichtlinie `Principal` hinzu, wobei Sie den Namen Ihres Ziel-S3-Buckets annehmen, z. `us-west-1` B. Verwenden Sie einen Text-Editor, um diese Richtliniendatei zu erstellen. Verwenden Sie nicht die IAM-Konsole.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
             "Action": "s3:GetBucketAcl",
             "Effect": "Allow",
             "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
             "Principal": { "Service": "logs.us-east-1.amazonaws.com" },
             "Condition": {
               "StringEquals": {
                   "aws:SourceAccount": [
                   "123456789012",
                   "111122223333"
                   ]
               },
               "ArnLike": {
                       "aws:SourceArn": [
                       "arn:aws:logs:us-east-1:123456789012:log-group:*",
                       "arn:aws:logs:us-east-1:111122223333:log-group:*"
                        ]
               }
             }
         },
         {
             "Action": "s3:PutObject" ,
             "Effect": "Allow",
             "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
             "Principal": { "Service": "logs.us-east-1.amazonaws.com" },
             "Condition": {
               "StringEquals": {
                   "s3:x-amz-acl": "bucket-owner-full-control",
                   "aws:SourceAccount": [
                   "123456789012",
                   "111122223333"
                   ]
               },
               "ArnLike": {
                       "aws:SourceArn": [
                       "arn:aws:logs:us-east-1:123456789012:log-group:*",
                       "arn:aws:logs:us-east-1:111122223333:log-group:*"
                       ]
               }
             }
         },
         {
             "Effect": "Allow",
             "Principal": {
             "AWS": "arn:aws:iam::111122223333:role/role_name"
             },
             "Action": "s3:PutObject",
             "Resource": "arn:aws:s3:::>amzn-s3-demo-bucket/*",
             "Condition": {
               "StringEquals": {
                   "s3:x-amz-acl": "bucket-owner-full-control"
               }
             }
          }
       ]
   }
   ```

------

1. Legen Sie mithilfe des [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html)Befehls die Richtlinie, die Sie gerade hinzugefügt haben, als Zugriffsrichtlinie für Ihren Bucket fest. Diese Richtlinie ermöglicht CloudWatch Logs, Protokolldaten in Ihren S3-Bucket zu exportieren. Der Bucket-Eigentümer hat vollen Zugriff auf alle exportierten Objekte.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   ```
**Warnung**  
Wenn mit dem vorhandenen Bucket bereits eine oder mehrere Richtlinien verknüpft sind, fügen Sie die Anweisungen für den Zugriff auf CloudWatch Logs zu dieser Richtlinie oder diesen Richtlinien hinzu. Sie sollten eine Beurteilung der daraus resultierenden Berechtigungen vornehmen, um sicherzustellen, dass sie für die Benutzer, die auf den Bucket zugreifen werden, geeignet sind.

### (Optional) Exportieren in einen Amazon S3 S3-Ziel-Bucket, der mit SSE-KMS für den kontoübergreifenden Export (CLI) verschlüsselt ist
<a name="S3-Export-KMSEncrypted-CLI-crossaccount"></a>

Dieses Verfahren ist nur erforderlich, wenn Sie in einen S3-Bucket exportieren, der serverseitige Verschlüsselung mit verwendet. AWS KMS keys Diese Verschlüsselung wird als SSE-KMS bezeichnet. 

**So exportieren Sie in einen mit SSE-KMS verschlüsselten Bucket**

1. Verwenden Sie einen Texteditor, um eine Datei mit dem Namen `key_policy.json` zu erstellen und die folgende Zugriffsrichtlinie hinzuzufügen. Wenn Sie die Richtlinie hinzufügen, nehmen Sie die folgenden Änderungen vor:
   + *us-east-1*Ersetzen Sie es durch die Region Ihrer Protokolle. 
   + *account-ARN*Ersetzen Sie ihn durch den ARN des Kontos, dem der KMS-Schlüssel gehört.
   + *123456789012*Ersetzen Sie ihn durch die Kontonummer, der den KMS-Schlüssel besitzt.
   + *key\$1id*mit der KMS-Schlüssel-ID.
   + *role\$1name*mit der Rolle, die für die Erstellung der Exportaufgabe verwendet wurde.

------
#### [ JSON ]

****  

   ```
       {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowCWLServicePrincipalUsage",
               "Effect": "Allow",
               "Principal": {
                   "Service": "logs.us-east-1.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "*"
           },
           {
               "Sid": "EnableIAMUserPermissions",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "account-ARN"
               },
               "Action": [
                   "kms:GetKeyPolicy*",
                   "kms:PutKeyPolicy*",
                   "kms:DescribeKey*",
                   "kms:CreateAlias*",
                   "kms:ScheduleKeyDeletion*",
                   "kms:Decrypt"
               ],
               "Resource": "*"
           },
           {
               "Sid": "EnableIAMRolePermissions",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/role_name"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
           }
       ]
   }
   ```

------

1. Geben Sie den folgenden Befehl ein:

   ```
   aws kms create-key --policy file://key_policy.json
   ```

   Das Folgende ist eine Beispielausgabe aus diesem Befehl:

   ```
   {
       "KeyMetadata": {
           "AWSAccountId": "account_id",
           "KeyId": "key_id",
           "Arn": "arn:aws:kms:us-east-1:123456789012:key/key_id",
           "CreationDate": "time",
           "Enabled": true,
           "Description": "",
           "KeyUsage": "ENCRYPT_DECRYPT",
           "KeyState": "Enabled",
           "Origin": "AWS_KMS",
           "KeyManager": "CUSTOMER",
           "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
           "KeySpec": "SYMMETRIC_DEFAULT",
           "EncryptionAlgorithms": [
               "SYMMETRIC_DEFAULT"
           ],
           "MultiRegion": false
       }
   ```

1. Erstellen Sie mithilfe eines Texteditors eine Datei mit dem Namen `bucketencryption.json` mit folgenden Inhalten.

   ```
   {
     "Rules": [
       {
         "ApplyServerSideEncryptionByDefault": {
           "SSEAlgorithm": "aws:kms",
           "KMSMasterKeyID": "{KMS Key ARN}"
         },
         "BucketKeyEnabled": true
       }
     ]
   }
   ```

1. Geben Sie den folgenden Befehl ein und *amzn-s3-demo-bucket* ersetzen Sie ihn durch den Namen des Buckets, in den Sie Logs exportieren.

   ```
   aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration file://bucketencryption.json
   ```

   Wenn der Befehl keinen Fehler zurückgibt, ist der Vorgang erfolgreich abgeschlossen.

### Erstellen Sie eine Exportaufgabe für den kontoübergreifenden Export (CLI)
<a name="CreateExportTask-CLI-crossaccount"></a>

Verwenden Sie den folgenden Befehl, um die Exportaufgabe zu erstellen. Nach der Erstellung kann der Exportvorgang von einigen Sekunden bis zu einigen Stunden dauern. Dies ist abhängig von der Größe der zu exportierenden Daten.

**Um Daten nach Amazon S3 zu exportieren, verwenden Sie AWS CLI**

1. Melden Sie sich mit ausreichenden Berechtigungen an, wie unter [Zugriffsberechtigungen einrichten (CLI)](#CreateIAMUser-With-S3-Access-CLI) dokumentiert.

1. Verwenden Sie in einer Befehlszeile den folgenden [create-export-task](https://docs.aws.amazon.com/cli/latest/reference/logs/create-export-task.html)Befehl, um die Exportaufgabe zu erstellen.

   ```
   aws logs create-export-task --profile CWLExportUser --task-name "my-log-group-09-10-2015" --log-group-name "my-log-group" --from 1441490400000 --to 1441494000000 --destination "amzn-s3-demo-bucket" --destination-prefix "export-task-output"
   ```

   Es folgt eine Beispielausgabe.

   ```
   {
       "taskId": "cda45419-90ea-4db5-9833-aade86253e66"
   }
   ```