AWS Contoh kebijakan Layanan Injeksi Kesalahan - AWS Layanan Injeksi Kesalahan

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

AWS Contoh kebijakan Layanan Injeksi Kesalahan

Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi sumber daya AWS FIS. Mereka juga tidak dapat melakukan tugas dengan menggunakan AWS Management Console, AWS Command Line Interface (AWS CLI), atau AWS API. Untuk memberikan izin kepada pengguna untuk melakukan tindakan di sumber daya yang mereka perlukan, administrator IAM dapat membuat kebijakan IAM. Administrator kemudian akan dapat menambahkan kebijakan IAM ke peran, dan pengguna dapat mengambil peran.

Untuk mempelajari cara membuat kebijakan berbasis identitas IAM menggunakan contoh dokumen kebijakan JSON ini, lihat Membuat kebijakan IAM dalam Panduan Pengguna IAM.

Untuk detail tentang tindakan dan jenis sumber daya yang ditentukan oleh AWS FIS, termasuk format ARN untuk setiap jenis sumber daya, lihat Tindakan, sumber daya, dan kunci kondisi untuk Layanan Injeksi AWS Kesalahan dalam Referensi Otorisasi Layanan.

Praktik terbaik kebijakan

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya AWS FIS 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.

Contoh: Gunakan konsol AWS FIS

Untuk mengakses konsol Layanan Injeksi AWS Kesalahan, Anda harus memiliki set izin minimum. Izin ini harus memungkinkan Anda untuk daftar dan melihat rincian tentang sumber daya AWS FIS di Anda. Akun AWS Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana mestinya untuk entitas (pengguna atau peran) dengan kebijakan tersebut.

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau AWS API. Sebagai gantinya, izinkan akses hanya ke tindakan yang sesuai dengan operasi API yang coba mereka lakukan.

Contoh kebijakan berikut memberikan izin untuk membuat daftar dan melihat semua sumber daya AWS FIS menggunakan konsol AWS FIS, tetapi tidak untuk membuat, memperbarui, atau menghapusnya. Ini juga memberikan izin untuk melihat sumber daya yang tersedia yang digunakan oleh semua tindakan AWS FIS yang dapat Anda tentukan dalam templat eksperimen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FISReadOnlyActions", "Effect": "Allow", "Action": [ "fis:List*", "fis:Get*" ], "Resource": "*" }, { "Sid": "AdditionalReadOnlyActions", "Effect": "Allow", "Action": [ "ssm:Describe*", "ssm:Get*", "ssm:List*", "ec2:DescribeInstances", "rds:DescribeDBClusters", "ecs:DescribeClusters", "ecs:ListContainerInstances", "eks:DescribeNodegroup", "cloudwatch:DescribeAlarms", "iam:ListRoles" ], "Resource": "*" }, { "Sid": "PermissionsToCreateServiceLinkedRole", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "fis.amazonaws.com" } } } ] }

Contoh: Daftar tindakan AWS FIS yang tersedia

Kebijakan berikut memberikan izin untuk mencantumkan tindakan AWS FIS yang tersedia.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "fis:ListActions" ], "Resource": "arn:aws:fis:*:*:action/*" } ] }

Contoh: Membuat template eksperimen untuk tindakan tertentu

Kebijakan berikut memberikan izin untuk membuat templat eksperimen untuk tindakan aws:ec2:stop-instances tersebut.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyExample", "Effect": "Allow", "Action": [ "fis:CreateExperimentTemplate" ], "Resource": [ "arn:aws:fis:*:*:action/aws:ec2:stop-instances", "arn:aws:fis:*:*:experiment-template/*" ] }, { "Sid": "PolicyPassRoleExample", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::account-id:role/role-name" ] } ] }

Contoh: Memulai percobaan

Kebijakan berikut memberikan izin untuk memulai eksperimen menggunakan peran IAM dan templat eksperimen yang ditentukan. Ini juga memungkinkan AWS FIS untuk membuat peran terkait layanan atas nama pengguna. Untuk informasi selengkapnya, lihat Gunakan peran terkait layanan untuk Layanan Injeksi AWS Kesalahan.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyExample", "Effect": "Allow", "Action": [ "fis:StartExperiment" ], "Resource": [ "arn:aws:fis:*:*:experiment-template/experiment-template-id", "arn:aws:fis:*:*:experiment/*" ] }, { "Sid": "PolicyExampleforServiceLinkedRole", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "fis.amazonaws.com" } } } ] }

Contoh: Gunakan tag untuk mengontrol penggunaan sumber daya

Kebijakan berikut memberikan izin untuk menjalankan eksperimen dari template eksperimen yang memiliki tagPurpose=Test. Itu tidak memberikan izin untuk membuat atau memodifikasi templat eksperimen, atau menjalankan eksperimen menggunakan templat yang tidak memiliki tag yang ditentukan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "fis:StartExperiment", "Resource": "arn:aws:fis:*:*:experiment-template/*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Test" } } } ] }

Contoh: Hapus template eksperimen dengan tag tertentu

Kebijakan berikut memberikan izin untuk menghapus templat eksperimen dengan tagPurpose=Test.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "fis:DeleteExperimentTemplate" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Test" } } } ] }

Contoh: Izinkan pengguna untuk melihat izin mereka sendiri

Contoh ini menunjukkan cara membuat kebijakan yang mengizinkan pengguna IAM melihat kebijakan inline dan terkelola yang dilampirkan ke identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau menggunakan API atau secara terprogram. AWS CLI AWS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Contoh: Gunakan tombol kondisi untuk ec2:InjectApiError

Contoh kebijakan berikut menggunakan kunci ec2:FisTargetArns kondisi untuk cakupan sumber daya target. Kebijakan ini memungkinkan tindakan AWS FIS aws:ec2:api-insufficient-instance-capacity-error danaws:ec2:asg-insufficient-instance-capacity-error.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:InjectApiError", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "ec2:FisActionId": [ "aws:ec2:api-insufficient-instance-capacity-error", ], "ec2:FisTargetArns": [ "arn:aws:iam:*:*:role:role-name" ] } } }, { "Effect": "Allow", "Action": "ec2:InjectApiError", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "ec2:FisActionId": [ "aws:ec2:asg-insufficient-instance-capacity-error" ], "ec2:FisTargetArns": [ "arn:aws:autoscaling:*:*:autoScalingGroup:uuid:autoScalingGroupName/asg-name" ] } } }, { "Effect": "Allow", "Action": "autoscaling:DescribeAutoScalingGroups", "Resource": "*" } ] }

Contoh: Gunakan tombol kondisi untuk aws:s3:bucket-pause-replication

Contoh kebijakan berikut menggunakan kunci S3:IsReplicationPauseRequest kondisi untuk mengizinkan PutReplicationConfiguration dan GetReplicationConfiguration hanya bila digunakan oleh AWS FIS dalam konteks tindakan AWS FIS. aws:s3:bucket-pause-replication

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "S3:PauseReplication" ], "Resource": "arn:aws:s3:::mybucket", "Condition": { "StringEquals": { "s3:DestinationRegion": "region" } } }, { "Effect": "Allow", "Action": [ "S3:PutReplicationConfiguration", "S3:GetReplicationConfiguration" ], "Resource": "arn:aws:s3:::mybucket", "Condition": { "BoolIfExists": { "s3:IsReplicationPauseRequest": "true" } } }, { "Effect": "Allow", "Action": [ "S3:ListBucket" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": "*" } ] }