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 adalah tentang menyiapkan Bucket Amazon S3 untuk AWS Config saluran pengiriman. Halaman ini bukan tentang jenis AWS::S3::Bucket sumber daya yang AWS Config perekam konfigurasi dapat merekam. Untuk informasi lebih lanjut tentang AWS Config saluran pengiriman, lihat Mengelola Saluran Pengiriman.

Semua objek dan bucket Amazon S3 secara default bersifat privat. Hanya pemilik sumber daya yang Akun AWS yang membuat ember dapat mengakses ember 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 Anda), izin ini secara otomatis ditambahkan 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 mengirimkan informasi konfigurasi (file riwayat dan snapshot) ke bucket Amazon S3 di akun Anda, ini mengasumsikan peran yang Anda tetapkan IAM saat Anda menyiapkan AWS Config. Kapan AWS Config mengirimkan informasi konfigurasi ke bucket Amazon S3 di akun lain, pertama kali 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 mengirimkan informasi lagi, kali ini sebagai AWS Config kepala 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 diberikan AWS Config akses ke bucket Amazon S3.

Sebelum AWS Config dapat mengirimkan log ke bucket Amazon S3 Anda AWS Config memeriksa apakah ember itu ada dan di mana AWS wilayah ember 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 melihat AccessDenied kesalahan di 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

Bagian AWS Config peran 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 AWS Config prinsipal layanan sebagai gantinya. 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 diberikan AWS Config akses ke bucket Amazon S3.

Pemberian 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 AWS Management Console menggunakan akun yang memiliki bucket S3.

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

  3. Pilih ember yang Anda inginkan AWS Config untuk digunakan untuk mengirimkan item konfigurasi, dan kemudian pilih Properties.

  4. Pilih Izin.

  5. Pilih Edit Kebijakan Bucket.

  6. Salin kebijakan berikut ke jendela Bucket Policy Editor:

    penting

    Sebagai praktik terbaik keamanan 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:::amzn-s3-demo-bucket", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } }, { "Sid": "AWSConfigBucketExistenceCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } }, { "Sid": "AWSConfigBucketDelivery", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/[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, bukan AWS Config service principal name (SPN), pastikan bahwa IAM peran Anda memiliki PutObjectACL izin pada bucket lintas akun untuk menghindari kesalahan izin yang tidak mencukupi. Lihat contoh kebijakan IAM peran di IAMKebijakan Peran untuk Bucket S3 Anda.

  7. Ganti nilai berikut dalam kebijakan bucket:

    • amzn-s3-demo-bucket — Nama ember 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 ember 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 mengatur 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 menggunakannya AWS Organizations kondisi kunci sepertiAWS: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 untuk AWS Organizations, lihat Mengelola izin akses untuk AWS organisasi.

AWS Config juga mendukung AWS:SourceArn kondisi yang membatasi prinsip layanan Config untuk hanya berinteraksi dengan bucket Amazon S3 saat melakukan operasi atas nama tertentu AWS Config saluran pengiriman. Saat menggunakan AWS Config prinsipal 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 lebih lanjut tentang AWS Config saluran 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:*"}