Contoh kebijakan berbasis identitas untuk rencana penskalaan - AWS Auto Scaling

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

Contoh kebijakan berbasis identitas untuk rencana penskalaan

Secara default, pengguna IAM baru tidak memiliki izin untuk melakukan apa pun. Administrator IAM harus membuat dan menetapkan kebijakan IAM yang memberikan izin identitas IAM (seperti pengguna atau peran) untuk bekerja dengan rencana penskalaan.

Untuk mempelajari cara membuat kebijakan IAM dengan menggunakan contoh dokumen kebijakan JSON ini, lihat Membuat kebijakan di tab JSON dalam Panduan Pengguna IAM.

Praktik terbaik kebijakan

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus AWS Auto Scaling sumber daya di akun Anda. Tindakan ini membuat Akun AWS Anda dikenai biaya. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:

  • Mulailah dengan kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit — Untuk mulai memberikan izin kepada pengguna dan beban kerja Anda, gunakan kebijakan AWS terkelola yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di Anda Akun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat Kebijakan yang dikelola AWS atau Kebijakan yang dikelola AWS untuk fungsi tugas dalam Panduan Pengguna IAM.

  • Menerapkan izin dengan hak akses paling rendah – Ketika Anda menetapkan izin dengan kebijakan IAM, hanya berikan izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai izin dengan hak akses paling rendah. Untuk informasi selengkapnya tentang cara menggunakan IAM untuk mengajukan izin, lihat Kebijakan dan izin dalam IAM dalam Panduan Pengguna IAM.

  • Gunakan kondisi dalam kebijakan IAM untuk membatasi akses lebih lanjut – Anda dapat menambahkan suatu kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Sebagai contoh, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui yang spesifik Layanan AWS, seperti AWS CloudFormation. Untuk informasi selengkapnya, lihat Elemen kebijakan JSON IAM: Kondisi dalam Panduan Pengguna IAM.

  • Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional – IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat Validasi kebijakan IAM Access Analyzer dalam Panduan Pengguna IAM.

  • Memerlukan otentikasi multi-faktor (MFA) - Jika Anda memiliki skenario yang mengharuskan pengguna IAM atau pengguna root di Anda, Akun AWS aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA ketika operasi API dipanggil, tambahkan kondisi MFA pada kebijakan Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi akses API yang dilindungi MFA dalam Panduan Pengguna IAM.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat Praktik terbaik keamanan dalam IAM dalam Panduan Pengguna IAM.

Perbolehkan pengguna membuat rencana penyekalaan

Berikut ini menunjukkan contoh kebijakan berbasis identitas yang memberikan izin untuk membuat rencana penskalaan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling-plans:*", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudformation:ListStackResources" ], "Resource": "*" } ] }

Untuk bekerja dengan rencana penskalaan, pengguna akhir harus memiliki izin tambahan yang memungkinkan mereka bekerja dengan sumber daya tertentu di akun mereka. Izin ini tercantum dalam Izin tambahan yang diperlukan.

Setiap pengguna konsol juga memerlukan izin yang memungkinkan mereka menemukan sumber daya yang dapat diskalakan di akun mereka dan untuk melihat grafik data CloudWatch metrik dari konsol. AWS Auto Scaling Kumpulan izin tambahan yang diperlukan untuk bekerja dengan AWS Auto Scaling konsol tercantum di bawah ini:

  • cloudformation:ListStacks: Untuk daftar tumpukan.

  • tag:GetTagKeys: Untuk menemukan sumber daya yang dapat diskalakan yang berisi kunci tag tertentu.

  • tag:GetTagValues: Untuk menemukan sumber daya yang berisi nilai tag tertentu.

  • autoscaling:DescribeTags: Untuk menemukan grup Auto Scaling yang berisi tag tertentu.

  • cloudwatch:GetMetricData: Untuk melihat data dalam grafik metrik.

Memungkinkan pengguna untuk mengaktifkan penyekalaan prediktif

Berikut ini menunjukkan contoh kebijakan berbasis identitas yang memberikan izin untuk mengaktifkan penskalaan prediktif. Izin ini memperluas fitur rencana penskalaan yang diatur untuk menskalakan grup Auto Scaling.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeScheduledActions", "autoscaling:BatchPutScheduledUpdateGroupAction", "autoscaling:BatchDeleteScheduledAction" ], "Resource": "*" } ] }

Izin tambahan yang diperlukan

Agar berhasil mengonfigurasi rencana penskalaan, pengguna akhir harus diberikan izin untuk setiap layanan target yang akan mereka konfigurasi penskalaannya. Untuk memberikan izin minimum yang diperlukan untuk bekerja dengan layanan target, baca informasi di bagian ini dan tentukan tindakan yang relevan dalam Action elemen pernyataan kebijakan IAM.

Grup Auto Scaling

Untuk menambahkan grup Auto Scaling ke rencana penskalaan, pengguna harus memiliki izin berikut dari Amazon EC2 Auto Scaling:

  • autoscaling:UpdateAutoScalingGroup

  • autoscaling:DescribeAutoScalingGroups

  • autoscaling:PutScalingPolicy

  • autoscaling:DescribePolicies

  • autoscaling:DeletePolicy

Layanan ECS

Untuk menambahkan layanan ECS ke rencana penyekalaan, pengguna harus memiliki izin berikut dari Amazon ECS dan Auto Scaling Aplikasi:

  • ecs:DescribeServices

  • ecs:UpdateService

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

Temukan Armada

Untuk menambahkan Armada Spot ke rencana penyekalaan, pengguna harus memiliki izin berikut dari Amazon EC2 dan Auto Scaling Aplikasi:

  • ec2:DescribeSpotFleetRequests

  • ec2:ModifySpotFleetRequest

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

Tabel DynamoDB atau indeks global

Untuk menambahkan tabel DynamoDB atau indeks global ke rencana penskalaan, pengguna harus memiliki izin berikut dari DynamoDB dan Application Auto Scaling:

  • dynamodb:DescribeTable

  • dynamodb:UpdateTable

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

Klaster DB Aurora

Untuk menambahkan klaster Aurora DB ke rencana penyekalaan, pengguna harus memiliki izin berikut dari Amazon Aurora dan Auto Scaling Aplikasi:

  • rds:AddTagsToResource

  • rds:CreateDBInstance

  • rds:DeleteDBInstance

  • rds:DescribeDBClusters

  • rds:DescribeDBInstances

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

Izin yang diperlukan untuk membuat peran yang berkaitan dengan layanan

AWS Auto Scaling memerlukan izin untuk membuat peran terkait layanan saat pertama kali pengguna Akun AWS membuat rencana penskalaan dengan penskalaan prediktif diaktifkan. Jika peran terkait layanan belum ada, AWS Auto Scaling buat di akun Anda. Peran terkait layanan memberikan izin AWS Auto Scaling agar dapat memanggil layanan lain atas nama Anda.

Agar pembuatan peran otomatis berhasil, pengguna harus memiliki izin untuk tindakan iam:CreateServiceLinkedRole nyata.

"Action": "iam:CreateServiceLinkedRole"

Berikut ini menunjukkan contoh kebijakan berbasis identitas yang memberikan izin untuk membuat peran terkait layanan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/autoscaling-plans.amazonaws.com/AWSServiceRoleForAutoScalingPlans_EC2AutoScaling", "Condition": { "StringLike": { "iam:AWSServiceName":"autoscaling-plans.amazonaws.com" } } } ] }

Untuk informasi selengkapnya, lihat Peran terkait layanan penskalaan prediktif.