Menggunakan kebijakan titik akhir untuk mengontrol akses dengan VPC titik akhir - AWS Elastic Beanstalk

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

Menggunakan kebijakan titik akhir untuk mengontrol akses dengan VPC titik akhir

Topik ini menjelaskan bagaimana Anda dapat melampirkan kebijakan ke VPC titik akhir untuk mengontrol akses ke aplikasi Anda (layanan Anda) dan lingkungan Elastic Beanstalk Anda.

Kebijakan endpoint adalah AWS Identity and Access Management (IAM) kebijakan sumber daya yang mengontrol akses dari titik akhir ke layanan yang ditentukan. Kebijakan titik akhir khusus untuk titik akhir. Ini terpisah dari IAM kebijakan pengguna atau instans apa pun yang mungkin dimiliki lingkungan Anda dan tidak mengganti atau menggantinya.

Secara default, VPC titik akhir memungkinkan akses penuh ke layanan yang terkait dengannya. Saat membuat atau memodifikasi titik akhir, Anda dapat melampirkan kebijakan titik akhir untuk mengontrol akses ke sumber daya tertentu yang terkait dengan layanan. Untuk detail tentang pembuatan dan penggunaan kebijakan VPC titik akhir, lihat Mengontrol akses ke titik VPC akhir menggunakan kebijakan titik akhir di AWS PrivateLink Panduan.

catatan

Saat membuat kebijakan titik akhir yang membatasi, Anda mungkin perlu menambahkan izin khusus ke sumber daya yang diperlukan, sehingga akses ke sumber daya ini tidak diblokir oleh kebijakan titik akhir. Melakukannya memastikan bahwa lingkungan Anda terus menyebar dan berfungsi dengan baik.

Contoh berikut menolak semua pengguna izin untuk mengakhiri lingkungan melalui VPC titik akhir, dan memungkinkan akses penuh ke semua tindakan lainnya.

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "elasticbeanstalk:TerminateEnvironment", "Effect": "Deny", "Resource": "*", "Principal": "*" } ] }

Izin bucket Amazon S3 yang diperlukan untuk kebijakan titik akhir yang membatasi VPC

Jika Anda menambahkan batasan pada kebijakan VPC titik akhir, Anda harus menyertakan izin bucket Amazon S3 tertentu untuk memastikan bahwa lingkungan Anda terus diterapkan dan berfungsi dengan benar. Bagian ini menjelaskan bucket S3 yang diperlukan dan menyertakan contoh kebijakan.

S3 Bucket yang menyimpan aset untuk mengelola platform lingkungan

Layanan Elastic Beanstalk memiliki bucket S3 yang menyimpan aset yang terkait dengan tumpukan solusi (versi platform). Aset ini mencakup file konfigurasi, aplikasi sampel, dan jenis instance yang tersedia. Saat Elastic Beanstalk membuat dan mengelola lingkungan Anda, Elastic Beanstalk akan mengambil informasi yang diperlukan untuk versi platform tertentu dari bucket aset untuk setiap yang sesuai Wilayah AWS.

Ember S3 ARN

arn:aws:s3:::elasticbeanstalk-samples-region

Amazon Linux 2 dan yang lebih baru

  • arn:aws:s3:::elasticbeanstalk-platform-assets-region

    catatan

    Nama bucket mengikuti konvensi yang berbeda untuk BJSwilayah tersebut. String public-beta-cn-north-1 digunakan sebagai pengganti region. Sebagai contoh,arn:aws:s3:::elasticbeanstalk-platform-assets-public-beta-cn-north-1.

Windows Server, Amazon Linux (AMI), Amazon Linux 2 dan yang lebih baru

  • arn:aws:s3:::elasticbeanstalk-env-resources-region

  • arn:aws:s3:::elasticbeanstalk-region

Operasi

GetObject

VPCcontoh kebijakan titik akhir

Contoh berikut menggambarkan cara menyediakan akses ke bucket S3 yang diperlukan untuk operasi Elastic Beanstalk di Wilayah Timur AS (Ohio) (us-east-2). Contoh ini mencantumkan semua bucket untuk platform Amazon Linux dan Windows Server. Perbarui kebijakan Anda untuk hanya menyertakan bucket yang berlaku untuk sistem operasi lingkungan Anda.

penting

Kami menyarankan Anda untuk menghindari menggunakan karakter wildcard (*) di tempat Wilayah tertentu dalam kebijakan ini. Misalnya, gunakan arn:aws:s3:::cloudformation-waitcondition-us-east-2/* dan jangan gunakan arn:aws:s3:::cloudformation-waitcondition-*/*. Menggunakan wildcard dapat menyediakan akses ke bucket S3 yang tidak ingin Anda berikan akses. Jika Anda ingin menggunakan kebijakan untuk lebih dari satu Wilayah, sebaiknya ulangi Statement blok pertama untuk setiap Wilayah.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRequestsToAWSResources", "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": ["s3:GetObject"], "Resource": [ "arn:aws:s3:::elasticbeanstalk-platform-assets-us-east-2/*", "arn:aws:s3:::elasticbeanstalk-env-resources-us-east-2/*", "arn:aws:s3:::elasticbeanstalk-env-resources-us-east-2/*", "arn:aws:s3:::elasticbeanstalk-samples-us-east-2/*" ] } ] }

Bucket S3 dimiliki oleh AWS CloudFormation

Penggunaan Elastic Beanstalk AWS CloudFormation untuk menciptakan sumber daya untuk lingkungan Anda. CloudFormation memiliki ember S3 di masing-masing Wilayah AWS untuk memantau respons terhadap kondisi menunggu.

Layanan seperti Elastic Beanstalk CloudFormation berkomunikasi dengan mengirimkan permintaan ke Amazon S3 yang telah ditetapkan sebelumnya untuk bucket S3 URL yang dimiliki. CloudFormation CloudFormation membuat Amazon URL S3 yang telah ditetapkan sebelumnya menggunakan prinsip layanancloudformation.amazonaws.com.

Untuk informasi lebih rinci, lihat Pertimbangan untuk CloudFormation VPC titik akhir di AWS CloudFormation Panduan Pengguna. Untuk mempelajari selengkapnya tentang presignedURLs, lihat Bekerja dengan presigned URLs di Panduan Pengguna Amazon S3.

Ember S3 ARN

  • arn:aws:s3:::cloudformation-waitcondition-region

    Ketika menggunakan kondisi menunggu, nama region mengandung tanda hubung. Misalnya, us-west-2.

  • arn:aws:s3:::cloudformation-custom-resource-response-region

    Saat menggunakan sumber daya kustom, nama region tidak mengandung tanda hubung. Misalnya, uswest2.

Operasi

GetObject

VPCcontoh kebijakan titik akhir

Contoh berikut menggambarkan cara menyediakan akses ke bucket S3 yang diperlukan untuk operasi Elastic Beanstalk di Wilayah Timur AS (Ohio) (us-east-2).

penting

Kami menyarankan Anda untuk menghindari menggunakan karakter wildcard (*) di tempat Wilayah tertentu dalam kebijakan ini. Misalnya, gunakan arn:aws:s3:::cloudformation-waitcondition-us-east-2/* dan jangan gunakan arn:aws:s3:::cloudformation-waitcondition-*/*. Menggunakan wildcard dapat menyediakan akses ke bucket S3 yang tidak ingin Anda berikan akses. Jika Anda ingin menggunakan kebijakan untuk lebih dari satu Wilayah, sebaiknya ulangi Statement blok pertama untuk setiap Wilayah.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRequestsToCloudFormation", "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": ["s3:GetObject"], "Resource": [ "arn:aws:s3:::cloudformation-waitcondition-us-east-2/*", "arn:aws:s3:::cloudformation-custom-resource-response-us-east-2/*" ] } ] }

S3 Bucket yang dimiliki oleh akun pelanggan untuk menyimpan kode sumber dan item lainnya

Ember ini dimiliki oleh AWS akun pelanggan yang memiliki lingkungan. Ini menyimpan sumber daya yang spesifik untuk lingkungan Anda, seperti kode sumber dan log yang diminta.

Ember S3 ARN

arn:aws:s3:::elasticbeanstalk-region-account-id

Operasi

  • GetObject

  • GetObjectAcl

  • PutObject

  • PutObjectAcl

  • ListBucket

VPCcontoh kebijakan titik akhir

Contoh berikut menggambarkan cara menyediakan akses ke bucket S3 yang diperlukan untuk operasi Elastic Beanstalk di Wilayah Timur AS (Ohio) (us-east-2) dan sebagai contoh AWS id akun 123456789012.

penting

Kami menyarankan Anda untuk menghindari menggunakan karakter wildcard (*) di tempat Wilayah tertentu dalam kebijakan ini. Misalnya, gunakan arn:aws:s3:::cloudformation-waitcondition-us-east-2/* dan jangan gunakan arn:aws:s3:::cloudformation-waitcondition-*/*. Menggunakan wildcard dapat menyediakan akses ke bucket S3 yang tidak ingin Anda berikan akses. Jika Anda ingin menggunakan kebijakan untuk lebih dari satu Wilayah, sebaiknya ulangi Statement blok pertama untuk setiap Wilayah.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRequestsToCustomerItems", "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": ["GetObject", "GetObjectAcl", "PutObject", "PutObjectAcl", "ListBucket" ], "Resource": [ "arn:aws:s3:::elasticbeanstalk-us-east-2-123456789012/*" ] } ] }

Bucket S3 yang dimiliki oleh akun pelanggan untuk mendukung otentikasi registri Docker

Bucket ini hanya berlaku untuk lingkungan berdasarkan platform Docker. Bucket menyimpan file yang digunakan untuk mengautentikasi ke registri Docker pribadi yang berada di bucket S3 yang disediakan oleh pelanggan. Untuk informasi selengkapnya, lihat Menggunakan file Dockerrun.aws.json v3 di bagian platform Docker dari panduan ini.

Ember S3 ARN

ARNBervariasi menurut akun pelanggan.

Bucket S3 ARN memiliki format berikut: arn:aws:s3:::bucket-name

Operasi

GetObject

VPCcontoh kebijakan titik akhir

Contoh berikut menggambarkan cara menyediakan akses ke bucket S3 dengan nama amzn-s3-demo-bucket1.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRequestsToDockerRegistryAuth", "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": ["GetObject"], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ] } ] }

Memperbarui kebijakan VPC titik akhir Anda

Karena VPC titik akhir hanya memiliki satu kebijakan yang dilampirkan, Anda harus menggabungkan semua izin ke dalam satu kebijakan. Contoh berikut memberikan semua contoh sebelumnya digabungkan menjadi satu.

Untuk detail tentang pembuatan dan penggunaan kebijakan VPC titik akhir, lihat Mengontrol akses ke titik VPC akhir menggunakan kebijakan titik akhir di AWS PrivateLink Panduan.

Seperti contoh sebelumnya, contoh berikut menggambarkan cara menyediakan akses ke bucket S3 yang diperlukan untuk operasi Elastic Beanstalk di Wilayah AS Timur (Ohio) (us-east-2). Ini juga termasuk ember dengan contoh AWS id akun 123456789012 dan contoh nama bucket amzn-s3-demo-bucket1.

penting

Kami menyarankan Anda untuk menghindari menggunakan karakter wildcard (*) di tempat Wilayah tertentu dalam kebijakan ini. Misalnya, gunakan arn:aws:s3:::cloudformation-waitcondition-us-east-2/* dan jangan gunakan arn:aws:s3:::cloudformation-waitcondition-*/*. Menggunakan wildcard dapat menyediakan akses ke bucket S3 yang tidak ingin Anda berikan akses. Jika Anda ingin menggunakan kebijakan untuk lebih dari satu Wilayah, sebaiknya ulangi Statement blok pertama untuk setiap Wilayah.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRequestsToAWSResources", "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": ["s3:GetObject"], "Resource": [ "arn:aws:s3:::elasticbeanstalk-platform-assets-us-east-2/*", "arn:aws:s3:::elasticbeanstalk-env-resources-us-east-2/*", "arn:aws:s3:::elasticbeanstalk-env-resources-us-east-2/*", "arn:aws:s3:::elasticbeanstalk-samples-us-east-2/*" ] }, { "Sid": "AllowRequestsToCloudFormation", "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": ["s3:GetObject"], "Resource": [ "arn:aws:s3:::cloudformation-waitcondition-us-east-2/*", "arn:aws:s3:::cloudformation-custom-resource-response-us-east-2/*" ] }, { "Sid": "AllowRequestsToCustomerItems", "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": ["GetObject", "GetObjectAcl", "PutObject", "PutObjectAcl", "ListBucket" ], "Resource": [ "arn:aws:s3:::elasticbeanstalk-us-east-2-123456789012/*" ] }, { "Sid": "AllowRequestsToDockerRegistryAuth", "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": ["GetObject"], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1"" ] } ] }