

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

# Prasyarat untuk menonaktifkan ACLs
<a name="object-ownership-migrating-acls-prerequisites"></a>

Daftar kontrol akses bucket (ACL) di Amazon S3 adalah mekanisme yang memungkinkan Anda menentukan izin granular untuk objek individual dalam bucket S3, yang menentukan akun atau grup AWS mana yang dapat mengakses dan memodifikasi objek tersebut. Mayoritas kasus penggunaan modern di Amazon S3 tidak lagi memerlukan penggunaan. ACLs Kami menyarankan Anda menggunakan AWS Identity and Access Management (IAM) dan kebijakan bucket untuk mengelola akses, dan untuk tetap ACLs dinonaktifkan, kecuali dalam keadaan di mana Anda perlu mengontrol akses untuk setiap objek secara individual.

Jika Anda telah ACLs mengaktifkan bucket, sebelum menonaktifkan ACLs, lengkapi prasyarat berikut:

**Topics**
+ [Tinjau bucket dan objek ACLs dan migrasi izin ACL](#object-ownership-acl-permissions)
+ [Identifikasi permintaan yang memerlukan ACL untuk otorisasi](#object-ownership-acl-identify)
+ [Meninjau dan memperbarui kebijakan bucket yang menggunakan kunci kondisi terkait ACL](#object-ownership-bucket-policies)
+ [Contoh kasus penggunaan](#object-ownership-migrating-acls)

## Tinjau bucket dan objek ACLs dan migrasi izin ACL
<a name="object-ownership-acl-permissions"></a>

Saat Anda menonaktifkan ACLs, izin yang diberikan oleh bucket dan objek ACLs tidak lagi memengaruhi akses. Sebelum menonaktifkan ACLs, tinjau bucket dan objek Anda ACLs. 

Setiap bucket dan objek Anda yang ada ACLs memiliki ekuivalen dalam kebijakan IAM. Contoh kebijakan bucket berikut menunjukkan cara `READ` dan `WRITE` izin untuk bucket dan ACLs peta objek ke izin IAM. Untuk informasi selengkapnya tentang bagaimana setiap ACL menerjemahkan ke izin IAM, lihat [Pemetaan izin ACL dan izin kebijakan akses](acl-overview.md#acl-access-policy-permission-mapping).

Sebelum Anda menonaktifkan ACLs:
+ Jika bucket ACL memberikan akses di luar AWS akun, pertama-tama, Anda harus memigrasikan izin ACL bucket ke kebijakan bucket.
+ Selanjutnya, setel ulang bucket ACL Anda ke ACL pribadi default. 
+ Kami juga menyarankan Anda meninjau izin ACL tingkat objek dan memigrasikannya ke kebijakan bucket Anda. 

Jika bucket Anda ACLs memberikan izin baca atau tulis kepada orang lain di luar akun Anda, sebelum Anda dapat menonaktifkan ACLs, Anda harus memigrasikan izin ini ke kebijakan bucket Anda. Setelah memigrasikan izin ini, Anda dapat menyetel **Kepemilikan Objek** ke setelan yang *diberlakukan pemilik Bucket*. Jika Anda tidak memigrasikan bucket ACLs yang memberikan akses baca atau tulis di luar akun, permintaan Anda untuk menerapkan setelan yang diberlakukan pemilik Bucket gagal dan mengembalikan kode [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl)kesalahan. 

Jika bucket ACL memberikan akses di luar Akun AWS, sebelum menonaktifkan ACLs, Anda harus memigrasikan izin ACL bucket ke kebijakan bucket dan mengatur ulang ACL bucket Anda ke ACL pribadi default. Jika Anda tidak melakukan migrasi dan mengatur ulang, permintaan Anda untuk menerapkan setelan yang diberlakukan pemilik Bucket untuk menonaktifkan ACLs gagal dan mengembalikan kode [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl)kesalahan. Kami juga menyarankan Anda meninjau izin ACL objek dan memigrasikannya ke kebijakan bucket Anda. 

Untuk meninjau dan memigrasi izin ACL ke kebijakan bucket, lihat topik berikut.

**Topics**
+ [Contoh kebijakan bucket](#migrate-acl-permissions-bucket-policies)
+ [Menggunakan konsol S3 untuk meninjau dan memigrasikan izin ACL](#review-migrate-acl-console)
+ [Menggunakan AWS CLI untuk meninjau dan memigrasi izin ACL](#review-migrate-acl-cli)

### Contoh kebijakan bucket
<a name="migrate-acl-permissions-bucket-policies"></a>

Contoh kebijakan bucket ini menunjukkan cara memigrasi `READ` dan `WRITE` meng-bucket serta objek izin ACL untuk pihak ketiga Akun AWS ke kebijakan bucket. `READ_ACP`dan kurang `WRITE_ACP` ACLs relevan untuk kebijakan karena mereka memberikan izin terkait ACL (`s3:GetBucketAcl`,, `s3:GetObjectAcl``s3:PutBucketAcl`, dan). `s3:PutObjectAcl`

**Example – `READ` ACL untuk bucket**  
Jika bucket Anda memiliki `READ` ACL yang memberikan Akun AWS `111122223333` izin untuk mencantumkan konten bucket, Anda dapat menulis kebijakan bucket yang memberikan `s3:ListBucket` `s3:ListBucketMultipartUploads` izin untuk bucket Anda. `s3:ListBucketVersions`     
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Permission to list the objects in a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [

						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:ListBucket",
					"s3:ListBucketVersions",
					"s3:ListBucketMultipartUploads"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
			}
		]
	}
```

**Example — `READ` ACLs untuk setiap benda dalam ember**  
Jika setiap objek di bucket Anda memiliki `READ` ACL yang memberikan akses ke Akun AWS `111122223333`, Anda dapat menulis kebijakan bucket yang memberikan `s3:GetObject` dan `s3:GetObjectVersion` izin ke akun ini untuk setiap objek di bucket Anda.    
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Read permission for every object in a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [
						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:GetObject",
					"s3:GetObjectVersion"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
			}
		]
	}
```
Contoh elemen sumber daya ini memberikan akses ke objek tertentu.  

```
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/OBJECT-KEY"
```

**Example – ACL `WRITE` yang memberikan izin untuk menulis objek ke bucket**  
Jika bucket Anda memiliki `WRITE` ACL yang memberikan Akun AWS `111122223333` izin untuk menulis objek ke bucket, Anda dapat menulis kebijakan bucket yang memberikan `s3:PutObject` izin untuk bucket Anda.    
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Permission to write objects to a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [
						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:PutObject"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
			}
		]
	}
```

### Menggunakan konsol S3 untuk meninjau dan memigrasikan izin ACL
<a name="review-migrate-acl-console"></a>

**Untuk meninjau izin ACL bucket**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di dalam daftar **Bucket**, pilih nama bucket.

1. Pilih tab **Izin**.

1. Di bagian bawah **Daftar kontrol akses (ACL)**, tinjau izin ACL bucket Anda.

**Untuk meninjau izin ACL objek**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di daftar **Bucket**, pilih nama bucket yang berisi objek Anda.

1. Di daftar **Objek**, pilih nama objek Anda.

1. Pilih tab **Izin**.

1. Di bagian bawah **Daftar kontrol akses (ACL)**, tinjau izin ACL objek Anda.

**Untuk memigrasi izin ACL dan memperbarui bucket ACL**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di dalam daftar **Bucket**, pilih nama bucket.

1. Pada tab **Izin**, di bawah **Kebijakan bucket**, pilih **Edit**.

1. Di kotak **Kebijakan**, tambahkan atau perbarui kebijakan bucket Anda.

   Misalnya kebijakan bucket, lihat [Contoh kebijakan bucket](#migrate-acl-permissions-bucket-policies) dan[Contoh kasus penggunaan](#object-ownership-migrating-acls).

1. Pilih **Simpan perubahan**.

1. [Perbarui bucket ACL Anda](managing-acls.md) untuk menghapus pemberian ACL ke grup lain atau. Akun AWS

1. [Terapkan pengaturan yang **diberlakukan pemilik Bucket**](object-ownership-existing-bucket.md) untuk Kepemilikan Objek.

### Menggunakan AWS CLI untuk meninjau dan memigrasi izin ACL
<a name="review-migrate-acl-cli"></a>

1. Untuk mengembalikan bucket ACL untuk bucket Anda, gunakan [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html) AWS CLI perintah:

   ```
   aws s3api get-bucket-acl --bucket amzn-s3-demo-bucket
   ```

   Misalnya, bucket ACL ini memberikan `WRITE` dan `READ` akses ke akun pihak ketiga. Dalam ACL ini, akun pihak ketiga diidentifikasi oleh ID pengguna [kanonik](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId). Untuk menerapkan pengaturan yang diberlakukan dan menonaktifkan pemilik Bucket ACLs, Anda harus memigrasikan izin ini untuk akun pihak ketiga ke kebijakan bucket. 

   ```
   {
   		"Owner": {
   			"ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
   		},
   		"Grants": [
   			{
   				"Grantee": {
   					"ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "FULL_CONTROL"
   			},
   			{
   				"Grantee": {
   					"ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "READ"
   			},
   			{
   				"Grantee": {
   					"ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "WRITE"
   			}
   		]
   	}
   ```

   Untuk contoh lain ACLs, lihat[Contoh kasus penggunaan](#object-ownership-migrating-acls).

1. Migrasikan izin ACL bucket Anda ke kebijakan bucket:

   Contoh kebijakan bucket ini memberikan izin `s3:PutObject` dan `s3:ListBucket` untuk akun pihak ketiga. Dalam kebijakan bucket, akun pihak ketiga diidentifikasi oleh Akun AWS ID (`111122223333`).

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   	policy.json:
   	{
   		"Version": "2012-10-17",		 	 	 
   		"Statement": [
   			{
   				"Sid": "PolicyForCrossAccountAllowUpload",
   				"Effect": "Allow",
   				"Principal": {
   					"AWS": [
   						"arn:aws:iam::111122223333:root"
   					]
   				},
   				"Action": [
   					"s3:PutObject",
   					"s3:ListBucket"
   				],
   				"Resource": [
   					"arn:aws:s3:::amzn-s3-demo-bucket",
   					"arn:aws:s3:::amzn-s3-demo-bucket/*"
   			}
   		]
   	}
   ```

   Untuk contoh kebijakan bucket lainnya, lihat [Contoh kebijakan bucket](#migrate-acl-permissions-bucket-policies) dan [Contoh kasus penggunaan](#object-ownership-migrating-acls).

1. Untuk mengembalikan ACL untuk objek tertentu, gunakan [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html) AWS CLI perintah.

   ```
   aws s3api get-object-acl --bucket amzn-s3-demo-bucket --key EXAMPLE-OBJECT-KEY
   ```

1. Jika diperlukan, migrasi izin ACL objek ke kebijakan bucket Anda. 

   Contoh elemen sumber daya ini memberikan akses ke objek tertentu dalam kebijakan bucket.

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/EXAMPLE-OBJECT-KEY"
   ```

1. Setel ulang ACL untuk bucket Anda ke ACL default.

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Terapkan pengaturan yang diberlakukan pemilik Bucket](object-ownership-existing-bucket.md) untuk Kepemilikan Objek.

## Identifikasi permintaan yang memerlukan ACL untuk otorisasi
<a name="object-ownership-acl-identify"></a>

Untuk mengidentifikasi permintaan Amazon S3 yang diperlukan ACLs untuk otorisasi, Anda dapat menggunakan `aclRequired` nilai di log akses server Amazon S3 atau. AWS CloudTrail Jika permintaan memerlukan ACL untuk otorisasi atau jika Anda memiliki permintaan `PUT` yang menentukan ACL, string adalah `Yes`. Jika tidak ACLs diperlukan, atau jika Anda menyetel ACL yang `bucket-owner-full-control` dikalengkan, atau jika permintaan diizinkan oleh kebijakan bucket Anda, string `aclRequired` nilainya adalah "`-`" di log akses server Amazon S3 dan tidak ada di dalamnya. CloudTrail Untuk informasi selengkapnya tentang nilai `aclRequired` yang diharapkan, lihat [Nilai `aclRequired` untuk permintaan Amazon S3 umum](acl-overview.md#aclrequired-s3).

Jika Anda memiliki `PutBucketAcl` atau `PutObjectAcl` meminta dengan header yang memberikan izin berbasis ACL, kecuali ACL yang `bucket-owner-full-control` dikalengkan, Anda harus menghapus header tersebut sebelum dapat menonaktifkannya. ACLs Jika tidak, permintaan Anda akan gagal.

Untuk semua permintaan lain yang memerlukan ACL untuk otorisasi, migrasi izin ACL tersebut ke kebijakan bucket. Kemudian, lepaskan bucket apa pun ACLs sebelum Anda mengaktifkan pengaturan yang diberlakukan pemilik bucket. 

**catatan**  
Jangan hapus objek ACLs. Jika tidak, aplikasi yang mengandalkan objek ACLs untuk izin akan kehilangan akses.

Jika Anda melihat bahwa tidak ada permintaan yang memerlukan ACL untuk otorisasi, Anda dapat melanjutkan untuk menonaktifkan. ACLs Untuk informasi selengkapnya tentang mengidentifikasi permintaan, lihat [Menggunakan log akses server Amazon S3 untuk mengidentifikasi permintaan](using-s3-access-logs-to-identify-requests.md) dan[Mengidentifikasi permintaan Amazon S3 menggunakan CloudTrail](cloudtrail-request-identification.md).

## Meninjau dan memperbarui kebijakan bucket yang menggunakan kunci kondisi terkait ACL
<a name="object-ownership-bucket-policies"></a>

Setelah Anda menerapkan pengaturan diberlakukan pemilik Bucket untuk menonaktifkan ACLs, objek baru dapat diunggah ke bucket Anda hanya jika permintaan menggunakan kontrol penuh pemilik bucket ACLs atau tidak menentukan ACL. Sebelum menonaktifkan ACLs, tinjau kebijakan bucket Anda untuk kunci kondisi terkait ACL.

Jika kebijakan bucket Anda menggunakan kunci kondisi terkait ACL untuk mewajibkan ACL yang terekam `bucket-owner-full-control` (misalnya, `s3:x-amz-acl`), Anda tidak perlu memperbarui kebijakan bucket. Kebijakan bucket berikut menggunakan `s3:x-amz-acl` untuk mewajibkan ACL yang terekam `bucket-owner-full-control` untuk permintaan `PutObject` S3. Kebijakan ini *masih* mengharuskan penulis objek untuk menentukan ACL terekam `bucket-owner-full-control`. Namun, bucket dengan ACLs dinonaktifkan masih menerima ACL ini, sehingga permintaan terus berhasil tanpa perlu perubahan sisi klien.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "OnlyAllowWritesToMyBucketWithBucketOwnerFullControl",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/ExampleUser"
                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}
```

------

Namun, jika kebijakan bucket Anda menggunakan kunci kondisi terkait ACL yang memerlukan ACL berbeda, Anda harus menghapus kunci kondisi ini. Contoh kebijakan bucket ini memerlukan `public-read` ACL untuk `PutObject` permintaan S3 dan karenanya harus diperbarui sebelum menonaktifkan. ACLs 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Only allow writes to my bucket with public read access",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/ExampleUser"                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "public-read"
                }
            }
        }
    ]
}
```

------

## Contoh kasus penggunaan
<a name="object-ownership-migrating-acls"></a>

Contoh berikut ini menunjukkan cara memigrasikan izin ACL ke kebijakan bucket untuk kasus penggunaan tertentu.

**Topics**
+ [Berikan akses ke grup pengiriman log S3 untuk pencatatan akses server](#object-ownership-server-access-logs)
+ [Berikan akses baca publik ke objek dalam bucket](#object-ownership-public-read)
+ [Berikan Amazon ElastiCache (Redis OSS) akses ke bucket S3 Anda](#object-ownership-elasticache-redis)

### Berikan akses ke grup pengiriman log S3 untuk pencatatan akses server
<a name="object-ownership-server-access-logs"></a>

Jika Anda ingin menerapkan pengaturan yang diberlakukan pemilik Bucket ACLs untuk menonaktifkan bucket tujuan pencatatan akses server (juga dikenal sebagai *bucket target*), Anda harus memigrasikan izin ACL bucket untuk grup pengiriman log S3 ke prinsipal layanan logging (`logging.s3.amazonaws.com`) dalam kebijakan bucket. Untuk informasi lebih lanjut tentang izin pengiriman log, lihat [Izin untuk pengiriman log](enable-server-access-logging.md#grant-log-delivery-permissions-general).

ACL bucket ini memberikan akses `WRITE` dan `READ_ACP` ke grup pengiriman log S3:

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    }, 
    "Grants": [
        {
            "Grantee": {
                "Type": "CanonicalUser", 
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
            }, 
            "Permission": "FULL_CONTROL"
        }, 
        {
            "Grantee": {
                "Type": "Group", 
                "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
            }, 
            "Permission": "WRITE"
        }, 
        {
            "Grantee": {
                "Type": "Group", 
                "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
            }, 
            "Permission": "READ_ACP"
        }
    ]
}
```

**Untuk memigrasikan izin ACL bucket untuk grup pengiriman log S3 ke pengguna utama layanan logging dalam kebijakan bucket**

1. Tambahkan kebijakan bucket berikut ke bucket tujuan Anda, ganti nilai contoh.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:						{
       {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "S3ServerAccessLogsPolicy",
               "Effect": "Allow",
               "Principal": {
                   "Service": "logging.s3.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/EXAMPLE-LOGGING-PREFIX*",
               "Condition": {
                   "ArnLike": {
                       "aws:SourceArn": "arn:aws:s3:::SOURCE-BUCKET-NAME"
                   },
                   "StringEquals": {
                       "aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"
                   }
               }
           }
       ]
   }
   ```

1. Setel ulang ACL untuk bucket tujuan Anda ke ACL default.

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Terapkan pengaturan yang diberlakukan pemilik Bucket](object-ownership-existing-bucket.md) untuk Kepemilikan Objek ke bucket tujuan Anda.

### Berikan akses baca publik ke objek dalam bucket
<a name="object-ownership-public-read"></a>

Jika objek Anda ACLs memberikan akses baca publik ke semua objek di bucket, Anda dapat memigrasikan izin ACL ini ke kebijakan bucket.

Objek ACL ini memberikan akses baca publik ke objek dalam bucket:

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "Type": "Group",
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        }
    ]
}
```

**Untuk memigrasikan izin ACL baca publik ke kebijakan bucket**

1. Untuk memberikan akses baca publik ke semua objek di bucket Anda, tambahkan kebijakan bucket berikut, ganti nilai contoh.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PublicReadGetObject",
               "Effect": "Allow",
               "Principal": "*",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

   Untuk memberikan akses publik ke objek tertentu dalam kebijakan bucket, gunakan format berikut untuk elemen `Resource` tersebut. 

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/OBJECT-KEY"
   ```

   Untuk memberikan akses publik ke semua objek dengan prefiks tertentu, gunakan format berikut untuk elemen `Resource` tersebut. 

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/PREFIX/*"
   ```

1. [Terapkan pengaturan yang diberlakukan pemilik Bucket](object-ownership-existing-bucket.md) untuk Kepemilikan Objek.

### Berikan Amazon ElastiCache (Redis OSS) akses ke bucket S3 Anda
<a name="object-ownership-elasticache-redis"></a>

Anda dapat [mengekspor cadangan ElastiCache (Redis OSS) Anda](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html) ke bucket S3, yang memberi Anda akses ke cadangan dari luar. ElastiCache Untuk mengekspor cadangan ke bucket S3, Anda harus memberikan ElastiCache izin untuk menyalin snapshot ke bucket. Jika Anda telah memberikan izin ke ElastiCache ACL bucket, Anda harus memigrasikan izin ini ke kebijakan bucket sebelum menerapkan pengaturan yang diberlakukan pemilik Bucket untuk menonaktifkan. ACLs Untuk informasi selengkapnya, lihat [Memberikan ElastiCache akses ke bucket Amazon S3 Anda](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) di * ElastiCache Panduan Pengguna Amazon*.

Contoh berikut menunjukkan izin ACL bucket yang memberikan izin. ElastiCache 

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "WRITE"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ_ACP"
        }
    ]
}
```

**Untuk memigrasikan izin ACL bucket untuk ElastiCache (Redis OSS) ke kebijakan bucket**

1. Tambahkan kebijakan bucket berikut ke bucket Anda, ganti nilai contoh.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt15399483",
               "Effect": "Allow",
               "Principal": {
                   "Service": "Region.elasticache-snapshot.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:ListBucket",
                   "s3:GetBucketAcl",
                   "s3:ListMultipartUploadParts",
                   "s3:ListBucketMultipartUploads"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

1. Setel ulang ACL untuk bucket Anda ke ACL default:

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Terapkan pengaturan yang diberlakukan pemilik Bucket](object-ownership-existing-bucket.md) untuk Kepemilikan Objek.