Contoh kebijakan untuk mengontrol akses ke EC2 konsol Amazon - Amazon Elastic Compute Cloud

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

Contoh kebijakan untuk mengontrol akses ke EC2 konsol Amazon

Anda dapat menggunakan IAM kebijakan untuk memberi pengguna izin yang diperlukan untuk bekerja dengan AmazonEC2. Untuk step-by-step petunjuk arah, lihat Membuat IAM kebijakan di Panduan IAM Pengguna.

Konsol menggunakan API tindakan tambahan untuk fitur-fiturnya, sehingga kebijakan ini mungkin tidak berfungsi seperti yang diharapkan. Misalnya, pengguna yang memiliki izin untuk hanya menggunakan DescribeVolumes API tindakan akan mengalami kesalahan saat mencoba melihat volume di konsol. Bagian ini akan menunjukkan kebijakan-kebijakan yang memungkinkan para pengguna untuk menggunakan bagian tertentu dari konsol. Untuk informasi tambahan tentang membuat kebijakan untuk EC2 konsol Amazon, lihat postingan Blog AWS Keamanan berikut: Memberikan Izin kepada Pengguna untuk Bekerja di EC2 Konsol Amazon.

Contoh berikut menunjukkan pernyataan kebijakan yang dapat Anda gunakan untuk memberikan izin kepada pengguna untuk menggunakan AmazonEC2. Ganti masing-masing user input placeholder dengan informasi Anda sendiri. Kebijakan ini dirancang untuk permintaan yang dibuat menggunakan AWS Management Console. EC2Konsol Amazon mungkin memanggil beberapa API tindakan untuk menampilkan satu sumber daya, dan mungkin tidak jelas sampai pengguna mencoba tugas dan konsol menampilkan kesalahan. Untuk informasi selengkapnya, lihat postingan Blog AWS Keamanan berikut: Memberikan Izin kepada Pengguna untuk Bekerja di EC2 Konsol Amazon.

Untuk membantu Anda mengetahui API tindakan mana yang diperlukan untuk melakukan tugas di konsol, Anda dapat menggunakan layanan yang mencatat panggilan, seperti AWS CloudTrail. Jika kebijakan Anda tidak memberikan izin untuk membuat atau melakukan modifikasi terhadap sumber daya tertentu, maka konsol akan menampilkan pesan berenkode yang memuat informasi diagnostik. Anda dapat memecahkan kode pesan menggunakan DecodeAuthorizationMessageAPItindakan untuk AWS STS, atau decode-authorization-messageperintah di. AWS CLI

Contoh: Akses hanya-baca

Untuk memungkinkan pengguna melihat semua sumber daya di EC2 konsol Amazon, Anda dapat menggunakan kebijakan yang sama seperti contoh berikut:Contoh: Akses hanya-baca. Para pengguna tidak dapat melakukan tindakan apa pun pada sumber daya tersebut atau membuat sumber daya baru, kecuali bila ada pernyataan lain yang memberikan izin kepada mereka untuk melakukan hal itu.

Lihat contoh,AMIs, dan snapshot

Atau, Anda dapat memberikan akses hanya-baca ke subset sumber daya. Untuk melakukan ini, ganti wildcard * dalam ec2:Describe API tindakan dengan ec2:Describe tindakan spesifik untuk setiap sumber daya. Kebijakan berikut memungkinkan pengguna untuk melihat semua instanceAMIs, dan snapshot di konsol AmazonEC2. ec2:DescribeTagsTindakan ini memungkinkan pengguna untuk melihat publikAMIs. Konsol memerlukan informasi penandaan untuk menampilkan publikAMIs; namun, Anda dapat menghapus tindakan ini untuk memungkinkan pengguna hanya melihat pribadiAMIs.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeTags", "ec2:DescribeSnapshots" ], "Resource": "*" } ] }
catatan

EC2ec2:Describe*APITindakan Amazon tidak mendukung izin tingkat sumber daya, sehingga Anda tidak dapat mengontrol sumber daya individu mana yang dapat dilihat pengguna di konsol. Oleh karena itu, wildcard * dibutuhkan dalam elemen Resource pada pernyataan di atas. Untuk informasi selengkapnya tentang EC2 API tindakan Amazon yang dapat ARNs Anda gunakan, lihat Tindakan, sumber daya, dan kunci kondisi untuk Amazon EC2.

Lihat contoh dan metrik CloudWatch

Kebijakan berikut memungkinkan pengguna untuk melihat instans di EC2 konsol Amazon, serta CloudWatch alarm dan metrik di tab Pemantauan halaman Instans. EC2Konsol Amazon menggunakan CloudWatch API untuk menampilkan alarm dan metrik, jadi Anda harus memberi pengguna izin untuk menggunakancloudwatch:DescribeAlarms,,, cloudwatch:DescribeAlarmsForMetric cloudwatch:ListMetricscloudwatch:GetMetricStatistics, dan cloudwatch:GetMetricData tindakan.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmsForMetric", "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics", "cloudwatch:GetMetricData" ], "Resource": "*" } ] }

Contoh: Gunakan wizard instance EC2 peluncuran

Wizard instance EC2 peluncuran Amazon adalah layar dengan opsi untuk mengonfigurasi dan meluncurkan instance. Kebijakan Anda harus menyertakan izin untuk menggunakan API tindakan yang memungkinkan pengguna bekerja dengan opsi wizard. Jika kebijakan Anda tidak menyertakan izin untuk menggunakan tindakan tersebut, beberapa item dalam pemandu tidak akan dapat dimuat dengan benar, dan pengguna tidak akan dapat menyelesaikan peluncuran.

Akses wizard peluncuran instans dasar

Agar berhasil menyelesaikan peluncuran, pengguna harus diberi izin untuk menggunakan ec2:RunInstances API tindakan, dan setidaknya API tindakan berikut:

  • ec2:DescribeImages: Untuk melihat dan memilihAMI.

  • ec2:DescribeInstanceTypes: Untuk menampilkan dan memilih tipe instans.

  • ec2:DescribeVpcs: Untuk menampilkan opsi-opsi jaringan yang tersedia.

  • ec2:DescribeSubnets: Untuk melihat semua subnet yang tersedia untuk yang dipilihVPC.

  • ec2:DescribeSecurityGroups atau ec2:CreateSecurityGroup: Untuk menampilkan dan memilih grup keamanan yang sudah ada, atau untuk membuat grup keamanan yang baru.

  • ec2:DescribeKeyPairs atau ec2:CreateKeyPair: Untuk memilih pasangan kunci yang sudah ada, atau untuk membuat pasangan kunci yang baru.

  • ec2:AuthorizeSecurityGroupIngress: Untuk menambahkan aturan ke dalam.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeInstanceTypes", "ec2:DescribeKeyPairs", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateKeyPair" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "*" } ] }

Anda dapat menambahkan API tindakan ke kebijakan Anda untuk memberikan lebih banyak opsi bagi pengguna, misalnya:

  • ec2:DescribeAvailabilityZones: Untuk menampilkan dan memilih Zona Ketersediaan tertentu.

  • ec2:DescribeNetworkInterfaces: Untuk menampilkan dan memilih antarmuka jaringan yang sudah ada untuk subnet yang dipilih.

  • Untuk menambahkan aturan keluar ke grup VPC keamanan, pengguna harus diberikan izin untuk menggunakan ec2:AuthorizeSecurityGroupEgress API tindakan tersebut. Untuk mengubah atau menghapus aturan yang ada, pengguna harus diberikan izin untuk menggunakan ec2:RevokeSecurityGroup* API tindakan yang relevan.

  • ec2:CreateTags: Untuk memberikan tanda pada sumber daya yang dibuat oleh RunInstances. Untuk informasi selengkapnya, lihat Berikan izin untuk menandai EC2 sumber daya Amazon selama pembuatan. Jika pengguna tidak memiliki izin untuk menggunakan tindakan ini dan mereka berusaha untuk menerapkan tanda di halaman penandaan wizard peluncuran instans, maka peluncuran akan gagal.

    penting

    Menentukan Nama saat meluncurkan instans membuat tanda dan memerlukan tindakan ec2:CreateTags. Anda harus berhati-hati dalam memberikan izin kepada para pengguna untuk menggunakan tindakan ec2:CreateTags, karena tindakan itu akan membatasi kemampuan Anda untuk menggunakan kunci syarat aws:ResourceTag untuk membatasi penggunaan sumber daya yang lain. Jika Anda memberikan izin kepada para pengguna untuk menggunakan tindakan ec2:CreateTags, mereka dapat mengubah tanda dari sumber daya untuk menembus pembatasan-pembatasan tersebut. Untuk informasi selengkapnya, lihat Kontrol akses menggunakan akses berbasis atribut.

  • Untuk menggunakan parameter Systems Manager saat memilihAMI, Anda harus menambahkan ssm:DescribeParameters dan ssm:GetParameters ke kebijakan Anda. ssm:DescribeParametersmemberi pengguna Anda izin untuk melihat dan memilih parameter Systems Manager. ssm:GetParametersmemberikan izin kepada pengguna Anda untuk mendapatkan nilai parameter Systems Manager. Anda juga dapat membatasi akses ke parameter Systems Manager tertentu. Untuk informasi selengkapnya, lihat Membatasi akses ke parameter Systems Manager tertentu yang juga ada dalam bagian ini.

Saat ini, EC2 Describe* API tindakan Amazon tidak mendukung izin tingkat sumber daya, sehingga Anda tidak dapat membatasi sumber daya individu mana yang dapat dilihat pengguna di wizard instance peluncuran. Namun, Anda dapat menerapkan izin tingkat sumber daya pada ec2:RunInstances API tindakan untuk membatasi sumber daya yang dapat digunakan pengguna untuk meluncurkan instance. Peluncuran tersebut akan gagal jika pengguna memilih opsi-opsi yang tidak mendapatkan otorisasi untuk digunakan.

Membatasi akses ke tipe instans, subnet, dan Wilayah tertentu

Kebijakan berikut memungkinkan pengguna untuk meluncurkan t2.micro instans menggunakan yang AMIs dimiliki oleh Amazon, dan hanya ke subnet () subnet-1a2b3c4d tertentu. Pengguna hanya dapat meluncurkan di Wilayah yang ditentukan. Jika pengguna memilih Wilayah yang berbeda, atau memilih jenis instans yang berbedaAMI, atau subnet di wizard instance peluncuran, peluncuran gagal.

Pernyataan pertama memberikan izin kepada pengguna untuk melihat opsi dalam wizard peluncuran instans atau untuk membuat yang baru, sebagaimana yang telah dijelaskan dalam contoh di atas. Pernyataan kedua memberikan izin kepada pengguna untuk menggunakan antarmuka jaringan, volume, key pair, grup keamanan, dan sumber daya subnet untuk ec2:RunInstances tindakan tersebut, yang diperlukan untuk meluncurkan instance ke dalam file. VPC Untuk informasi selengkapnya tentang penggunaan tindakan ec2:RunInstances, lihat Luncurkan instance () RunInstances. Pernyataan ketiga dan keempat memberikan izin kepada pengguna untuk menggunakan instans dan AMI sumber daya masing-masing, tetapi hanya jika instance tersebut adalah t2.micro instance, dan hanya jika dimiliki oleh Amazon, atau mitra tepercaya dan terverifikasi tertentu. AMI

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeInstanceTypes", "ec2:DescribeKeyPairs", "ec2:CreateKeyPair", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateSecurityGroup", "ec2:AuthorizeSecurityGroupIngress" ], "Resource": "*" }, { "Effect": "Allow", "Action":"ec2:RunInstances", "Resource": [ "arn:aws:ec2:region:111122223333:network-interface/*", "arn:aws:ec2:region:111122223333:volume/*", "arn:aws:ec2:region:111122223333:key-pair/*", "arn:aws:ec2:region:111122223333:security-group/*", "arn:aws:ec2:region:111122223333:subnet/subnet-1a2b3c4d" ] }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region:111122223333:instance/*" ], "Condition": { "StringEquals": { "ec2:InstanceType": "t2.micro" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region::image/ami-*" ], "Condition": { "StringEquals": { "ec2:Owner": "amazon" } } } ] }

Membatasi akses ke parameter Systems Manager tertentu

Kebijakan berikut ini memberikan akses untuk menggunakan parameter-parameter Systems Manager yang memiliki nama tertentu.

Pernyataan pertama memberi pengguna izin untuk melihat parameter Systems Manager saat memilih wizard instance peluncuran. AMI Pernyataan kedua memberikan izin kepada para pengguna untuk menggunakan parameter yang mempunyai nama prod-*.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ssm:DescribeParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": "arn:aws:ssm:region:123456123456:parameter/prod-*" } ] }

Contoh: Cara menggunakan grup keamanan

Menampilkan grup keamanan dan menambah serta menghapus aturan

Kebijakan berikut memberi pengguna izin untuk melihat grup keamanan di EC2 konsol Amazon, menambahkan dan menghapus aturan masuk dan keluar, serta mencantumkan dan memodifikasi deskripsi aturan untuk grup keamanan yang ada yang memiliki tag. Department=Test

Dalam pernyataan pertama, tindakan ec2:DescribeTags akan memungkinkan para pengguna untuk menampilkan tanda dalam konsol, yang dapat mempermudah para pengguna untuk mengidentifikasi grup keamanan yang diizinkan untuk dimodifikasi.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeSecurityGroups", "ec2:DescribeSecurityGroupRules", "ec2:DescribeTags" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:RevokeSecurityGroupEgress", "ec2:ModifySecurityGroupRules", "ec2:UpdateSecurityGroupRuleDescriptionsIngress", "ec2:UpdateSecurityGroupRuleDescriptionsEgress" ], "Resource": [ "arn:aws:ec2:region:111122223333:security-group/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Department": "Test" } } }, { "Effect": "Allow", "Action": [ "ec2:ModifySecurityGroupRules" ], "Resource": [ "arn:aws:ec2:region:111122223333:security-group-rule/*" ] } ]}

Cara menggunakan kotak dialog Buat Grup Keamanan

Anda dapat membuat kebijakan yang memungkinkan pengguna bekerja dengan kotak dialog Buat Grup Keamanan di EC2 konsol Amazon. Untuk menggunakan kotak dialog ini, pengguna harus diberikan izin untuk menggunakan setidaknya API tindakan berikut:

  • ec2:CreateSecurityGroup: Untuk membuat grup keamanan yang baru.

  • ec2:DescribeVpcs: Untuk melihat daftar yang ada VPCs dalam VPCdaftar.

Dengan izin tersebut, para pengguna dapat membuat grup keamanan baru dengan sukses, tetapi mereka tidak akan dapat menambahkan aturan apa pun pada grup keamanan tersebut. Untuk bekerja dengan aturan di kotak dialog Buat Grup Keamanan, Anda dapat menambahkan API tindakan berikut ke kebijakan Anda:

  • ec2:AuthorizeSecurityGroupIngress: Untuk menambahkan aturan ke dalam.

  • ec2:AuthorizeSecurityGroupEgress: Untuk menambahkan aturan keluar ke grup VPC keamanan.

  • ec2:RevokeSecurityGroupIngress: Untuk melakukan modifikasi atau membuang aturan ke dalam yang sudah ada. Tindakan-tindakan ini berguna untuk memungkinkan para pengguna menggunakan fitur Salin ke yang baru yang ada dalam konsol. Fitur ini akan membuka kotak dialog Buat Grup Keamanan dan mengisinya dengan aturan-aturan yang sama seperti grup keamanan yang sudah dipilih.

  • ec2:RevokeSecurityGroupEgress: Untuk memodifikasi atau menghapus aturan keluar untuk grup VPC keamanan. Hal ini berguna untuk memungkinkan para pengguna untuk melakukan modifikasi terhadap atau menghapus aturan ke luar default yang mengizinkan semua lalu lintas ke luar.

  • ec2:DeleteSecurityGroup: Untuk melayani ketika aturan-aturan yang tidak valid tidak dapat disimpan. Pertama-tama konsol akan membuat grup keamanan, kemudian akan menambahkan aturan-aturan tertentu. Jika aturan tidak valid, maka tindakan tersebut akan gagal, dan konsol akan mencoba menghapus grup keamanan. Para pengguna akan tetap berada dalam kotak dialog Buat Grup Keamanan sehingga mereka dapat melakukan koreksi atas aturan-aturan yang tidak valid dan mencoba membuat grup keamanan lagi. APITindakan ini tidak diperlukan, tetapi jika pengguna tidak diberikan izin untuk menggunakannya dan mencoba membuat grup keamanan dengan aturan yang tidak valid, grup keamanan dibuat tanpa aturan apa pun, dan pengguna harus menambahkannya sesudahnya.

  • ec2:UpdateSecurityGroupRuleDescriptionsIngress: Untuk menambahkan atau memperbarui deskripsi aturan grup keamanan ingress (ke dalam).

  • ec2:UpdateSecurityGroupRuleDescriptionsEgress: Untuk menambahkan atau memperbarui deskripsi aturan grup keamanan egress (ke luar).

  • ec2:ModifySecurityGroupRules: Untuk mengubah aturan grup keamanan.

  • ec2:DescribeSecurityGroupRules: Untuk mencantumkan aturan grup keamanan.

Kebijakan berikut memberikan izin kepada pengguna untuk menggunakan kotak dialog Buat Grup Keamanan, dan untuk membuat aturan masuk dan keluar untuk grup keamanan yang terkait dengan () tertentuVPC. vpc-1a2b3c4d Pengguna dapat membuat grup keamanan untuk aVPC, tetapi mereka tidak dapat menambahkan aturan apa pun kepada mereka. Demikian pula, pengguna tidak dapat menambahkan aturan apa pun ke grup keamanan yang ada yang tidak terkait dengannya VPCvpc-1a2b3c4d. Para pengguna juga diberikan izin untuk menampilkan semua grup keamanan di konsol. Hal ini akan mempermudah para pengguna untuk mengidentifikasi grup keamanan yang padanya dapat mereka tambahkan aturan-aturan ke dalam. Kebijakan ini juga memberikan izin kepada pengguna untuk menghapus grup keamanan yang terkait dengannya VPCvpc-1a2b3c4d.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeSecurityGroups", "ec2:CreateSecurityGroup", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress" ], "Resource": "arn:aws:ec2:region:111122223333:security-group/*", "Condition":{ "ArnEquals": { "ec2:Vpc": "arn:aws:ec2:region:111122223333:vpc/vpc-1a2b3c4d" } } } ] }

Contoh: Cara menggunakan alamat IP Elastis

Agar pengguna dapat melihat alamat IP Elastis di EC2 konsol Amazon, Anda harus memberikan izin kepada pengguna untuk menggunakan ec2:DescribeAddresses tindakan tersebut.

Agar pengguna dapat menggunakan alamat IP Elastis, Anda dapat menambahkan tindakan-tindakan berikut pada kebijakan Anda.

  • ec2:AllocateAddress: Untuk mengalokasikan alamat IP Elastis.

  • ec2:ReleaseAddress: Untuk merilis alamat IP Elastis.

  • ec2:AssociateAddress: Untuk mengaitkan alamat IP Elastis dengan instans atau antarmuka jaringan.

  • ec2:DescribeNetworkInterfaces dan ec2:DescribeInstances: Untuk menggunakan layar Kaitkan alamat. Layar tersebut akan menampilkan instans atau antarmuka jaringan yang tersedia yang bisa Anda gunakan untuk mengaitkan alamat IP Elastis.

  • ec2:DisassociateAddress: Untuk melepaskan pengaitan alamat IP Elastis dari instans atau antarmuka jaringan.

Kebijakan berikut ini akan memungkinkan para pengguna untuk menampilkan, mengalokasikan, dan mengaitkan alamat IP Elastis dengan instans. Para pengguna tidak dapat mengaitkan alamat IP Elastis dengan antarmuka jaringan, melepaskan pengaitan alamat IP Elastis, atau merilisnya.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeAddresses", "ec2:AllocateAddress", "ec2:DescribeInstances", "ec2:AssociateAddress" ], "Resource": "*" } ] }

Contoh: Cara Menggunakan Instans Cadangan

Kebijakan berikut mengizinkan pengguna untuk menampilkan dan memodifikasi Instans Terpesan dalam akun Anda, serta membeli Instans Terpesan baru dalam AWS Management Console.

Kebijakan ini akan memungkinkan para pengguna untuk menampilkan semua Instans Cadangan, serta Instans Sesuai Permintaan, dalam akun tersebut. Pengaturan izin tingkat sumber daya untuk masing-masing Instans Cadangan tidak dapat dilakukan.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeReservedInstances", "ec2:ModifyReservedInstances", "ec2:PurchaseReservedInstancesOffering", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:DescribeAvailabilityZones", "ec2:DescribeReservedInstancesOfferings" ], "Resource": "*" } ] }

ec2:DescribeAvailabilityZonesTindakan ini diperlukan untuk memastikan bahwa EC2 konsol Amazon dapat menampilkan informasi tentang Availability Zone tempat Anda dapat membeli Instans Cadangan. Tindakan ec2:DescribeInstances tidak diperlukan, tetapi dapat memastikan bahwa pengguna dapat menampilkan instans dalam akun dan membeli cadangan agar sesuai dengan spesifikasi yang semestinya.

Anda dapat menyesuaikan API tindakan untuk membatasi akses pengguna, misalnya menghapus ec2:DescribeInstances dan ec2:DescribeAvailabilityZones berarti pengguna memiliki akses hanya-baca.