Kebijakan bucket Amazon S3 untuk CloudTrail - AWS CloudTrail

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

Kebijakan bucket Amazon S3 untuk CloudTrail

Secara default, ember dan objek Amazon S3 bersifat pribadi. Hanya pemilik sumber daya ( AWS akun yang membuat bucket) yang dapat mengakses bucket dan objek yang dikandungnya. Pemilik sumber daya dapat memberikan izin akses ke sumber daya dan pengguna lain dengan menulis kebijakan akses.

Untuk membuat atau memodifikasi bucket Amazon S3 agar menerima file log untuk jejak organisasi, Anda harus mengubah kebijakan bucket. Untuk informasi selengkapnya, lihat Membuat jejak untuk organisasi dengan AWS CLI.

Untuk mengirimkan file log ke bucket S3, CloudTrail harus memiliki izin yang diperlukan, dan tidak dapat dikonfigurasi sebagai bucket Requester Pays.

CloudTrail menambahkan bidang berikut dalam kebijakan untuk Anda:

  • SID yang diizinkan

  • Nama ember

  • Nama utama layanan untuk CloudTrail

  • Nama folder tempat file log disimpan, termasuk nama bucket, awalan (jika Anda menentukan satu), dan ID AWS akun Anda

Sebagai praktik terbaik keamanan, tambahkan kunci aws:SourceArn kondisi ke kebijakan bucket Amazon S3. Kunci kondisi global IAM aws:SourceArn membantu memastikan bahwa CloudTrail menulis ke bucket S3 hanya untuk jejak atau jalur tertentu. Nilai aws:SourceArn selalu ARN dari trail (atau array trail ARN) yang menggunakan bucket untuk menyimpan log. Pastikan untuk menambahkan kunci aws:SourceArn kondisi ke kebijakan bucket S3 untuk jalur yang ada.

Kebijakan berikut memungkinkan CloudTrail untuk menulis file log ke bucket dari yang didukung Wilayah AWS. Ganti DOC-EXAMPLE-BUCKET, [optionalPrefix]/, myAccountID, region, dan trailName dengan nilai yang sesuai untuk konfigurasi Anda.

Kebijakan bucket S3

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/[optionalPrefix]/AWSLogs/myAccountID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } } ] }

Untuk informasi lebih lanjut tentang Wilayah AWS, lihatCloudTrail Daerah yang didukung.

Menentukan bucket yang ada untuk pengiriman CloudTrail log

Jika Anda menetapkan bucket S3 yang ada sebagai lokasi penyimpanan untuk pengiriman file log, Anda harus melampirkan kebijakan ke bucket yang memungkinkan CloudTrail untuk menulis ke bucket.

catatan

Sebagai praktik terbaik, gunakan bucket S3 khusus untuk CloudTrail log.

Untuk menambahkan CloudTrail kebijakan yang diperlukan ke bucket Amazon S3
  1. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Pilih bucket tempat Anda CloudTrail ingin mengirimkan file log, lalu pilih Izin.

  3. Pilih Edit.

  4. Salin S3 bucket policy ke jendela Bucket Policy Editor. Ganti placeholder dalam huruf miring dengan nama bucket, awalan, dan nomor akun Anda. Jika Anda menentukan awalan ketika Anda membuat jejak Anda, sertakan di sini. Awalan adalah tambahan opsional untuk kunci objek S3 yang membuat organisasi seperti folder di bucket Anda.

    catatan

    Jika bucket yang ada sudah memiliki satu atau beberapa kebijakan yang dilampirkan, tambahkan pernyataan untuk CloudTrail akses ke kebijakan atau kebijakan tersebut. Evaluasi kumpulan izin yang dihasilkan untuk memastikan bahwa izin tersebut sesuai untuk pengguna yang akan mengakses bucket.

Menerima file log dari akun lain

Anda dapat mengonfigurasi CloudTrail untuk mengirimkan file log dari beberapa AWS akun ke satu bucket S3. Untuk informasi selengkapnya, lihat Menerima file CloudTrail log dari beberapa akun.

Membuat atau memperbarui bucket Amazon S3 yang akan digunakan untuk menyimpan file log untuk jejak organisasi

Anda harus menentukan bucket Amazon S3 untuk menerima file log untuk jejak organisasi. Bucket ini harus memiliki kebijakan yang memungkinkan CloudTrail untuk menempatkan file log untuk organisasi ke dalam bucket.

Berikut ini adalah contoh kebijakan untuk bucket Amazon S3 bernama DOC-EXAMPLE-BUCKET, yang dimiliki oleh akun manajemen organisasi. Ganti DOC-EXAMPLE-BUCKET, region, ManagementAccountID, trailName, dan O-OrganizationId dengan nilai untuk organisasi Anda

Kebijakan bucket ini berisi tiga pernyataan.

  • Pernyataan pertama memungkinkan CloudTrail untuk memanggil GetBucketAcl tindakan Amazon S3 di ember Amazon S3.

  • Pernyataan kedua memungkinkan pencatatan jika jejak diubah dari jejak organisasi menjadi jejak untuk akun itu saja.

  • Pernyataan ketiga memungkinkan pencatatan untuk jejak organisasi.

Kebijakan contoh menyertakan kunci aws:SourceArn kondisi untuk kebijakan bucket Amazon S3. Kunci kondisi global IAM aws:SourceArn membantu memastikan bahwa CloudTrail menulis ke bucket S3 hanya untuk jejak atau jalur tertentu. Dalam jejak organisasi, nilai aws:SourceArn harus berupa jejak ARN yang dimiliki oleh akun manajemen, dan menggunakan ID akun manajemen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:managementAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/AWSLogs/managementAccountID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:managementAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailOrganizationWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/AWSLogs/o-organizationID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:managementAccountID:trail/trailName" } } } ] }

Kebijakan contoh ini tidak mengizinkan pengguna dari akun anggota untuk mengakses file log yang dibuat untuk organisasi. Secara default, file log organisasi hanya dapat diakses oleh akun manajemen. Untuk informasi tentang cara mengizinkan akses baca ke bucket Amazon S3 untuk pengguna IAM di akun anggota, lihat. Berbagi file CloudTrail log antar AWS akun

Memecahkan masalah kebijakan bucket Amazon S3

Bagian berikut menjelaskan cara memecahkan masalah kebijakan bucket S3.

Kesalahan konfigurasi kebijakan Amazon S3 yang umum

Saat Anda membuat bucket baru sebagai bagian dari membuat atau memperbarui jejak, CloudTrail lampirkan izin yang diperlukan ke bucket Anda. Kebijakan bucket menggunakan nama utama layanan"cloudtrail.amazonaws.com", yang memungkinkan CloudTrail pengiriman log untuk semua Wilayah.

Jika CloudTrail tidak mengirimkan log untuk Wilayah, kemungkinan bucket Anda memiliki kebijakan lama yang menentukan ID CloudTrail akun untuk setiap Wilayah. Kebijakan ini memberikan CloudTrail izin untuk mengirimkan log hanya untuk Wilayah yang ditentukan.

Sebagai praktik terbaik, perbarui kebijakan untuk menggunakan izin dengan kepala CloudTrail layanan. Untuk melakukan ini, ganti ARN ID akun dengan nama utama layanan:"cloudtrail.amazonaws.com". Ini memberikan CloudTrail izin untuk mengirimkan log untuk Wilayah saat ini dan yang baru. Sebagai praktik terbaik keamanan, tambahkan kunci aws:SourceArn atau aws:SourceAccount kondisi ke kebijakan bucket Amazon S3. Ini membantu mencegah akses akun yang tidak sah ke bucket S3 Anda. Jika Anda memiliki jalur yang ada, pastikan untuk menambahkan satu atau lebih kunci kondisi. Contoh berikut menunjukkan konfigurasi kebijakan yang direkomendasikan. Ganti DOC-EXAMPLE-BUCKET, [optionalPrefix]/, myAccountID, region, dan trailName dengan nilai yang sesuai untuk konfigurasi Anda.

contoh Contoh kebijakan bucket dengan nama utama layanan
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/[optionalPrefix]/AWSLogs/myAccountID/*", "Condition": {"StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } } ] }

Mengubah awalan untuk bucket yang ada

Jika Anda mencoba menambahkan, memodifikasi, atau menghapus awalan file log untuk bucket S3 yang menerima log dari jejak, Anda mungkin melihat kesalahan: Ada masalah dengan kebijakan bucket. Kebijakan bucket dengan awalan yang salah dapat mencegah jejak Anda mengirimkan log ke bucket. Untuk mengatasi masalah ini, gunakan konsol Amazon S3 untuk memperbarui awalan dalam kebijakan bucket, lalu gunakan CloudTrail konsol untuk menentukan awalan yang sama untuk bucket di trail.

Untuk memperbarui awalan file log untuk bucket Amazon S3
  1. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Pilih bucket yang ingin Anda ubah awalan, lalu pilih Izin.

  3. Pilih Edit.

  4. Dalam kebijakan bucket, di bawah s3:PutObject tindakan, edit Resource entri untuk menambah, memodifikasi, atau menghapus awalan file log/ sesuai kebutuhan.

    "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/prefix/AWSLogs/myAccountID/*",
  5. Pilih Simpan.

  6. Buka CloudTrail konsol di https://console.aws.amazon.com/cloudtrail/.

  7. Pilih jejak Anda dan untuk lokasi Penyimpanan, klik ikon pensil untuk mengedit pengaturan bucket Anda.

  8. Untuk bucket S3, pilih bucket dengan awalan yang Anda ubah.

  9. Untuk awalan file Log, perbarui awalan agar sesuai dengan awalan yang Anda masukkan dalam kebijakan bucket.

  10. Pilih Simpan.

Sumber daya tambahan

Untuk informasi selengkapnya tentang bucket dan kebijakan S3, lihat Menggunakan kebijakan bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.