

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

# Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda
<a name="about-object-ownership"></a>

[S3 Object Ownership adalah setelan tingkat ember Amazon S3 yang dapat Anda gunakan untuk mengontrol kepemilikan objek yang diunggah ke bucket Anda dan untuk menonaktifkan atau mengaktifkan daftar kontrol akses (). ACLs](acl-overview.md) Secara default, Kepemilikan Objek disetel ke setelan diberlakukan pemilik Bucket dan semuanya ACLs dinonaktifkan. Saat ACLs dinonaktifkan, pemilik bucket memiliki semua objek di bucket dan mengelola akses ke data secara eksklusif menggunakan kebijakan manajemen akses.

Mayoritas kasus penggunaan modern di Amazon S3 tidak lagi memerlukan penggunaan ACLs, dan kami menyarankan Anda tetap ACLs dinonaktifkan kecuali dalam keadaan di mana Anda harus mengontrol akses untuk setiap objek satu per satu. Dengan ACLs dinonaktifkan, Anda dapat menggunakan kebijakan untuk mengontrol akses ke setiap objek di bucket dengan lebih mudah, terlepas dari siapa yang mengunggah objek di bucket Anda. 

Object Ownership memiliki tiga pengaturan yang dapat Anda gunakan untuk mengontrol kepemilikan objek yang diunggah ke bucket Anda dan untuk menonaktifkan atau mengaktifkan ACLs:

**ACLs dinonaktifkan**
+ **Pemilik bucket diberlakukan (default)** — ACLs dinonaktifkan, dan pemilik bucket secara otomatis memiliki dan memiliki kontrol penuh atas setiap objek di bucket. ACLs tidak lagi memengaruhi izin ke data di bucket S3. Bucket tersebut menggunakan kebijakan untuk menentukan kontrol akses.

**ACLs diaktifkan**
+ **Pemilik bucket yang dipilih**—Pemilik bucket memiliki dan diberikan kendali penuh atas objek baru yang ditulis akun lain ke bucket dengan ACL `bucket-owner-full-control` yang dibatasi. 
+ **Penulis objek** — Akun AWS Yang mengunggah objek memiliki objek, memiliki kontrol penuh atasnya, dan dapat memberikan pengguna lain akses ke sana melalui. ACLs

Untuk sebagian besar kasus penggunaan modern di S3, sebaiknya Anda tetap ACLs dinonaktifkan dengan menerapkan pengaturan yang diberlakukan oleh pemilik Bucket dan menggunakan kebijakan bucket Anda untuk berbagi data dengan pengguna di luar akun Anda sesuai kebutuhan. Pendekatan ini menyederhanakan manajemen izin. Anda dapat menonaktifkan ACLs pada bucket yang baru dibuat dan yang sudah ada. Untuk bucket yang baru dibuat, dinonaktifkan ACLs secara default. Dalam kasus bucket yang sudah ada yang sudah memiliki objek di dalamnya, setelah Anda menonaktifkan ACLs, objek dan bucket ACLs tidak lagi menjadi bagian dari evaluasi akses, dan akses diberikan atau ditolak berdasarkan kebijakan. Untuk bucket yang ada, Anda dapat mengaktifkan kembali ACLs kapan saja setelah menonaktifkannya, dan bucket serta objek ACLs yang sudah ada sebelumnya dipulihkan.

Sebelum menonaktifkan ACLs, kami sarankan Anda meninjau kebijakan bucket untuk memastikan kebijakan tersebut mencakup semua cara yang ingin Anda berikan akses ke bucket di luar akun Anda. Setelah Anda menonaktifkan ACLs, bucket Anda hanya menerima `PUT` permintaan yang tidak menentukan ACL atau `PUT` permintaan dengan kontrol penuh pemilik bucket ACLs, misalnya, ACL `bucket-owner-full-control` kalengan atau bentuk setara ACL ini yang dinyatakan dalam XHTML. Aplikasi yang ada yang mendukung kontrol penuh pemilik bucket ACLs tidak akan berdampak. `PUT`permintaan yang berisi lainnya ACLs (misalnya, hibah khusus untuk tertentu Akun AWS) gagal dan mengembalikan `400` kesalahan dengan kode `AccessControlListNotSupported` kesalahan. 

Sebaliknya, ember dengan pengaturan pilihan pemilik Bucket terus menerima dan menghormati ember dan objek ACLs. Dengan pengaturan ini, objek baru yang ditulis dengan ACL terekam `bucket-owner-full-control` secara otomatis dimiliki oleh pemilik bucket daripada penulis objek. Semua perilaku ACL lainnya tetap sama. Agar semua operasi `PUT` Amazon S3 menyertakan ACL `bucket-owner-full-control` yang terekam, Anda dapat [menambahkan kebijakan bucket](ensure-object-ownership.md#ensure-object-ownership-bucket-policy) yang hanya mengizinkan unggahan objek menggunakan ACL ini.

Untuk melihat pengaturan Kepemilikan Objek yang diterapkan ke bucket, Anda dapat menggunakan metrik Lensa Penyimpanan Amazon S3. Lensa Penyimpanan S3 adalah fitur analisis penyimpanan cloud yang dapat Anda gunakan untuk mendapatkan visibilitas seluruh organisasi ke dalam penggunaan dan aktivitas penyimpanan objek. Untuk informasi lebih lanjut, lihat [Menggunakan Lensa Penyimpanan S3 untuk menemukan pengaturan Kepemilikan Objek](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-access-management.html?icmpid=docs_s3_user_guide_about-object-ownership.html).

**catatan**  
Untuk informasi selengkapnya tentang menggunakan kelas penyimpanan Amazon S3 Express One Zone dengan bucket direktori, lihat [S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone) dan [Bekerja dengan bucket direktori](directory-buckets-overview.md).

## Pengaturan Kepemilikan Objek
<a name="object-ownership-overview"></a>

Tabel ini menunjukkan dampak yang dimiliki setiap setelan Kepemilikan Objek pada ACLs, objek, kepemilikan objek, dan unggahan objek. 


| Pengaturan | Berlaku untuk | Efek pada kepemilikan objek | Efek pada ACLs | Unggahan diterima | 
| --- | --- | --- | --- | --- | 
| Pemilik bucket diberlakukan (default) | Semua objek baru dan yang sudah ada | Pemilik bucket memiliki setiap objek. |  ACLs dinonaktifkan dan tidak lagi memengaruhi izin akses ke bucket Anda. Permintaan untuk mengatur atau memperbarui ACLs gagal. Namun, permintaan untuk membaca ACLs didukung.  Pemilik bucket memiliki kepemilikan dan kontrol penuh. Penulis objek tidak lagi memiliki kepemilikan dan kontrol penuh.  | Unggahan dengan kontrol penuh pemilik bucket ACLs atau unggahan yang tidak menentukan ACL | 
| bucket lebih disukai pemilik bucket | Objek baru | Jika unggahan objek menyertakan ACL bucket-owner-full-control terekam, pemilik bucket memiliki objek tersebut. Objek yang diunggah dengan ACLs yang lain dimiliki oleh akun penulisan. |  ACLs dapat diperbarui dan dapat memberikan izin. Jika unggahan objek menyertakan ACL `bucket-owner-full-control` terekam, pemilik bucket memiliki akses kontrol penuh, dan penulis objek tidak lagi memiliki akses kontrol penuh.  | Semua unggahan | 
| Penulis objek | Objek baru | Penulis objek memiliki objek. |  ACLs dapat diperbarui dan dapat memberikan izin. Penulis objek memiliki akses kontrol penuh.  | Semua unggahan | 

## Perubahan diperkenalkan dengan menonaktifkan ACLs
<a name="object-ownership-changes"></a>

Ketika pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek ACLs diterapkan, akan dinonaktifkan dan Anda secara otomatis memiliki dan mengambil kendali penuh atas setiap objek di bucket tanpa mengambil tindakan tambahan apa pun. Pemilik bucket diberlakukan adalah pengaturan default untuk semua bucket yang baru dibuat. Setelah pengaturan diberlakukan pemilik Bucket diterapkan, Anda akan melihat tiga perubahan: 
+ Semua bucket ACLs dan objek ACLs dinonaktifkan, yang memberikan akses penuh kepada Anda, sebagai pemilik bucket. Saat Anda melakukan permintaan ACL baca pada bucket atau objek Anda, Anda akan melihat bahwa akses penuh hanya diberikan kepada pemilik bucket.
+ Anda, sebagai pemilik bucket, secara otomatis memiliki dan memiliki kendali penuh atas setiap objek di bucket Anda.
+ ACLs tidak lagi memengaruhi izin akses ke bucket Anda. [Akibatnya, kontrol akses untuk data Anda didasarkan pada kebijakan, seperti kebijakan [berbasis identitas AWS Identity and Access Management (IAM), kebijakan bucket Amazon S3, kebijakan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security_iam_id-based-policy-examples.html)[titik akhir VPC, dan kebijakan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html)[kontrol layanan Organizations () atau kebijakan SCPs kontrol](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_manage_policies_scps.html) sumber daya (). RCPs](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_manage_policies_rcps.html)

![\[Diagram yang menunjukkan apa yang terjadi ketika Anda menerapkan pengaturan yang diberlakukan pemilik Bucket untuk menonaktifkan ACLs.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/bucket-owner-enforced.png)


Jika Anda menggunakan Pembuatan Penentuan Versi S3, pemilik bucket memiliki dan memiliki kontrol penuh atas semua versi objek di bucket Anda. Menerapkan pengaturan yang diberlakukan pemilik Bucket tidak akan menambahkan versi baru objek.

Objek baru dapat diunggah ke bucket Anda hanya jika mereka menggunakan kontrol penuh pemilik bucket ACLs atau tidak menentukan ACL. Unggahan objek gagal jika mereka menentukan ACL lainnya. Untuk informasi selengkapnya, lihat [Pemecahan masalah](object-ownership-error-responses.md).

Karena contoh `PutObject` operasi berikut menggunakan AWS Command Line Interface (AWS CLI) menyertakan ACL `bucket-owner-full-control` kalengan, objek dapat diunggah ke bucket dengan dinonaktifkan. ACLs

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key key-name --body path-to-file --acl bucket-owner-full-control
```

Karena `PutObject` operasi berikut tidak menentukan ACL, operasi ini juga berhasil untuk bucket dengan dinonaktifkan. ACLs

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key key-name --body path-to-file
```

**catatan**  
Jika orang lain Akun AWS memerlukan akses ke objek setelah mengunggah, Anda harus memberikan izin tambahan ke akun tersebut melalui kebijakan bucket. Untuk informasi selengkapnya, lihat [Panduan yang menggunakan kebijakan untuk mengelola akses ke sumber daya Amazon S3](example-walkthroughs-managing-access.md).

**Mengaktifkan kembali ACLs**  
Anda dapat mengaktifkan kembali ACLs dengan mengubah dari setelan yang diberlakukan pemilik Bucket ke setelan Kepemilikan Objek lain kapan saja. Jika Anda menggunakan objek ACLs untuk manajemen izin sebelum menerapkan setelan diberlakukan pemilik Bucket dan Anda tidak memigrasikan izin ACL objek ini ke kebijakan bucket, setelah Anda mengaktifkan kembali ACLs, izin ini akan dipulihkan. Selain itu, objek yang ditulis ke bucket saat pengaturan yang diberlakukan pemilik Bucket diterapkan masih dimiliki oleh pemilik bucket. 

Misalnya, jika Anda mengubah dari pengaturan yang diberlakukan pemilik Bucket kembali ke pengaturan Object writer, Anda, sebagai pemilik bucket, tidak lagi memiliki dan memiliki kontrol penuh atas objek yang sebelumnya dimiliki oleh orang lain Akun AWS. Sebaliknya, akun pengunggahan kembali memiliki objek-objek ini. Objek yang dimiliki oleh akun lain digunakan ACLs untuk izin, sehingga Anda tidak dapat menggunakan kebijakan untuk memberikan izin ke objek tersebut. Namun, Anda, sebagai pemilik bucket, masih memiliki objek apa pun yang ditulis ke bucket saat pengaturan yang diberlakukan oleh pemilik Bucket diterapkan. Objek ini tidak dimiliki oleh penulis objek, bahkan jika Anda mengaktifkan kembali ACLs.

Untuk petunjuk tentang mengaktifkan dan mengelola ACLs menggunakan Konsol Manajemen AWS, AWS Command Line Interface (CLI), REST API, AWS SDKs atau, lihat. [Mengkonfigurasi ACLs](managing-acls.md)

## Prasyarat untuk menonaktifkan ACLs
<a name="object-ownership-considerations"></a>

Sebelum Anda menonaktifkan ACLs bucket yang sudah ada, selesaikan prasyarat berikut.
+ [Tinjau bucket dan objek ACLs dan migrasi izin ACL](object-ownership-migrating-acls-prerequisites.md#object-ownership-acl-permissions)

  
+ [Identifikasi permintaan yang memerlukan ACL untuk otorisasi](object-ownership-migrating-acls-prerequisites.md#object-ownership-acl-identify)

  
+ [Meninjau dan memperbarui kebijakan bucket yang menggunakan kunci kondisi terkait ACL](object-ownership-migrating-acls-prerequisites.md#object-ownership-bucket-policies)

  

## Izin Kepemilikan Objek
<a name="object-ownership-permissions"></a>

Untuk menerapkan, memperbarui, atau menghapus pengaturan Kepemilikan Objek untuk bucket, Anda memerlukan izin `s3:PutBucketOwnershipControls` tersebut. Untuk mengembalikan pengaturan Kepemilikan Objek untuk bucket, Anda memerlukan izin `s3:GetBucketOwnershipControls`. Untuk informasi selengkapnya, lihat [Mengatur Kepemilikan Objek saat membuat bucket](object-ownership-new-bucket.md) dan [Melihat pengaturan Kepemilikan Objek untuk bucket S3](object-ownership-retrieving.md).

## Menonaktifkan ACLs untuk semua bucket baru
<a name="requiring-bucket-owner-enforced"></a>

Secara default, semua bucket baru dibuat dengan pengaturan diberlakukan pemilik Bucket diterapkan dan ACLs dinonaktifkan. Kami merekomendasikan agar tetap ACLs dinonaktifkan. Sebagai aturan umum, sebaiknya gunakan kebijakan berbasis sumber daya S3 (kebijakan bucket dan kebijakan jalur akses) atau kebijakan IAM untuk kontrol akses, bukan. ACLs Kebijakan adalah opsi kontrol akses yang disederhanakan dan lebih fleksibel. Dengan kebijakan bucket dan kebijakan titik akses, Anda dapat menentukan aturan yang berlaku secara luas di semua permintaan ke sumber daya Amazon S3 Anda. 

## Replikasi dan Kepemilikan Object
<a name="object-ownership-replication"></a>

Bila Anda menggunakan replikasi S3 dan bucket sumber dan tujuan dimiliki oleh berbeda Akun AWS, Anda dapat menonaktifkan ACLs (dengan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek) untuk mengubah kepemilikan replika menjadi bucket Akun AWS yang memiliki tujuan. Pengaturan ini meniru perilaku override pemilik yang ada tanpa memerlukan izin `s3:ObjectOwnerOverrideToBucketOwner`. Semua objek yang direplikasi ke bucket tujuan dengan pengaturan yang diberlakukan pemilik Bucket dimiliki oleh pemilik bucket tujuan. Untuk informasi selengkapnya tentang opsi penggantian pemilik untuk konfigurasi replikasi, lihat [Mengubah pemilik replika](replication-change-owner.md). 

## Mengatur Kepemilikan Objek
<a name="object-ownership-setting"></a>

Anda dapat menerapkan setelan Kepemilikan Objek dengan menggunakan konsol Amazon S3, AWS CLI AWS SDKs, Amazon S3 REST API, atau. AWS CloudFormation API REST dan AWS CLI perintah berikut mendukung Kepemilikan Objek:


| API REST | AWS CLI | Deskripsi | 
| --- | --- | --- | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html) | [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-ownership-controls.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-ownership-controls.html)  | Membuat atau memodifikasi pengaturan Kepemilikan Objek untuk bucket S3 yang ada. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)  | [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html) | Membuat bucket menggunakan header permintaan x-amz-object-ownership untuk menentukan pengaturan Kepemilikan Objek.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html)  | [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-ownership-controls.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-ownership-controls.html) | Mengambil pengaturan Kepemilikan Objek untuk bucket Amazon S3.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketOwnershipControls.html) | [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-ownership-controls.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-ownership-controls.html) | Menghapus pengaturan Kepemilikan Objek untuk bucket Amazon S3.  | 

Untuk informasi tentang menerapkan dan bekerja dengan pengaturan Kepemilikan Objek, lihat topik-topik berikut.

**Topics**
+ [Pengaturan Kepemilikan Objek](#object-ownership-overview)
+ [Perubahan diperkenalkan dengan menonaktifkan ACLs](#object-ownership-changes)
+ [Prasyarat untuk menonaktifkan ACLs](#object-ownership-considerations)
+ [Izin Kepemilikan Objek](#object-ownership-permissions)
+ [Menonaktifkan ACLs untuk semua bucket baru](#requiring-bucket-owner-enforced)
+ [Replikasi dan Kepemilikan Object](#object-ownership-replication)
+ [Mengatur Kepemilikan Objek](#object-ownership-setting)
+ [Prasyarat untuk menonaktifkan ACLs](object-ownership-migrating-acls-prerequisites.md)
+ [Mengatur Kepemilikan Objek saat membuat bucket](object-ownership-new-bucket.md)
+ [Menyetel Kepemilikan Objek pada bucket yang ada](object-ownership-existing-bucket.md)
+ [Melihat pengaturan Kepemilikan Objek untuk bucket S3](object-ownership-retrieving.md)
+ [Menonaktifkan ACLs semua bucket baru dan menegakkan Kepemilikan Objek](ensure-object-ownership.md)
+ [Pemecahan masalah](object-ownership-error-responses.md)

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

# Mengatur Kepemilikan Objek saat membuat bucket
<a name="object-ownership-new-bucket"></a>

Saat membuat bucket, Anda dapat mengonfigurasi Kepemilikan S3 Object. Untuk mengatur Kepemilikan Objek untuk bucket yang ada, lihat [Menyetel Kepemilikan Objek pada bucket yang ada](object-ownership-existing-bucket.md).

S3 Object Ownership adalah setelan tingkat ember Amazon S3 yang dapat Anda gunakan untuk [menonaktifkan daftar kontrol akses ACLs (](acl-overview.md)) dan mengambil kepemilikan setiap objek di bucket Anda, menyederhanakan manajemen akses untuk data yang disimpan di Amazon S3. Secara default, Kepemilikan Objek S3 disetel ke pengaturan yang diberlakukan pemilik Bucket, dan ACLs dinonaktifkan untuk bucket baru. Dengan ACLs dinonaktifkan, pemilik bucket memiliki setiap objek di bucket dan mengelola akses ke data secara eksklusif dengan menggunakan kebijakan manajemen akses. Kami menyarankan agar Anda tetap ACLs dinonaktifkan, kecuali dalam keadaan yang tidak biasa di mana Anda harus mengontrol akses untuk setiap objek secara individual. 

Object Ownership memiliki tiga pengaturan yang dapat Anda gunakan untuk mengontrol kepemilikan objek yang diunggah ke bucket Anda dan untuk menonaktifkan atau mengaktifkan ACLs:

**ACLs dinonaktifkan**
+ **Pemilik bucket diberlakukan (default)** — ACLs dinonaktifkan, dan pemilik bucket secara otomatis memiliki dan memiliki kontrol penuh atas setiap objek di bucket. ACLs tidak lagi memengaruhi izin ke data di bucket S3. Bucket tersebut menggunakan kebijakan untuk menentukan kontrol akses.

**ACLs diaktifkan**
+ **Pemilik bucket yang dipilih**—Pemilik bucket memiliki dan diberikan kendali penuh atas objek baru yang ditulis akun lain ke bucket dengan ACL `bucket-owner-full-control` yang dibatasi. 
+ **Penulis objek** — Akun AWS Yang mengunggah objek memiliki objek, memiliki kontrol penuh atasnya, dan dapat memberikan pengguna lain akses ke sana melalui. ACLs

**Izin**: Untuk menerapkan pengaturan yang **diberlakukan pemilik** **Bucket atau pengaturan pilihan pemilik Bucket**, Anda harus memiliki izin berikut: `s3:CreateBucket` dan `s3:PutBucketOwnershipControls`. Tidak diperlukan izin tambahan saat membuat bucket dengan pengaturan **Object writer** yang diterapkan. *Untuk informasi selengkapnya tentang izin Amazon S3, lihat [Kunci tindakan, sumber daya, dan kondisi untuk Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) di Referensi Otorisasi Layanan.* 

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

**penting**  
Mayoritas kasus penggunaan modern di Amazon S3 tidak lagi memerlukan penggunaan ACLs, dan kami menyarankan Anda menonaktifkan ACLs kecuali dalam keadaan di mana Anda perlu mengontrol akses untuk setiap objek satu per satu. Dengan Object Ownership, Anda dapat menonaktifkan ACLs dan mengandalkan kebijakan untuk kontrol akses. Saat Anda menonaktifkan ACLs, Anda dapat dengan mudah memelihara ember dengan objek yang diunggah oleh AWS akun yang berbeda. Anda, sebagai pemilik bucket, memiliki semua objek di bucket dan dapat mengelola akses ke mereka menggunakan kebijakan. 

## Menggunakan konsol S3
<a name="object-ownership-new-bucket-console"></a>

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 bilah navigasi di bagian atas halaman, pilih nama yang saat ini ditampilkan Wilayah AWS. Selanjutnya, pilih Wilayah tempat Anda ingin membuat ember. 
**catatan**  
Setelah membuat bucket, Anda tidak dapat mengubah Region. 
Untuk meminimalkan latensi dan biaya serta memenuhi persyaratan regulasi, pilih Wilayah yang dekat dengan Anda. Objek yang disimpan di Wilayah tidak pernah keluar dari Wilayah kecuali Anda secara tegas mentransfer atau mereplikasinya ke Wilayah lain. Untuk daftar Amazon S3 Wilayah AWS, lihat [Layanan AWS titik akhir](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) di. *Referensi Umum Amazon Web Services*

1. Di panel navigasi kiri, pilih **Bucket tujuan umum**.

1. Pilih **Buat bucket**. Halaman **Buat bucket** terbuka.

1. Untuk **Nama bucket**, masukkan nama untuk bucket Anda.

   Nama bucket harus:
   + Unik dalam partisi. Partisi adalah pengelompokan Wilayah. AWS saat ini memiliki tiga partisi: `aws` (Kawasan komersial), `aws-cn` (Wilayah Tiongkok), dan `aws-us-gov` (AWS GovCloud (US) Regions).
   + Panjangnya antara 3 hingga 63 karakter.
   + Hanya terdiri dari huruf kecil, angka, titik (`.`), dan tanda hubung (). `-` Untuk kompatibilitas terbaik, sebaiknya hindari penggunaan period (`.`) dalam nama bucket, kecuali bucket yang hanya digunakan untuk hosting situs statis.
   + Dimulai dan diakhiri dengan huruf atau angka. 
   + Untuk daftar lengkap aturan penamaan ember, lihat. [Aturan penamaan bucket tujuan umum](bucketnamingrules.md)
**penting**  
Setelah membuat bucket, Anda tidak dapat mengubah namanya. 
Jangan sertakan informasi sensitif dalam nama bucket. Nama bucket terlihat dalam URLs yang menunjuk objek dalam bucket.

1. (Opsional) Di bawah **Konfigurasi umum**, Anda dapat memilih untuk menyalin setelan bucket yang ada ke bucket baru Anda. Jika Anda tidak ingin menyalin pengaturan bucket yang ada, lewati ke langkah berikutnya.
**catatan**  
Opsi ini:  
Tidak tersedia di AWS CLI dan hanya tersedia di konsol Amazon S3
Tidak menyalin kebijakan bucket dari bucket yang ada ke bucket baru

    Untuk menyalin setelan bucket yang ada, di bagian **Salin setelan dari bucket yang ada**, pilih **Pilih bucket**. **Jendela Select bucket** terbuka. Temukan bucket dengan pengaturan yang ingin Anda salin, lalu pilih **Pilih bucket**. Jendela **Choose bucket** ditutup, dan jendela **Create bucket** terbuka kembali.

   Di bawah **Salin pengaturan dari bucket yang ada**, Anda sekarang melihat nama bucket yang Anda pilih. Pengaturan bucket baru Anda sekarang cocok dengan pengaturan bucket yang Anda pilih. Jika Anda ingin menghapus pengaturan yang disalin, pilih **Pulihkan default**. Tinjau setelan bucket yang tersisa di halaman **Buat bucket**. Jika Anda tidak ingin membuat perubahan apa pun, Anda dapat melompat ke langkah terakhir. 

1. Di bawah **Kepemilikan Objek**, untuk menonaktifkan atau mengaktifkan ACLs dan mengontrol kepemilikan objek yang diunggah di bucket Anda, pilih salah satu pengaturan berikut:

**ACLs dinonaktifkan**
   +  **Pemilik bucket diberlakukan (default)** — ACLs dinonaktifkan, dan pemilik bucket secara otomatis memiliki dan memiliki kontrol penuh atas setiap objek di bucket tujuan umum. ACLs tidak lagi memengaruhi izin akses ke data di bucket tujuan umum S3. Bucket menggunakan kebijakan secara eksklusif untuk menentukan kontrol akses.

     Secara default, ACLs dinonaktifkan. 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 harus mengontrol akses untuk setiap objek secara individual. Untuk informasi selengkapnya, lihat [Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda](about-object-ownership.md).

**ACLs diaktifkan**
   + **Pemilik bucket yang dipilih**—Pemilik bucket memiliki dan diberikan kendali penuh atas objek baru yang ditulis akun lain ke bucket dengan ACL `bucket-owner-full-control` yang dibatasi. 

     Jika Anda menerapkan pengaturan **Pemilik bucket yang dipilih**, agar semua unggahan Amazon S3 menyertakan ACL `bucket-owner-full-control` yang terekam, Anda dapat [menambahkan kebijakan bucket](ensure-object-ownership.md#ensure-object-ownership-bucket-policy) yang hanya mengizinkan unggahan objek yang menggunakan ACL ini.
   + **Penulis objek** — Akun AWS Yang mengunggah objek memiliki objek, memiliki kontrol penuh atasnya, dan dapat memberikan pengguna lain akses ke sana melalui. ACLs
**catatan**  
Pengaturan default-nya adalah **Pemilik Bucket yang diberlakukan**. Untuk menerapkan pengaturan default dan tetap ACLs dinonaktifkan, hanya `s3:CreateBucket` izin yang diperlukan. Untuk mengaktifkan ACLs, Anda harus memiliki `s3:PutBucketOwnershipControls` izin.

1. Di bawah **Pengaturan Blokir Akses Publik untuk bucket ini**, pilih pengaturan Blokir Akses Publik yang ingin Anda terapkan ke bucket. 

   Secara default, semua pengaturan Blokir Akses Publik untuk bucket direktori diaktifkan. Kami menyarankan Anda tetap mengaktifkan semua pengaturan, kecuali Anda tahu bahwa Anda perlu menonaktifkan satu atau beberapa pengaturan untuk kasus penggunaan spesifik Anda. Untuk informasi lebih lanjut tentang pemblokiran akses publik, lihat [Melakukan blok akses publik ke penyimpanan Amazon S3 Anda](access-control-block-public-access.md).
**catatan**  
Untuk mengaktifkan semua pengaturan Blokir Akses Publik, hanya izin `s3:CreateBucket` yang diperlukan. Untuk mematikan pengaturan Blokir Akses Publik, Anda harus memiliki izin `s3:PutBucketPublicAccessBlock`.

1. (Opsional) Secara default, **Bucket Versioning dinonaktifkan**. Penentuan Versi adalah cara menyimpan beberapa varian objek dalam bucket yang sama. Anda dapat menggunakan Penentuan Versi untuk menyimpan, mengambil, dan memulihkan setiap versi dari setiap objek yang disimpan dalam bucket Anda. Dengan versioning, Anda dapat lebih mudah memulihkan dari tindakan pengguna yang tidak diinginkan dan kegagalan aplikasi. Untuk informasi selengkapnya tentang penentuan versi, lihat [Mempertahankan beberapa versi objek dengan Versi S3](Versioning.md). 

   **Untuk mengaktifkan pembuatan versi di bucket Anda, pilih Aktifkan.** 

1. (Opsional) Di bawah **Tanda**, Anda dapat memilih untuk menambahkan tanda ke bucket Anda. Dengan alokasi AWS biaya, Anda dapat menggunakan tag bucket untuk membubuhi keterangan penagihan penggunaan bucket. Tanda adalah pasangan nilai kunci yang mewakili label yang Anda tetapkan ke bucket. Untuk informasi selengkapnya, lihat [Menggunakan tanda alokasi biaya bucket S3](CostAllocTagging.md).

   Untuk menambahkan tanda bucket, masukkan **Kunci** dan secara opsional **Nilai**, lalu pilih **Tambahkan Tanda**.

1. Untuk mengonfigurasi **enkripsi Default**, di bawah **Jenis enkripsi**, pilih salah satu dari berikut ini: 
   + **Enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3)**
   + **Enkripsi sisi server dengan AWS Key Management Service kunci (SSE-KMS)**
   + **Enkripsi sisi server dua lapis dengan kunci () (DSSE-KMS AWS Key Management Service )AWS KMS**
**penting**  
Jika Anda menggunakan opsi SSE-KMS atau DSSE-KMS untuk konfigurasi enkripsi default Anda, Anda tunduk pada kuota permintaan per detik (RPS) sebesar. AWS KMS*Untuk informasi selengkapnya tentang AWS KMS kuota dan cara meminta kenaikan kuota, lihat [Kuota](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) di Panduan Pengembang AWS Key Management Service .*

   Bucket dan objek baru dienkripsi dengan menggunakan enkripsi sisi server dengan kunci terkelola Amazon S3 (SSE-S3) sebagai tingkat dasar konfigurasi enkripsi. Untuk informasi selengkapnya tentang enkripsi default, lihat [Mengatur perilaku enkripsi sisi server default untuk bucket Amazon S3](bucket-encryption.md). Untuk informasi selengkapnya tentang SSE-S3, lihat. [Menggunakan enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3)](UsingServerSideEncryption.md)

   Untuk informasi selengkapnya tentang penggunaan enkripsi sisi server untuk mengenkripsi data Anda, lihat. [Melindungi data dengan enkripsi](UsingEncryption.md) 

1. Jika Anda memilih **enkripsi sisi server dengan AWS Key Management Service kunci (SSE-KMS) atau enkripsi sisi server dual-layer dengan AWS Key Management Service ()** **kunci (DSSE-KMS), lakukan hal berikut**:AWS KMS

   1. Di bawah **AWS KMS kunci**, tentukan kunci KMS Anda dengan salah satu cara berikut ini:
      + Untuk memilih dari daftar kunci KMS yang tersedia, pilih **Pilih dari Anda AWS KMS keys**, dan pilih kunci **KMS Anda dari daftar kunci** yang tersedia.

        Kunci Kunci yang dikelola AWS (`aws/s3`) dan kunci terkelola pelanggan Anda muncul dalam daftar ini. Untuk informasi selengkapnya tentang CMK, lihat [Kunci pelanggan dan AWS kunci](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) di *AWS Key Management Service Panduan Pengembang*.
      + Untuk memasukkan ARN kunci KMS, pilih **Masukkan AWS KMS key ARN**, dan masukkan ARN kunci KMS Anda di bidang yang muncul. 
      + Untuk membuat kunci terkelola pelanggan baru di AWS KMS konsol, pilih **Buat kunci KMS**.

        Untuk informasi selengkapnya tentang membuat AWS KMS key, lihat [Membuat kunci](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) di *Panduan AWS Key Management Service Pengembang*.
**penting**  
Anda hanya dapat menggunakan tombol KMS yang tersedia Wilayah AWS sama dengan bucket. Konsol Amazon S3 hanya mencantumkan kunci 100 KMS pertama di Wilayah yang sama dengan bucket. Untuk menggunakan kunci KMS yang tidak terdaftar, Anda harus memasukkan ARN kunci KMS Anda. Jika Anda ingin menggunakan kunci KMS yang dimiliki oleh akun yang berbeda, Anda harus terlebih dahulu memiliki izin untuk menggunakan kunci tersebut, dan kemudian Anda harus memasukkan ARN kunci KMS. *Untuk informasi selengkapnya tentang izin lintas akun untuk kunci KMS, lihat [Membuat kunci KMS yang dapat digunakan akun lain](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console) di Panduan Pengembang AWS Key Management Service .* Untuk informasi lebih lanjut tentang SSE-KMS, lihat [Menentukan enkripsi sisi server dengan (SSE-KMS) AWS KMS](specifying-kms-encryption.md). Untuk informasi lebih lanjut tentang DSSE-KMS, lihat [Menggunakan enkripsi sisi server dual-layer dengan kunci (DSSE-KMS) AWS KMS](UsingDSSEncryption.md).  
Saat Anda menggunakan enkripsi sisi server AWS KMS key untuk Amazon S3, Anda harus memilih kunci KMS enkripsi simetris. Amazon S3 hanya mendukung kunci KMS enkripsi simetris dan tidak mendukung kunci KMS asimetris. Untuk informasi selengkapnya, lihat [Mengidentifikasi tombol KMS simetris dan asimetris](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html) dalam *Panduan Pengembang AWS Key Management Service *.

   1. Saat mengonfigurasi bucket untuk menggunakan enkripsi default dengan SSE-KMS, Anda juga dapat menggunakan S3 Bucket Keys. S3 Bucket Keys menurunkan biaya enkripsi dengan mengurangi lalu lintas permintaan dari Amazon S3 ke. AWS KMS Untuk informasi selengkapnya, lihat [Mengurangi biaya SSE-KMS dengan Kunci Bucket Amazon S3](bucket-key.md). Kunci Bucket S3 tidak didukung untuk DSSE-KMS.

      Secara default, Kunci Bucket S3 diaktifkan di konsol Amazon S3. Sebaiknya biarkan Kunci Bucket S3 diaktifkan untuk menurunkan biaya Anda. Untuk menonaktifkan Kunci Bucket S3 untuk bucket Anda, di bawah **Kunci Bucket**, pilih **Nonaktifkan**.

1. (Opsional) Kunci Objek S3 membantu melindungi objek baru agar tidak dihapus atau ditimpa. Untuk informasi selengkapnya, lihat [Mengunci objek dengan Object Lock](object-lock.md). Jika Anda ingin mengaktifkan S3 Object Lock, lakukan hal berikut:

   1. Pilih **Pengaturan lanjutan**.
**penting**  
Mengaktifkan Object Lock secara otomatis memungkinkan pembuatan versi untuk bucket. Setelah mengaktifkan dan berhasil membuat bucket, Anda juga harus mengonfigurasi pengaturan penyimpanan default Object Lock dan penahanan legal pada tab **Properties** bucket. 

   1. Jika Anda ingin mengaktifkan Kunci Objek, pilih **Aktifkan**, baca peringatan yang muncul, lalu setujui.
**catatan**  
Untuk membuat bucket yang diaktifkan Object Lock, Anda harus memiliki izin berikut:`s3:CreateBucket`,`s3:PutBucketVersioning`, dan`s3:PutBucketObjectLockConfiguration`.

1. Pilih **Buat bucket**.

## Menggunakan AWS CLI
<a name="object-ownership-new-bucket-cli"></a>

Untuk menyetel Object Ownership saat membuat bucket baru, gunakan `create-bucket` AWS CLI perintah dengan `--object-ownership` parameter. 

Contoh ini menerapkan pengaturan yang diberlakukan pemilik Bucket untuk bucket baru menggunakan: AWS CLI

```
aws s3api create-bucket --bucket  amzn-s3-demo-bucket --region us-east-1 --object-ownership BucketOwnerEnforced
```

**penting**  
Jika Anda tidak menyetel Kepemilikan Objek saat membuat bucket dengan menggunakan AWS CLI, pengaturan defaultnya adalah `ObjectWriter` (ACLs diaktifkan).

## Menggunakan AWS SDK for Java
<a name="object-ownership-new-bucket-sdk-java"></a>

Contoh ini menyetel pengaturan yang diberlakukan pemilik Bucket untuk bucket baru menggunakan: AWS SDK untuk Java

```
    // Build the ObjectOwnership for CreateBucket
    CreateBucketRequest createBucketRequest = CreateBucketRequest.builder()
            .bucket(bucketName)
            .objectOwnership(ObjectOwnership.BucketOwnerEnforced)
            .build()

     // Send the request to Amazon S3 
     s3client.createBucket(createBucketRequest);
```

## Menggunakan CloudFormation
<a name="object-ownership-new-bucket-cfn"></a>

Untuk menggunakan `AWS::S3::Bucket` CloudFormation sumber daya untuk menyetel Kepemilikan Objek saat membuat bucket baru, lihat AWS::S3::Bucket di [OwnershipControlsdalam](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-ownershipcontrols) *Panduan AWS CloudFormation Pengguna*.

## Penggunaan API REST
<a name="object-ownership-new-bucket-rest-api"></a>

Untuk menerapkan pengaturan diberlakukan pemilik Bucket untuk Kepemilikan S3 Object, gunakan operasi `CreateBucket` API dengan header `x-amz-object-ownership` permintaan disetel ke `BucketOwnerEnforced`. Untuk informasi dan contoh, lihat [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)*Referensi API Amazon Simple Storage Service*.

**Langkah selanjutnya**: Setelah menerapkan pengaturan pilihan pemilik Bucket yang diberlakukan atau pemilik bucket untuk Kepemilikan Objek, Anda dapat mengambil langkah-langkah berikut:
+ [Pemilik bucket diberlakukan](ensure-object-ownership.md#object-ownership-requiring-bucket-owner-enforced) — Mengharuskan semua bucket baru dibuat dengan ACLs dinonaktifkan menggunakan kebijakan IAM atau Organizations. 
+ [Pemilik bucket yang dipilih](ensure-object-ownership.md#ensure-object-ownership-bucket-policy)–Menambahkan kebijakan bucket S3 untuk ACL terekam `bucket-owner-full-control` untuk semua unggahan objek ke bucket Anda.

# Menyetel Kepemilikan Objek pada bucket yang ada
<a name="object-ownership-existing-bucket"></a>

Anda dapat mengonfigurasi Kepemilikan S3 Object pada bucket S3 yang ada. Untuk menerapkan Kepemilikan Objek saat membuat bucket, lihat [Mengatur Kepemilikan Objek saat membuat bucket](object-ownership-new-bucket.md).

S3 Object Ownership adalah setelan tingkat ember Amazon S3 yang dapat Anda gunakan untuk [menonaktifkan daftar kontrol akses ACLs (](acl-overview.md)) dan mengambil kepemilikan setiap objek di bucket Anda, menyederhanakan manajemen akses untuk data yang disimpan di Amazon S3. Secara default, Kepemilikan Objek S3 disetel ke pengaturan yang diberlakukan pemilik Bucket, dan ACLs dinonaktifkan untuk bucket baru. Dengan ACLs dinonaktifkan, pemilik bucket memiliki setiap objek di bucket dan mengelola akses ke data secara eksklusif dengan menggunakan kebijakan manajemen akses. Kami menyarankan agar Anda tetap ACLs dinonaktifkan, kecuali dalam keadaan yang tidak biasa di mana Anda harus mengontrol akses untuk setiap objek secara individual. 

Object Ownership memiliki tiga pengaturan yang dapat Anda gunakan untuk mengontrol kepemilikan objek yang diunggah ke bucket Anda dan untuk menonaktifkan atau mengaktifkan ACLs:

**ACLs dinonaktifkan**
+ **Pemilik bucket diberlakukan (default)** — ACLs dinonaktifkan, dan pemilik bucket secara otomatis memiliki dan memiliki kontrol penuh atas setiap objek di bucket. ACLs tidak lagi memengaruhi izin ke data di bucket S3. Bucket tersebut menggunakan kebijakan untuk menentukan kontrol akses.

**ACLs diaktifkan**
+ **Pemilik bucket yang dipilih**—Pemilik bucket memiliki dan diberikan kendali penuh atas objek baru yang ditulis akun lain ke bucket dengan ACL `bucket-owner-full-control` yang dibatasi. 
+ **Penulis objek** — Akun AWS Yang mengunggah objek memiliki objek, memiliki kontrol penuh atasnya, dan dapat memberikan pengguna lain akses ke sana melalui. ACLs

**Prasyarat**: Sebelum menerapkan pengaturan yang diberlakukan pemilik Bucket untuk menonaktifkan ACLs, Anda harus memigrasikan izin ACL bucket ke kebijakan bucket dan mengatur ulang bucket Anda ke ACL pribadi default. ACLs Kami juga menyarankan Anda memigrasikan izin ACL objek ke kebijakan bucket dan mengedit kebijakan bucket yang memerlukan kontrol penuh ACLs selain pemilik bucket. ACLs Untuk informasi selengkapnya, lihat [Prasyarat untuk menonaktifkan ACLs](object-ownership-migrating-acls-prerequisites.md).

**Izin**: Untuk menggunakan operasi ini, Anda harus memiliki `s3:PutBucketOwnershipControls` izin. *Untuk informasi selengkapnya tentang izin Amazon S3, lihat [Kunci tindakan, sumber daya, dan kondisi untuk Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) di Referensi Otorisasi Layanan.* 

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

## Menggunakan konsol S3
<a name="add-object-ownership"></a>

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 ingin Anda terapkan pengaturan Kepemilikan S3 Object.

1. Pilih tab **Izin**.

1. Di bawah **Kepemilikan Objek**, pilih **Edit**.

1. Di bawah **Kepemilikan Objek**, untuk menonaktifkan atau mengaktifkan ACLs dan mengontrol kepemilikan objek yang diunggah di bucket Anda, pilih salah satu pengaturan berikut:

**ACLs dinonaktifkan**
   + **Pemilik bucket diberlakukan** — ACLs dinonaktifkan, dan pemilik bucket secara otomatis memiliki dan memiliki kontrol penuh atas setiap objek di ember. ACLs tidak lagi memengaruhi izin ke data di bucket S3. Bucket tersebut menggunakan kebijakan untuk menentukan kontrol akses.

     Untuk mewajibkan semua bucket baru dibuat dengan ACLs dinonaktifkan menggunakan IAM atau AWS Organizations kebijakan, lihat. [Menonaktifkan ACLs untuk semua bucket baru (pemilik bucket diberlakukan)](ensure-object-ownership.md#object-ownership-requiring-bucket-owner-enforced)

**ACLs diaktifkan**
   + **Pemilik bucket yang dipilih**—Pemilik bucket memiliki dan diberikan kendali penuh atas objek baru yang ditulis akun lain ke bucket dengan ACL `bucket-owner-full-control` yang dibatasi. 

     Jika Anda menerapkan pengaturan pemilik bucket yang dipilih, agar semua unggahan Amazon S3 menyertakan ACL `bucket-owner-full-control` yang terekam, Anda dapat [menambahkan kebijakan bucket](ensure-object-ownership.md#ensure-object-ownership-bucket-policy) yang hanya mengizinkan unggahan objek yang menggunakan ACL ini.
   + **Penulis objek** — Akun AWS Yang mengunggah objek memiliki objek, memiliki kontrol penuh atasnya, dan dapat memberikan pengguna lain akses ke sana melalui. ACLs

1. Pilih **Simpan**.

## Menggunakan AWS CLI
<a name="object-ownership-existing-bucket-cli"></a>

Untuk menerapkan pengaturan Kepemilikan Objek untuk bucket yang ada, gunakan perintah `put-bucket-ownership-controls` dengan parameter `--ownership-controls`. Nilai yang valid untuk kepemilikan adalah`BucketOwnerEnforced`, `BucketOwnerPreferred`, atau `ObjectWriter`.

Contoh ini menerapkan pengaturan yang diberlakukan pemilik Bucket untuk bucket yang ada dengan menggunakan: AWS CLI

```
aws s3api put-bucket-ownership-controls --bucket amzn-s3-demo-bucket --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"
```

Untuk informasi selengkapnya tentang `put-bucket-ownership-controls`, lihat [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-ownership-controls.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-ownership-controls.html) di *Panduan Pengguna AWS Command Line Interface *. 

## Menggunakan AWS SDK for Java
<a name="object-ownership-existing-bucket-sdk-java"></a>

Contoh ini menerapkan pengaturan `BucketOwnerEnforced` untuk Kepemilikan Objek pada bucket yang ada dengan menggunakan AWS SDK untuk Java:

```
         // Build the ObjectOwnership for BucketOwnerEnforced
         OwnershipControlsRule rule = OwnershipControlsRule.builder()
                .objectOwnership(ObjectOwnership.BucketOwnerEnforced)
                .build();

         OwnershipControls ownershipControls = OwnershipControls.builder()
                   .rules(rule)
                   .build()

          // Build the PutBucketOwnershipControlsRequest
          PutBucketOwnershipControlsRequest putBucketOwnershipControlsRequest =
                PutBucketOwnershipControlsRequest.builder()
                        .bucket(BUCKET_NAME)
                        .ownershipControls(ownershipControls)
                        .build();
                        
          // Send the request to Amazon S3 
          s3client.putBucketOwnershipControls(putBucketOwnershipControlsRequest);
```

## Menggunakan CloudFormation
<a name="object-ownership-existing-bucket-cfn"></a>

 CloudFormation Untuk menggunakan pengaturan Kepemilikan Objek untuk bucket yang ada, lihat [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html)di *Panduan AWS CloudFormation Pengguna*.

## Penggunaan API REST
<a name="object-ownership-existing-bucket-rest-api"></a>

Untuk menggunakan API REST untuk menerapkan pengaturan Kepemilikan Objek ke bucket S3 yang ada, gunakan `PutBucketOwnershipControls`. Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html) dalam *Referensi API Amazon Simple Storage Service*.

**Langkah selanjutnya**: Setelah menerapkan pengaturan pilihan pemilik Bucket yang diberlakukan atau pemilik bucket untuk Kepemilikan Objek, Anda dapat mengambil langkah-langkah berikut:
+ [Pemilik bucket diberlakukan](ensure-object-ownership.md#object-ownership-requiring-bucket-owner-enforced) — Mengharuskan semua bucket baru dibuat dengan ACLs dinonaktifkan menggunakan kebijakan IAM atau Organizations. 
+ [Pemilik bucket yang dipilih](ensure-object-ownership.md#ensure-object-ownership-bucket-policy)–Menambahkan kebijakan bucket S3 untuk ACL terekam `bucket-owner-full-control` untuk semua unggahan objek ke bucket Anda.

# Melihat pengaturan Kepemilikan Objek untuk bucket S3
<a name="object-ownership-retrieving"></a>

S3 Object Ownership adalah setelan tingkat ember Amazon S3 yang dapat Anda gunakan untuk [menonaktifkan daftar kontrol akses ACLs (](acl-overview.md)) dan mengambil kepemilikan setiap objek di bucket Anda, menyederhanakan manajemen akses untuk data yang disimpan di Amazon S3. Secara default, Kepemilikan Objek S3 disetel ke pengaturan yang diberlakukan pemilik Bucket, dan ACLs dinonaktifkan untuk bucket baru. Dengan ACLs dinonaktifkan, pemilik bucket memiliki setiap objek di bucket dan mengelola akses ke data secara eksklusif dengan menggunakan kebijakan manajemen akses. Kami menyarankan agar Anda tetap ACLs dinonaktifkan, kecuali dalam keadaan yang tidak biasa di mana Anda harus mengontrol akses untuk setiap objek secara individual. 

Object Ownership memiliki tiga pengaturan yang dapat Anda gunakan untuk mengontrol kepemilikan objek yang diunggah ke bucket Anda dan untuk menonaktifkan atau mengaktifkan ACLs:

**ACLs dinonaktifkan**
+ **Pemilik bucket diberlakukan (default)** — ACLs dinonaktifkan, dan pemilik bucket secara otomatis memiliki dan memiliki kontrol penuh atas setiap objek di bucket. ACLs tidak lagi memengaruhi izin ke data di bucket S3. Bucket tersebut menggunakan kebijakan untuk menentukan kontrol akses.

**ACLs diaktifkan**
+ **Pemilik bucket yang dipilih**—Pemilik bucket memiliki dan diberikan kendali penuh atas objek baru yang ditulis akun lain ke bucket dengan ACL `bucket-owner-full-control` yang dibatasi. 
+ **Penulis objek** — Akun AWS Yang mengunggah objek memiliki objek, memiliki kontrol penuh atasnya, dan dapat memberikan pengguna lain akses ke sana melalui. ACLs

Anda dapat melihat pengaturan Kepemilikan S3 Object untuk bucket Amazon S3. Untuk menyetel Kepemilikan Objek untuk bucket baru, lihat[Mengatur Kepemilikan Objek saat membuat bucket](object-ownership-new-bucket.md). Untuk mengatur Kepemilikan Objek untuk bucket yang ada, lihat [Menyetel Kepemilikan Objek pada bucket yang ada](object-ownership-existing-bucket.md).

**Izin:** Untuk menggunakan operasi ini, Anda harus memiliki izin `s3:GetBucketOwnershipControls`. *Untuk informasi selengkapnya tentang izin Amazon S3, lihat [Kunci tindakan, sumber daya, dan kondisi untuk Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) di Referensi Otorisasi Layanan.* 

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

## Menggunakan konsol S3
<a name="object-ownership-retrieving-console"></a>

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 ingin Anda terapkan pengaturan Kepemilikan Objek.

1. Pilih tab **Izin**.

1. Di bawah **Kepemilikan Objek**, Anda dapat melihat pengaturan Kepemilikan Objek untuk bucket Anda.

## Menggunakan AWS CLI
<a name="object-ownership-retrieving-cli"></a>

Untuk mengambil pengaturan Kepemilikan Objek S3 untuk bucket S3, gunakan perintah. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-ownership-controls.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-ownership-controls.html) AWS CLI 

```
aws s3api get-bucket-ownership-controls --bucket amzn-s3-demo-bucket
```

## Penggunaan API REST
<a name="object-ownership-retrieving-rest-api"></a>

Untuk mengambil pengaturan Kepemilikan Objek untuk bucket S3, gunakan operasi API `GetBucketOwnershipControls`. Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html).

# Menonaktifkan ACLs semua bucket baru dan menegakkan Kepemilikan Objek
<a name="ensure-object-ownership"></a>

Kami menyarankan Anda menonaktifkan ACLs bucket Amazon S3 Anda. Anda dapat melakukannya dengan menerapkan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan S3 Object. Ketika Anda menerapkan pengaturan ini, ACLs dinonaktifkan dan Anda secara otomatis memiliki dan memiliki kontrol penuh atas semua objek di bucket Anda. Untuk mewajibkan semua bucket baru dibuat dengan ACLs dinonaktifkan, gunakan kebijakan AWS Identity and Access Management (IAM) atau kebijakan kontrol AWS Organizations layanan (SCPs), seperti yang dijelaskan di bagian berikutnya.

Untuk menerapkan kepemilikan objek untuk objek baru tanpa menonaktifkan ACLs, Anda dapat menerapkan pengaturan pilihan pemilik Bucket. Saat menerapkan pengaturan ini, kami sangat menyarankan agar Anda memperbarui kebijakan bucket untuk `bucket-owner-full-control` mewajibkan ACL yang terekam untuk semua permintaan `PUT` ke bucket Anda. Pastikan Anda juga memperbarui klien Anda untuk mengirim ACL terekam `bucket-owner-full-control` ke bucket Anda dari akun lain.

**Topics**
+ [Menonaktifkan ACLs untuk semua bucket baru (pemilik bucket diberlakukan)](#object-ownership-requiring-bucket-owner-enforced)
+ [Memerlukan ACL bucket-owner-full-control kalengan untuk operasi Amazon `PUT` S3 (lebih disukai pemilik ember)](#ensure-object-ownership-bucket-policy)

## Menonaktifkan ACLs untuk semua bucket baru (pemilik bucket diberlakukan)
<a name="object-ownership-requiring-bucket-owner-enforced"></a>

Contoh berikut kebijakan IAM menolak izin `s3:CreateBucket` untuk pengguna atau peran IAM tertentu kecuali pengaturan yang diberlakukan pemilik Bucket diterapkan untuk Kepemilikan Objek. Pasangan kunci-nilai di dalam blok `Condition` menentukan `s3:x-amz-object-ownership` sebagai kunci, dan pengaturan `BucketOwnerEnforced` sebagai nilainya. Dengan kata lain, pengguna IAM hanya dapat membuat bucket jika mereka menyetel pengaturan yang diterapkan pemilik Bucket untuk Kepemilikan Objek dan menonaktifkan. ACLs Anda juga dapat menggunakan kebijakan ini sebagai SCP batas untuk organisasi Anda. AWS 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RequireBucketOwnerFullControl",
            "Action": "s3:CreateBucket",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "s3:x-amz-object-ownership": "BucketOwnerEnforced"
                }
            }
        }
    ]
}
```

------

## Memerlukan ACL bucket-owner-full-control kalengan untuk operasi Amazon `PUT` S3 (lebih disukai pemilik ember)
<a name="ensure-object-ownership-bucket-policy"></a>

Dengan pengaturan pilihan pemilik Bucket untuk Kepemilikan Objek, Anda, sebagai pemilik bucket, memiliki dan memiliki kendali penuh atas objek baru yang ditulis akun lain ke bucket Anda dengan ACL terekam `bucket-owner-full-control`. Namun, jika akun lain menulis objek ke bucket Anda tanpa ACL terekam`bucket-owner-full-control`, penulis objek mempertahankan akses kontrol penuh. Anda, sebagai pemilik bucket, dapat menerapkan kebijakan bucket yang mengizinkan penulisan hanya jika mereka menentukan ACL terekam `bucket-owner-full-control`.

**catatan**  
Jika Anda telah ACLs menonaktifkan pengaturan yang diberlakukan pemilik Bucket, Anda, sebagai pemilik bucket, secara otomatis memiliki dan memiliki kendali penuh atas semua objek di bucket Anda. Anda tidak perlu menggunakan bagian ini untuk memperbarui kebijakan bucket guna menegakkan kepemilikan objek bagi pemilik bucket.

Kebijakan bucket berikut ini menentukan akun tersebut *`111122223333`* dapat unggah objek ke *`amzn-s3-demo-bucket`* hanya ketika objek ACL diatur ke `bucket-owner-full-control`. Pastikan untuk mengganti *`111122223333`* dengan akun Anda, dan *`amzn-s3-demo-bucket`* dengan nama bucket Anda.

------
#### [ 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"
            }
         }
      }
   ]
}
```

------

Berikut ini adalah contoh operasi penyalinan yang menyertakan `bucket-owner-full-control` ACL terekam dengan menggunakan AWS Command Line Interface (AWS CLI).

```
aws s3 cp file.txt s3://amzn-s3-demo-bucket --acl bucket-owner-full-control
```

Setelah kebijakan bucket diberlakukan, jika klien tidak menyertakan ACL terekam `bucket-owner-full-control`, maka operasi akan gagal, dan pengunggah menerima kesalahan berikut: 

Terjadi kesalahan (AccessDenied) saat memanggil PutObject operasi: Akses Ditolak.

**catatan**  
Jika klien perlu mengakses objek setelah mengunggah, maka Anda harus memberikan izin tambahan untuk akun pengunggah. Untuk informasi tentang bagaimana memberikan akun akses ke sumber daya Anda, lihat [Panduan yang menggunakan kebijakan untuk mengelola akses ke sumber daya Amazon S3](example-walkthroughs-managing-access.md).

# Pemecahan masalah
<a name="object-ownership-error-responses"></a>

Saat Anda menerapkan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek S3, daftar kontrol akses (ACLs) dinonaktifkan dan Anda, sebagai pemilik bucket, secara otomatis memiliki semua objek di bucket Anda. ACLs tidak lagi memengaruhi izin untuk objek di bucket Anda. Anda dapat menggunakan kebijakan untuk memberikan izin. Semua permintaan `PUT` S3 harus menentukan ACL terekam `bucket-owner-full-control` atau tidak menentukan ACL sama sekali, atau permintaan ini akan gagal. Untuk informasi selengkapnya, lihat [Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda](about-object-ownership.md).

Jika ACL yang tidak valid ditentukan atau izin ACL bucket memberikan akses di luar Akun AWS Anda, Anda mungkin melihat respons kesalahan berikut.

## AccessControlListNotSupported
<a name="object-ownership-error-responses-acl-not-supported"></a>

Setelah Anda menerapkan pengaturan diberlakukan pemilik Bucket untuk Kepemilikan Objek, akan ACLs dinonaktifkan. Permintaan untuk mengatur ACLs atau memperbarui ACLs gagal dengan `400` kesalahan dan mengembalikan kode AccessControlListNotSupportedkesalahan. Permintaan untuk membaca ACLs masih didukung. Permintaan untuk membaca ACLs selalu menampilkan respons yang menunjukkan kontrol penuh untuk pemilik bucket. Dalam `PUT` operasi Anda, Anda harus menentukan kontrol penuh pemilik bucket ACLs atau tidak menentukan ACL. Jika tidak, operasi `PUT` Anda gagal. 

Contoh `put-object` AWS CLI perintah berikut termasuk ACL `public-read` kalengan. 

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key object-key-name --body doc-example-body --acl public-read
```

Jika bucket menggunakan setelan yang diberlakukan pemilik Bucket untuk menonaktifkan ACLs, operasi ini gagal, dan pengunggah menerima pesan galat berikut:

Terjadi kesalahan (AccessControlListNotSupported) saat memanggil PutObject operasi: Bucket tidak mengizinkan ACLs

## InvalidBucketAclWithObjectOwnership
<a name="object-ownership-error-responses-invalid-acl"></a>

Jika Anda ingin menerapkan pengaturan yang diberlakukan pemilik Bucket untuk menonaktifkan ACLs, ACL bucket Anda harus memberikan kontrol penuh hanya kepada pemilik bucket. Bucket ACL Anda tidak dapat memberikan akses ke grup eksternal Akun AWS atau grup lainnya. Misalnya, jika `CreateBucket` permintaan Anda menetapkan diberlakukan pemilik Bucket dan menentukan ACL bucket yang menyediakan akses ke eksternal Akun AWS, permintaan Anda gagal dengan `400` kesalahan dan mengembalikan kode kesalahan. InvalidBucketAclWithObjectOwnership Demikian pula, jika permintaan `PutBucketOwnershipControls` Anda menetapkan pemilik Bucket yang diberlakukan pada bucket yang memiliki bucket ACL yang memberikan izin kepada orang lain, permintaan tersebut gagal.

**Example : Bucket ACL yang ada memberikan akses baca publik**  
Misalnya, jika ACL bucket yang ada memberikan akses baca publik, Anda tidak dapat menerapkan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek hingga Anda memigrasikan izin ACL ini ke kebijakan bucket dan mengatur ulang ACL bucket Anda ke ACL pribadi default. Untuk informasi selengkapnya, lihat [Prasyarat untuk menonaktifkan ACLs](object-ownership-migrating-acls-prerequisites.md).  
Contoh bucket ACL ini memberikan akses baca publik:  

```
{
    "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"
        }
    ]
}
```
`put-bucket-ownership-controls` AWS CLI Perintah contoh berikut menerapkan setelan diberlakukan pemilik Bucket untuk Kepemilikan Objek:  

```
aws s3api put-bucket-ownership-controls --bucket amzn-s3-demo-bucket --ownership-controls Rules=[{ObjectOwnership=BucketOwnerEnforced}]
```
Karena bucket ACL memberikan akses baca publik, permintaan gagal dan mengembalikan kode kesalahan berikut:  
Terjadi kesalahan (InvalidBucketAclWithObjectOwnership) saat memanggil PutBucketOwnershipControls operasi: Bucket tidak dapat ACLs disetel dengan ObjectOwnership BucketOwnerEnforced pengaturan