Amazon S3: Akses Bucket S3, tetapi bucket produksi ditolak tanpa MFA baru-baru ini - AWS Identity and Access Management

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

Amazon S3: Akses Bucket S3, tetapi bucket produksi ditolak tanpa MFA baru-baru ini

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan administrator Amazon S3 mengakses bucket apa pun, termasuk memperbarui, menambahkan, dan menghapus objek. Namun, ini secara eksplisit menolak akses ke bucket amzn-s3-demo-bucket-production jika pengguna belum masuk menggunakan Autentikasi Multi-factor (MFA) dalam tiga puluh menit terakhir. Kebijakan ini memberikan izin yang diperlukan untuk melakukan tindakan ini di konsol atau menggunakan API atau secara terprogram. AWS CLI AWS Untuk menggunakan kebijakan ini, ganti kebijakan contoh italicized placeholder text dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di buat kebijakan atau ubah kebijakan.

Kebijakan ini tidak pernah mengizinkan akses terprogram ke bucket amzn-s3-demo-bucket menggunakan access key pengguna. Hal ini dicapai menggunakan kunci kondisi aws:MultiFactorAuthAge dengan operator kondisi NumericGreaterThanIfExists. Kondisi kebijakan ini akan kembalitrue jika tidak ada MFA atau jika usia MFA lebih dari 30 menit. Dalam situasi tersebut, akses ditolak. Untuk mengakses amzn-s3-demo-bucket-production bucket secara terprogram, administrator S3 harus menggunakan kredensial sementara yang dibuat dalam 30 menit terakhir menggunakan GetSessionToken operasi API.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListAllS3Buckets", "Effect": "Allow", "Action": ["s3:ListAllMyBuckets"], "Resource": "arn:aws:s3:::*" }, { "Sid": "AllowBucketLevelActions", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::*" }, { "Sid": "AllowBucketObjectActions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:GetObjectAcl", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::*/*" }, { "Sid": "RequireMFAForProductionBucket", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-production/*", "arn:aws:s3:::amzn-s3-demo-bucket-production" ], "Condition": { "NumericGreaterThanIfExists": {"aws:MultiFactorAuthAge": "1800"} } } ] }