Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Validasi izin untuk panggilan Application Auto Scaling API pada sumber daya target
Membuat permintaan resmi untuk tindakan Application Auto Scaling API mengharuskan pemanggil API memiliki izin untuk mengakses AWS sumber daya di layanan target dan di. CloudWatch Application Auto Scaling memvalidasi izin untuk permintaan yang terkait dengan layanan target dan CloudWatch sebelum melanjutkan dengan permintaan. Untuk mencapai hal ini, kami mengeluarkan serangkaian panggilan untuk memvalidasi izin IAM pada sumber daya target. Ketika respons dikembalikan, itu dibaca oleh Application Auto Scaling. Jika izin IAM tidak mengizinkan tindakan tertentu, Application Auto Scaling menggagalkan permintaan dan mengembalikan kesalahan untuk pengguna yang berisi informasi tentang izin yang hilang. Ini memastikan bahwa konfigurasi penskalaan yang ingin diterapkan pengguna berfungsi sebagaimana dimaksud, dan kesalahan yang berguna akan ditampilkan jika permintaan gagal.
Sebagai contoh cara kerjanya, informasi berikut memberikan rincian tentang bagaimana Application Auto Scaling melakukan validasi izin dengan Aurora dan. CloudWatch
Ketika pengguna memanggil RegisterScalableTarget
API terhadap cluster Aurora DB, Application Auto Scaling melakukan semua pemeriksaan berikut untuk memverifikasi bahwa pengguna memiliki izin yang diperlukan (dalam huruf tebal).
-
rds:CreateDBInstance: Untuk menentukan apakah pengguna memiliki izin ini, kami mengirim permintaan ke operasi API
CreateDBInstance
, mencoba untuk membuat instans DB dengan parameter yang tidak valid (ID instans kosong) di klaster Aurora DB bahwa pengguna ditentukan. Untuk pengguna resmi, API mengembalikan sebuah respons kode kesalahanInvalidParameterValue
setelah API mengaudit permintaan. Namun, untuk pengguna yang tidak sah, kami mendapatkan kesalahanAccessDenied
dan menggagalkan permintaan Application Auto Scaling dengan kesalahanValidationException
untuk pengguna yang mencantumkan izin yang hilang. -
rds:DeleteDBInstance: Kami mengirim ID instans kosong untuk operasi API
DeleteDBInstance
. Untuk pengguna yang berwenang, permintaan ini menghasilkan kesalahanInvalidParameterValue
. Untuk pengguna yang tidak sah, menghasilkanAccessDenied
dan mengirimkan pengecualian validasi kepada pengguna (perlakuan yang sama seperti yang dijelaskan dalam titik peluru pertama). -
rds: AddTagsToResource: Karena operasi
AddTagsToResource
API memerlukan Nama Sumber Daya Amazon (ARN), maka perlu untuk menentukan sumber daya “dummy” menggunakan ID akun yang tidak valid (12345) dan ID instance dummy (tidak ada-db) untuk membangun ARN ().arn:aws:rds:us-east-1:12345:db:non-existing-db
Untuk pengguna yang berwenang, permintaan ini menghasilkan kesalahanInvalidParameterValue
. Untuk pengguna yang tidak sah, menghasilkanAccessDenied
dan mengirimkan pengecualian validasi kepada pengguna. -
rds:DescribeDBCluster: Kami menjelaskan nama klaster untuk sumber daya yang terdaftar untuk penskalaan otomatis. Untuk pengguna yang berwenang, kami mendapatkan hasil menggambarkan valid. Untuk pengguna yang tidak sah, menghasilkan
AccessDenied
dan mengirimkan pengecualian validasi kepada pengguna. -
rds:DescribeDBInstance. Kami memanggil API
DescribeDBInstance
dengan filterdb-cluster-id
yang memfilter pada nama klaster yang disediakan oleh pengguna untuk mendaftar target yang dapat diskalakan. Untuk pengguna yang berwenang, kami diizinkan untuk menjelaskan semua instans DB dalam klaster DB. Untuk pengguna yang tidak sah, panggilan ini menghasilkanAccessDenied
dan mengirimkan pengecualian validasi kepada pengguna. -
cloudwatch: PutMetric Alarm: Kami memanggil
PutMetricAlarm
API tanpa parameter apa pun. Karena nama alarm hilang, permintaan mengakibatkanValidationError
untuk pengguna yang berwenang. Untuk pengguna yang tidak sah, menghasilkanAccessDenied
dan mengirimkan pengecualian validasi kepada pengguna. -
cloudwatch: DescribeAlarms: Kami memanggil
DescribeAlarms
API dengan jumlah maksimum nilai rekaman yang disetel ke 1. Untuk pengguna yang berwenang, kami mengharapkan informasi tentang satu alarm dalam respons. Untuk pengguna yang tidak sah, panggilan ini menghasilkanAccessDenied
dan mengirimkan pengecualian validasi kepada pengguna. -
cloudwatch:DeleteAlarms: Mirip dengan
PutMetricAlarm
di atas, kami tidak menyediakan parameter untukDeleteAlarms
diminta. Karena nama alarm hilang dari permintaan, panggilan ini gagal denganValidationError
untuk pengguna yang berwenang. Untuk pengguna yang tidak sah, menghasilkanAccessDenied
dan mengirimkan pengecualian validasi kepada pengguna.
Setiap kali salah satu dari pengecualian validasi ini terjadi, itu dicatat. Anda dapat mengambil langkah-langkah untuk secara manual mengidentifikasi panggilan mana yang gagal validasi dengan menggunakan AWS CloudTrail. Untuk informasi selengkapnya, silakan lihat Panduan Pengguna AWS CloudTrail.
catatan
Jika Anda menerima peringatan untuk acara Application Auto Scaling yang CloudTrail digunakan, peringatan ini akan menyertakan panggilan Application Auto Scaling untuk memvalidasi izin pengguna secara default. Untuk memfilter peringatan ini, gunakan invokedBy
bidang, yang akan berisi application-autoscaling.amazonaws.com
untuk pemeriksaan validasi ini.