

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Ekspor data log ke Amazon S3 menggunakan AWS CLI
<a name="S3ExportTasks"></a>

Dalam contoh berikut, Anda menggunakan tugas ekspor untuk mengekspor semua data dari grup CloudWatch log Log yang diberi nama `my-log-group` ke bucket Amazon S3 bernama. `amzn-s3-demo-bucket` Contoh ini mengasumsikan bahwa Anda telah membuat grup log bernama `my-log-group`.

Mengekspor data log ke bucket S3 yang dienkripsi oleh didukung. AWS KMS Mengekspor ke bucket yang dienkripsi dengan DSSE-KMS tidak didukung.

Detail cara Anda mengatur ekspor tergantung pada apakah bucket Amazon S3 yang ingin Anda ekspor berada di akun yang sama dengan log Anda yang sedang diekspor, atau di akun lain.

**Topics**
+ [Ekspor akun yang sama (CLI)](#ExportSingleAccount-CLI)
+ [Ekspor lintas akun (CLI)](#ExportCrossAccount-CLI)

## Ekspor akun yang sama (CLI)
<a name="ExportSingleAccount-CLI"></a>

Jika bucket Amazon S3 berada di akun yang sama dengan log yang sedang diekspor, gunakan instruksi di bagian ini.

**Topics**
+ [Buat ember S3 (CLI)](#CreateS3Bucket)
+ [Mengatur izin akses (CLI)](#CreateIAMUser-With-S3-Access-CLI)
+ [Setel izin pada bucket S3 (CLI)](#S3Permissions)
+ [(Opsional) Mengekspor ke bucket Amazon S3 tujuan yang dienkripsi dengan SSE-KMS (CLI)](#S3-Export-KMSEncrypted-CLI)
+ [Buat tugas ekspor (CLI)](#CreateExportTask)

### Buat ember S3 (CLI)
<a name="CreateS3Bucket"></a>

Kami menyarankan Anda menggunakan bucket yang dibuat khusus untuk CloudWatch Log. Namun, jika Anda ingin menggunakan bucket yang ada, Anda dapat melewati prosedur ini.

**catatan**  
Bucket S3 harus berada di Region yang sama dengan data log yang akan diekspor. CloudWatch Log tidak mendukung ekspor data ke bucket S3 di Wilayah lain.

**Untuk membuat bucket S3 menggunakan AWS CLI**  
Di jendela perintah, jalankan perintah [create-bucket](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html) berikut, di mana `LocationConstraint` adalah Wilayah tempat Anda mengekspor data log.

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

Berikut ini adalah output contoh.

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

### Mengatur izin akses (CLI)
<a name="CreateIAMUser-With-S3-Access-CLI"></a>

Untuk membuat tugas ekspor nanti, Anda harus masuk dengan peran `AmazonS3ReadOnlyAccess` IAM dan dengan izin berikut:
+ `logs:CreateExportTask`
+ `logs:CancelExportTask`
+ `logs:DescribeExportTasks`
+ `logs:DescribeLogStreams`
+ `logs:DescribeLogGroups`

Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:
+ Pengguna dan grup di AWS IAM Identity Center:

  Buat rangkaian izin. Ikuti instruksi di [Buat rangkaian izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) dalam *Panduan Pengguna AWS IAM Identity Center *.
+ Pengguna yang dikelola di IAM melalui penyedia identitas:

  Buat peran untuk federasi identitas. Ikuti instruksi dalam [Buat peran untuk penyedia identitas pihak ketiga (federasi)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*.
+ Pengguna IAM:
  + Buat peran yang dapat diambil pengguna Anda. Ikuti instruksi dalam [Buat peran untuk pengguna IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dalam *Panduan Pengguna IAM*.
  + (Tidak disarankan) Lampirkan kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti petunjuk dalam [Menambahkan izin ke pengguna (konsol)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

### Setel izin pada bucket S3 (CLI)
<a name="S3Permissions"></a>

Secara default, semua bucket dan objek S3 bersifat pribadi. Hanya pemilik sumber daya, akun yang membuat bucket, yang dapat mengakses bucket dan objek yang ada di dalamnya. Namun, pemilik sumber daya dapat memilih untuk memberikan izin akses kepada sumber daya dan pengguna lain dengan menulis kebijakan akses.

**penting**  
Untuk membuat ekspor ke bucket S3 lebih aman, kami sekarang meminta Anda untuk menentukan daftar akun sumber yang diizinkan untuk mengekspor data log ke bucket S3 Anda.   
Dalam contoh berikut, daftar akun IDs dalam `aws:SourceAccount` kunci akan menjadi akun dari mana pengguna dapat mengekspor data log ke bucket S3 Anda. `aws:SourceArn`Kuncinya adalah sumber daya tempat tindakan diambil. Anda dapat membatasi ini ke grup log tertentu, atau menggunakan wildcard seperti yang ditunjukkan dalam contoh ini.  
Kami menyarankan Anda juga menyertakan ID akun akun tempat bucket S3 dibuat, untuk memungkinkan ekspor dalam akun yang sama.

**Untuk menyetel izin pada bucket S3**

1. Buat file bernama `policy.json` dan tambahkan kebijakan akses berikut, ubah `amzn-s3-demo-bucket` nama bucket S3 Anda dan `Principal` ke titik akhir Wilayah tempat Anda mengekspor data log, seperti. `us-east-1` Gunakan editor teks untuk membuat file kebijakan ini. Jangan gunakan konsol IAM.

------
#### [ 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. Tetapkan kebijakan yang baru saja ditambahkan sebagai kebijakan akses di bucket Anda dengan menggunakan [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html)perintah. Kebijakan ini memungkinkan CloudWatch Log untuk mengekspor data log ke bucket S3 Anda. Pemilik bucket akan memiliki izin penuh atas semua objek yang diekspor.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   ```
**Awas**  
Jika bucket yang ada sudah memiliki satu atau beberapa kebijakan yang dilampirkan padanya, tambahkan pernyataan untuk akses CloudWatch Log ke kebijakan atau kebijakan tersebut. Sebaiknya Anda mengevaluasi hasil rangkaian izin untuk memastikan bahwa itu sesuai untuk pengguna yang akan mengakses bucket.

### (Opsional) Mengekspor ke bucket Amazon S3 tujuan yang dienkripsi dengan SSE-KMS (CLI)
<a name="S3-Export-KMSEncrypted-CLI"></a>

Prosedur ini diperlukan hanya jika Anda mengekspor ke bucket S3 yang menggunakan enkripsi sisi server. AWS KMS keys Enkripsi ini dikenal sebagai SSE-KMS. 

**Untuk mengekspor ke bucket yang dienkripsi dengan SSE-KMS**

1. Gunakan editor teks untuk membuat file bernama `key_policy.json` dan menambahkan kebijakan akses berikut. Saat Anda menambahkan kebijakan, lakukan perubahan berikut:
   + Ganti {{Region}} dengan Wilayah log Anda. 
   + Ganti {{account-ARN}} dengan ARN akun yang memiliki kunci KMS.

------
#### [ 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. Masukkan perintah berikut:

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

   Berikut ini adalah contoh output dari perintah ini:

   ```
   {
       "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. Gunakan editor teks untuk membuat file yang disebut `bucketencryption.json` dengan konten berikut.

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

1. Masukkan perintah berikut, ganti {{amzn-s3-demo-bucket}} dengan nama bucket tempat Anda mengekspor log.

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

   Jika perintah tidak mengembalikan kesalahan, prosesnya berhasil.

### Buat tugas ekspor (CLI)
<a name="CreateExportTask"></a>

Gunakan perintah berikut untuk membuat tugas ekspor. Setelah Anda membuatnya, tugas ekspor mungkin memakan waktu mulai dari beberapa detik hingga beberapa jam, tergantung pada ukuran data yang akan diekspor.

**Untuk mengekspor data ke Amazon S3 menggunakan AWS CLI**

1. Masuk dengan izin yang memadai seperti yang didokumentasikan[Mengatur izin akses (CLI)](#CreateIAMUser-With-S3-Access-CLI).

1. Pada prompt perintah, gunakan [create-export-task](https://docs.aws.amazon.com/cli/latest/reference/logs/create-export-task.html)perintah berikut untuk membuat tugas ekspor.

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

   Berikut ini adalah output contoh.

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

## Ekspor lintas akun (CLI)
<a name="ExportCrossAccount-CLI"></a>

Jika bucket Amazon S3 berada di akun yang berbeda dari log yang sedang diekspor, gunakan petunjuk di bagian ini.

**Topics**
+ [Buat bucket S3 untuk ekspor lintas akun (CLI)](#CreateS3Bucket-CLI-crossaccount)
+ [Mengatur izin akses untuk ekspor lintas akun (CLI)](#CreateIAMUser-With-S3-Access-CLI-crossaccount)
+ [Tetapkan izin pada bucket S3 untuk ekspor lintas akun (CLI)](#S3Permissions-CLI-crossaccount)
+ [(Opsional) Mengekspor ke bucket Amazon S3 tujuan yang dienkripsi dengan SSE-KMS untuk ekspor lintas akun (CLI)](#S3-Export-KMSEncrypted-CLI-crossaccount)
+ [Buat tugas ekspor untuk ekspor lintas akun (CLI)](#CreateExportTask-CLI-crossaccount)

### Buat bucket S3 untuk ekspor lintas akun (CLI)
<a name="CreateS3Bucket-CLI-crossaccount"></a>

Kami menyarankan Anda menggunakan bucket yang dibuat khusus untuk CloudWatch Log. Namun, jika Anda ingin menggunakan bucket yang sudah ada, Anda dapat melompat ke langkah 2.

**catatan**  
Bucket S3 harus berada di Region yang sama dengan data log yang akan diekspor. CloudWatch Log tidak mendukung ekspor data ke bucket S3 di Wilayah lain.

**Untuk membuat bucket S3 menggunakan AWS CLI**  
Di jendela perintah, jalankan perintah [create-bucket](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html) berikut, di mana `LocationConstraint` adalah Wilayah tempat Anda mengekspor data log.

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

Berikut ini adalah output contoh.

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

### Mengatur izin akses untuk ekspor lintas akun (CLI)
<a name="CreateIAMUser-With-S3-Access-CLI-crossaccount"></a>

Pertama, Anda harus membuat kebijakan IAM baru untuk mengaktifkan CloudWatch Log agar memiliki `s3:PutObject` tindakan untuk bucket Amazon S3 tujuan di akun tujuan. 

Seiring dengan `s3:PutObject` tindakan, tindakan tambahan yang disertakan dalam kebijakan bergantung pada apakah bucket tujuan menggunakan AWS KMS enkripsi atau telah ACLs diaktifkan menggunakan setelan [Kepemilikan Objek S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html). 
+ Jika menggunakan enkripsi KMS, tambahkan `kms:GenerateDataKey` dan `kms:Decrypt` tindakan untuk sumber daya utama
+ Jika ACLs diaktifkan di bucket, tambahkan `s3:PutObjectAcl` tindakan untuk sumber daya bucket

Ubah `amzn-s3-demo-bucket` nama bucket S3 tujuan Anda dalam kebijakan berikut.

Kebijakan yang Anda buat bergantung pada apakah bucket tujuan menggunakan AWS KMS enkripsi. Jika tidak menggunakan AWS KMS enkripsi, buat kebijakan dengan konten berikut.

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

****  

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

------

Jika bucket tujuan menggunakan AWS KMS enkripsi, buat kebijakan dengan konten berikut.

------
#### [ 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}}"
        }
    ]
}
```

------

Jika ACLs diaktifkan pada bucket tujuan, tambahkan s3: PutObjectAcl ke s3: PutObject Action block pada kebijakan di atas.

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

****  

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

------

Untuk membuat tugas ekspor, Anda harus masuk dengan peran IAM yang memiliki kebijakan `AmazonS3ReadOnlyAccess` terkelola yang dilampirkan, kebijakan IAM yang dibuat di atas, dan juga dengan izin berikut:
+ `logs:CreateExportTask`
+ `logs:CancelExportTask`
+ `logs:DescribeExportTasks`
+ `logs:DescribeLogStreams`
+ `logs:DescribeLogGroups`

Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:
+ Pengguna dan grup di AWS IAM Identity Center:

  Buat rangkaian izin. Ikuti instruksi di [Buat rangkaian izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) dalam *Panduan Pengguna AWS IAM Identity Center *.
+ Pengguna yang dikelola di IAM melalui penyedia identitas:

  Buat peran untuk federasi identitas. Ikuti instruksi dalam [Buat peran untuk penyedia identitas pihak ketiga (federasi)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*.
+ Pengguna IAM:
  + Buat peran yang dapat diambil pengguna Anda. Ikuti instruksi dalam [Buat peran untuk pengguna IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dalam *Panduan Pengguna IAM*.
  + (Tidak disarankan) Lampirkan kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti petunjuk dalam [Menambahkan izin ke pengguna (konsol)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

### Tetapkan izin pada bucket S3 untuk ekspor lintas akun (CLI)
<a name="S3Permissions-CLI-crossaccount"></a>

Secara default, semua bucket dan objek S3 bersifat pribadi. Hanya pemilik sumber daya, akun yang membuat bucket, yang dapat mengakses bucket dan objek yang ada di dalamnya. Namun, pemilik sumber daya dapat memilih untuk memberikan izin akses kepada sumber daya dan pengguna lain dengan menulis kebijakan akses.

**penting**  
Untuk membuat ekspor ke bucket S3 lebih aman, kami sekarang meminta Anda untuk menentukan daftar akun sumber yang diizinkan untuk mengekspor data log ke bucket S3 Anda.   
Dalam contoh berikut, daftar akun IDs dalam `aws:SourceAccount` kunci akan menjadi akun dari mana pengguna dapat mengekspor data log ke bucket S3 Anda. `aws:SourceArn`Kuncinya adalah sumber daya tempat tindakan diambil. Anda dapat membatasi ini ke grup log tertentu, atau menggunakan wildcard seperti yang ditunjukkan dalam contoh ini.  
Kami menyarankan Anda juga menyertakan ID akun akun tempat bucket S3 dibuat, untuk memungkinkan ekspor dalam akun yang sama.

**Untuk menyetel izin pada bucket S3**

1. Buat file bernama `policy.json` dan tambahkan kebijakan akses berikut, ubah `amzn-s3-demo-bucket` nama bucket S3 tujuan Anda, `Principal` ke titik akhir Wilayah tempat Anda mengekspor data log, seperti. `us-west-1` Gunakan editor teks untuk membuat file kebijakan ini. Jangan gunakan konsol IAM.

------
#### [ 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. Tetapkan kebijakan yang baru saja ditambahkan sebagai kebijakan akses di bucket Anda dengan menggunakan [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html)perintah. Kebijakan ini memungkinkan CloudWatch Log untuk mengekspor data log ke bucket S3 Anda. Pemilik bucket akan memiliki izin penuh atas semua objek yang diekspor.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   ```
**Awas**  
Jika bucket yang ada sudah memiliki satu atau beberapa kebijakan yang dilampirkan padanya, tambahkan pernyataan untuk akses CloudWatch Log ke kebijakan atau kebijakan tersebut. Sebaiknya Anda mengevaluasi hasil rangkaian izin untuk memastikan bahwa itu sesuai untuk pengguna yang akan mengakses bucket.

### (Opsional) Mengekspor ke bucket Amazon S3 tujuan yang dienkripsi dengan SSE-KMS untuk ekspor lintas akun (CLI)
<a name="S3-Export-KMSEncrypted-CLI-crossaccount"></a>

Prosedur ini diperlukan hanya jika Anda mengekspor ke bucket S3 yang menggunakan enkripsi sisi server. AWS KMS keys Enkripsi ini dikenal sebagai SSE-KMS. 

**Untuk mengekspor ke bucket yang dienkripsi dengan SSE-KMS**

1. Gunakan editor teks untuk membuat file bernama `key_policy.json` dan menambahkan kebijakan akses berikut. Saat Anda menambahkan kebijakan, lakukan perubahan berikut:
   + Ganti {{us-east-1}} dengan Wilayah log Anda. 
   + Ganti {{account-ARN}} dengan ARN akun yang memiliki kunci KMS.
   + Ganti {{123456789012}} dengan nomor akun yang memiliki kunci KMS.
   + {{key\_id}}dengan Id kms-key.
   + {{role\_name}}dengan peran yang digunakan untuk membuat tugas ekspor.

------
#### [ 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. Masukkan perintah berikut:

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

   Berikut ini adalah contoh output dari perintah ini:

   ```
   {
       "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. Gunakan editor teks untuk membuat file yang disebut `bucketencryption.json` dengan konten berikut.

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

1. Masukkan perintah berikut, ganti {{amzn-s3-demo-bucket}} dengan nama bucket tempat Anda mengekspor log.

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

   Jika perintah tidak mengembalikan kesalahan, prosesnya berhasil.

### Buat tugas ekspor untuk ekspor lintas akun (CLI)
<a name="CreateExportTask-CLI-crossaccount"></a>

Gunakan perintah berikut untuk membuat tugas ekspor. Setelah Anda membuatnya, tugas ekspor mungkin memakan waktu mulai dari beberapa detik hingga beberapa jam, tergantung pada ukuran data yang akan diekspor.

**Untuk mengekspor data ke Amazon S3 menggunakan AWS CLI**

1. Masuk dengan izin yang memadai seperti yang didokumentasikan[Mengatur izin akses (CLI)](#CreateIAMUser-With-S3-Access-CLI).

1. Pada prompt perintah, gunakan [create-export-task](https://docs.aws.amazon.com/cli/latest/reference/logs/create-export-task.html)perintah berikut untuk membuat tugas ekspor.

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

   Berikut ini adalah output contoh.

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