Amazon S3: Memungkinkan pengguna federasi mengakses ke direktori home Amazon S3 mereka, secara terprogram dan di konsol - 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: Memungkinkan pengguna federasi mengakses ke direktori home Amazon S3 mereka, secara terprogram dan di konsol

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan prinsipal federasi mengakses objek bucket direktori home mereka sendiri di S3. Direktori home adalah bucket yang menyertakan home folder dan folder untuk masing-masing kepala sekolah federasi. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh italicized placeholder text dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di buat kebijakan atau ubah kebijakan.

Variabel ${aws:userid} dalam kebijakan ini memutuskan untuk role-id:specified-name. role-idBagian dari ID utama federasi adalah pengidentifikasi unik yang ditugaskan untuk peran kepala sekolah federasi selama pembuatan. Untuk informasi selengkapnya, lihat Pengidentifikasi unik. specified-nameIni adalah RoleSessionName parameter yang diteruskan ke AssumeRoleWithWebIdentity permintaan ketika kepala sekolah federasi mengambil peran mereka.

Anda dapat melihat ID peran menggunakan AWS CLI perintahaws iam get-role --role-name specified-name. Misalnya, bayangkan Anda menentukan nama John yang mudah diingat dan CLI mengembalikan ID peran AROAXXT2NJT7D3SIQN7Z6. Dalam hal ini, ID pengguna kepala sekolah federasi adalahAROAXXT2NJT7D3SIQN7Z6:John. Kebijakan ini kemudian memungkinkan kepala sekolah federasi John untuk mengakses bucket Amazon S3 dengan awalan. AROAXXT2NJT7D3SIQN7Z6:John

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ConsoleAccess", "Effect": "Allow", "Action": [ "s3:GetAccountPublicAccessBlock", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:ListAccessPoints", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringLike": { "s3:prefix": [ "", "home/", "home/${aws:userid}/*" ] } } }, { "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:userid}", "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:userid}/*" ] } ] }