

 AWS SDK untuk Java 1.x mencapai end-of-support pada 31 Desember 2025. Kami menyarankan Anda bermigrasi ke [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html)untuk terus menerima fitur baru, peningkatan ketersediaan, dan pembaruan keamanan.

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

# Mengelola Izin Amazon S3 Akses untuk Bucket dan Objek
<a name="examples-s3-access-permissions"></a>

Anda dapat menggunakan daftar kontrol akses (ACLs) untuk Amazon S3 bucket dan objek untuk kontrol halus atas sumber daya Anda. Amazon S3 

**catatan**  
Contoh kode ini mengasumsikan bahwa Anda memahami materi dalam [Menggunakan AWS SDK untuk Java](basics.md) dan telah mengonfigurasi AWS kredensi default menggunakan informasi di [Siapkan AWS Kredensial dan](setup-credentials.md) Wilayah untuk Pengembangan.

## Dapatkan Daftar Kontrol Akses untuk Bucket
<a name="get-the-access-control-list-for-a-bucket"></a>

Untuk mendapatkan ACL saat ini untuk bucket, panggil `getBucketAcl` metode AmazonS3, berikan nama *bucket* ke kueri. Metode ini mengembalikan sebuah [AccessControlList](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/AccessControlList.html)objek. Untuk mendapatkan setiap hibah akses dalam daftar, panggil `getGrantsAsList` metodenya, yang akan mengembalikan daftar Java standar objek [Grant](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Grant.html).

 **Impor** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AccessControlList;
import com.amazonaws.services.s3.model.Grant;
```

 **Kode** 

```
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    AccessControlList acl = s3.getBucketAcl(bucket_name);
    List<Grant> grants = acl.getGrantsAsList();
    for (Grant grant : grants) {
        System.out.format("  %s: %s\n", grant.getGrantee().getIdentifier(),
                grant.getPermission().toString());
    }
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/GetAcl.java) di GitHub.

## Mengatur Daftar Kontrol Akses untuk Bucket
<a name="set-the-access-control-list-for-a-bucket"></a>

Untuk menambahkan atau memodifikasi izin ke ACL untuk bucket, panggil metode AmazonS3. `setBucketAcl` Dibutuhkan [AccessControlList](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/AccessControlList.html)objek yang berisi daftar penerima hibah dan tingkat akses untuk ditetapkan.

 **Impor** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AccessControlList;
import com.amazonaws.services.s3.model.EmailAddressGrantee;
```

 **Kode** 

```
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    // get the current ACL
    AccessControlList acl = s3.getBucketAcl(bucket_name);
    // set access for the grantee
    EmailAddressGrantee grantee = new EmailAddressGrantee(email);
    Permission permission = Permission.valueOf(access);
    acl.grantPermission(grantee, permission);
    s3.setBucketAcl(bucket_name, acl);
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

**catatan**  
Anda dapat memberikan pengenal unik penerima hibah secara langsung menggunakan kelas Penerima, atau menggunakan [EmailAddressGrantee](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/EmailAddressGrantee.html)kelas untuk mengatur [penerima hibah](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Grantee.html) melalui email, seperti yang telah kita lakukan di sini.

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/SetAcl.java) di GitHub.

## Dapatkan Daftar Kontrol Akses untuk Objek
<a name="get-the-access-control-list-for-an-object"></a>

Untuk mendapatkan ACL saat ini untuk suatu objek, panggil `getObjectAcl` metode AmazonS3, berikan *nama bucket dan nama* *objek* ke kueri. Seperti`getBucketAcl`, metode ini mengembalikan [AccessControlList](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/AccessControlList.html)objek yang dapat Anda gunakan untuk memeriksa setiap [Grant](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Grant.html).

 **Impor** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AccessControlList;
import com.amazonaws.services.s3.model.Grant;
```

 **Kode** 

```
try {
    AccessControlList acl = s3.getObjectAcl(bucket_name, object_key);
    List<Grant> grants = acl.getGrantsAsList();
    for (Grant grant : grants) {
        System.out.format("  %s: %s\n", grant.getGrantee().getIdentifier(),
                grant.getPermission().toString());
    }
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/GetAcl.java) di GitHub.

## Mengatur Daftar Kontrol Akses untuk Objek
<a name="set-the-access-control-list-for-an-object"></a>

Untuk menambahkan atau memodifikasi izin ke ACL untuk objek, panggil metode AmazonS3. `setObjectAcl` Dibutuhkan [AccessControlList](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/AccessControlList.html)objek yang berisi daftar penerima hibah dan tingkat akses untuk ditetapkan.

 **Impor** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AccessControlList;
import com.amazonaws.services.s3.model.EmailAddressGrantee;
```

 **Kode** 

```
    try {
        // get the current ACL
        AccessControlList acl = s3.getObjectAcl(bucket_name, object_key);
        // set access for the grantee
        EmailAddressGrantee grantee = new EmailAddressGrantee(email);
        Permission permission = Permission.valueOf(access);
        acl.grantPermission(grantee, permission);
        s3.setObjectAcl(bucket_name, object_key, acl);
    } catch (AmazonServiceException e) {
        System.err.println(e.getErrorMessage());
        System.exit(1);
    }
}
```

**catatan**  
Anda dapat memberikan pengenal unik penerima hibah secara langsung menggunakan kelas Penerima, atau menggunakan [EmailAddressGrantee](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/EmailAddressGrantee.html)kelas untuk mengatur [penerima hibah](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Grantee.html) melalui email, seperti yang telah kita lakukan di sini.

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/SetAcl.java) di GitHub.

## Informasi Selengkapnya
<a name="more-information"></a>
+  [DAPATKAN Bucket acl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETacl.html) di Referensi Amazon S3 API
+  [PUT Bucket acl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html) di Referensi Amazon S3 API
+  [GET Object acl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETacl.html) di Referensi Amazon S3 API
+  [PUT Object acl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html) di Referensi Amazon S3 API