

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

# Prasyarat untuk menonaktifkan ACL
<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, menentukan AWS akun atau grup mana yang dapat mengakses dan memodifikasi objek tersebut. Mayoritas kasus penggunaan modern di Amazon S3 tidak lagi memerlukan penggunaan ACL. Sebaiknya gunakan kebijakan AWS Identity and Access Management (IAM) dan bucket untuk mengelola akses, dan menjaga ACL tetap dinonaktifkan, kecuali dalam keadaan di mana Anda perlu mengontrol akses untuk setiap objek secara individual.

Jika Anda mengaktifkan ACL di bucket Anda, sebelum menonaktifkan ACL, selesaikan prasyarat berikut:

**Topics**
+ [Tinjau ACL bucket dan objek 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 ACL-related kondisi](#object-ownership-bucket-policies)
+ [Contoh kasus penggunaan](#object-ownership-migrating-acls)

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

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

Setiap bucket dan ACL objek yang ada memiliki kesetaraan dalam kebijakan IAM. Contoh kebijakan bucket berikut menunjukkan cara `READ` dan izin `WRITE` untuk bucket dan objek ACL memetakan 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 ACL:
+ Jika bucket ACL Anda memberikan akses di luar AWS akun Anda, pertama-tama, Anda harus memigrasikan izin bucket ACL ke kebijakan bucket Anda.
+ Selanjutnya, atur ulang bucket ACL Anda ke ACL pribadi default. 
+ Kami juga menyarankan Anda meninjau izin ACL tingkat objek dan memigrasinya ke kebijakan bucket Anda. 

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

Jika bucket ACL memberikan akses di luar ACL Akun AWS, sebelum menonaktifkan ACL, Anda harus memigrasikan izin bucket ACL ke kebijakan bucket dan mengatur ulang bucket ACL ke ACL pribadi default. Jika Anda tidak melakukan migrasi dan mengatur ulang, permintaan Anda untuk menerapkan pengaturan yang dipaksakan pemilik Bucket untuk menonaktifkan ACL 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 memigrasikan 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` membagi izin ACL untuk pihak ketiga Akun AWS ke kebijakan bucket. `READ_ACP`dan `WRITE_ACP` ACL kurang relevan untuk kebijakan karena memberikan ACL-related izin (`s3:GetBucketAcl`,, `s3:GetObjectAcl``s3:PutBucketAcl`, dan`s3:PutObjectAcl`).

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

```
{
		"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 — `BACA` ACL untuk setiap objek 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 mengiz `s3:GetObjectVersion` inkan 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 — `TULIS` ACL 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, 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 memigrasikan izin ACL
<a name="review-migrate-acl-cli"></a>

1. Untuk mengembalikan bucket ACL untuk bucket Anda, gunakan [get-bucket-acl](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 pemilik Bucket dan menonaktifkan ACL, 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 ACL lainnya, 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 [get-object-acl](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 memerlukan ACL untuk otorisasi, Anda dapat menggunakan nilai `aclRequired` 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 ada ACL yang diperlukan, atau jika Anda menyetel ACL yang `bucket-owner-full-control` sudah disiapkan, atau jika permintaan diizinkan oleh kebijakan bucket Anda, string `aclRequired` nilai adalah "`-`" di log akses server Amazon S3 dan tidak ada di dalam. CloudTrail Untuk informasi selengkapnya tentang nilai `aclRequired` yang diharapkan, lihat [`ACL` Nilai yang diperlukan untuk permintaan Amazon S3 umum](acl-overview.md#aclrequired-s3).

Jika Anda memiliki `PutBucketAcl` atau `PutObjectAcl` meminta dengan header yang memberikan ACL-based izin, kecuali ACL yang sudah di `bucket-owner-full-control` kalengkan, Anda harus menghapus header tersebut sebelum Anda dapat menonaktifkan ACL. Jika tidak, permintaan Anda akan gagal.

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

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

Jika Anda melihat bahwa tidak ada permintaan yang memerlukan ACL untuk otorisasi, Anda dapat melanjutkan untuk menonaktifkan ACL. 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 ACL-related kondisi
<a name="object-ownership-bucket-policies"></a>

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

Jika kebijakan bucket menggunakan kunci ACL-related kondisi untuk mewajibkan `bucket-owner-full-control` ACL yang sudah disiapkan (misalnya,`s3:x-amz-acl`), Anda tidak perlu memperbarui kebijakan bucket Anda. 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 ACL 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 menggunakan kunci ACL-related kondisi yang memerlukan ACL berbeda, Anda harus menghapus kunci kondisi ini. Contoh kebijakan bucket ini memerlukan `public-read` ACL untuk permintaan S3 `PutObject`, dan karenanya harus diperbarui sebelum menonaktifkan ACL. 

------
#### [ 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 akses Amazon ElastiCache (Redis OSS) 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 untuk menonaktifkan ACL untuk bucket tujuan pencatatan akses server (juga dikenal sebagai *bucket target*), Anda harus memigrasikan izin ACL bucket untuk grup pengiriman log S3 ke layanan logging pengguna utama (`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 ACL objek Anda 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 akses Amazon ElastiCache (Redis OSS) 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 Anda ke bucket S3, Anda harus ElastiCache memberikan izin untuk menyalin snapshot ke bucket. Jika Anda telah memberikan izin ke ElastiCache dalam bucket ACL, Anda harus memigrasikan izin ini ke kebijakan bucket sebelum menerapkan setelan yang dipaksakan pemilik Bucket untuk menonaktifkan ACL. Untuk informasi selengkapnya, [ lihat ElastiCache Memberikan akses ke bucket Amazon S3 Anda ](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) di Panduan ElastiCache Pengguna * Amazon*.

Contoh berikut menunjukkan izin bucket ACL yang memberikan izin kepada 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 bucket ACL 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.