Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh 1: Pemilik bucket yang memberikan izin bucket kepada penggunanya
penting
Memberikan izin untuk IAM peran adalah praktik yang lebih baik daripada memberikan izin kepada pengguna individual.Untuk informasi selengkapnya tentang cara memberikan izin untuk peran, lihat. IAM Memahami izin lintas akun dan menggunakan peran IAM
Topik
Dalam panduan ini, a Akun AWS memiliki ember, dan akun tersebut menyertakan pengguna Secara default, IAM pengguna tidak memiliki izin. Agar pengguna dapat melakukan tugas apa pun, akun induk harus memberikan izin kepada mereka. Pemilik bucket dan akun induk sama. Oleh karena itu, untuk memberikan izin pengguna di bucket, Akun AWS dapat menggunakan kebijakan bucket, kebijakan pengguna, atau keduanya. Pemilik akun akan memberikan beberapa izin menggunakan kebijakan bucket dan beberapa izin lainnya menggunakan kebijakan pengguna.
Langkah-langkah berikut merangkum panduannya:
-
Administrator akun membuat kebijakan bucket yang memberikan serangkaian izin kepada pengguna.
-
Administrator akun melampirkan kebijakan pengguna pada pengguna yang memberikan izin tambahan.
-
Pengguna kemudian mencoba izin yang diberikan baik melalui kebijakan bucket maupun kebijakan pengguna.
Untuk contoh ini, Anda akan membutuhkan Akun AWS. Alih-alih menggunakan kredensial pengguna root akun, Anda akan membuat pengguna administrator (lihatTentang menggunakan pengguna administrator untuk membuat sumber daya dan memberikan izin). Kami merujuk ke Akun AWS dan pengguna administrator seperti yang ditunjukkan pada tabel berikut.
account-id | Akun disebut sebagai | Pengguna administrator pada akun |
---|---|---|
|
Akun A |
AccountAadmin |
catatan
Pengguna administrator dalam contoh ini adalah AccountAadmin, yang mengacu pada Akun A, dan bukan AccountAdmin.
Semua tugas membuat pengguna dan memberikan izin dilakukan di AWS Management Console. Untuk memverifikasi izin, penelusuran menggunakan alat baris perintah, AWS Command Line Interface (AWS CLI) dan AWS Tools for Windows PowerShell, jadi Anda tidak perlu menulis kode apa pun.
Bersiap untuk panduan
-
Pastikan Anda memiliki Akun AWS dan memiliki pengguna dengan hak administrator.
-
Mendaftar untuk Akun AWS, jika diperlukan. Kami menyebut akun ini sebagai Akun A.
-
Buka https://aws.amazon.com/s3
dan pilih Buat akun AWS . -
Ikuti petunjuk di layar.
AWS akan memberi tahu Anda melalui email ketika akun Anda aktif dan tersedia untuk Anda gunakan.
-
-
Di Akun A, buat pengguna administrator
AccountAadmin
. Menggunakan kredensi Akun A, masuk ke IAMkonsoldan lakukan hal berikut: -
Buat pengguna
AccountAadmin
dan catat kredensil keamanan pengguna.Untuk petunjuknya, lihat Membuat IAM pengguna Akun AWS di Panduan IAM Pengguna Anda.
-
Berikan hak administrator AccountAadmindengan melampirkan kebijakan pengguna yang memberikan akses penuh.
Untuk petunjuk, lihat Mengelola IAM kebijakan di Panduan IAM Pengguna.
-
Perhatikan IAMpengguna Masuk URL untuk AccountAadmin. Anda harus menggunakan ini URL saat masuk ke AWS Management Console. Untuk informasi selengkapnya tentang tempat menemukan proses masukURL, lihat Masuk ke Panduan IAM Pengguna AWS Management Console sebagai IAM pengguna. Perhatikan URL untuk masing-masing akun.
-
-
-
Siapkan salah satu AWS CLI atau AWS Tools for Windows PowerShell. Pastikan Anda menyimpan kredensi pengguna administrator sebagai berikut:
-
Jika menggunakan AWS CLI, buat profil,
AccountAadmin
, di file konfigurasi. -
Jika menggunakan AWS Tools for Windows PowerShell, pastikan Anda menyimpan kredensi untuk sesi sebagai.
AccountAadmin
Untuk petunjuk, silakan lihat Menyiapkan alat untuk penelusuran.
-
Langkah 1: Buat sumber daya di Akun A dan berikan izin
Dengan menggunakan kredensi pengguna AccountAadmin
di Akun A, dan login IAM pengguna khususURL, masuk ke akun AWS Management Console dan lakukan hal berikut:
-
Buat sumber daya ember dan IAM pengguna
-
Pada konsol Amazon S3, buat bucket. Perhatikan Wilayah AWS di mana Anda membuat ember. Untuk petunjuk, silakan lihat Membuat bucket.
-
Di IAMKonsol
, lakukan hal berikut: -
Buat pengguna bernama Dave.
Untuk step-by-step petunjuknya, lihat Membuat IAM pengguna (konsol) di Panduan IAM Pengguna.
-
Perhatikan
UserDave
kredensialnya. -
Perhatikan Nama Sumber Daya Amazon (ARN) untuk pengguna Dave. Di IAMKonsol
, pilih pengguna, dan tab Ringkasan menyediakan penggunaARN.
-
-
-
Berikan izin.
Karena pemilik bucket dan akun induk yang dimiliki pengguna adalah sama, mereka Akun AWS dapat memberikan izin pengguna menggunakan kebijakan bucket, kebijakan pengguna, atau keduanya. Dalam contoh ini, Anda melakukan keduanya. Jika objek juga dimiliki oleh akun yang sama, pemilik bucket dapat memberikan izin objek dalam kebijakan bucket (atau IAM kebijakan).
-
Pada konsol Amazon S3, lampirkan kebijakan ember berikut ini ke
awsexamplebucket1
.Kebijakan ini memiliki dua pernyataan.
-
Pernyataan pertama memberikan izin operasi bucket
s3:GetBucketLocation
dans3:ListBucket
kepada Dave. -
Pernyataan kedua memberikan izin kepada
s3:GetObject
. Karena Akun A juga memiliki objek, administrator akun dapat memberikan izin kepadas3:GetObject
.
Dalam
Principal
pernyataan itu, Dave diidentifikasi oleh ARN penggunanya. Untuk informasi lebih lanjut tentang elemen-elemen kebijakan, lihat Kebijakan dan izin di Amazon S3.{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
AccountA-ID
:user/Dave" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1
" ] }, { "Sid": "statement2", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountA-ID
:user/Dave" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1
/*" ] } ] } -
-
Buat kebijakan yang selaras untuk pengguna Dave, dengan menggunakan kebijakan berikut. Kebijakan tersebut memberikan izin
s3:PutObject
kepada Dave. Anda perlu memperbarui kebijakan dengan memberikan nama bucket Anda.{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionForObjectOperations", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::
awsexamplebucket1
/*" ] } ] }Untuk petunjuk, lihat Mengelola IAMpolicies di Panduan IAM Pengguna. Perlu diperhatikan bahwa Anda perlu masuk ke konsol dengan menggunakan kredensial Akun A.
-
Langkah 2: Menguji izin
Dengan menggunakan kredensial Dave, verifikasikan bahwa izin tersebut berfungsi. Anda dapat menggunakan salah satu dari dua prosedur berikut.
Izin uji menggunakan AWS CLI
-
Perbarui file AWS CLI konfigurasi dengan menambahkan
UserDaveAccountA
profil berikut. Untuk informasi selengkapnya, lihat Menyiapkan alat untuk penelusuran.[profile UserDaveAccountA] aws_access_key_id =
access-key
aws_secret_access_key =secret-access-key
region =us-east-1
-
Verifikasi bahwa Dave dapat melakukan operasi sebagaimana yang diberikan dalam kebijakan pengguna. Unggah objek sampel menggunakan AWS CLI
put-object
perintah berikut.Parameter
--body
dalam perintah mengidentifikasi file sumber yang akan diunggah. Misalnya, jika file tersebut berada di root drive C: pada a Windows mesin, Anda tentukanc:\HappyFace.jpg
. Parameter--key
menyediakan nama kunci untuk objek.aws s3api put-object --bucket
awsexamplebucket1
--keyHappyFace.jpg
--bodyHappyFace.jpg
--profile UserDaveAccountAJalankan AWS CLI perintah berikut untuk mendapatkan objek.
aws s3api get-object --bucket awsexamplebucket1 --key
HappyFace.jpg
OutputFile.jpg
--profile UserDaveAccountA
Izin uji menggunakan AWS Tools for Windows PowerShell
-
Simpan kredensial Dave sebagai
AccountADave
. Anda kemudian menggunakan kredensil ini kePUT
danGET
objek.set-awscredentials -AccessKey
AccessKeyID
-SecretKeySecretAccessKey
-storeas AccountADave -
Unggah objek sampel menggunakan AWS Tools for Windows PowerShell
Write-S3Object
perintah menggunakan kredensi tersimpan pengguna Dave.Write-S3Object -bucketname
awsexamplebucket1
-keyHappyFace.jpg
-fileHappyFace.jpg
-StoredCredentials AccountADaveUnduh objek yang telah diunggah sebelumnya.
Read-S3Object -bucketname
awsexamplebucket1
-keyHappyFace.jpg
-fileOutput.jpg
-StoredCredentials AccountADave