Contoh 1: Pemilik bucket yang memberikan izin bucket kepada penggunanya - Amazon Simple Storage Service

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 peran IAM adalah praktik yang lebih baik daripada memberikan izin kepada pengguna individual.Untuk informasi selengkapnya tentang cara memberikan izin ke peran IAM, lihat. Memahami izin lintas akun dan menggunakan peran IAM

Dalam panduan ini, a Akun AWS memiliki ember, 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 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:

Diagram yang menunjukkan AWS akun yang memberikan izin.
  1. Administrator akun membuat kebijakan bucket yang memberikan serangkaian izin kepada pengguna.

  2. Administrator akun melampirkan kebijakan pengguna pada pengguna yang memberikan izin tambahan.

  3. 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

1111-1111-1111

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, panduan 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

  1. Pastikan Anda memiliki Akun AWS dan memiliki pengguna dengan hak administrator.

    1. Mendaftar untuk Akun AWS, jika diperlukan. Kami menyebut akun ini sebagai Akun A.

      1. Buka http://aws.amazon.com/s3 dan pilih Buat akun AWS .

      2. Ikuti petunjuk di layar.

        AWS akan memberi tahu Anda melalui email ketika akun Anda aktif dan tersedia untuk Anda gunakan.

    2. Di Akun A, buat pengguna administratorAccountAadmin. Menggunakan kredensial Akun A, masuklah ke Konsol IAM dan lakukan hal-hal berikut ini:

      1. Buat pengguna AccountAadmin dan catat kredensil keamanan pengguna.

        Untuk petunjuk, lihat Membuat pengguna IAM di Panduan Pengguna IAM Anda Akun AWS.

      2. Berikan hak administrator AccountAadmindengan melampirkan kebijakan pengguna yang memberikan akses penuh.

        Untuk instruksi, lihat Mengelola kebijakan IAM dalam Panduan Pengguna IAM.

      3. Perhatikan URL Masuk pengguna IAM untuk. AccountAadmin Anda perlu menggunakan URL ini saat masuk ke AWS Management Console. Untuk informasi selengkapnya tentang tempat menemukan URL masuk, lihat Masuk ke AWS Management Console sebagai pengguna IAM di Panduan Pengguna IAM. Catat URL untuk setiap akun.

  2. 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, lihat Menyiapkan alat untuk penelusuran.

Langkah 1: Buat sumber daya di Akun A dan berikan izin

Dengan menggunakan kredensil pengguna AccountAadmin di Akun A, dan URL login pengguna IAM khusus, masuk ke akun AWS Management Console dan lakukan hal berikut:

  1. Buat sumber daya bucket dan pengguna IAM

    1. Pada konsol Amazon S3, buat bucket. Perhatikan Wilayah AWS di mana Anda membuat ember. Untuk petunjuk, lihat Membuat ember tujuan umum.

    2. Di Konsol IAM, lakukan hal berikut:

      1. Buat pengguna bernama Dave.

        Untuk step-by-step petunjuk, lihat Membuat pengguna IAM (konsol) di Panduan Pengguna IAM.

      2. Perhatikan UserDave kredensialnya.

      3. Perhatikan Nama Sumber Daya Amazon (ARN) untuk pengguna Dave. Di Konsol IAM, pilih pengguna, dan tab Ringkasan menyediakan ARN pengguna.

  2. 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, maka pemilik bucket dapat memberikan izin objek dalam kebijakan bucket (atau kebijakan IAM).

    1. Di konsol Amazon S3, lampirkan kebijakan bucket berikut ke. awsexamplebucket1

      Kebijakan ini memiliki dua pernyataan.

      • Pernyataan pertama memberikan izin operasi bucket s3:GetBucketLocation dan s3:ListBucket kepada Dave.

      • Pernyataan kedua memberikan izin kepada s3:GetObject. Karena Akun A juga memiliki objek, administrator akun dapat memberikan izin kepada s3: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.

      { "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/*" ] } ] }
    2. 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 dalam 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.

Izin uji menggunakan AWS CLI
  1. 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
  2. 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 berada di root drive C: pada Windows mesin, Anda tentukanc:\HappyFace.jpg. Parameter --key menyediakan nama kunci untuk objek.

    aws s3api put-object --bucket awsexamplebucket1 --key HappyFace.jpg --body HappyFace.jpg --profile UserDaveAccountA

    Jalankan 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
  1. Simpan kredensial Dave sebagai AccountADave. Anda kemudian menggunakan kredensil ini ke PUT dan GET objek.

    set-awscredentials -AccessKey AccessKeyID -SecretKey SecretAccessKey -storeas AccountADave
  2. Unggah objek sampel menggunakan AWS Tools for Windows PowerShell Write-S3Object perintah menggunakan kredensi tersimpan pengguna Dave.

    Write-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file HappyFace.jpg -StoredCredentials AccountADave

    Unduh objek yang telah diunggah sebelumnya.

    Read-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file Output.jpg -StoredCredentials AccountADave