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 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 teks placeholder yang dicetak miring dalam kebijakan contoh dengan informasi Anda sendiri. Lalu, ikuti petunjuk di buat kebijakan atau ubah kebijakan.

Kebijakan ini tidak pernah mengizinkan akses terprogram ke bucket Production 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 Production bucket secara terprogram, administrator S3 harus menggunakan kredenal sementara yang dihasilkan dalam 30 menit terakhir menggunakan operasi API. GetSessionToken

{ "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:::Production/*", "arn:aws:s3:::Production" ], "Condition": { "NumericGreaterThanIfExists": {"aws:MultiFactorAuthAge": "1800"} } } ] }