Mencegah akses bucket Amazon S3 lintas lingkungan - AWS Elastic Beanstalk

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

Mencegah akses bucket Amazon S3 lintas lingkungan

Topik ini menjelaskan bagaimana kebijakan terkelola memungkinkan akses bucket S3 lintas lingkungan dan cara membuat kebijakan khusus untuk mengelola jenis akses ini.

Elastic Beanstalk menyediakan kebijakan terkelola untuk AWS menangani sumber daya yang dibutuhkan oleh lingkungan Elastic Beanstalk di akun Anda. AWS Izin yang diberikan secara default ke satu aplikasi di AWS akun Anda memiliki akses ke sumber daya S3 milik aplikasi lain di akun yang sama AWS .

Jika AWS akun Anda menjalankan beberapa aplikasi Beanstalk, Anda dapat mengurangi keamanan kebijakan Anda dengan membuat kebijakan kustom Anda sendiri untuk dilampirkan ke peran layanan atau profil instans Anda sendiri untuk setiap lingkungan. Anda kemudian dapat membatasi izin S3 dalam kebijakan kustom Anda ke lingkungan tertentu.

catatan

Ketahuilah bahwa Anda bertanggung jawab untuk menjaga kebijakan kustom Anda. Jika kebijakan terkelola Elastic Beanstalk yang menjadi dasar kebijakan kustom Anda berubah, Anda harus mengubah kebijakan kustom Anda dengan perubahan masing-masing pada kebijakan dasar. Untuk riwayat perubahan kebijakan terkelola Elastic Beanstalk, lihat. Elastic Beanstalk memperbarui kebijakan terkelola AWS

Contoh izin cakupan bawah

Contoh berikut didasarkan pada kebijakan yang AWSElasticBeanstalkWebTierdikelola.

Kebijakan default menyertakan baris berikut untuk izin ke bucket S3. Kebijakan default ini tidak membatasi tindakan bucket S3 ke lingkungan atau aplikasi tertentu.

{ "Sid" : "BucketAccess", "Action" : [ "s3:Get*", "s3:List*", "s3:PutObject" ], "Effect" : "Allow", "Resource" : [ "arn:aws:s3:::elasticbeanstalk-*", "arn:aws:s3:::elasticbeanstalk-*/*" ] }

Anda dapat mengurangi akses dengan mengkualifikasi sumber daya tertentu ke peran layanan yang ditentukan sebagaiPrincipal. Contoh berikut memberikan aws-elasticbeanstalk-ec2-role-my-example-env izin peran layanan kustom ke bucket S3 di lingkungan dengan id. my-example-env-ID

contoh Berikan izin hanya untuk bucket S3 lingkungan tertentu
{ "Sid": "BucketAccess", "Action": [ "s3:Get*", "s3:List*", "s3:PutObject" ], "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::...:role/aws-elasticbeanstalk-ec2-role-my-example-env" }, "Resource": [ "arn:aws:s3:::elasticbeanstalk-my-region-account-id-12345", "arn:aws:s3:::elasticbeanstalk-my-region-account-id-12345/resources/environments/my-example-env-ID/*" ] }
catatan

Sumber daya ARN harus menyertakan ID lingkungan Elastic Beanstalk, (bukan nama lingkungan). Anda dapat memperoleh id lingkungan dari konsol Elastic Beanstalk di halaman ikhtisar Lingkungan. Anda juga dapat menggunakan AWS CLI perintah deskripsi-lingkungan untuk mendapatkan informasi ini.

Untuk informasi selengkapnya guna membantu Anda memperbarui izin bucket S3 untuk lingkungan Elastic Beanstalk, lihat sumber daya berikut: