Izin untuk Bucket Amazon S3 untuk AWS Config Saluran Pengiriman - AWS Config

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

Izin untuk Bucket Amazon S3 untuk AWS Config Saluran Pengiriman

penting

Halaman ini berisi tentang menyiapkan Amazon S3 Bucket untuk saluran AWS Config pengiriman. Halaman ini bukan tentang jenis AWS::S3::Bucket sumber daya yang dapat direkam oleh perekam AWS Config konfigurasi. Untuk informasi selengkapnya tentang saluran AWS Config pengiriman, lihat Mengelola Saluran Pengiriman.

Semua objek dan bucket Amazon S3 secara default bersifat privat. Hanya pemilik sumber daya Akun AWS yang membuat bucket yang dapat mengakses bucket itu. Namun, pemilik sumber daya dapat memilih untuk memberikan izin akses ke sumber daya dan pengguna lain. Salah satu cara untuk melakukannya adalah dengan menulis kebijakan akses.

Jika AWS Config membuat bucket Amazon S3 untuk Anda secara otomatis (misalnya, jika Anda menggunakan AWS Config konsol untuk mengatur saluran pengiriman), izin ini akan ditambahkan secara otomatis ke bucket Amazon S3. Namun, jika Anda menentukan bucket Amazon S3 yang sudah ada, Anda harus memastikan bahwa bucket S3 memiliki izin yang benar.

catatan

Objek tidak mewarisi izin dari bucketnya. Misalnya, jika Anda membuat bucket dan memberikan akses tertulis kepada pengguna, Anda tidak dapat mengakses objek pengguna tersebut kecuali jika pengguna memberikan Anda akses secara eksplisit.

Izin yang Diperlukan untuk Bucket Amazon S3 Saat Menggunakan Peran IAM

Saat AWS Config mengirim informasi konfigurasi (file riwayat dan snapshot) ke bucket Amazon S3 di akun Anda, ini akan mengasumsikan IAM peran yang Anda tetapkan saat Anda menyiapkan. AWS Config Saat AWS Config mengirim informasi konfigurasi ke bucket Amazon S3 di akun lain, pertama-tama ia mencoba menggunakan IAM peran tersebut, tetapi upaya ini gagal jika kebijakan akses untuk bucket tidak memberikan WRITE akses ke peran tersebutIAM. Dalam acara ini, AWS Config kirimkan informasi lagi, kali ini sebagai kepala AWS Config layanan. Sebelum pengiriman berhasil, kebijakan akses harus memberikan WRITE akses ke nama config.amazonaws.com utama. AWS Config kemudian pemilik objek yang dikirimkannya ke ember S3. Anda harus melampirkan kebijakan akses, yang disebutkan pada langkah 6 di bawah ini ke bucket Amazon S3 di akun lain untuk memberikan AWS Config akses ke bucket Amazon S3.

Sebelumnya AWS Config dapat mengirimkan log ke bucket Amazon S3 Anda AWS Config memeriksa apakah bucket ada dan di AWS wilayah mana bucket berada. AWS Config mencoba memanggil Amazon S3 HeadBucketAPIuntuk memeriksa apakah bucket ada dan untuk mendapatkan wilayah bucket. Jika izin tidak diberikan untuk menemukan bucket saat pemeriksaan lokasi dilakukan, Anda akan melihat AccessDenied kesalahan dalam AWS CloudTrail log. Namun, pengiriman log ke bucket Amazon S3 berhasil jika Anda tidak memberikan izin lokasi bucket.

catatan

Untuk mengizinkan izin Amazon S3 HeadBucketAPI, berikan izin untuk melakukan s3:ListBucket tindakan sebagai SidAWSConfigBucketExistenceCheck, yang disebutkan pada langkah 6 di bawah ini.

Izin yang Diperlukan untuk Bucket Amazon S3 Saat Menggunakan Peran Tertaut Layanan

Peran AWS Config terkait layanan tidak memiliki izin untuk menempatkan objek ke bucket Amazon S3. Jadi, jika Anda mengatur AWS Config menggunakan peran terkait layanan, AWS Config akan mengirim item konfigurasi sebagai prinsipal AWS Config layanan. Anda harus melampirkan kebijakan akses, yang disebutkan pada langkah 6 di bawah ini, ke bucket Amazon S3 di akun Anda sendiri atau akun lain untuk memberikan AWS Config akses ke bucket Amazon S3.

Memberikan AWS Config akses ke Amazon S3 Bucket

Ikuti langkah-langkah berikut untuk menambahkan kebijakan akses ke bucket Amazon S3 di akun Anda sendiri atau akun lain. Kebijakan akses memungkinkan AWS Config untuk mengirim informasi konfigurasi ke bucket Amazon S3.

  1. Masuk ke akun AWS Management Console menggunakan akun yang memiliki bucket S3.

  2. Buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  3. Pilih bucket yang ingin Anda gunakan AWS Config untuk mengirimkan item konfigurasi, lalu pilih Properties.

  4. Pilih Izin.

  5. Pilih Edit Kebijakan Bucket.

  6. Salin kebijakan berikut ke jendela Bucket Policy Editor:

    penting

    Sebagai praktik keamanan terbaik saat mengizinkan AWS Config akses ke bucket Amazon S3, kami sangat menyarankan Anda membatasi akses dalam kebijakan bucket dengan kondisi tersebut. AWS:SourceAccount Jika kebijakan bucket Anda yang ada tidak mengikuti praktik terbaik keamanan ini, kami sangat menyarankan Anda mengedit kebijakan bucket tersebut untuk menyertakan perlindungan ini. Ini memastikan bahwa AWS Config diberikan akses hanya atas nama pengguna yang diharapkan.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AWSConfigBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::targetBucketName", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } }, { "Sid": "AWSConfigBucketExistenceCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::targetBucketName", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } }, { "Sid": "AWSConfigBucketDelivery", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "AWS:SourceAccount": "sourceAccountID" } } } ] }
    catatan

    Saat memberikan izin untuk IAM peran Anda alih-alih nama utama AWS Config layanan (SPN), pastikan IAM peran Anda memiliki PutObjectACL izin pada bucket lintas akun untuk menghindari kesalahan izin yang tidak memadai. Lihat contoh kebijakan IAM peran di IAMKebijakan Peran untuk Bucket S3 Anda.

  7. Ganti nilai berikut dalam kebijakan bucket:

    • targetBucketName — Nama bucket Amazon S3 yang AWS Config akan mengirimkan item konfigurasi.

    • [optional] prefix — Tambahan opsional untuk kunci objek Amazon S3 yang membantu membuat organisasi seperti folder di bucket.

    • sourceAccountID — ID akun yang AWS Config akan mengirimkan item konfigurasi ke bucket target.

  8. Pilih Simpan dan kemudian Tutup.

Anda dapat menggunakan AWS:SourceAccount kondisi dalam kebijakan bucket Amazon S3 di atas untuk membatasi prinsip layanan Config agar hanya berinteraksi dengan bucket Amazon S3 saat melakukan operasi atas nama akun tertentu. Jika Anda berencana untuk menyiapkan AWS Config di banyak akun dari organisasi yang sama untuk mengirimkan item konfigurasi ke satu bucket Amazon S3, sebaiknya gunakan IAM peran alih-alih peran yang ditautkan layanan sehingga Anda dapat menggunakan kunci AWS Organizations kondisi seperti. AWS:PrincipalOrgID Untuk informasi selengkapnya tentang mengelola izin akses untuk IAM peran yang akan digunakan AWS Config, lihat Izin untuk IAM Peran yang Ditugaskan. AWS Config Untuk informasi selengkapnya tentang mengelola izin akses AWS Organizations, lihat Mengelola izin akses untuk organisasi Anda AWS.

AWS Config juga mendukung AWS:SourceArn kondisi yang membatasi prinsip layanan Config untuk hanya berinteraksi dengan bucket Amazon S3 saat melakukan operasi atas nama saluran pengiriman tertentu. AWS Config Saat menggunakan prinsip AWS Config layanan, AWS:SourceArn properti akan selalu diatur ke arn:aws:config:sourceRegion:sourceAccountID:* mana sourceRegion wilayah saluran pengiriman dan sourceAccountID merupakan ID akun yang berisi saluran pengiriman. Untuk informasi selengkapnya tentang saluran AWS Config pengiriman, lihat Mengelola Saluran Pengiriman. Misalnya, tambahkan kondisi berikut untuk membatasi prinsip layanan Config agar berinteraksi dengan bucket Amazon S3 Anda hanya atas nama saluran pengiriman di wilayah us-east-1 di akun:. 123456789012 "ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"}