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

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:

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

  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 https://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 kredensi Akun A, masuk ke IAMkonsol dan lakukan hal berikut:

      1. Buat pengguna AccountAadmin dan catat kredensil keamanan pengguna.

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

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

        Untuk petunjuk, lihat Mengelola IAM kebijakan di Panduan IAM Pengguna.

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

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

  1. Buat sumber daya ember dan IAM pengguna

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

    2. Di IAMKonsol, lakukan hal berikut:

      1. Buat pengguna bernama Dave.

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

      2. Perhatikan UserDave kredensialnya.

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

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

    1. Pada konsol Amazon S3, lampirkan kebijakan ember berikut ini 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.

      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/*" ] } ] }
    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 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
  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 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 --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