View a markdown version of this page

Mengkonfigurasi tujuan S3 untuk kueri terjadwal - CloudWatch Log Amazon

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

Mengkonfigurasi tujuan S3 untuk kueri terjadwal

Konfigurasikan Amazon S3 sebagai tujuan untuk menyimpan hasil kueri terjadwal Anda sebagai file JSON untuk retensi dan analisis jangka panjang.

Saat menggunakan Amazon S3 sebagai tujuan, hasil kueri disimpan sebagai file JSON di bucket dan awalan yang ditentukan. Opsi ini sangat ideal untuk pengarsipan hasil, melakukan analisis batch, atau mengintegrasikan dengan AWS layanan lain yang memproses data S3.

Anda dapat mengirimkan hasil kueri ke bucket Amazon S3 di AWS akun yang sama dengan kueri terjadwal atau ke bucket di akun lain AWS . Anda juga dapat mengenkripsi hasil kueri secara opsional menggunakan AWS KMS kunci terkelola pelanggan (SSE-KMS).

Memberikan hasil ke bucket Amazon S3 di akun yang sama

Jika bucket Amazon S3 tujuan berada di AWS akun yang sama dengan kueri terjadwal, Anda dapat menelusuri dan memilih bucket langsung dari konsol.

Untuk mengonfigurasi tujuan Amazon S3 akun yang sama (konsol)
  1. Di bagian Posting hasil kueri ke S3, untuk bucket S3, pilih Akun ini.

  2. Untuk URI Amazon S3, masukkan bucket Amazon S3 dan awalan tempat hasil akan disimpan (misalnyas3://my-bucket/query-results/,), atau pilih Jelajahi Amazon S3 untuk menavigasi dan memilih lokasi Amazon S3 yang ada.

  3. (Opsional) Untuk mengenkripsi hasil dengan AWS KMS kunci yang dikelola pelanggan, masukkan ARN kunci di bidang AWS KMS ARN kunci KMS. Kuncinya harus berada di AWS Wilayah yang sama dengan bucket Amazon S3 tujuan. Jika Anda tidak menentukan AWS KMS kunci, setelan enkripsi default bucket akan berlaku.

  4. Di peran IAM untuk memposting hasil kueri ke Amazon S3, pilih Buat otomatis peran baru dengan izin default untuk secara otomatis menyiapkan izin yang diperlukan, atau pilih Gunakan peran yang ada untuk memilih peran IAM yang ada dengan kebijakan yang diperlukan.

Peran IAM pengiriman tujuan memerlukan izin berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket/prefix/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } } ] }

Memberikan hasil ke bucket Amazon S3 di akun lain

Anda dapat mengirimkan hasil kueri terjadwal ke bucket Amazon S3 di akun lain AWS . Saat menggunakan bucket lintas akun, Anda harus memberikan URI Amazon S3 dan ID akun akun pemilik ember.

Untuk mengonfigurasi tujuan Amazon S3 lintas akun (konsol)
  1. Di bagian Posting hasil kueri ke S3, untuk bucket S3, pilih Akun lain dan berikan ID akun akun pemilik ember sebagai input.

  2. Untuk URI Amazon S3, masukkan URI Amazon S3 lengkap dari bucket tujuan dan awalan di akun lain (misalnya,). s3://cross-account-bucket/query-results/

  3. (Opsional) Untuk mengenkripsi hasil dengan AWS KMS kunci yang dikelola pelanggan, masukkan ARN kunci di bidang AWS KMS ARN kunci KMS. Kuncinya harus berada di AWS Wilayah yang sama dengan bucket Amazon S3 tujuan.

  4. Di peran IAM untuk memposting hasil kueri ke Amazon S3, pilih Buat otomatis peran baru dengan izin default untuk secara otomatis menyiapkan izin yang diperlukan, atau pilih Gunakan peran yang ada untuk memilih peran IAM yang ada dengan kebijakan yang diperlukan.

Pengiriman lintas akun memerlukan izin di kedua sisi. Peran IAM pengiriman tujuan di akun sumber memerlukan izin berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::cross-account-bucket/prefix/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } } ] }

Kebijakan bucket Amazon S3 di akun tujuan harus memberikan izin peran IAM akun sumber untuk menulis objek:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowScheduledQueryRolePutObject", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/my-s3-delivery-role" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::cross-account-bucket/prefix/*" } ] }

Mengenkripsi hasil dengan kunci yang dikelola pelanggan AWS KMS

Anda dapat menentukan AWS KMS kunci terkelola pelanggan secara opsional untuk mengenkripsi hasil kueri yang dikirimkan ke Amazon S3 menggunakan SSE-KMS. AWS KMS Kuncinya bisa di akun yang sama dengan kueri terjadwal atau di akun yang berbeda.

Saat Anda menentukan AWS KMS kunci, kueri terjadwal menggunakan kunci tersebut untuk mengenkripsi hasil melalui SSE-KMS. Jika Anda tidak menentukan AWS KMS kunci, setelan enkripsi default bucket akan berlaku. Jika bucket dikonfigurasi dengan enkripsi SSE-KMS default menggunakan kunci terkelola pelanggan, peran IAM pengiriman tujuan harus tetap memiliki kms:GenerateDataKey izin pada kunci tersebut.

Peran IAM pengiriman tujuan memerlukan kms:GenerateDataKey izin pada AWS KMS kunci. Contoh berikut menunjukkan izin yang diperlukan untuk tujuan Amazon S3 dengan kunci yang dikelola pelanggan AWS KMS :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket/prefix/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } }, { "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id", "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::my-bucket*" } } } ] }

Jika AWS KMS kunci berada di akun yang berbeda dari peran IAM pengiriman tujuan, kebijakan AWS KMS kunci di akun pemilik kunci harus secara eksplisit memberikan akses peran:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowScheduledQueryRoleToEncrypt", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/my-s3-delivery-role" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::my-bucket*" } } } ] }
catatan

Ketika peran IAM AWS KMS kunci dan pengiriman tujuan berada di akun yang sama, kebijakan identitas IAM saja sudah cukup jika kebijakan AWS KMS kunci menyertakan pernyataan root “Aktifkan kebijakan IAM” default. Pemberian kebijakan AWS KMS kunci eksplisit hanya diperlukan jika kebijakan kunci tidak didelegasikan ke IAM.

Peran IAM untuk memposting hasil kueri ke Amazon S3 harus dikonfigurasi secara terpisah dari peran IAM untuk eksekusi kueri terjadwal. Pemisahan ini memungkinkan kontrol akses berbutir halus, di mana peran eksekusi dapat menjalankan kueri sementara peran Amazon S3 secara khusus menangani pengiriman hasil. Kedua peran harus menyertakan kebijakan kepercayaan yang memungkinkan layanan CloudWatch Log (logs.amazonaws.com) untuk mengambil peran.