Validasi izin untuk panggilan Application Auto Scaling API pada sumber daya target - Application Auto Scaling

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 kesalahan InvalidParameterValue setelah API mengaudit permintaan. Namun, untuk pengguna yang tidak sah, kami mendapatkan kesalahan AccessDenied dan menggagalkan permintaan Application Auto Scaling dengan kesalahan ValidationException 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 kesalahan InvalidParameterValue. Untuk pengguna yang tidak sah, menghasilkan AccessDenied 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 kesalahan InvalidParameterValue. Untuk pengguna yang tidak sah, menghasilkan AccessDenied 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 filter db-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 menghasilkan AccessDenied dan mengirimkan pengecualian validasi kepada pengguna.

  • cloudwatch: PutMetric Alarm: Kami memanggil PutMetricAlarm API tanpa parameter apa pun. Karena nama alarm hilang, permintaan mengakibatkan ValidationError untuk pengguna yang berwenang. Untuk pengguna yang tidak sah, menghasilkan AccessDenied 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 menghasilkan AccessDenied dan mengirimkan pengecualian validasi kepada pengguna.

  • cloudwatch:DeleteAlarms: Mirip dengan PutMetricAlarm di atas, kami tidak menyediakan parameter untuk DeleteAlarms diminta. Karena nama alarm hilang dari permintaan, panggilan ini gagal dengan ValidationError untuk pengguna yang berwenang. Untuk pengguna yang tidak sah, menghasilkan AccessDenied 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.