Peran IAM untuk eksperimen AWS FIS - AWS Layanan Injeksi Kesalahan

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

Peran IAM untuk eksperimen AWS FIS

AWS Identity and Access Management (IAM) adalah layanan AWS yang membantu administrator mengendalikan akses ke sumber daya AWS dengan aman. Untuk menggunakan AWS FIS, Anda harus membuat peran IAM yang memberikan AWS FIS izin yang diperlukan sehingga AWS FIS dapat menjalankan eksperimen atas nama Anda. Anda menentukan peran eksperimen ini saat membuat templat eksperimen. Untuk eksperimen satu akun, kebijakan IAM untuk peran eksperimen harus memberikan izin untuk mengubah sumber daya yang Anda tetapkan sebagai target dalam templat eksperimen Anda. Untuk eksperimen multi-akun, peran eksperimen harus memberikan izin peran orkestrator untuk mengambil peran IAM untuk setiap akun target. Untuk informasi selengkapnya, lihat Izin untuk eksperimen multi-akun.

Kami menyarankan Anda mengikuti praktik keamanan standar dengan memberikan hak istimewa paling sedikit. Anda dapat melakukannya dengan menentukan ARN atau tag sumber daya tertentu dalam kebijakan Anda.

Untuk membantu Anda memulai AWS FIS dengan cepat, kami menyediakan kebijakan AWS terkelola yang dapat Anda tentukan saat Anda membuat peran eksperimen. Atau, Anda juga dapat menggunakan kebijakan ini sebagai model saat Anda membuat dokumen kebijakan inline Anda sendiri.

Prasyarat

Sebelum Anda mulai, instal AWS CLI dan buat kebijakan kepercayaan yang diperlukan.

Instal AWS CLI

Sebelum Anda mulai, instal dan konfigurasikan fileAWS CLI. Ketika Anda mengkonfigurasiAWS CLI, Anda akan diminta untuk AWS kredensialnya. Contoh dalam prosedur ini mengasumsikan bahwa Anda juga mengonfigurasi Wilayah default. Jika tidak, tambahkan --region opsi ke setiap perintah. Untuk informasi selengkapnya, lihat Menginstal atau memperbarui AWS CLI dan Mengonfigurasi. AWS CLI

Buat kebijakan hubungan kepercayaan

Peran eksperimen harus memiliki hubungan kepercayaan yang memungkinkan layanan AWS FIS untuk mengambil peran tersebut. Buat file teks bernama fis-role-trust-policy.json dan tambahkan kebijakan hubungan kepercayaan berikut.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "fis.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Kami menyarankan Anda menggunakan kunci syarat aws:SourceAccount dan aws:SourceArn untuk melindungi diri Anda dari masalah wakil yang membingungkan. Akun sumber adalah pemilik eksperimen dan sumber ARN adalah ARN percobaan. Misalnya, Anda harus menambahkan blok kondisi berikut ke kebijakan kepercayaan Anda.

"Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:aws:fis:region:account_id:experiment/*" } }
Tambahkan izin untuk mengambil peran akun target (hanya eksperimen multi-akun)

Untuk eksperimen multi-akun, Anda memerlukan izin yang memungkinkan akun orkestrator untuk mengambil peran akun target. Anda dapat mengubah contoh berikut dan menambahkan sebagai dokumen kebijakan inline untuk mengambil peran akun target:

{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource":[ "arn:aws:iam::target_account_id:role/role_name" ] }

Opsi 1: Buat peran eksperimen dan lampirkan kebijakan AWS terkelola

Gunakan salah satu kebijakan AWS terkelola dari AWS FIS untuk memulai dengan cepat.

Untuk membuat peran eksperimen dan melampirkan kebijakan AWS terkelola
  1. Verifikasi bahwa ada kebijakan terkelola untuk tindakan AWS FIS dalam eksperimen Anda. Jika tidak, Anda harus membuat dokumen kebijakan inline Anda sendiri. Untuk informasi selengkapnya, lihat AWS kebijakan terkelola untuk Layanan Injeksi AWS Kesalahan.

  2. Gunakan perintah create-role berikut untuk membuat peran dan tambahkan kebijakan kepercayaan yang Anda buat dalam prasyarat.

    aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
  3. Gunakan attach-role-policyperintah berikut untuk melampirkan kebijakan AWS terkelola.

    aws iam attach-role-policy --role-name my-fis-role --policy-arn fis-policy-arn

    fis-policy-arnDimana salah satu dari berikut ini:

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEC2Access

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorECSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEKSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorNetworkAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorRDSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorSSMAccess

Opsi 2: Buat peran eksperimen dan tambahkan dokumen kebijakan sebaris

Gunakan opsi ini untuk tindakan yang tidak memiliki kebijakan terkelola, atau hanya menyertakan izin yang diperlukan untuk eksperimen spesifik Anda.

Untuk membuat eksperimen dan menambahkan dokumen kebijakan inline
  1. Gunakan perintah create-role berikut untuk membuat peran dan tambahkan kebijakan kepercayaan yang Anda buat dalam prasyarat.

    aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
  2. Buat file teks bernama fis-role-permissions-policy.json dan tambahkan kebijakan izin. Untuk contoh yang dapat Anda gunakan sebagai titik awal, lihat yang berikut ini.

    • Tindakan injeksi kesalahan - Mulai dari kebijakan berikut.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowFISExperimentRoleFaultInjectionActions", "Effect": "Allow", "Action": [ "fis:InjectApiInternalError", "fis:InjectApiThrottleError", "fis:InjectApiUnavailableError" ], "Resource": "arn:*:fis:*:*:experiment/*" } ] }
    • Tindakan Amazon EBS - Mulai dari kebijakan berikut.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:PauseVolumeIO" ], "Resource": "arn:aws:ec2:*:*:volume/*" } ] }
    • Tindakan Amazon EC2 — Mulai dari kebijakan. AWSFaultInjectionSimulatorEC2Access

    • Tindakan Amazon ECS — Mulai dari AWSFaultInjectionSimulatorECSAccesskebijakan.

    • Tindakan Amazon EKS - Mulai dari AWSFaultInjectionSimulatorEKSAccesskebijakan.

    • Tindakan jaringan — Mulai dari AWSFaultInjectionSimulatorNetworkAccesskebijakan.

    • Tindakan Amazon RDS — Mulai dari AWSFaultInjectionSimulatorRDSAccesskebijakan.

    • Tindakan Systems Manager — Mulai dari AWSFaultInjectionSimulatorSSMAccesskebijakan.

  3. Gunakan put-role-policyperintah berikut untuk menambahkan kebijakan izin yang Anda buat di langkah sebelumnya.

    aws iam put-role-policy --role-name my-fis-role --policy-name my-fis-policy --policy-document file://fis-role-permissions-policy.json