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 ke peran IAM adalah praktik yang lebih baik daripada memberikan izin kepada pengguna individu.Untuk informasi selengkapnya tentang cara memberikan izin ke peran IAM, lihat. Memahami izin lintas akun dan menggunakan peran IAM
Topik
Dalam panduan ini, an Akun AWS memiliki bucket, dan akun menyertakan pengguna IAM Secara default, 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 pada 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 melalui kebijakan bucket dan 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 tidak AccountAdmin.
Semua tugas membuat pengguna dan memberikan izin dilakukan di Konsol Manajemen AWS. Untuk memverifikasi izin, panduan menggunakan alat baris perintah, AWS Command Line Interface (AWS CLI) dan AWS Tools for Windows PowerShell, sehingga Anda tidak perlu menulis kode apa pun.
Bersiap untuk panduan
-
Pastikan Anda memiliki Akun AWS dan bahwa ia memiliki pengguna dengan hak administrator.
-
Mendaftar untuk Akun AWS, jika perlu. Kami menyebut akun ini sebagai Akun A.
-
Buka https://aws.amazon.com/s3
dan pilih Buat AWS akun. -
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 kredensial Akun A, masuklah ke Konsol IAMdan lakukan hal-hal berikut ini: -
Buat pengguna
AccountAadmindan catat kredenSIAL keamanan pengguna.Untuk petunjuk, lihat Membuat pengguna IAM di Akun AWS dalam Panduan Pengguna IAM.
-
Berikan hak administrator AccountAadmin dengan melampirkan kebijakan pengguna yang memberikan akses penuh.
Untuk instruksi, lihat Mengelola kebijakan IAM dalam Panduan Pengguna IAM.
-
Perhatikan Sign-In URL pengguna IAM untuk AccountAadmin. Anda perlu menggunakan URL ini saat masuk ke Konsol Manajemen AWS. Untuk informasi selengkapnya tentang tempat menemukan URL masuk, lihat Mas uk ke Konsol Manajemen AWS sebagai pengguna IAM di Panduan Pengguna IAM. Perhatikan URL untuk setiap akun.
-
-
-
Siapkan baik AWS CLI atau AWS Tools for Windows PowerShell. Pastikan Anda menyimpan kredentif pengguna administrator sebagai berikut:
-
Jika menggunakan AWS CLI, buat profil,
AccountAadmin, di file konfigurasi. -
Jika menggunakan AWS Tools for Windows PowerShell, pastikan Anda menyimpan kredenSIAL untuk sesi sebagai
AccountAadmin.
Untuk petunjuk, lihat Menyiapkan alat untuk penelusuran.
-
Langkah 1: Buat sumber daya di Akun A dan berikan izin
Menggunakan kredenSIAL pengguna AccountAadmin di Akun A, dan URL masuk pengguna IAM khusus, masuk ke Konsol Manajemen AWS dan lakukan hal berikut:
-
Membuat sumber daya dari bucket dan pengguna IAM
-
Pada konsol Amazon S3, buat bucket. Perhatikan Wilayah AWS tempat Anda membuat bucket. Untuk petunjuk, lihat Membuat bucket tujuan umum.
-
Di Konsol IAM
, lakukan hal berikut: -
Buat pengguna bernama Dave.
Untuk petunjuk langkah demi langkah, lihat Membuat pengguna IAM (konsol) di Panduan Pengguna IAM.
-
Perhatikan
UserDavekredensialnya. -
Perhatikan Nama Sumber Daya Amazon (ARN) untuk pengguna Dave. Di Konsol IAM
, pilih pengguna, dan tab Ring kasan menyediakan ARN pengguna.
-
-
-
Berikan izin.
Karena pemilik bucket dan akun induk yang dimiliki pengguna adalah sama, pengguna 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, maka pemilik bucket dapat memberikan izin objek dalam kebijakan bucket (atau kebijakan IAM).
-
Di konsol Amazon S3, lampirkan kebijakan bucket berikut ke
awsexamplebucket1.Kebijakan ini memiliki dua pernyataan.
-
Pernyataan pertama memberikan izin operasi bucket
s3:GetBucketLocationdans3:ListBucketkepada Dave. -
Pernyataan kedua memberikan izin kepada
s3:GetObject. Karena Akun A juga memiliki objek, administrator akun dapat memberikan izin kepadas3:GetObject.
Pada pernyataan
Principal, Dave diidentifikasi oleh pengguna ARN-nya. Untuk informasi lebih lanjut tentang elemen-elemen kebijakan, lihat Kebijakan dan izin di Amazon S3. -
-
Buat kebijakan yang selaras untuk pengguna Dave, dengan menggunakan kebijakan berikut. Kebijakan tersebut memberikan izin
s3:PutObjectkepada Dave. Anda perlu memperbarui kebijakan dengan memberikan nama bucket Anda.Untuk petunjuk, lihat M engelola IAMPolicies di Panduan Pengguna IAM. 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.
Uji izin menggunakan AWS CLI
-
Perbarui file AWS CLI konfigurasi dengan menambahkan
UserDaveAccountAprofil berikut. Untuk informasi selengkapnya, lihat Menyiapkan alat untuk penelusuran.[profile UserDaveAccountA] aws_access_key_id =access-keyaws_secret_access_key =secret-access-keyregion =us-east-1 -
Verifikasi bahwa Dave dapat melakukan operasi sebagaimana yang diberikan dalam kebijakan pengguna. Unggah objek sampel menggunakan AWS CLI
put-objectperintah berikut.Parameter
--bodydalam perintah mengidentifikasi file sumber yang akan diunggah. Misalnya, jika file berada di root drive C: pada Windows mesin, Anda tentukanc:\HappyFace.jpg. Parameter--keymenyediakan nama kunci untuk objek.aws s3api put-object --bucketawsexamplebucket1--keyHappyFace.jpg--bodyHappyFace.jpg--profile UserDaveAccountAJalankan AWS CLI perintah berikut untuk mendapatkan objek.
aws s3api get-object --bucket awsexamplebucket1 --keyHappyFace.jpgOutputFile.jpg--profile UserDaveAccountA
Uji izin menggunakan AWS Tools for Windows PowerShell
-
Simpan kredensial Dave sebagai
AccountADave. Anda kemudian menggunakan kredenSIAL ini untukPUTdanGETobjek.set-awscredentials -AccessKeyAccessKeyID-SecretKeySecretAccessKey-storeas AccountADave -
Unggah objek sampel menggunakan AWS Tools for Windows PowerShell
Write-S3Objectperintah menggunakan kredensional pengguna Dave yang disimpan.Write-S3Object -bucketnameawsexamplebucket1-keyHappyFace.jpg-fileHappyFace.jpg-StoredCredentials AccountADaveUnduh objek yang telah diunggah sebelumnya.
Read-S3Object -bucketnameawsexamplebucket1-keyHappyFace.jpg-fileOutput.jpg-StoredCredentials AccountADave