

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Contoh 4 - Pemilik bucket memberikan izin lintas akun ke objek yang tidak dimilikinya
<a name="example-walkthroughs-managing-access-example4"></a>

**Topics**
+ [Memahami izin lintas akun dan menggunakan peran IAM](#access-policies-walkthrough-example4-overview)
+ [Langkah 0: Bersiap-siap untuk panduan](#access-policies-walkthrough-example4-step0)
+ [Langkah 1: Melakukan tugas Akun A](#access-policies-walkthrough-example4-step1)
+ [Langkah 2: Melakukan tugas Akun B](#access-policies-walkthrough-example4-step2)
+ [Langkah 3: Lakukan tugas Akun C](#access-policies-walkthrough-example4-step3)
+ [Langkah 4: Membersihkan](#access-policies-walkthrough-example4-step6)
+ [Sumber daya terkait](#RelatedResources-managing-access-example4)

 Dalam skenario contoh ini, Anda memiliki bucket dan Anda telah mengaktifkan orang lain Akun AWS untuk mengunggah objek. Jika Anda telah menerapkan pengaturan yang diberlakukan pemilik bucket untuk Kepemilikan S3 Object untuk bucket, Anda akan memiliki semua objek di bucket, termasuk objek yang ditulis oleh objek lain. Akun AWS Pendekatan ini menyelesaikan masalah bahwa objek tidak dimiliki oleh Anda, pemilik ember. Kemudian, Anda dapat mendelegasikan izin kepada pengguna di akun Anda sendiri, atau ke orang lain Akun AWS. Misalkan pengaturan yang diberlakukan pemilik bucket untuk Kepemilikan S3 Object tidak diaktifkan. Itu berarti, bucket Anda dapat memiliki objek yang dimiliki Akun AWS lainnya. 

Sekarang, seandainya sebagai pemilik bucket, Anda perlu memberikan izin lintas akun atas objek, terlepas dari siapa pemilik objek itu, kepada pengguna yang ada di akun lain. Sebagai contoh, pengguna tersebut bisa berupa aplikasi penagihan yang memerlukan akses terhadap metadata objek. Ada dua masalah inti:
+ Pemilik bucket tidak memiliki izin pada objek yang dibuat oleh Akun AWS lain. Agar pemilik bucket dapat memberikan izin pada objek yang tidak dimilikinya, pemilik objek harus terlebih dahulu memberikan izin kepada pemilik bucket. Pemilik objek adalah Akun AWS yang menciptakan objek. Pemilik bucket dapat mendelegasikan izin tersebut.
+ Akun pemilik bucket dapat mendelegasikan izin kepada pengguna di akunnya sendiri (lihat[Contoh 3: Pemilik bucket yang memberikan izin kepada penggunanya ke objek yang bukan miliknya](example-walkthroughs-managing-access-example3.md)). Namun, akun pemilik bucket tidak dapat mendelegasikan izin ke akun lain Akun AWS karena delegasi lintas akun tidak didukung. 

Dalam skenario ini, pemilik bucket dapat membuat peran AWS Identity and Access Management (IAM) dengan izin untuk mengakses objek Kemudian, pemilik bucket dapat memberikan Akun AWS izin lain untuk mengambil peran tersebut, untuk sementara memungkinkannya mengakses objek di bucket. 

**catatan**  
S3 Object Ownership adalah setelan tingkat ember Amazon S3 yang dapat Anda gunakan untuk mengontrol kepemilikan objek yang diunggah ke bucket dan untuk menonaktifkan atau mengaktifkan. ACLs Secara default, Kepemilikan Objek disetel ke setelan diberlakukan pemilik Bucket, dan semuanya ACLs dinonaktifkan. Ketika ACLs dinonaktifkan, pemilik bucket memiliki semua objek di bucket dan mengelola akses ke mereka secara eksklusif dengan menggunakan kebijakan manajemen akses.  
 Mayoritas kasus penggunaan modern di Amazon S3 tidak lagi memerlukan penggunaan. ACLs Kami menyarankan agar Anda tetap ACLs dinonaktifkan, kecuali dalam keadaan di mana Anda perlu mengontrol akses untuk setiap objek secara individual. Dengan ACLs dinonaktifkan, Anda dapat menggunakan kebijakan untuk mengontrol akses ke semua objek di bucket, terlepas dari siapa yang mengunggah objek ke bucket Anda. Untuk informasi selengkapnya, lihat [Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda](about-object-ownership.md).

## Memahami izin lintas akun dan menggunakan peran IAM
<a name="access-policies-walkthrough-example4-overview"></a>

 Peran IAM memungkinkan beberapa skenario untuk mendelegasikan akses ke sumber daya Anda, dan akses lintas akun adalah salah satu skenario utamanya. Dalam contoh ini, pemilik bucket, Akun A, menggunakan peran IAM untuk sementara mendelegasikan akses objek lintas akun ke pengguna lain Akun AWS, Akun C. Setiap peran IAM yang Anda buat memiliki dua kebijakan berikut yang dilampirkan padanya:
+ Kebijakan kepercayaan mengidentifikasi orang lain Akun AWS yang dapat mengambil peran.
+ Kebijakan akses yang menentukan izin—misalnya, `s3:GetObject`—yang diperkenankan saat seseorang mengambil peran tersebut. Untuk daftar izin yang dapat Anda tentukan dalam kebijakan, lihat [Tindakan kebijakan untuk Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions).

Yang Akun AWS diidentifikasi dalam kebijakan kepercayaan kemudian memberikan izin penggunanya untuk mengambil peran tersebut. Pengguna kemudian dapat melakukan hal-hal berikut untuk mengakses objek:
+ Mengambil peran dan, sebagai tanggapan, mendapatkan kredensial keamanan sementara. 
+ Dengan menggunakan kredensial keamanan sementara, pengguna dapat mengakses objek yang ada dalam bucket.

Untuk informasi selengkapnya tentang peran IAM, lihat [Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) dalam *Panduan Pengguna IAM*. 

Berikut ini adalah ringkasan dari langkah-langkah penelusuran: 

![\[Izin lintas akun menggunakan peran IAM.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/access-policy-ex4.png)


1. Akun Pengguna administrator melampirkan kebijakan bucket yang memberikan izin bersyarat kepada Akun B untuk mengunggah objek.

1. Akun Administrator membuat peran IAM, membangun kepercayaan dengan Akun C, sehingga pengguna dalam akun tersebut dapat mengakses Akun A. Kebijakan akses yang terlampir pada peran tersebut membatasi apa yang dapat dilakukan pengguna yang ada di Akun C saat pengguna mengakses Akun A.

1. Administrator Akun B mengunggah objek ke bucket yang dimiliki oleh Akun A, memberikan izin kendali penuh kepada pemilik bucket.

1. Administrator Akun C membuat pengguna dan melampirkan kebijakan pengguna yang memungkinkan pengguna untuk mengambil peran tersebut.

1. Pengguna di Akun C terlebih dahulu harus mengambil peran tersebut, yang akan mengembalikan kredensial keamanan sementara kepada pengguna. Menggunakan kredensial sementara, pengguna kemudian dapat mengakses objek dalam bucket.

Untuk contoh ini, Anda memerlukan tiga akun. Tabel berikut menunjukkan cara kami merujuk akun-akun ini, dan pengguna administrator yang ada dalam akun-akun tersebut. Sesuai dengan pedoman IAM (lihat[Tentang menggunakan pengguna administrator untuk membuat sumber daya dan memberikan izin](example-walkthroughs-managing-access.md#about-using-root-credentials)), kami tidak menggunakan Pengguna root akun AWS kredensyal dalam panduan ini. Sebagai gantinya, Anda membuat pengguna administrator di setiap akun dan menggunakan kredensial tersebut saat membuat sumber daya dan memberikan mereka izin.


| Akun AWS ID | Akun disebut sebagai | Pengguna administrator pada akun  | 
| --- | --- | --- | 
|  *1111-1111-1111*  |  Akun A  |  AccountAadmin  | 
|  *2222-2222-2222*  |  Akun B  |  AccountBadmin  | 
|  *3333-3333-3333*  |  Akun C  |  AccountCadmin  | 



## Langkah 0: Bersiap-siap untuk panduan
<a name="access-policies-walkthrough-example4-step0"></a>

**catatan**  
Anda mungkin ingin membuka editor teks, dan menuliskan beberapa informasi saat Anda melalui langkah-langkahnya. Secara khusus, Anda akan memerlukan akun IDs, pengguna kanonik IDs, pengguna IAM Masuk URLs untuk setiap akun untuk terhubung ke konsol, dan Nama Sumber Daya Amazon (ARNs) dari pengguna IAM, dan peran. 

1. Pastikan Anda memiliki tiga Akun AWS dan setiap akun memiliki satu pengguna administrator seperti yang ditunjukkan pada tabel di bagian sebelumnya.

   1. Mendaftar untuk Akun AWS, sesuai kebutuhan. Kami menyebut akun ini sebagai Akun A, Akun B, dan Akun C.

   1. Menggunakan kredensial Akun A, masuklah ke [Konsol IAM](https://console.aws.amazon.com/iam/home?#home) dan lakukan hal berikut ini untuk membuat pengguna administrator:
      + Buat pengguna **AccountAadmin** dan catat kredensi keamanannya. Untuk informasi lebih lanjut tentang penambahan pengguna, lihat [Membuat Pengguna IAM dalam Akun AWS Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) dalam *Panduan Pengguna IAM*. 
      + Berikan hak administrator **AccountAadmin**dengan melampirkan kebijakan pengguna yang memberikan akses penuh. Untuk instruksi, lihat [Mengelola kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) dalam *Panduan Pengguna IAM*. 
      + Di **Dasbor** Konsol IAM, perhatikan URL **Masuk Pengguna IAM**. Semua pengguna di akun tersebut harus menggunakan URL ini saat masuk ke Konsol Manajemen AWS. Untuk informasi selengkapnya, lihat [Masuk ke pengguna IAM Konsol Manajemen AWS sebagai pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html) *IAM*. 

   1. Ulangi langkah-langkah sebelumnya untuk membuat pengguna administrator di Akun B dan Akun C.

1. Untuk Akun C, catat ID pengguna kanonik. 

   Saat Anda membuat peran IAM di Akun A, kebijakan kepercayaan memberikan izin kepada Akun C untuk mengambil peran tersebut dengan menyebutkan ID akunnya. Anda dapat menemukan informasi akun seperti berikut ini:

   1. Gunakan Akun AWS ID atau alias akun, nama pengguna IAM, dan kata sandi Anda untuk masuk ke konsol [Amazon S3](https://console.aws.amazon.com/s3/).

   1. Pilih nama bucket Amazon S3 untuk melihat detail tentang bucket tersebut.

   1. Pilih tab **Izin** dan kemudian pilih **Daftar Kontrol Akses**. 

   1. Pada bagian **Akses Akun AWS Anda**, pada kolom **Akun** adalah pengidentifikasi panjang, seperti `c1daexampleaaf850ea79cf0430f33d72579fd1611c97f7ded193374c0b163b6`. Ini adalah ID pengguna kanonis Anda.

1. Saat membuat kebijakan bucket, Anda akan memerlukan informasi berikut. Perhatikan nilai-nilai ini:
   + **ID pengguna Kanonik Akun A**–Ketika administrator Akun A memberikan izin unggah objek bersyarat kepada administrator Akun B, kondisinya menetapkan ID pengguna kanonik dari Akun A yang harus mendapatkan kontrol penuh atas objek. 
**catatan**  
ID pengguna kanonik adalah konsep Amazon S3 saja. ID ini adalah ID akun 64 karakter yang dikaburkan. 
   + **Pengguna ARN untuk Administrator Akun B** **— Anda dapat menemukan ARN pengguna di [Konsol IAM](https://console.aws.amazon.com/iam/). Anda harus memilih pengguna dan menemukan ARN pengguna di tab Ringkasan.**

     Dalam kebijakan ember, Anda memberikan kepada `AccountBadmin` izin untuk mengunggah objek dan Anda menentukan pengguna dengan menggunakan ARN. Berikut ini adalah contoh nilai ARN:

     ```
     arn:aws:iam::AccountB-ID:user/AccountBadmin
     ```

1. Siapkan AWS Command Line Interface (CLI) atau. AWS Tools for Windows PowerShell Pastikan Anda menyimpan kredensi pengguna administrator sebagai berikut:
   + Jika menggunakan AWS CLI, buat profil, `AccountAadmin` dan`AccountBadmin`, dalam file konfigurasi.
   + Jika menggunakan AWS Tools for Windows PowerShell, pastikan bahwa Anda menyimpan kredensyal untuk sesi sebagai `AccountAadmin` dan. `AccountBadmin`

   Untuk petunjuk, lihat [Menyiapkan alat untuk penelusuran](policy-eval-walkthrough-download-awscli.md).

## Langkah 1: Melakukan tugas Akun A
<a name="access-policies-walkthrough-example4-step1"></a>

Dalam contoh ini, Akun A adalah pemilik bucket. Jadi pengguna AccountAadmin di Akun A akan melakukan hal berikut: 
+ Buat bucket.
+ Lampirkan kebijakan bucket yang memberikan izin administrator Akun B untuk mengunggah objek.
+ Buat peran IAM yang memberikan izin Akun C untuk mengambil peran sehingga dapat mengakses objek di bucket.

### Langkah 1.1: Masuk ke Konsol Manajemen AWS
<a name="access-policies-walkthrough-cross-account-permissions-acctA-tasks-sign-in-example4"></a>

Menggunakan URL Masuk pengguna IAM untuk Akun A, pertama-tama masuk ke pengguna Konsol Manajemen AWS sebagai**AccountAadmin**. Pengguna ini akan membuat bucket dan melampirkan kebijakan pada bucket tersebut. 

### Langkah 1.2: Buat bucket dan melampirkan kebijakan bucket
<a name="access-policies-walkthrough-example2d-step1-1"></a>

Di konsol Amazon S3, lakukan berikut ini:

1. Buat bucket. Latihan ini mengasumsikan bahwa nama bucketnya adalah `amzn-s3-demo-bucket1`.

   Untuk petunjuk, lihat [Membuat bucket tujuan umum](create-bucket-overview.md). 

1. Lampirkan kebijakan bucket berikut. Kebijakan memberikan izin bersyarat kepada administrator Akun B untuk mengunggah objek.

   Perbarui kebijakan dengan memberikan nilai Anda sendiri untuk `amzn-s3-demo-bucket1``AccountB-ID`,, dan`CanonicalUserId-of-AWSaccountA-BucketOwner`. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "111",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:user/AccountBadmin"
               },
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*"
           },
           {
               "Sid": "112",
               "Effect": "Deny",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:user/AccountBadmin"
               },
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*",
               "Condition": {
                   "StringNotEquals": {
                       "s3:x-amz-grant-full-control": "id=CanonicalUserId-of-AWSaccountA-BucketOwner"
                   }
               }
           }
       ]
   }
   ```

------

### Langkah 1.3: Buat peran IAM untuk memungkinkan akses lintas akun Akun C di Akun A
<a name="access-policies-walkthrough-example2d-step1-2"></a>

Di [Konsol IAM](https://console.aws.amazon.com/iam/), buat peran IAM (**examplerole**) yang memberikan izin Akun C untuk mengambil peran tersebut. Pastikan Anda masih masuk sebagai administrator Akun A karena peran harus dibuat di Akun A.

1. Sebelum membuat peran, siapkan kebijakan terkelola yang menentukan izin yang diperlukan oleh peran tersebut. Anda kemudian perlu melampirkan kebijakan ini ke peran tersebut pada langkah berikutnya.

   1. Di panel navigasi di sebelah kiri, pilih **Kebijakan**, lalu pilih **Buat Kebijakan**.

   1. Di sebelah **Buat Kebijakan Anda Sendiri**, pilih **Pilih**.

   1. Masukkan **access-accountA-bucket** dalam kolom **Nama Kebijakan**.

   1. Salin kebijakan akses berikut ini dan tempelkan ke kolom **Dokumen Kebijakan**. Kebijakan akses memberikan `s3:GetObject` izin peran sehingga, ketika pengguna Akun C mengambil peran, kebijakan tersebut hanya dapat melakukan operasi. `s3:GetObject`

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*"
          }
        ]
      }
      ```

------

   1. Pilih **Buat Kebijakan**.

      Kebijakan baru muncul di daftar kebijakan terkelola.

1. Di panel navigasi di sebelah kiri, pilih **Peran** dan kemudian pilih **Buat Peran Baru**.

1. Di bawah **Pilih Jenis Peran**, pilih **Peran untuk Akses Lintas Akun**, lalu pilih tombol **Pilih** di samping **Menyediakan akses di antara Akun AWS Anda sendiri**.

1. Masukkan ID akun dari Akun C.

   Untuk panduan ini, Anda tidak perlu meminta pengguna untuk memiliki otentikasi multi-faktor (MFA) untuk mengambil peran, jadi biarkan opsi itu tidak dipilih.

1. Pilih **Langkah Berikutnya** untuk mengatur izin yang akan dikaitkan dengan peran.

1. 

   **Pilih kotak centang di samping kebijakan **Access-Accounta-bucket** yang Anda buat, lalu pilih Langkah Berikutnya.**

   Halaman Tinjauan muncul sehingga Anda dapat mengonfirmasi pengaturan untuk peran tersebut sebelum dibuat. Satu item yang sangat penting untuk dicatat di halaman ini adalah tautan yang dapat Anda kirim kepada pengguna Anda yang perlu menggunakan peran ini. Pengguna yang menggunakan tautan langsung menuju halaman **Beralih Peran** dengan kolom ID Akun dan Nama Peran yang sudah diisi. Anda juga dapat melihat tautan ini nanti di halaman **Ringkasan Peran untuk peran** lintas akun apa pun.

1. Masukkan `examplerole` nama peran, lalu pilih **Langkah Berikutnya**.

1. Setelah meninjau peran, pilih **Buat Peran**.

   Peran `examplerole` ditampilkan dalam daftar peran.

1. Pilih nama peran`examplerole`.

1. Pilih tab **Hubungan Kepercayaan**.

1. Pilih **Tampilkan dokumen kebijakan** dan verifikasi kebijakan kepercayaan yang ditampilkan cocok dengan kebijakan berikut.

   Kebijakan kepercayaan berikut ini membangun kepercayaan terhadap Akun C, dengan memungkinkannya untuk melakukan tindakan `sts:AssumeRole`. Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) di dalam *Referensi API AWS Security Token Service *. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Perhatikan Nama Sumber Daya Amazon (ARN) dari `examplerole` peran yang Anda buat. 

   Kemudian pada langkah-langkah berikut ini, Anda melampirkan kebijakan pengguna untuk memungkinkan pengguna IAM mengambil peran ini, dan kemudian Anda mengidentifikasi peran berdasarkan nilai ARN. 

## Langkah 2: Melakukan tugas Akun B
<a name="access-policies-walkthrough-example4-step2"></a>

Contoh bucket yang dimiliki oleh Akun A memerlukan objek yang dimiliki oleh akun lain. Pada langkah ini, administrator Akun B mengunggah objek dengan menggunakan alat baris perintah.
+ Menggunakan `put-object` AWS CLI perintah, unggah objek ke`amzn-s3-demo-bucket1`. 

  ```
  aws s3api put-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --body HappyFace.jpg --grant-full-control id="canonicalUserId-ofTheBucketOwner" --profile AccountBadmin
  ```

  Perhatikan hal-hal berikut:
  + `--Profile`Parameter menentukan `AccountBadmin` profil, sehingga objek dimiliki oleh Akun B.
  + Parameter `grant-full-control` memberikan izin kendali penuh kepada pemilik bucket pada objek sebagaimana yang diwajibkan oleh kebijakan bucket.
  + Parameter `--body` mengidentifikasi file sumber yang akan diunggah. Misalnya, jika file tersebut ada di drive C: Windows komputer, Anda tentukan`c:\HappyFace.jpg`. 

## Langkah 3: Lakukan tugas Akun C
<a name="access-policies-walkthrough-example4-step3"></a>

Pada langkah-langkah sebelumnya, Akun A telah menciptakan peran`examplerole`, membangun kepercayaan dengan Akun C. Peran ini memungkinkan pengguna di Akun C untuk mengakses Akun A. Pada langkah ini, administrator Akun C membuat pengguna (Dave) dan mendelegasikan kepadanya `sts:AssumeRole` izin yang diterima dari Akun A. Pendekatan ini memungkinkan Dave untuk mengasumsikan `examplerole` dan untuk sementara mendapatkan akses ke Akun A. Kebijakan akses yang Akun A melekat pada peran membatasi apa yang dapat dilakukan Dave ketika dia mengakses Akun A—khususnya, masukkan objek. `amzn-s3-demo-bucket1`

### Langkah 3.1: Buat pengguna di Akun C dan delegasikan izin untuk berasumsi examplerole
<a name="cross-acct-access-using-role-step3-1"></a>

1. Menggunakan URL login pengguna IAM untuk Akun C, pertama-tama masuk ke pengguna Konsol Manajemen AWS sebagai**AccountCadmin**. 

   

1. Di [Konsol IAM](https://console.aws.amazon.com/iam/), buat pengguna, Dave. 

   Untuk step-by-step petunjuk, lihat [Membuat pengguna IAM (Konsol Manajemen AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) di *Panduan Pengguna IAM*. 

1. Perhatikan kredensyal Dave. Dave akan memerlukan kredensial ini untuk mengambil peran `examplerole`.

1. Buat kebijakan inline untuk pengguna Dave IAM untuk mendelegasikan `sts:AssumeRole` izin kepada Dave pada peran di Akun A. `examplerole` 

   1. Pada panel navigasi di sebelah kiri, pilih **Pengguna**.

   1. Pilih nama pengguna **Dave.**

   1. Pada halaman rincian pengguna, pilih tab **Izin** dan kemudian perluas bagian **Kebijakan Selaras**.

   1. Pilih **klik di sini** (atau **Buat Kebijakan Pengguna**).

   1. Pilih **Kebijakan Kustom**, lalu pilih **Pilihan**.

   1. Masukkan nama untuk kebijakan pada kolom **Nama Kebijakan**.

   1. Salin kebijakan berikut ke kolom **Dokumen Kebijakan**.

      Anda harus memperbarui kebijakan dengan menyediakan`AccountA-ID`.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "sts:AssumeRole"
                  ],
                  "Resource": "arn:aws:iam::111122223333:role/examplerole"
              }
          ]
      }
      ```

------

   1. Pilih **Terapkan Kebijakan**.

1. Simpan kredensyal Dave ke file konfigurasi AWS CLI dengan menambahkan profil lain,. `AccountCDave`

   ```
   [profile AccountCDave]
   aws_access_key_id = UserDaveAccessKeyID
   aws_secret_access_key = UserDaveSecretAccessKey
   region = us-west-2
   ```

### Langkah 3.2: Asumsikan peran (examplerole) dan akses objek
<a name="cross-acct-access-using-role-step3-2"></a>

Kini Dave dapat mengakses objek yang ada dalam bucket yang dimiliki oleh Akun A seperti berikut ini:
+ Dave terlebih dahulu harus mengambil `examplerole` menggunakan kredensialnya sendiri. Hal ini akan mengembalikan kredensial sementara.
+ Dengan menggunakan kredensial sementara, Dave kemudian akan dapat mengakses objek yang ada dalam bucket Akun A.

1. Pada prompt perintah, jalankan AWS CLI `assume-role` perintah berikut menggunakan `AccountCDave` profil. 

   Anda harus memperbarui nilai ARN dalam perintah dengan memberikan di `AccountA-ID` mana `examplerole` didefinisikan.

   ```
   aws sts assume-role --role-arn arn:aws:iam::AccountA-ID:role/examplerole --profile AccountCDave --role-session-name test
   ```

   Sebagai tanggapan, AWS Security Token Service (AWS STS) mengembalikan kredensyal keamanan sementara (ID kunci akses, kunci akses rahasia, dan token sesi).

1. Simpan kredensyal keamanan sementara di file AWS CLI konfigurasi di bawah profil. `TempCred`

   ```
   [profile TempCred]
   aws_access_key_id = temp-access-key-ID
   aws_secret_access_key = temp-secret-access-key
   aws_session_token = session-token
   region = us-west-2
   ```

1. Pada prompt perintah, jalankan AWS CLI perintah berikut untuk mengakses objek menggunakan kredensyal sementara. Misalnya, perintah menentukan head-object API untuk mengambil metadata objek untuk `HappyFace.jpg` objek.

   ```
   aws s3api get-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg SaveFileAs.jpg --profile TempCred
   ```

   Karena kebijakan akses terlampir pada `examplerole` memungkinkan tindakan, Amazon S3 memproses permintaan. Anda dapat mencoba tindakan lain apa pun pada objek lain yang ada dalam bucket.

   Jika Anda mencoba tindakan lain—misalnya, `get-object-acl` —Anda akan mendapatkan izin ditolak karena peran tersebut tidak diizinkan tindakan itu.

   ```
   aws s3api get-object-acl --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --profile TempCred
   ```

   Kita menggunakan pengguna Dave untuk mengambil peran dan mengakses objek dengan menggunakan kredensial sementara. Ini juga bisa menjadi aplikasi di Akun C yang mengakses objek di `amzn-s3-demo-bucket1`. Aplikasi dapat memperoleh kredensial keamanan sementara, dan Akun C dapat mendelegasikan izin aplikasi untuk mengambil `examplerole`.

## Langkah 4: Membersihkan
<a name="access-policies-walkthrough-example4-step6"></a>

1. Setelah selesai melakukan pengujian, Anda dapat melakukan hal berikut untuk membersihkan:

   1. Masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/) menggunakan kredensial Akun A, dan lakukan hal-hal berikut ini:
     + Pada konsol Amazon S3, hapus kebijakan bucket yang terlampir pada `amzn-s3-demo-bucket1`. Dalam bucket **Properti**, hapus kebijakan yang ada dalam bagian **Izin**. 
     + Jika bucket dibuat untuk latihan ini, pada konsol Amazon S3, hapus objek dan kemudian hapus bucket. 
     + Di [Konsol IAM](https://console.aws.amazon.com/iam/), hapus yang `examplerole` Anda buat di Akun A. Untuk step-by-step petunjuk, lihat [Menghapus pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) *IAM*. 
     + Di [Konsol IAM](https://console.aws.amazon.com/iam/), hapus **AccountAadmin**pengguna.

1. Masuk ke [Konsol IAM](https://console.aws.amazon.com/iam/) menggunakan kredensil Akun B. Hapus pengguna **AccountBadmin**. 

1. Masuk ke [Konsol IAM](https://console.aws.amazon.com/iam/) dengan menggunakan kredensi Akun C. Hapus **AccountCadmin**dan pengguna Dave.

## Sumber daya terkait
<a name="RelatedResources-managing-access-example4"></a>

Untuk informasi selengkapnya yang terkait dengan panduan ini, lihat sumber daya berikut di Panduan Pengguna *IAM:*
+ [Membuat peran untuk mendelegasikan izin ke pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)
+ [Tutorial: Mendelegasikan Akses di Seluruh Akun AWS Menggunakan Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial-cross-account-with-roles.html)
+ [Mengelola kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html)